有许多方法可以在空间上表示数字领域中的 3D 对象,最常见的是多边形表示。表示方法的选择不仅取决于目的,还取决于技术可能性,有时还取决于视觉美学。
在本课程中,了解在空间中表示 3D 对象的不同方法、使用它们的位置以及它们的优缺点。
多边形模型
在计算机中可视化 3D 对象的最常用方法是将对象的表面定义为三角形或多边形。这些多边形一起创建了所谓的网格。多边形模型是最容易渲染和可视化的。它们可以更自然地变形和动画——这就是为什么大多数游戏和计算机图形应用程序使用这种方法的一些变体。缺点是网格不适合表示体积对象,因为内部没有体积。
体素
“体素”这个词来自短语“体积元素”,它基本上是 3D 模拟到 2D 像素。体素将 3D 空间划分为统一的 3D 立方体——想想 Minecraft 风格的外观(尽管游戏实际上并没有使用体素渲染,因为它仍然非常耗费资源)。如果多边形模型像网格,体素类似于粘土,因为它们具有体积,这对于表示非均匀填充的空间非常有用。体素广泛用于医学中的体积成像以及游戏和模拟中的地形表示。
点云
点云是空间中的一组数据点,表示 3D 形状或对象,每个点都有一组 XYZ 坐标。点云通常由 3D 扫描仪或激光雷达数据收集通过测量物体的外表面产生。虽然我们可以在技术上直接渲染和检查它们,但点云通常通过表面重建转换为多边形网格。点云用于创建地理地图、为真实世界的 CAD 模型提供参考、将计算机模型与现实进行比较,以及许多其他类型的可视化和动画。在某种程度上,点云是最接近我们的原子在现实生活中如何工作的方式
有符号距离场(SDF)
大多数现代 3D 引擎使用三角形或多边形来描述形状。然而,一些物体,如球体或其他弯曲的几何形状,不可能用三角形来描述,因为光线不自然。有符号距离场 (SDF) 方法基于可以用数学函数描述每个对象的想法。它将 3D 点作为参数并返回一个值,该值指示该点与对象表面的距离。SDF 有助于克服 3D 引擎的限制,并允许创建多种变换,包括放大、弯曲、扭曲和旋转几何图形,而不会丢失细节。
以上内容为转载
网友评论