如何 link 曲线

How to link curves

首先声明一下,我对编程了解不多。所以在我解决了这个问题之后,感谢您阅读我的问题。

所以我目前想要塞进我的小 C# 程序的是以下内容:

我的问题如下:

在 C# 中,我究竟如何 "switch" 从一条线到一条曲线,再到另一条曲线,然后再回到一条线?

如果有人能帮助我,我将非常高兴。

来自比利时的问候,

-g2609

您似乎想要提供线段和曲线的平滑连接。

请注意,端点处的贝塞尔曲线具有到控制点的方向(切线)。所以只需将控制点放在直线段的延续处。从点到控制点的距离决定了曲率。尝试使用 distXY / 3 之类的值开始。

对于曲线-曲线连接,您必须定义一些规则。例如,定义切线方向(并再次 maginute)。如果您需要平滑的曲线链,请考虑插值样条 - 这种方法计算所有曲线的三次曲线参数并提供连续性。

A​​-X 线、X-Y 立方贝塞尔曲线、Y-Z 线的伪代码。

 VecAX = X - A
 uAX = (VecAX.X / VecAX.Length, VecAX.Y / VecAX.Length)
 curveXY.P0 = X
 curveXY.P1 = X + uAX * VecAX.Length / 3
 curveXY.P2 = Y - uXZ * VecXZ.Length / 3
 curveXY.P3 = Y