Graphics 在样条曲线中查找控制点顺序

Graphics 在样条曲线中查找控制点顺序,graphics,gdi+,spline,Graphics,Gdi+,Spline,我目前正在为我们的软件开发一个样条曲线绘制工具,我们希望能够向样条曲线添加一个新的控制点。我们使用GDI+GraphicsPath从一组控制点绘制样条曲线。确定点是否在样条曲线路径上非常简单,但确定添加新点的顺序以便现有样条曲线通过则是另一回事 我们不知道曲线本身是如何计算的,目前只有一组现有的控制点、新点以及该点是否在曲线路径上 我能想到的唯一可能的解决方案是迭代测试点是否位于由前2,3,4.组成的曲线上。。曲线的点,并根据观察结果推断出它所属的现有点。这似乎是解决问题的一种蛮力方式,所以我想

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

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

我能想到的唯一可能的解决方案是迭代测试点是否位于由前2,3,4.组成的曲线上。。曲线的点,并根据观察结果推断出它所属的现有点。这似乎是解决问题的一种蛮力方式,所以我想知道是否有人知道更好的方法


感谢您的参考,这就是我们所做的:

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

因此,我们迭代通过一组扁平线段,点击测试新的点,并跟踪我们所处的“控制线段”。当出现命中时,我们找到了目标段,并可以在定义该段的2个控制点之间添加新的控制点

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