1 几何的显示表示
1.1 Point Cloud(点云)![](https://img-blog.csdnimg.cn/8abb85c95fde423287aa4e3ec2949f97.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAX1NoZWxjb24=,size_20,color_FFFFFF,t_70,g_se,x_16)
1.2 Polygon Mesh(多边形网格)
在图形学中应用最广泛的显示表示。
2 Curve(曲线)
Bezeir Curve
求贝塞尔曲线上的任意一个点:
贝塞尔曲线公式:
贝塞尔曲线的性质:
1.必须过起点和终点
2.起点和终点的切线:
3.仿射变换,直接对几个控制点做仿射变换,整个曲线不会变化
4.凸包性质。贝塞尔曲线不会超过控制点的范围。
然而当贝塞尔曲线的控制点非常多的时候,会非常难控制曲线:
所以大家比较喜欢用三次贝塞尔曲线(四个控制点),逐段生成贝塞尔曲线,然后连起来:
一般在衔接处认为衔接点上切线的大小相同且方向在同一直线上,才认为是平滑的,叫做C1连续。而当第一段的终点和第二段的起点重叠时,我们管这种连续叫做C0连续。而更高阶的连续也有,叫做曲率连续。
上面是贝塞尔曲线,图形学几何上不仅有贝塞尔曲线,还有spline曲线等。
3 Surfaces
下面说曲面。将贝塞尔曲线扩展为贝塞尔曲面。
那么上面这个是如何做到的?实际上是应用之前双线性插值的理解,在两个方向上分别应用贝塞尔曲线就可以了,首先16个点:
认为它有四行(横向),每一行有四个控制点,得到四条曲线:
而这四条曲线在时间t上又得到四个点,这四个点又认为是在纵向上的曲线的控制点,而再想得到这条纵向曲线上的一个点,则又需要一个时间t:
通过这种方式来变化控制点,可以得到非常非常复杂的曲面。
而上述过程可以发现,我们需要两个时间t来得到曲面上的任意一个点,那我们可以定义一个u一个v:
由此一来,只要我们u和v的范围再0-1,就可以得到曲面上的任意一个点。