2017-06-14 77 views
-1

我目前正在研究和编码我的理论来模拟场景。沿着给定标题,起点和点之间的距离获取点

我需要一种方法来增量查找给定标题上的点(线和正x轴之间的角度)给定标题,起点和点之间的距离。新的观点应该在标题的方向上。我在某种程度上遇到了困难,我该如何去做这件事。

有足够的时间我可以自己想出一个办法,但考虑到提高我的编码技能并不是我在这里的最终结果,我宁愿花更多的时间试验我的理论,我想知道是否有人能帮我找到一个办法。我正在使用C,因此C中的解决方案将是首选,而不是使用其他语言提供的库函数的解决方案。

+0

什么问题?这听起来像是触发问题,而不是编码问题。 – BurnsBA

+0

我有一个点(x,y)。我有一个航向角A.我想从点(x,y)沿着航向A生成更多点的坐标。我被困在如何用C. – GradStudent7902

+0

'x^2 + y^2 = r^2'中的高效代码来实现这个,角度是'θ= tan^-1(y/x)'。然后,对于整数x,连续点是'(x *rcosθ,x *rsinθ)'。 – BurnsBA

回答

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) 
} 

我希望这可以帮助。

+0

谢谢。从编码角度看,这当然有助于更好地形象化问题。 – GradStudent7902

+0

如果你愿意,我可以写出更多的代码给你,但是这种策略应该能让你得到你想要的。 –

+2

谢谢你,但那对我和你都很好。我会尝试自己,并再次问我是否失败。 – GradStudent7902