C# Graphics画弧线如何知道弧线起点终点坐标

Graphics g = this.CreateGraphics();
g.DrawArc(X, Y, 2 * R, 2 * R, 0, Angle)

现在Angle为90度时我可以通过矩形计算出起点终点坐标,但是角度大于90度时我不知道该如何获得该坐标

先看参考资料,虽然资料java的。不过方法是一样的

所以,我们来看你的问题。绘图我们并不需要知道起点和终点坐标,我们只需要知道起点角度,终点角度

然后如果说你想自己计算出坐标,其实那就是高中知识“椭圆的参数方程”,楼上那位给的其实就是把你最后两个参数带入“圆的参数方程”来算的
因为你给的长轴,短轴都是2R所以可以用圆的参数方程,但是个人建议还是用椭圆的参数方程更通用点

参考GPT和自己的思路:

如果角度大于90度,可以先将其转换为角度小于等于90度的情况,然后再根据数学知识计算出起点和终点的坐标。具体的方法如下:

  1. 将角度转换为弧度:double theta = Angle * Math.PI / 180.0;
  2. 计算出起点和终点的横纵坐标:
  • 起点的横坐标:double startX = X + R * Math.Cos(theta);
  • 起点的纵坐标:double startY = Y + R * Math.Sin(theta);
  • 终点的横坐标:double endX = X + R * Math.Cos(theta + Math.PI);
  • 终点的纵坐标:double endY = Y + R * Math.Sin(theta + Math.PI);

其中,Math.CosMath.Sin是C#中的数学库函数,用于计算余弦和正弦值。这样就可以得到起点和终点的坐标了。