显式表示
点云
我们之前表示一个几何形体是通过它的表面来表示,点云的思想是我们可以不用平面来表式,而是表示出通过若干点,只要点的密度够大,我们就能形成一个几何形体的外部形体。
三角形表示法
通常情况下,我们用多个三角形来表示一个几何形体。
对于三角形表示法,我们可以把三角形存储的信息用一种.obj格式信息进行表示。
如下所示,v代表一个几何形体中所有的点的坐标(x,y,z),vt代表所有点对应的纹理坐标(u,v),vn代表所有点的法线向量坐标(x,y,z),f (a1/b1/c1 ,a2/b2/c2 ,a3/b3/c3)表示每一个平面的信息,其中a1,a2,a3代表该平面上的三个点,b1,b2,b3代表该平面上的这三个点对应的纹理坐标,c1,c2,c3代表这三个点对应的法线向量坐标。
曲线
贝塞尔曲线
如下所示:
有四个点,p0,p1,p2,p3,现定义定义一条曲线,以p0和p3为起始点和终止点,且限制曲线在p0点处的切线方向沿着p0->p1向量方向,终止点处的切线方向沿着p2->p3向量方向,则可以得到一条唯一确定的曲线。
三点得出一条贝塞尔曲线
起止点和终止点为b0,b2,b1控制方向。这时有两条线段,b0b1和b1b2,我们假设有两个点在两条线段上移动,且花费时间都为单位1,那么我们可以定义一个比例系数t∈[0,1],在t取任意值时,按比例划分出线段上的b01,b11两点,再连接两点成为一条新的线段,按比例t划分出一个b02点就是该系数下所求的曲线中的点,最后我们可以得到一条曲线。
四点得到一条贝塞尔曲线
同样的道理,我们也可以根据b0,b1,b2,b3得到所求的点b03
数学关系如下
所以,我们可以得到贝塞尔曲线点的表达式。其中,曲线中任意一点都可以表示为给定点的加权,这个式子称为伯恩斯坦多项式。
性质
- 仿射性质:先将点仿射后得出贝塞尔曲线与先由点得出贝塞尔曲线再仿射结果一样。
- 凸包性质:由一系列点生成的贝塞尔曲线一定在由这些点形成的凸包内。
连续性
当有多个点时,我们按四个点分为一组得到了多条贝塞尔曲线,连接好之后可以看出依次并不连续。
于是我们可以定义在两条曲线的连接点处,由曲线上一点连接出去的切线斜率一致,这样就可以得到一条平滑的曲线。
- C0连续
假设两条贝塞尔曲线,曲线终点刚好是后一贝塞尔曲线的起点,那么我们称这段为C0连续。
2.C1连续
假设两条贝塞尔曲线,曲线终点刚好是后一贝塞尔曲线的起点,且这两条切线斜率相等,到切点的距离也相等,那么我们称这段为C1连续。
连续性如图:
曲面
给定四条贝塞尔曲线,设置比例系数t∈[0,1],对这四条曲线同时找出比例划分的点,最后得到了四个点,再对这四个点求出贝塞尔曲线,经过若干次求解后,就可以得到一个曲面。
曲面如下:
所以,我们需要两次比例求解,才能够得到曲面上的一个点。