Java 线段扩展算法
可能重复:Java 线段扩展算法,java,math,geometry,Java,Math,Geometry,可能重复: 好吧,不知什么原因,我在这上面画了个空白。我知道线段的两点,我想把线段延长一个已知的距离。所以,我知道延伸的起点,我知道延伸的斜率,我知道延伸的长度…我如何找到延伸的终点坐标 我这样做是为了一场台球比赛,我试图弄清楚在什么时候主球必须击中目标球才能将其放入目标球袋中。我已经得到的线段是从口袋到对象球中间的线。线段延伸的终点将是我必须将球杆球发送到的坐标,以便以正确的角度击中目标球使其下沉。我希望这是有道理的。顺便说一下,我正在使用Java。谢谢你的帮助 lengthAB = sqr
好吧,不知什么原因,我在这上面画了个空白。我知道线段的两点,我想把线段延长一个已知的距离。所以,我知道延伸的起点,我知道延伸的斜率,我知道延伸的长度…我如何找到延伸的终点坐标 我这样做是为了一场台球比赛,我试图弄清楚在什么时候主球必须击中目标球才能将其放入目标球袋中。我已经得到的线段是从口袋到对象球中间的线。线段延伸的终点将是我必须将球杆球发送到的坐标,以便以正确的角度击中目标球使其下沉。我希望这是有道理的。顺便说一下,我正在使用Java。谢谢你的帮助
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;
*从这个答案中提取并整合:哇,我在搜索时完全没有看到这个问题。谢谢你!我会在不太累的时候试试的没问题。实际上我开始输入这个解决方案,然后在中途我想,嗯,这应该是以前问过的:)这似乎很管用。令人惊叹的!我只想补充一点,重要的是保持c.x和c.y的方程不变。我想也许lengthAB*长度应该放在括号里,但那不起作用。直到我重读了另一个问题的答案,我才意识到它是以规范化向量长度的方式写的。再次感谢!