c# - 如何链接曲线
问题描述
首先,让我明确一点,我对编程知之甚少。所以在我解决这个问题之后,感谢您阅读我的问题。
所以我目前想在我的小 C# 程序中填入以下内容:
- 从 pA 到 pX 画一条线
- 画一条从 pX 到 pY 的曲线
- 画一条从 pY 到 pZ 的曲线
- 从 pZ 到 pD 画一条线
我的问题如下:
我到底如何在 C# 中从一条线“切换”到一条曲线、另一条曲线,然后再切换回一条线?
如果有人能帮我解决这个问题,我会非常高兴。
来自比利时的问候,
-g2609
解决方案
似乎您想提供线段和曲线的平滑连接。
请注意,端点处的贝塞尔曲线具有指向控制点的方向(切线)。所以只需将控制点放在直线段的延续处。从点到控制点的距离是曲率的原因。尝试使用distXY / 3
开始之类的值。
对于曲线-曲线连接,您必须定义一些规则。例如,定义切线方向(并再次 maginute)。如果您需要平滑曲线链,请考虑插值样条 - 这种方法计算所有曲线的三次曲线参数并提供连续性。
AX 线、三次贝塞尔 XY 线、YZ 线的伪代码。
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
推荐阅读
- python - 如何使用正则表达式修改包含条件中字符的字符串
- amp-html - 如何在 amp-story-consent 的帮助下构建 AMP cookie 同意?
- php - 在 PHP 中创建安全密码哈希但检查 Access VBA
- node.js - 如何接收初始 TLS SNI 域名,并延迟向客户端提供证书几秒钟
- reactjs - 我正在尝试添加它不允许我添加的 react-router-dom
- javascript - 带有三元运算符的 CSS - 仅在一种情况下设置属性
- ruby-on-rails - rails-5 中的模型装饰器
- python - 如何使用数字从字符串中删除所有内容以在某个点停止
- javascript - 防止实时数据库中的重复
- java - InputStream Size 超过 1 GB 时无法在 java 中获取。需要更多缓冲区异常。如何解决?