导图社区 几何知识导图
几何是研究空间结构及性质的一门学科,它是数学中最基本的研究内容之一,与分析、代数等等具有同样重要的地位并且关系极为密切。本图梳理了现在图形学基础几何的知识点有隐式表示、显示表示、曲线的知识内容。
这是一篇关于现在图形学基础作色Shading的思维导图,内容包括物体反射光的三部分、模型特点、漫反射分量、高光分量计算、环境光分量、组合效果。
光栅化是把顶点数据转换为片元的过程,具有将图转化为一个个栅格组成的图象的作用,特点是每个元素对应帧缓冲区中的一像素,下图讲述了光栅化的相关内容,希望梳理的内容对你有所帮助!
社区模板帮助中心,点此进入>>
论语孔子简单思维导图
《傅雷家书》思维导图
《童年》读书笔记
《茶馆》思维导图
《朝花夕拾》篇目思维导图
《昆虫记》思维导图
《安徒生童话》思维导图
《鲁滨逊漂流记》读书笔记
《这样读书就够了》读书笔记
妈妈必读:一张0-1岁孩子认知发展的精确时间表
几何
隐式表示
通过表达式f(x,y,z)=0表示这个表面上的所有点
缺点:Sampling Can Be Hard
优点:Inside/Outside Tests Easy
Algebraic Surfaces 代数表面
Constructive Solid Geometry
Combine implicit geometry via Boolean operations
距离函数Distance Functions
水平集 Level Set Methods
Fractals
显式表示
定义:直接给出所有点,或者通过参数映射
参数映射
优点:Sampling Is Easy
缺点: Inside/Outside Test Hard
点云
用点的列表表示几何图形
容易表示各种几何
需要使用极大的数据集合
通常转换成polygon mesh
多边形面Polygon Mesh
存储多边形的点和面信息
以三角形面单位
The Wavefront Object File
例子
记录顶点,法线和纹理坐标
文件后缀是.obj
v开头的是顶点
vt开头的是纹理坐标
vn开头的是法线
f开头的是三角形的三个点,每个点由 "顶点的index/纹理坐标的index/法线坐标的index"组成
曲线
贝塞尔曲线
Cubic Bézier Curve
四个点决定一个曲线
曲线的起点必然是b0,终点必然是b3
伯恩斯坦多项式
伯恩斯坦多项式的各项之和是1
贝塞尔曲线的性质
Cubic case: b0(0) = 3(b 1 b 0 ) b0(1) = 3(b 3 b 2 )
Transform curve by transforming control points
Curve is within convex hull of control points
高阶贝塞尔曲线的问题
不直观
因此提出分段贝塞尔曲线
0阶连续
对方向没有要求
1阶连续
要让两段曲线交点的相邻点距离相等,且三个点在一个直线上
距离相等是为了让导数也是连续的
可以扩展出贝塞尔曲面
B样条
具有局部性,调整一个点附近的曲线不影响其他地方
曲面
曲面细分(Mesh Subdivision)
标注
Loop Subdivision(注意Loop是个人名不是循环的意思)
基本思路,将一个三角形变成4个三角形
第二步调整新增加的顶点的位置
思路:跟新顶点共线的老顶点应该贡献更大一点,老顶点贡献小一点
第三部调整老的顶点的位置
思路是原来的位置贡献一部分,周围的顶点贡献一部分,仅此而已
只适用于三角曲面
Catmull-Clark Subdivision
选出奇异点(度数不等于4)
在面上增加顶点,该面的各个边中点添加顶点
将新的顶点连起来
添加以后,奇异点增加了
对位置的调整
分三种情况处理
曲面正规化(Mesh Regularization)
曲面简化(Mesh Simplification)
Quadric Error Metrics(二次误差度量)
Quadric error: new vertex should minimize its sum of square distance (L2 distance) to previously related triangle planes!
给每个顶点打上一个分数,将所有顶点都放到一个优先级队列里,每消除一个顶点,然后更新周围N个点的分数,然后再从优先级队列里取出顶点