贝塞尔曲线和法国曲线

标签 bezier curve-fitting

我正在使用贝塞尔曲线在我正在制作的程序中绘制曲线。我有五点。 这是我试图创建的曲线的粗略草图。我正在尝试制作一条经过 A、B、C、D 的曲线。然而,C 并不是一个确定的点,它是曲线应该穿过哪里以使其看起来像法国曲线的建议。 C 以 45 度从 E 出来。

This is an illustration of what I am trying to do.

有人对如何近似穿过这些点的法国曲线有任何建议吗?

最佳答案

您需要使用三次贝塞尔曲线。三次贝塞尔曲线由四个点定义,但不经过中间的两点,它们仅指定贝塞尔曲线的向量。对您来说不幸的是,有无限数量的三次贝塞尔曲线可以“穿过”您的四个点。

唐·兰卡斯特 (Don Lancaster) 写道 a document (pdf)关于这一点。其中涉及到有关他使用的算法的一些非常有趣的细节。这是在后记中,我怀疑你正在使用它,但至少原理在那里。

Here is an article在 CodeProject 上,他们构建了一个库来完成您尝试使用 C# 做的事情。

关于贝塞尔曲线和法国曲线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1785460/

相关文章:

python - 使用具有固定参数的 scipy.optimize.least_squares 时更改函数后出现 TypeError (Python)

python - 如何拟合一些系数受限的多项式?

r - 使用 ggplot 将 S 形曲线拟合到点

python - 使用 scipy curve_fit() 拟合背景信号

actionscript-3 - 贝塞尔曲线上给定点的角度?

python - De Casteljau 算法忽略一个控制点

python - 拟合神经网络的训练误差

javascript - 坐标三 Angular 学 - 计算飞行路径弧线的中点

java - 在两点之间绘制曲线

c - n阶贝塞尔曲线?