Real-Time Rendering——16.1 Sources of Three-Dimensional Data三维数据的来源

There are several ways a polygonal model can be created or generated:
• Directly typing in the geometric description.
• Writing programs that create such data. This is called procedural modeling.
• Transforming data found in other forms into surfaces or volumes, e.g., taking protein data and converting it into a set of spheres and cylinders.
• Using modeling programs to build up or sculpt an object.
• Reconstructing the surface from one or more photographs of the same object,called photogrammetry.
• Sampling a real model at various points, using a three-dimensional scanner,digitizer, or other sensing device.
• Generating an isosurface that represents identical values in some volume of space,such as data from CAT or MRI medical scans, or pressure or temperature samples measured in the atmosphere.
• Using some combination of these techniques.

有几种方法可以创建或生成多边形模型:

直接输入几何描述。

编写创建此类数据的程序。这被称为过程建模。

将其他形式的数据转换为表面或体积,例如,获取蛋白质数据并将其转换为一组球体和圆柱体。

使用建模程序构建或雕刻一个物体。

根据同一物体的一张或多张照片重建表面,称为摄影测量。

使用三维扫描仪、数字化仪或其他传感设备,在不同点对真实模型进行采样。

生成表示某个空间体积中相同值的等值面,例如来自CAT或MRI医学扫描的数据,或者在大气中测量的压力或温度样本。

使用这些技术的某种组合。

In the modeling world, there are two main types of modelers: solid-based and surface-based. Solid-based modelers are usually seen in the area of computer aided design (CAD), and often emphasize modeling tools that correspond to actual machining processes, such as cutting, drilling, and planing. Internally, they will have a computational engine that rigorously manipulates the underlying topological boundaries of the objects. For display and analysis, such modelers have faceters. A faceter is software that turns the internal model representation into triangles that can then be displayed. For example, a sphere may be represented in a database by a center point and a radius, and the faceter could turn it into any number of triangles or quadrilaterals in order to represent it. Sometimes the best rendering speedup is the simplest:Turning down the visual accuracy required when the faceter is employed can increase speed and save storage space by generating fewer triangles.

在建模领域,有两种主要类型的建模器:基于实体的和基于表面的。基于实体的建模者通常出现在计算机辅助设计(CAD)领域,并且通常强调对应于实际加工过程的建模工具,例如切割、钻孔和刨削。在内部,他们将有一个计算引擎,严格操纵对象的底层拓扑边界。为了显示和分析,这样的建模者有faceters。faceter是一种软件,它可以将内部模型表示转化为三角形,然后显示出来。例如,一个球体在数据库中可以用一个中心点和一个半径来表示,刻面师可以把它变成任意数量的三角形或四边形来表示它。有时候,最佳的渲染加速是最简单的:当使用faceter时,降低所需的视觉精度可以通过生成更少的三角形来提高速度并节省存储空间。

An important consideration within CAD work is whether the faceter being used is designed for graphical rendering. For example, there are faceters for the finite element method (FEM), which aim to split the surface into nearly equal-area triangles. Such tessellations are strong candidates for simplification, as they contain much graphically useless data. Similarly, some faceters produce sets of triangles that are ideal for creating real-world objects using 3D printing, but that lack vertex normals and are often ill-suited for fast graphical display.

CAD工作中的一个重要考虑因素是所使用的faceter是否是为图形渲染而设计的。例如,有限元法(FEM)有faceters,其目的是将表面分割成几乎等面积的三角形。这种镶嵌是简化的强有力的候选,因为它们包含许多图形上无用的数据。类似地,一些刻面器产生的三角形集合对于使用3D打印创建真实世界的对象是理想的,但是缺少顶点法线,并且通常不适合快速图形显示。

Modelers such as Blender or Maya are not based around a built-in concept of solidity. Instead, objects are defined by their surfaces. Like solid modelers, these surface-based systems may use internal representations and faceters to display objects such as spline or subdivision surfaces (Chapter 17). They may also allow direct manipulation of surfaces, such as adding or deleting triangles or vertices. The user can then manually lower the triangle count of a model.

诸如Blender或Maya之类的建模器并不是基于一个内置的坚固性概念。相反,对象是由其表面定义的。像实体建模者一样,这些基于表面的系统可能使用内部表示和面元来显示物体,如样条或细分表面(第17章)。它们还允许直接操纵表面,例如添加或删除三角形或顶点。然后,用户可以手动降低模型的三角形数。

There are other types of modelers, such as implicit surface (including “blobby” metaball) creation systems [67, 558], that work with concepts such as blends, weights,and fields. These modelers can create organic forms by generating surfaces that are defined by the solution to some function f(x, y, z) = 0. Polygonalization techniques such as marching cubes are then used to create sets of triangles for display(Section 17.3).

还有其他类型的建模器,如隐式曲面(包括“滴状”元球)创建系统[67,558],它们处理混合、权重和场等概念。这些建模者可以通过生成由某个函数f(x,y,z) = 0的解定义的表面来创建有机形式。多边形化技术,如移动立方体,然后被用来创建显示的三角形集合(17.3节)。

Point clouds are strong candidates for simplification techniques. The data are often sampled at regular intervals, so many samples have a negligible effect on the visual perception of the surfaces formed. Researchers have spent decades of work on techniques for filtering out defective data and reconstructing meshes from point clouds [137]. See Section 13.9 for more about this area.

点云是简化技术的有力候选者。数据通常以规则的间隔采样,因此许多样本对形成的表面的视觉感知的影响可以忽略不计。研究人员花了几十年的时间研究过滤掉有缺陷的数据和从点云中重建网格的技术[137]。有关该区域的更多信息,请参见第13.9节。

Any number of cleanup or higher-order operations can be performed on meshes that have been generated from scanned data. For example, segmentation techniques analyze a polygonal model and attempt to identify separate parts [1612]. Doing so can aid in creating animations, applying texture maps, matching shapes, and other operations.

可以在由扫描数据生成的网格上执行任意数量的清理或高阶操作。例如,分割技术分析多边形模型,并试图识别分离的部分[1612]。这样做有助于创建动画、应用纹理贴图、匹配形状和其他操作。

There are many other ways in which polygonal data can be generated for surface representation. The key is to understand how the data were created, and for what purpose. Often, the data are not generated specifically for efficient graphical display. Also, there are many different three-dimensional data file formats, and translating between any two is often not a lossless operation. Understanding what sorts of limitations and problems may be encountered with incoming data is a major theme of this chapter.

有许多其他方法可以生成用于表面表示的多边形数据。关键是要了解数据是如何创建的,以及创建的目的是什么。通常,数据不是专门为有效的图形显示而生成的。此外,存在许多不同的三维数据文件格式,并且在任意两种格式之间进行转换通常不是无损操作。理解传入数据可能遇到的限制和问题是本章的主题。

猜你喜欢

转载自blog.csdn.net/m0_37609239/article/details/126927879