Games101 笔记 11几何(曲线与曲面)

Explicit Representations in Computer Graphics  显式几何

点云: 不考虑物体时一个表面, 而是把每个点当作一个表面.

如果要表现一个非常复杂的模型, 就需要非常多的点.   点云经常被考虑如何变成三角形面,

平时很少用, 除非扫描出来的数据.

多边形面

最广泛应用的

v 顶点

vn 法线

vt 纹理坐标

f 连接关系 (序列连接的三角形)   

Curves 曲线

相机路径/动画曲线/矢量字体

Bézier Curves (⻉塞尔曲线)

用一些控制点来控制曲线. 以p0,p1为切线的曲线.

根据时间找某个时间点上 曲线上面对应的点.

现在bo,b1  b1,b2 上找2个控制点形成的线段上面的点. 新的到的2个点连起来, 再次根据t来计算点

得到唯一的点就结束.

根据时间[0-t], 把所有的点都遍历一遍就得到曲线.

多个控制点, 一次找出更少的控制点.

每一层控制点 线性插值找出控制点, 之后再插值.最后得到一个控制点.

贝塞尔曲线在仿射变换下 

对不同的顶点就行仿射变换, 对仿射变换后的画一条曲线

和通过原始点得到的曲线进行仿射变换时一样的.

Affine transformation property
Transform curve by transforming control points

凸包性质, 画的曲线一定在几个控制点形成的凸包内.

Convex hull property
Curve is within convex hull of control points

凸包: 

逐段定义的贝塞尔曲线,  一般默认4个控制点定义一条. PS中的钢笔工具.

如果保证连接处连续呢?   

连接处控制点的2侧2个点在同一条线上, 且距离一样.

c0 连续 接触点在一起就算连续

 

c1 连续, 共线, 方向相反. 可以认为一阶导数的连续.

其他类型的曲线

Spline 样条    可控的样条

B-Spline 样条 

由局部性, 可以只修改其中某一段.

 

Surfaces 曲面

Bézier Surfaces 贝塞尔曲面

需要2个维度上面的控制,

u,v  0,1范围内.