跳至正文

Geometry2(Curves and Surfaces)

显式几何同样有很多表示方法

 
 

点云:

雕塑上半部分点云的密度非常大

随着密度降低 下半部分就不太能看出是个面

所以需要比较密集的点

理论上这样可以描述任何几何

 
 

多边形面

特别是三角形和四边形

.obj是一个文本文件

描述了空间的点、法线、纹理坐标

组织起来形成了模型

 
 

 
 

曲线:

 
 

贝塞尔曲线

用一系列的控制点定义一个曲线

为什么会有系数3呢?

 
 

给定一系列任意多个的点 怎么把这个曲线画出来呢?

就要用到这个算法

现在给定三个不同的点

假设这条曲线 起点在时间0 终点在时间1

在0~1时间的t 这个点的位置在哪?

就能把找一条线转化成找一个点

 
 

把所有的时间t都找一遍

给定四个不同的点

可视化 http://acko.net/

 
 

 
 

从直观的解释来推出代数的解释

相当于在两个位置做线性插值

可以显示的写出来

这里的上标不是平方啊 要注意只是表示次数

伯恩斯坦的多项式

任意阶数的贝塞尔曲线

可以从平面推广到空间

三维坐标一样可以用伯恩斯坦多项式来进行插值

 
 

性质:

t=0在起点 t=1在终点

一开始曲线起始的切线要有系数3(四个控制点,若不是就不是3

可以直接对曲线上不同的顶点做仿射变换 和原始控制点得到的贝塞尔曲线是一模一样的 注意是仿射变换 对于投影就不是这样了

凸包性质:画出来的贝塞尔曲线一定在几个控制点的凸包内

凸包:用橡皮筋把外面的钉子给包住然后松开

橡皮筋收缩后的框就可以理解为凸包

 
 

逐段的贝塞尔曲线

 
 

控制点多的时候 中间就不那么好控制

所以就每次用很少的控制点定义一段 然后把这些贝塞尔曲线连起来

一般都喜欢用四个控制点 也就是三次贝塞尔曲线

这种方法得到了广泛应用

因为可以看作两边两个杆 拉着动

http://math.hws.edu/eck/cs424/notes2013/canvas/bezier.html

演示demo 可以自己拉一拉试一试

 
 

那我怎么保证连起来的曲线是光滑的呢?

把相邻的控制杆拉到共线 且等距 就可以说这个转折是光滑的

 
 

连续性:

C0连续:只要挨在一块就行

C1连续:除了挨在一块 切线也共线 可以理解为1阶的连续

所以肯定有更高阶的连续

贝塞尔曲线不是唯一应用的曲线

样条也是同样在运用的曲线

除此之外还有其他种类

B样条:或者说奇函数样条

可以理解成伯恩斯坦多项式做加权平均

 
 

注意:

这门课不覆盖B样条和NURBS(非均匀有理B样条)

曲线上的操作也没有多提

想进一步学习可以观看这个视频

https://www.bilibili.com/video/av66548502?from=search&seid=65256805876131485

 
 

 
 

曲面

16个点得到四条贝塞尔曲线

再按照t从四条曲线上取四个点

形成一条新的贝塞尔曲线

按照时间曲线就构成了贝塞尔曲面

 
 

 
 

网格:几何处理

 

发表评论

您的电子邮箱地址不会被公开。