【问题标题】:Find control point order in spline在样条中查找控制点顺序
【发布时间】:2015-10-21 11:44:57
【问题描述】:

我目前正在为我们的软件开发样条绘图工具,我们希望能够向样条添加新的控制点。我们使用 GDI+ GraphicsPath 从一组控制点绘制样条线。找出一个点是否在样条路径上很简单,但是找出添加新点以使现有样条通过它的顺序是另一回事。

我们不知道曲线本身是如何计算的,目前只有现有的一组控制点,新的点,以及这个点是否在曲线路径上。

我能想到的唯一可能的解决方案是迭代测试该点是否位于由曲线的前 2、3、4 个点组成的曲线上,并从观察到的结果推断它属于哪些现有点。这似乎是解决问题的一种相当暴力的方法,所以我想知道是否有人知道任何更好的方法?

谢谢

【问题讨论】:

    标签: graphics gdi+ spline


    【解决方案1】:

    作为参考,这是我们所做的:

    Gdi+ GraphicsPath 具有将路径扁平化为一系列点的功能,这些点形成直线段,这似乎可以保证包含原始控制点。

    所以我们遍历一组扁平线段,针对它们测试新点,并跟踪我们所处的“控制线段”。当命中时,我们找到了目标线段,并可以添加定义该段的 2 个之间的新控制点。

    这是一个蛮力搜索,但是我没有找到任何其他不需要知道样条如何拟合到点的解决方案,并且即使对于复杂的样条似乎也能顺利运行。

    【讨论】:

      猜你喜欢
      • 2013-03-20
      • 1970-01-01
      • 1970-01-01
      • 2020-02-15
      • 2017-10-31
      • 2015-11-13
      • 2014-12-16
      相关资源
      最近更新 更多