我正在实施2D足球比赛。对于我的传递算法,我使用等式m = (y2-y1)/(x2-x1)
在某些情况下,x2
和x1
相等,导致除以零的异常。在这种情况下我该怎么做?
我没有在math.stackexchange.com上提出这个问题,因为这是一个编程问题。
答案 0 :(得分:4)
请勿使用线的斜率进行此类操作,原因只是您偶然发现了。而是使用从传球者到传球手的线的角度。应用一点三角学。如果那个小三角法超出你的范围,请删除这个问题,做一些工作,然后再次发卡时重新发布。
修改强>
我建议你使用三角学有两个原因。
答案 1 :(得分:1)
如果您想跳过Trig应用程序,可以查看if(x1 != x2) //whatever math needs to be done
这样,如果x是相等的,你可以在else语句中为“flat pass”设置自己的值,而不必再担心除以零的异常。
祝你选择的任何路线都好运! (如果你有时间学习它,我建议使用Trig(如有必要))