4

我有一条 B 样条曲线。我有所有的结,以及控制点的 x,y 坐标。

我需要将 B 样条曲线转换为贝塞尔曲线。

我的最终目标是能够在 html5 画布元素上绘制形状。B-Spline 来自不支持 Beziers 的 dxf 文件,而画布仅支持 Beziers。

我发现了几篇试图解释这个过程的文章,但是它们让我有点不知所措,而且似乎真的是理论密集型的。我真的需要一个例子或一步一步的帮助。

这是我发现的:( 解释 B 样条曲线)(转换为贝塞尔曲线) ,(Javascript 示例)

最后一个链接很好,因为它包含实际代码,但是它似乎没有考虑节点分配的权重。我认为这很重要,因为它似乎会影响曲线是否通过控制点。

如果有用的话,我可以分享我的节点或控制点。如果有人会指出我一步一步的过程或帮助我一些伪(或实际)代码,我将非常感激。

4

2 回答 2

1

不久前,我为三次 B 样条曲线编写了 Boehm 算法的简单 Javascript 实现。这是一个涉及极值的相当简单的实现,在第 6.3 节中进行了描述:计算机辅助几何设计 - Sederberg

如果你只是对实现感兴趣,我已经链接了我在这里写的类:bsplines.js

于 2013-07-25T18:21:36.140 回答
0

这可能会有所帮助 - https://github.com/Tagussan/BSpline

我的项目继续进行,我不再需要它,但这似乎是提供控制点并绘制曲线的一种非常有用的方法。

于 2015-04-23T15:33:06.693 回答