我需要使用GraphicsPath绘制弧并具有初始,中值和最终点.弧必须传递它们.
我试过.DrawCurve和.DrawBezier,但结果并不完全是弧形.
我能做什么?
解:
经过几个小时的代码编写后,我设法用这个算法绘制了我想要的东西(给出3点a,b,c和一个GraphicsPath路径):
double d = 2 * (a.X - c.X) * (c.Y - b.Y) + 2 * (b.X - c.X) * (a.Y - c.Y);
double m1 = (Math.Pow(a.X, 2) - Math.Pow(c.X, 2) + Math.Pow(a.Y, 2) - Math.Pow(c.Y, 2));
double m2 = (Math.Pow(c.X, 2) - Math.Pow(b.X, 2) + Math.Pow(c.Y, 2) - Math.Pow(b.Y, 2));
double nx = m1 * (c.Y - b.Y) + m2 * (c.Y - a.Y);
double ny = m1 * (b.X - c.X) + m2 * …Run Code Online (Sandbox Code Playgroud)