贝塞尔圆弧创建方法
01 贝塞尔圆弧创建方法
1. 参考
文章参考
- https://blog.csdn.net/nibiewuxuanze/article/details/48165555
- https://xiaochaowei.com/2022/07/20/BezierCurveFittedAnyCurve/
使用工具
https://yqnn.github.io/svg-path-editor/
2. 代码
private static void GetArc()
{
var alpha = 20 * MathF.PI / 180;
var beta = 80 * MathF.PI / 180;
var h = 4 / 3 * ((1 - MathF.Cos((beta - alpha) / 2)) / MathF.Sin((beta - alpha) / 2));
//Console.WriteLine(h);
var a = new Vector2(MathF.Cos(alpha), MathF.Sin(alpha));
var b = new Vector2(MathF.Cos(beta), MathF.Sin(beta));
var d = a + new Vector2(-MathF.Sin(alpha), MathF.Cos(alpha)) * h;
var c = b + new Vector2(MathF.Sin(beta), -MathF.Cos(beta)) * h;
var str = $"M 0 0 L {a.X} {a.Y} C {d.X} {d.Y} {c.X} {c.Y} {b.X} {b.Y} Z";
Console.WriteLine(str);
}

浙公网安备 33010602011771号