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.
有幾種方法可以創(chuàng)建或生成多邊形模型:
直接輸入幾何描述。
編寫創(chuàng)建此類數(shù)據(jù)的程序。這被稱為過程建模。
將其他形式的數(shù)據(jù)轉(zhuǎn)換為表面或體積,例如,獲取蛋白質(zhì)數(shù)據(jù)并將其轉(zhuǎn)換為一組球體和圓柱體。
使用建模程序構(gòu)建或雕刻一個(gè)物體。
根據(jù)同一物體的一張或多張照片重建表面,稱為攝影測量。
使用三維掃描儀、數(shù)字化儀或其他傳感設(shè)備,在不同點(diǎn)對真實(shí)模型進(jìn)行采樣。
生成表示某個(gè)空間體積中相同值的等值面,例如來自CAT或MRI醫(yī)學(xué)掃描的數(shù)據(jù),或者在大氣中測量的壓力或溫度樣本。
使用這些技術(shù)的某種組合。
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.
在建模領(lǐng)域,有兩種主要類型的建模器:基于實(shí)體的和基于表面的。基于實(shí)體的建模者通常出現(xiàn)在計(jì)算機(jī)輔助設(shè)計(jì)(CAD)領(lǐng)域,并且通常強(qiáng)調(diào)對應(yīng)于實(shí)際加工過程的建模工具,例如切割、鉆孔和刨削。在內(nèi)部,他們將有一個(gè)計(jì)算引擎,嚴(yán)格操縱對象的底層拓?fù)溥吔纭榱孙@示和分析,這樣的建模者有faceters。faceter是一種軟件,它可以將內(nèi)部模型表示轉(zhuǎn)化為三角形,然后顯示出來。例如,一個(gè)球體在數(shù)據(jù)庫中可以用一個(gè)中心點(diǎn)和一個(gè)半徑來表示,刻面師可以把它變成任意數(shù)量的三角形或四邊形來表示它。有時(shí)候,最佳的渲染加速是最簡單的:當(dāng)使用faceter時(shí),降低所需的視覺精度可以通過生成更少的三角形來提高速度并節(jié)省存儲空間。
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工作中的一個(gè)重要考慮因素是所使用的faceter是否是為圖形渲染而設(shè)計(jì)的。例如,有限元法(FEM)有faceters,其目的是將表面分割成幾乎等面積的三角形。這種鑲嵌是簡化的強(qiáng)有力的候選,因?yàn)樗鼈儼S多圖形上無用的數(shù)據(jù)。類似地,一些刻面器產(chǎn)生的三角形集合對于使用3D打印創(chuàng)建真實(shí)世界的對象是理想的,但是缺少頂點(diǎn)法線,并且通常不適合快速圖形顯示。
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之類的建模器并不是基于一個(gè)內(nèi)置的堅(jiān)固性概念。相反,對象是由其表面定義的。像實(shí)體建模者一樣,這些基于表面的系統(tǒng)可能使用內(nèi)部表示和面元來顯示物體,如樣條或細(xì)分表面(第17章)。它們還允許直接操縱表面,例如添加或刪除三角形或頂點(diǎn)。然后,用戶可以手動(dòng)降低模型的三角形數(shù)。
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).
還有其他類型的建模器,如隱式曲面(包括“滴狀”元球)創(chuàng)建系統(tǒng)[67,558],它們處理混合、權(quán)重和場等概念。這些建模者可以通過生成由某個(gè)函數(shù)f(x,y,z) = 0的解定義的表面來創(chuàng)建有機(jī)形式。多邊形化技術(shù),如移動(dòng)立方體,然后被用來創(chuàng)建顯示的三角形集合(17.3節(jié))。
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.
點(diǎn)云是簡化技術(shù)的有力候選者。數(shù)據(jù)通常以規(guī)則的間隔采樣,因此許多樣本對形成的表面的視覺感知的影響可以忽略不計(jì)。研究人員花了幾十年的時(shí)間研究過濾掉有缺陷的數(shù)據(jù)和從點(diǎn)云中重建網(wǎng)格的技術(shù)[137]。有關(guān)該區(qū)域的更多信息,請參見第13.9節(jié)。
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.
可以在由掃描數(shù)據(jù)生成的網(wǎng)格上執(zhí)行任意數(shù)量的清理或高階操作。例如,分割技術(shù)分析多邊形模型,并試圖識別分離的部分[1612]。這樣做有助于創(chuàng)建動(dòng)畫、應(yīng)用紋理貼圖、匹配形狀和其他操作。
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.
有許多其他方法可以生成用于表面表示的多邊形數(shù)據(jù)。關(guān)鍵是要了解數(shù)據(jù)是如何創(chuàng)建的,以及創(chuàng)建的目的是什么。通常,數(shù)據(jù)不是專門為有效的圖形顯示而生成的。此外,存在許多不同的三維數(shù)據(jù)文件格式,并且在任意兩種格式之間進(jìn)行轉(zhuǎn)換通常不是無損操作。理解傳入數(shù)據(jù)可能遇到的限制和問題是本章的主題。
總結(jié)
以上是生活随笔為你收集整理的Real-Time Rendering——16.1 Sources of Three-Dimensional Data三维数据的来源的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java %3e%3e位移_JAVA移位
- 下一篇: JDK6升级JDK8踩雷