计算圆弧的点坐标

本文关键字:坐标 计算 | 更新日期: 2023-09-27 18:22:30

我的问题可能更多地是关于数学而不是编程,但我希望这不是问题。在我的应用程序中,我正在计算一些由像素坐标组成的移动路径(仅计算,不显示)。我现在正在努力平滑转弯,因为转弯太急了,所以我想在这里使用一些弧线。我发现如何绘制我需要的确切弧线,使用这样的代码:

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

基本上,我所知道的是三个点(弧线将在其中两个点之间,第三个点现在是转弯的拐角),弧线的高度和宽度,初始和想要的路线/航向/角度。我在一个稍后可以可视化路径的应用程序中尝试了这一点,它很有效。但是,我需要计算弧上的一些坐标,以添加到我保存为路径的点阵列中。有人知道怎么做吗?对于这种大小的弧,我需要大约5个点(但是点的数量会改变)感谢

计算圆弧的点坐标

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

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

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