我目前正致力于研究和编码我的理论以模拟场景。
在给定航向,起点和点之间的距离的情况下,我需要一种方法来逐渐找到沿给定航向的点(线与正x轴之间的角度)。新点应该在标题的方向上。我在某种程度上面临着如何做到这一点的困难。
有足够的时间我可以自己想出一个方法,但鉴于我的编码技能提高不是我的最终结果,我宁愿花更多的时间来试验我的理论,我想知道是否有人可以帮助我找到一个解。我正在使用C,所以C中的解决方案将是首选,而不是使用其他语言中提供的库函数的解决方案。
答案 0 :(得分:0)
一种解决方案是按照您想要的方向创建单位矢量
例如,假设你想要45度,单位矢量就是 < 1 / sqrt(2),1 / sqrt(2)>。由于它是一个单位矢量,因此该距离为1,因此您可以按每个点所需的距离进行缩放。所以假设你希望每个点都是单位的1/3,那么你只需乘以单位向量即可得到 < 1 /(3sqrt(2)),1 /(3sqrt(2))>然后你就可以做一个循环。所以如果你想在这个方向上得到10分,那就是unitvector = calculateUnitVector()
unitvector *= distanceBetweenPoints
for(i = 0 ; i < 10; i++){
drawPoint(startPoint + unitVector * i)
}
我希望这会有所帮助。