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范围内.