GAMES101 Lecture 10 Geometry 1 (Introduction)
Lecture 10 Geometry 1 (Introduction)
Examples of geometry 几何的例子
- 不同形状的几何
- 光滑的曲面
- 复杂的模型、位置摆放
- 布料
- 水滴
- 城市(复杂在东西多)
- 怎么存储
- 怎么渲染这么大级别的东西
- 离得远的情况下如何简化几何模型
- 如何利用光线之间的连续性
- 毛发
- 微观几何
- 树枝、树叶
Various representations of geometry 几何的不同表示方式
图形学中将几何分为两类Implicit隐式和Explicit显式
根据需要来选择表示方法
Implicit geometry隐式几何
-
algebraic surface (不直观)
-
Level Sets (水平集)
-
水平集的表述类似距离函数,区别在于水平集的表述写在格子上,只需要找到值为0的地方,就可以把水平集试图描述的几何提取出来(在地理上的应用为等高线)
-
水平集也可以定义在三维空间上的格子
如果有一个三维纹理表示的是人体不同位置的密度,则可以提取出密度等于某一特定值的几何形体
-
水花也可以通过水平集或距离函数的方式描述
-
-
Distance Functions
对于任何一个几何,都不直接描述表面,而去描述空间任何一个点到这个表面的最近距离(可以是正的或是负的)
-
SDF
黑色表示遮挡,白色表示未被遮挡,我们想要A运动到B的图像,若是简单混合AB,得到的结果为前
都为遮挡运动SDF(S表示signed),在遮挡边缘处有接近
的值,远离 的地方根据正负做出来,于是能根据AB得到两张渐变的图 ,再将 做 操作,再恢复成不是SDF的图,可以得到左边是黑的,右边是白的 -
水花也可以通过水平集或距离函数的方式描述
-
-
Constructive Solid Geometry (CSG)
定义一些简单运算,通过基础几何和简单运算形成复杂几何
如Max、Maya都支持这种表示方法
-
Fractals 分形
自相似,类似递归
在图形学中应用不多,很难控制形状,因为变化频率过快,引起走样
-
...
隐式几何建立在将点归类的基础上
-
满足特定关系的点
如球面:所以点都在
的三维空间上更通用的情况
对于一个隐式几何,很难知道它是什么形状
易于查询
好处是很容易判断一个点在不在该几何形体上或内外
适合描述拓扑结构
难以描述复杂形状
将点带入表达式,若结果为负代表点在物体内,正的代表在物体外
Explicit geometry显式几何
-
point cloud
-
最简单的表示:一组点
-
可以简单地表示任何几何
-
三维空间扫描通常得到一堆点云(>>1 point/pixel)
-
经常转化成多边形面
-
很难绘制出采样不充分的区域
-
-
triangle meshes
-
Bezier surfaces
-
polygon mesh
-
存储顶点和多边形(通常是三角形或四边形)
-
很容易用于处理/模拟,自适应采样
-
数据结构更加复杂
-
在图形学中最广泛的显式表示方式
-
例:The Wavefront Object File(.obj)文件(不同于编译出的obj文件)
该文件定义了顶点(
)、法线( )、纹理坐标( )、三角面( ,格式为 )
-
-
subdivision surfaces, NURBS(非均匀有理B样条)
-
...
所有点都被直接给出(如一个三角形面、模型),或通过parameter mapping(参数映射)的方法给出
输入
而显示表达很容易显示形状
但判断点是否在几何内外就变困难了,除非判断出是什么形状了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!