Lec 11 Geomertry 2 (Curves and Surfaces)
阅读信息
约 448 个字 3 分钟 本页总访问量:加载中... 次
Explicit Representations
1. Point Cloud
list of points (x,y,z)
直接扫描得到点云,需要通过算法转化为三角形面
如果点云密度过低,则不能画出图像
2. Polygon Mesh
三角形面表示
Wavefront Object File (.obj) Format: v 表示点的坐标,vn 表示法线,vt 表示纹理坐标,f 表示面的顶点的编号
Curves
Bezier Curves
贝塞尔曲线:用一系列控制点定义曲线
e.g.满足条件:
- 从 P0 开始,且切线方向为 P0P1
- 从 P3 结束,且切线方向为 P2P3
de Casteljiau Algorithm
Consider three points (quadratic Bezier):
将起点到终点视为 0~1,对其中任一个比例为 t 的点,按下图方法确定:
四点:
Bernstein form of a Bezier curve of order n:
Bernstein polynomials:
e.g.
2D:
3D:
Properties of Bezier Curves
-
Affine transformation property: transform curve by transforming control points.
在仿射变换下,变换控制点再用变换后的点画曲线,和直接对曲线上点变换,两者结果相同。
但仅对仿射变换成立,投影等变换不成立。 -
Convec hull property: curve is within convex hull of control points.
绘制的贝塞尔曲线一定在所有控制点形成的凸包内。
e.g. 若控制点共线,则贝塞尔曲线是这条线本身
Piecewise Bezier Curves
用多个控制点同时控制一条曲线,中间部分不能反映趋势。用多组点逐段控制,一般每四个点控制一段,再将所有曲线连接。
若控制杆和中间点共线,且控=控制杆大小相同,则认为连接点处曲线连续。
Continuity:
\(C^0\) continuity: \(a_n=b_n\),几何上不间断
\(C^1\) continuity: \(a_n=b_0=\frac{1}{2}(a_{n-1}+b_1)\),前后控制杆长度相同,切线连续
Other Types of Splines
Spline(样条):由一系列控制点控制的曲线,满足特定的连续性
B-Spline(基样条): 对贝塞尔曲线的增强,增加了局部性,改动一个点影响曲线的一个范围内而不是影响整个曲线
Surfaces
Bezier Surfaces
- 沿 x 方向的控制点,绘制沿 x 方向的贝塞尔曲线;
- 在上述曲线沿 y 方向取点作为控制点,绘制沿 y 方向的贝塞尔曲线;
- y 方向曲线扫过的面为贝塞尔曲面
Mesh Operations
- Mesh subdivision
- Mesh simplification
- Mesh regularization