games101_几何

  • 几何介绍
  • 几何形体例子
  • 隐式几何("Implicit" Representations of Geometry)
    • 隐式几何的一些表示
      • Algebraic Surfaces(Implicit)
      • CSG——Constructive Solid Geometry(Implicit)
      • 距离函数——Distance Functions(Implicit)
        • 一个例子:混合一个移动的边界:
      • 水平集法(Level Set Methods)
      • 分型法(Fractals(Implicit))
    • 隐式表示的优点和缺点
  • 显式几何("Explicit" Representations of Geometry)

几何介绍

  • 几何基础
  • 几何实例
  • 几何的表示法

几何形体例子

  • 几何形状
  • 曲面
  • 复杂的几何构造
  • 布料的表示(薄厚,透明度等)
  • 模拟力,水的表示
  • 复杂几何(存储,渲染问题等)
  • 毛发的表示(三角形的数量)

下面将介绍几何表示方法:
主要分为

  • implicit(隐式几何)
  • Explicit(显式几何)

下面是示例:

隐式几何(“Implicit” Representations of Geometry)

通过告诉点关系,对点进行归类,从而判断几何关系(是否在几何表面等关系)。

  1. 告知几何中点的函数关系,并不告诉实际上的点
    比如下图,只要点带入f(x,y,z)=0函数中满足关系式,我们就认为这个点就是定义在表面上的一个点。
  2. 缺点:无法直接判断该几何形状
    通过下图的公式,很难判断出下图中的几何形状。
  3. 优点:很容易判断几何关系(带入隐式即可算出。)

隐式几何的一些表示

Algebraic Surfaces(Implicit)

直接使用算数表达式进行几何体的构建,通过下图可以知道通过公式并不能直观地知道图形到底是什么样子。

CSG——Constructive Solid Geometry(Implicit)

通过简单的几何和一些简单的操作就可以得到一些复杂的几何体。

距离函数——Distance Functions(Implicit)

对于一个表面,我们不会直接去描述它,而是说一个点到这个表面的最短距离。

  • 距离函数: 空间中任何一个点到你想要的几何形体上面任意的一个点上的最小距离,这个距离可以是正的或者负的。如果我认为有一个点在这个物体表面的外面,那这个点的最小距离算出来之后,加上正号(它是正的)。点在物体内部也是同理,但加上的是负号。
  • 可以对通过对距离函数进行Blending, 来描述几何体之间的融合过程。

一个例子:混合一个移动的边界:

想通过A、B得到移动融合运动边界(假设划线为黑色,空白为白色),但是直接做出的结果blend(A,B)得出的颜色将会是黑、灰、白(AB重合区域、B-A区域、空白区域)。这并不是我们想要得到的黑白融合结果。

通过计算AB两张图中任意点对于中间黑色边界的距离,然后进行混合计算(在A、B中都存在的区域需要求平均)得到中间过渡。

  • SDF (Signed Distance Function)有向距离函数,在距离函数的基础上,区分点到几何体距离的正负,几何体内部的点距离为负,外部的点距离为正。
  • 边界的左边区域为负的,边界的右边区域为正的。
  • 然后两张图进行混合blend(SDF(A),SDF(B))。

比如下面这张图是一个例子:

水平集法(Level Set Methods)

这种方法与距离函数方法类似,找临界面 f(x) = 0 的面(类似等高线),在二维、三维空间中均可使用。找出f(x)值相等的所有点即可找出一个平面。

水平集在三维空间中的应用。

应用举例:模拟水圈形成

分型法(Fractals(Implicit))

“分型”是指一个大物体由一些形状相同的小物体组成,小物体又由一些形状相同的更小物体组成,即“自相似”(类似递归思想)。

隐式表示的优点和缺点

显式几何(“Explicit” Representations of Geometry)

直接给出几何体的所有点或者通过参数映射给出几何体的所有点。(通过遍历所有给出的uv点,映射到xyz面上就可以得出图形应有的样子)

相对于隐式的几何表示:

  • 容易得出几何体的形状。
    可以看到下图中u、v可以映射成(x,y,z)。

  • 不容易判断点和几何体之间的关系。
    很难去判断点的内外

games101学习笔记_Geometry1(几何)相关推荐

  1. [GAMES101学习笔记] 角度与立体角

    [GAMES101学习笔记] 角度与立体角 FesianXu 2020/09/16 at UESTC 前言 本系列文章是笔者学习GAMES101 [1]过程中的学习笔记,如有谬误请联系指出,转载请注明 ...

  2. GAMES101 学习笔记 Lecture 1~6

    目录 GAMES101 学习笔记 Lecture 1~6 往期作业汇总帖 Lecture 01 Overview of Computer Graphics 笔记参考 其他教程 怎么判断一个画面是否优秀 ...

  3. Games101学习笔记(一)

    Games101学习笔记 第一部分:矩阵与变换 文章目录 Games101学习笔记 齐次坐标 MVP变换 Model变换 缩放 平移 旋转(逆时针) x轴 y轴 z轴 任意过原点的轴n⃗\vec{n} ...

  4. 图像坐标:我想和世界坐标谈谈(A) 【计算机视觉学习笔记--双目视觉几何框架系列】

    玉米竭力用轻松具体的描述来讲述双目三维重建中的一些数学问题.希望这样的方式让大家以一个轻松的心态阅读玉米的<计算机视觉学习笔记>双目视觉数学架构系列博客.这个系列博客旨在捋顺一下已标定的双 ...

  5. Games101 学习笔记

    文章目录 第一章 第二章 线性代数 向量 单位向量: 向量相加: 笛卡尔坐标系: 向 量乘法: 点乘 叉乘 标准正交基orthonormal 矩阵 矩阵乘法 性质: 矩阵的转置: 单位矩阵和逆矩阵 用 ...

  6. (七)立体标定与立体校正 【计算机视觉学习笔记--双目视觉几何框架系列】

    七.立体标定与立体校正 这篇博文中,让玉米和大家一起了解一下,张氏标定是怎样过渡到立体标定的?在这里主要以双目立体视觉进行分析.对于双目立体视觉,我们有两个摄像头.它们就像人的一双眼睛一样,从不同的方 ...

  7. 张正友标定法 【计算机视觉学习笔记--双目视觉几何框架系列】

    三.致敬"张正友标定" 此处"张正友标定"又称"张氏标定",是指张正友教授于1998年提出的单平面棋盘格的摄像机标定方法.张氏标定法已经作为 ...

  8. 【计算机图形学】【GAMES101学习笔记】Shading 着色

    文章目录 着色(Shading)概述 Blinn-Phong反射模型 漫反射(Diffuse reflection) 镜面/高光反射(Specular highlights) 环境光(Ambient ...

  9. games101学习笔记_Materials and Appearances

    games101_材质与外观 材质等于BRDF(Material == BRDF) Diffuse / Lambertian Material(BRDF) Glossy Material(BRDF) ...

最新文章

  1. SAP HUM 将HU与检验批号码解除关联关系
  2. 自动图片轮播php源码,js图片自动轮播代码分享(js图片轮播)
  3. 半夜三点,去医院看病。。。
  4. Flask学习记录之Flask-SQLAlchemy
  5. oracle数据库并行数限制,Oracle数据库并行处理技术详解(上)
  6. python queue的用法_python Queue模块使用
  7. linux shell中怎样批量修改文件名为 文件夹_文件名
  8. linux ext3下删除mysql数据库的数据恢复案例
  9. 【Flutter】Dart的方法与箭头函数
  10. Microsoft Store 微软应用商店0x80131500解决方案
  11. java编译出现乱码_java编译乱码解决方法
  12. 高数 08.02 可分离变量微分方程
  13. Electron 开发入门
  14. 【JS】moment.min.js
  15. 移动魔百盒问题之我见
  16. [转载]汇编语言程序设计第二版答案  沈美明
  17. xcpc网络赛个人总结(文笔不好,纯纯记录)
  18. Ubuntu 安装 TP_LINK驱动 TL-WDN5200H 2.0无线网卡
  19. autocad2014 第二次打开闪退_解决win10下autocad2014闪退的修复方法
  20. 2014-2022年4月全国空气质量数据分析

热门文章

  1. 面试官最想听哪些话?
  2. C语言,数组的类型,大小
  3. python---控制时间的函数time()
  4. 关于作用域和自由变量的理解
  5. 三国杀服务器改名 插图修改,三国杀7年前老版灵雎焚心到底多恶心?换身份让官方被迫修改...
  6. 非法指令(Illegal Instruction)问题定位
  7. 如何搜索和阅读一篇论文及鉴别论文好坏
  8. Java爬虫初学——爬取BT电影天堂电影的磁力链接并筛选下载
  9. 向量欧氏距离 点积 余弦相似度 余弦距离
  10. linux怎么卸载gdb,卸载GDB 包