如何在已知起点、终点和半径的弧上找到圆周上的点?

5
请参考下面的图片以了解我的问题:
请看下面的图片以了解我的问题:
我有点1和点2的坐标。它们是通过使用其他可用信息(请参见问题:如何计算圆上的一个点,已知半径和中心点)推导出来的公式。
现在我需要做的事情(与轨道构造分开)是在点1和点2之间用绿色绘制点。
最好的方法是什么?我必须承认我的数学技能不是最好的,我相信有一个非常简单的公式,但我无法确定要使用哪个公式或如何实现它。

1
根据点1、半径和a,你能画出点2吗? - Beta
1和2的坐标以及中心坐标是多少? - Rachel Gallen
0、112……等,只看到了其他问题。 - Rachel Gallen
两个问题:r线始终是水平的吗?连接到点2的虚线也有长度r吗? - Kevin
@Kevin:我可以回答第二个问题:是的,“radius”就是这个意思。 - Beta
抱歉,我应该明确一下,我不是在寻找一个“静态”的解决方案,因为点1和点2可以是从链接帖子中的公式生成的任何坐标集,这就是为什么我从这篇文章中删除了它们。 - jayfield1979
2个回答

5

根据我在你提出的问题中的标记(即x,y是当前位置,fx,fy是当前“前向量”,lx,ly是当前“左向量”)

for (i=0; i<=10; i++)
{
  sub_angle=(i/10)*deg2rad(22.5);
  xi=x+285.206*(sin(sub_angle)*fx + (1-cos(sub_angle))*(-lx))
  yi=y+285.206*(sin(sub_angle)*fy + (1-cos(sub_angle))*(-ly))
  // now plot green point at (xi, yi)
}

会在弧线上等距离生成11个绿点。

和你之前的帖子一样,你给了我巨大的帮助,Chris。这正是我在寻找的。谢谢。 - jayfield1979
它运行良好,但我该如何计算新的旋转角度以配合新的X和Y坐标? - jayfield1979
啊哈,明白了:ai = a + sub_angle - jayfield1979

4
一个以中心点(h,k)为圆心,半径为r的圆的方程为(x - h)² + (y - k)² = r²。
如果需要查看点,请访问此链接:http://www.analyzemath.com/Calculators/CircleInterCalc.html
一个圆的参数方程为: x = cx + r * cos(a) y = cy + r * sin(a) 其中,r是半径,cx、cy是原点,a是从0到2PI弧度或0到360度的角度。

由于生成点(此示例中的1和2)所使用的公式,我不知道这些曲线的中心点。每个曲线的位置都相对于先前的轨道部分,可能是曲线或直线。我想中心点会被计算出来,但希望有一个不需要太多计算的解决方案。 - jayfield1979

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接