Java 如何检查球与线之间的碰撞
我想检查球是否与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; }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
假设数学没有问题,我会把最后一行改为
return Math.abs(yf - this.y) < SOME_SMALL_CONSTANT;
因为,考虑到浮点运算的不精确性,您的方法可能永远不会返回true
我会玩一些小数字的值,看看什么能给你带来好的结果