文章目录
- 前言
- 四、曲线(Curves)
-
-
- 贝塞尔曲线(Bezier Curves)
- 贝塞尔曲线的德卡斯特里奥算法(Bezier Curves - de Casteljau Algorithm)
- 三次贝塞尔曲线(Cubic Bezier Curve - de Casteljau)
- 贝塞尔曲线的代数公式(Bezier Curve - Algebraic Formula)
- 贝塞尔曲线的性质(Properties of Bezier Curves)
- 什么是凸包(Convex Hull)
- 分段贝塞尔曲线(Piecewise Bezier Curves)
- 分段贝塞尔曲线的连续性(Continuity)
- 样条(Splines)
- B样条(B - Splines)
-
- 五、曲面(Surfaces)
- 课程的最后
前言
曲线和曲面
四、曲线(Curves)
运用曲线,我们可以制作摄像机路径,动画曲线,向量字体等等。
贝塞尔曲线(Bezier Curves)
如上图,通过这四个点,我们能确定一条通过p0,p3,并且起始切线为p1-p0,离开的切线为p3-p2的曲线。
贝塞尔曲线的德卡斯特里奥算法(Bezier Curves - de Casteljau Algorithm)
假设这里有三个点。要通过这三个点画贝塞尔曲线,其实任务就是找到曲线上的点在哪里。这里三个点生成的贝塞尔曲线叫做二次贝塞尔曲线(Quadratic Bezier)。
用线性插值在b0b1上插入任意点t,范围[0, 1]
同样的,按相同比例在b1b2上也插入对应的t点。
我们将找到的两个t点连起来,再在得到的线段上按相同比例插入t点。找到的这个t点就是要算的贝塞尔曲线在t(可以理解为时间)时的点。
接下来,找到线段范围[0, 1]中的所有点t。贝塞尔曲线就得到了。
贝塞尔曲线是显式几何表示,因为有参数t。