扩展线段的算法

vin*_*e88 3 java math geometry

可能重复:
将线段延伸特定距离

好吧,出于某种原因,我在这上面写了一个空白.我知道一个线段的两个点,我想将该线段延长一个已知的距离.所以,我知道扩展的起点,我知道扩展的斜率,我知道扩展的长度...我如何找到该扩展的结束坐标?

我正在为一个台球游戏这样做,我想知道在什么时候,cueball必须击中物体球才能将它放入物体口袋.我已经的线段是从口袋到对象球中间的线.线段扩展的终点将是我必须发送cueball的坐标,以便以正确的角度击中对象球以使其下沉.我希望这是有道理的.顺便说一下,我正在使用Java.谢谢你的帮助.

Ken*_*son 5

lengthAB = sqrt((a.x - b.x)^2 + (a.y - b.y)^2) 
c.x = b.x + (b.x - a.x) / lengthAB * length;
c.y = b.y + (b.y - a.y) / lengthAB * length;
Run Code Online (Sandbox Code Playgroud)

*从此答案中拉出并合并:将线段延长特定距离