首页 文章

计算弧的点坐标

提问于
浏览
1

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

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

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

1 回答

  • 1

    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值(因此,/ - 在公式中;你需要计算和 - ) .

相关问题