图形学 -- Geometry几何

隐式 implicit

基于给点归类,满足某些关系的点

缺点:不规则表面难以描述!

algebraic surface

直接用数学公式表示:不直观!

Constructive Solid Geometry(CSG)

用简单形状进行加减

distance functions

找表面:blend距离等于0的时候

Level Set 水平集

Fractal 分型

显式 explicit

采样会很方便!

困难:难以判断点是在表面内外

point cloud

(x,y,z)点组成的列表

polygon mesh

.obj format ( Wavefront Object)

把一堆点,法线,纹理坐标分开表示,然后再组织起来

Curves 曲线

Bezier Curves 贝塞尔曲线

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

de Casteljau Algorithm

e.g

下图中b0开始b2结束,b1决定它往哪个方向弯

三个输入点

不停对线段三等分!

四个输入点

代数表示
性质

1)必须过起点终点

2)四个控制点:三倍贝塞尔曲线

3)在仿射变换下只用移动点就可以了!(其他的变换就不一定了)

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

Convex Hull 凸包↓

Piecewise Bezier Curves 逐段贝塞尔曲线

每四个点控制一个贝塞尔曲线!妈耶,ps钢笔多年不会用之谜解开惹

连续性

*两个控制杆连成一条线且长度相等那么就是平滑曲线!

spline 样条曲线

一个曲线是一系列点控制的,满足一定的连续性

B-splines

bazier surfaces 贝塞尔曲面

Mesh 网格

subdivision(upsampling)细分

Loop subdivision

只能用在三角形面

更新

degree:一个顶点和它相邻的边数

Catmull-Clark Subdivision(General Mesh)

可以用在各种形状的面上

把边和面上的中点连起来

simplification(downsamoling) 简化

edge collapsing 边坍缩

把每一个边打上一个二次度量误差分数,分数小的就可以坍缩!

当坍缩一个边后,对它所影响的边作更新(需要用到数据结构里面的优先队列)

regularization正则化

课上暂时没有提到,,,

相关推荐
gameckisme6 天前
Selfloss,官方中文,解压即玩,
游戏·unity·游戏程序·图形渲染·cocos2d·贴图·游戏策划
refineiks7 天前
three.js使用3DTilesRendererJS加载3d tiles数据
前端·3d·图形渲染·webgl
Padid7 天前
文章-深入GPU硬件架构及运行机制 学习后记
笔记·学习·硬件架构·图形渲染·着色器
Padid10 天前
OpenGL GLFW OIT 实现
c++·笔记·学习·图形渲染·着色器
玖er悠10 天前
Unity Shader实现简单的各向异性渲染(采用各向异性形式的GGX分布)
unity·图形渲染
米芝鱼13 天前
UnityShader自定义属性特性
开发语言·游戏·unity·游戏引擎·图形渲染·着色器
米芝鱼14 天前
UnityShaderGraph 卡通水面效果
游戏·unity·游戏引擎·图形渲染·着色器
知心宝贝14 天前
【小程序 - 大智慧】深入微信小程序的核心原理
开发语言·javascript·算法·微信小程序·小程序·前端框架·图形渲染
2401_8566522114 天前
高清无损!探索PDF转JPG的最佳实践工具
图像处理·学习·自然语言处理·pdf·图形渲染
是jin奥17 天前
Ubuntu 搭建 GLFW 环境及其相关测试 demo
linux·ubuntu·图形渲染