计算弧的点坐标

时间:2014-09-19 13:38:06

标签: c# math geometry

我的问题可能更多是关于数学而不是编程,但我希望这不是问题。 在我的应用程序中,我正在计算一些运动路径,包括像素坐标(仅计算,不显示它们)。我现在正试图平滑转弯,这现在太尖锐了,所以我想在这里使用一些弧线。我发现如何使用以下代码绘制我需要的确切弧:

e.Graphics.DrawArc(myPen, myPoint.X, myPoints.Y, 50, 50, 180, 90);

基本上我所知道的是三个点(弧线将在其中两个之间,第三个现在是转弯的角落),弧的高度和宽度,初始和想要的路线/航向/角度。我在一个应用程序中尝试了这个,以后可视化路径,它的工作原理。但是,我需要计算弧上的一些坐标,以添加到我保存为路径的Points数组。谁知道怎么样?对于这样大小的弧,我需要大约5个点(然而点数会改变) 感谢

1 个答案:

答案 0 :(得分:1)

DrawArc在你的情况下绘制一个椭圆或圆的一部分(关于第4和第5个参数。)圆的半径是25.圆的数学是:x^2 + y^2 = r^2。 因此,我认为您可以通过计算来计算此圆上的点数:

Y = myPoint.Y + 25 +/- Sqrt(625 - (X - myPoint.X - 25)^2).

让X从myPoint.XmyPoint.X + 50,你会发现一些相应的Y&#39}。 因为它是一个圆,每个X都有2个Y值(因此,公式中的+/-;你需要计算+和 - )。