【Notes_8】现代图形学入门——几何(基本表示方法、曲线与曲面)
几何
几何表示
隐式表示
不给出点的坐标,给数学表达式
优点 可以很容易找到点与几何之间的关系
缺点 找某特定的点很难
更多的隐式表示方法
Constructive Solid Geometry 、Distance Functions 、Level Set Methods 、Fractals
显示表示
直接给出点或者参数映射
优点 找某一点很容易
缺点 判断点与几何之间的关系很困难
更多的显式表示方法
Triangle meshes 、Bezier surfaces 、Subdivision surfaces 、NURBS 、Point clouds。
其中需要强调的一点在图形学中,显示存储在文件的格式是wavefront object file。
其中,\(v:\)顶点、\(v_n:\)法线、\(v_t:\)纹理坐标、\(f\)参数详解:(顶点坐标 纹理坐标 法线坐标)
曲线与曲面
贝塞尔曲线(Bézier Curves)
贝塞尔曲线是计算机图形图像造型的基本工具,是图形造型运用得最多的基本线条之一,是依据四个位置任意的点坐标绘制出的一条光滑曲线。
代数表示
主要是通过反复迭代实现,循环体是每两个点之间的通过特定的比例 \(t\) ,得到一个新的点;终止条件是最后只有一个点。
贝塞尔曲线性质
1. 端点性质
顶点P0和Pn分别位于曲线段的起点和终点上,曲线不通过其他控制点,即“逼近”而非“插值”。
2. 一阶导数
- Bernstein基函数的一阶导数为
- Bezier曲线的一阶导数为
Bezier曲线的起点和终点处的切线方向和特征多边形的第一条边及最后一条线的走向一致。
3. 几何不变性
指某些几何特性不随坐标变换而变化的特性。Bezier曲线的形状仅与控制多边形各顶点的相对位置有关,而与坐标系的选择无关。
4. 凸包性
Bezier曲线落在控制点Pi构成的凸包内
分段贝塞尔曲线
当控制贝塞尔曲线的控制点多的时候,可以通过分段生成贝塞尔曲线来实现。
贝塞尔曲线拼接
贝塞尔曲面
几何操作
曲面的几何操作主要有:曲面细分、曲面简化、曲面正则化。
曲面细分
曲面细分主要有以下两个主要的步骤:1.创建更多的面(顶点) 2.移动面(顶点)的位置
Loop Subdivision
Loop Subdivision主要是针对三角形曲面的细分
1. 创建更多的面(顶点)
2. 移动顶点的位置
Catmull
奇异点:与点相连接的边不为4的点
face point:每个面中的点,用周围点的平均值代表
曲面简化
最新文章
- Oracle使用java source调用外部程序
- css3 自定义字体的使用方法
- ExtJs基础知识总结:Dom、IFrame和TreePanel、TabPanel(三)
- DataTable的数据批量写入数据库
- JVM内存结构---《深入理解Java虚拟机》学习总结
- Observer pattern 观察者模式
- Unity 相关经典博客资源总结(持续更新)
- spring mvc4:异常处理
- Java学习-047-数值格式化及小数位数四舍五入
- Scrum介绍
- POJ 1681---Painter's Problem(高斯消元)
- IOS应用沙盒文件操作
- ios 指南针
- boa介绍文档
- asp.net下载的方法1
- 深入理解Spring Redis的使用 (二)、RedisTemplate事务支持、序列化
- php的几个内置的函数
- java 堆、栈、方法区/ 类变量、成员变量、局部变量
- Java基础系列--instanceof关键字
- A2D JS框架 - loadScript实现
热门文章
- (31)sed命令完全攻略
- Linux-apache httd.conf文件详解
- 【C#】对两张图片进行矩阵运算会怎么样?
- 2017-2018 ACM-ICPC, Asia Daejeon Regional Contest PART(10/12)
- 【poj 1984】&;【bzoj 3362】Navigation Nightmare(图论--带权并查集)
- UESTC 1218 Pick The Sticks
- C++构造函数、复制函数易错点
- python Crypto 加密解密
- Python——控制鼠标键盘
- Hexo、主题、部署上线