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,得到的结果为前2/3都为遮挡

      运动SDF(S表示signed),在遮挡边缘处有接近0的值,远离0的地方根据正负做出来,于是能根据AB得到两张渐变的图SDF(A)SDF(B),再将SDF(A)SDF(B)blend操作,再恢复成不是SDF的图,可以得到左边是黑的,右边是白的

    • 水花也可以通过水平集或距离函数的方式描述

  • Constructive Solid Geometry (CSG)

    定义一些简单运算,通过基础几何和简单运算形成复杂几何

    如Max、Maya都支持这种表示方法

  • Fractals 分形

    自相似,类似递归

    在图形学中应用不多,很难控制形状,因为变化频率过快,引起走样

  • ...

隐式几何建立在将点归类的基础上

  • 满足特定关系的点

    如球面:所以点都在x2+y2+z1=1的三维空间上

    更通用的情况f(x,y,z)=0

对于一个隐式几何,很难知道它是什么形状

易于查询

好处是很容易判断一个点在不在该几何形体上或内外

适合描述拓扑结构

难以描述复杂形状

将点带入表达式,若结果为负代表点在物体内,正的代表在物体外

Explicit geometry显式几何

  • point cloud

    • 最简单的表示:一组点(x,y,z)

    • 可以简单地表示任何几何

    • 三维空间扫描通常得到一堆点云(>>1 point/pixel)

    • 经常转化成多边形面

    • 很难绘制出采样不充分的区域

  • triangle meshes

  • Bezier surfaces

  • polygon mesh

    • 存储顶点和多边形(通常是三角形或四边形)

    • 很容易用于处理/模拟,自适应采样

    • 数据结构更加复杂

    • 在图形学中最广泛的显式表示方式

    • 例:The Wavefront Object File(.obj)文件(不同于编译出的obj文件)

      该文件定义了顶点(v)、法线(vn)、纹理坐标(vt)、三角面(f,格式为v/vn/vt//线)

  • subdivision surfaces, NURBS(非均匀有理B样条)

  • ...

所有点都被直接给出(如一个三角形面、模型),或通过parameter mapping(参数映射)的方法给出

输入uv得到xyz,只需输入所有uv,就能得到所有点

f(u,v)=((2+cosu)cosv,(2+cosu)sinv,sinu)

而显示表达很容易显示形状

但判断点是否在几何内外就变困难了,除非判断出是什么形状了

posted @   Telluluu  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示