作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果我有描述贝塞尔曲线 P1、P2、P3、P4 的 4 个点(其中 P1 和 P4 是曲线的端点,P2 和 P3 是曲线的控制点),我怎么能找到描述的点只有这条贝塞尔曲线的一部分?
我找到了这个 answer这正是我正在寻找的,但答案似乎是错误的。如果我在应表示整个贝塞尔曲线的方程中设置 t0=0 和 t1=1,则结果点无效。它们不等于原始点。
似乎该解决方案与De Casteljau's algorithm有关,但我无法理解它是如何工作的。
最佳答案
是的,De Casteljau's algorithm是要走的路。
参数化
如果您的曲线从 t=0 到 t=1 没有正确参数化,那么您似乎使用了错误的方程来描述您的曲线。 Wikipedia有正确的公式给你:
B(t) = (1−t)3 P1 + 3(1−t)2t P2 + 3(1−t)t2 P3 + t3 P4
[I adjusted the indices from the zero-based form in Wikipedia to the one-based from your question.]
关于math - 三次贝塞尔曲线段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11703283/
我是一名优秀的程序员,十分优秀!