小编Big*_*azy的帖子

如何从有损近似的计算点中确定贝塞尔曲线控制点?

我有一个关于计算曲线的贝塞尔曲线控件的问题。问题如下图所示:

问题贝塞尔曲线

我的红色点在有序列表中,包括C和D。我需要找到F和E。问题在于,并非每个点都必须在曲线上(曲线不需要通过任何点,除了开始和结束)。它只是一个“近似值”。

我已经阅读了以下内容:

所以我对如何解决这个问题的想法是:

  1. 计算通过C和D的直线的最远点
  2. 如果点的数量是偶数,请查看列表中的上一个和下一个点,确定哪一个离假想线更远,并计算它们之间的中点
  3. 三个点不足以获取曲线的形状,我需要分别为25%和75%的值。幸运的是,有几种方法可以确定这种情况:等距方法,弧长和中心点方法。
  4. 现在我有5个点(起点,25%,中间,75%,终点)来描述我的曲线。我知道每个的t值。曲线应如下所示:

也许解决方案

由此,我需要以某种方式将这些点插入贝塞尔曲线公式,然后反向计算控制点...如何?

预先感谢您的任何提示。

algorithm graphics bezier rust

2
推荐指数
1
解决办法
968
查看次数

标签 统计

algorithm ×1

bezier ×1

graphics ×1

rust ×1