Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何检查球与线之间的碰撞_Java_Collision - Fatal编程技术网

Java 如何检查球与线之间的碰撞

Java 如何检查球与线之间的碰撞,java,collision,Java,Collision,我想检查球是否与zijde的特定直线发生碰撞。我想通过使线的线函数来实现这一点。然后检查函数中的坐标是否等于球的坐标。这是我目前使用的代码,我不知道我做错了什么。Zijde z是球需要碰撞的线,具有函数getStartPoint GetStartCount和getEndPoint getEindpunt 公共布尔CheckCollisionZijde z { /** *y=ax+b *a=δy/δx *b=y-ax */ 双deltay=z.getEindpunt.getY-z.getStart

我想检查球是否与zijde的特定直线发生碰撞。我想通过使线的线函数来实现这一点。然后检查函数中的坐标是否等于球的坐标。这是我目前使用的代码,我不知道我做错了什么。Zijde z是球需要碰撞的线,具有函数getStartPoint GetStartCount和getEndPoint getEindpunt

公共布尔CheckCollisionZijde z { /** *y=ax+b *a=δy/δx *b=y-ax */ 双deltay=z.getEindpunt.getY-z.getStartPunt.getY; double deltax=z.getEindpunt.getX-z.getStartPunt.getX; 双a=三角洲/三角洲; 双b=z.getEindpunt.getY-a*z.getEindpunt.getX; 双yf=a*x+b; 返回yf==this.y; }
假设数学没有问题,我会把最后一行改为

return Math.abs(yf - this.y) < SOME_SMALL_CONSTANT;
因为,考虑到浮点运算的不精确性,您的方法可能永远不会返回true

我会玩一些小数字的值,看看什么能给你带来好的结果