我的问题可能更多是关于数学而不是编程,但我希望这不是问题 . 在我的应用程序中,我正在计算一些运动路径,包括像素坐标(仅计算,不显示它们) . 我现在正试图平滑转弯,这现在太尖锐了,所以我想在这里使用一些弧线 . 我发现如何使用这样的代码绘制我需要的精确弧:
e.Graphics.DrawArc(myPen, myPoint.X, myPoints.Y, 50, 50, 180, 90);
基本上我所知道的是三个点(弧线将在其中两个之间,第三个现在是转弯的角落),弧的高度和宽度,初始和想要的路线/航向/角度 . 我在一个应用程序中尝试了这个,以后可视化路径,它的工作原理 . 但是,我需要计算弧上的一些坐标,以添加到我保存为路径的Points数组 . 谁知道怎么样?对于这样大小的弧,我需要大约5个点(但是点数会改变)谢谢
1 回答
DrawArc在您的情况下绘制椭圆或圆的一部分(关于第4和第5参数 . )圆的半径是25.圆的数学是:
x^2 + y^2 = r^2
. 因此,我认为您可以通过计算来计算此圆上的点数:让X从
myPoint.X
运行到myPoint.X + 50
,你会发现一些相应的Y.因为它是一个圆,每个X都有2个Y值(因此,/ - 在公式中;你需要计算和 - ) .