Domain-Modeling Techniques Chap. 8 October 29, 2009 CDS 301 Fall, 2008 Jie Zhang Copyright ©
Domain-Modeling Discrete dataset Continuous dataset Visualization is to operate on the domain representation, e.g., the sampling points and grids, but not on the sampled attribute values. Discrete dataset Continuous dataset
Outline 8.1. Cutting 8.2. Selection 8.3. Grid Construction from Scattered Points 8.4. Grid-Processing Technique
Cutting Target domain is a subset of the source domain 4
Brick Extracting Target domain has the same dimension of the source domain Extracting a volume of interest (VOI) For structured grid with structured coordinates represented by integer number, bricking is to change the extent of each dimension 5
Slicing Target domain has a smaller dimension: d-1 Fix the coordinate in the slicing dimension Along X-axis Sagittal slice Along Y-axis axial slice Along Z-axis coronal slice 6
Implicit Function Cutting Generalize the axis-aligned slicing 7
Selection Cutting explicitly specifies the topology of the target domain Selection explicitly specify the attribute value of the target dataset. The output of selection is an unstructured grid E.g., contouring operation, iso-surface E.g., thresholding or segmentation 8
Scattered Points Gridless point cloud 12,772 3-D points represent a human face 9
Grid Construction Build an unstructured grid from scattered points Most visualization software package requires data to be in a grid-based representation. Triangulation methods are the most-used class of methods for constructing grids from scattered points 10
Delaunay Triangulation Constructed triangles covers the convex hull of the point set No point lies inside the circumscribed circle of any constructed triangles 11
Delaunay Triangulation Voronoi diagram: It is associated with Delaunay triangulation. The vertices of the Voronoi cells are the centers of the circumscribed circles of the triangles. 12
Delaunay Triangulation 600 random 2-D points 13
Delaunay Triangulation Angle-constrained Delaunay Triangulation. 20° < α < 140° Added 361 extra points 14
Delaunay Triangulation Area-constrained Delaunay Triangulation. a < amax Added 1272 extra points 15
Surface Reconstruction Render a 3-D surface from a point cloud 16
Radial Basis Function method Computing a 3D volumetric dataset, using the 3D RBF (radial basic function) for construction. Find the isosurface (f=1) using marching cube algorithm This method is problematic, e.g., partition of unity Φ: reference RBF R: support radius K: decay speed coefficient T-1: word-to-reference coordinate transform 17
Signed Distance method Computing a tangent plane Ti that approximates the local surface in the neighborhood of pi Calculate the distance function f between a given point (x) and the tangent plane at the sample point closest to (x) The surface is simply the isosurface as f=0 Using marching cube method to obtain isosurface in 3D: a set of unstructured polygons or triangles Using marching square method to obtain contour lines in 2-D, a set of unstructured line segment 18
Find Local Tangent Plane 19
Find Local Tangent Plane 20
Principal Component Analysis (PCA) A matrix H: 2 X 2, or 3 X 3 Hs= λs s: eigenvector λ: eigenvalue E.g., Hessian matrix Eigenvector is of extreme curvature
PCA
PCA If we order the eigenvalue in decreasing order: In case of curvature: e1 the direction of maximal curvature e2 the direction of minimum curvature e3: the direction of surface normal
Local Triangulation Method Constructing the unstructured triangle mesh from local 2D Delaunay triangulation Computing a tangent plane Ti that approximates the local surface in the neighborhood of pi Project its neighbor set Ni on Ti, and compute 2D Delaunay triangulation Add to the mesh those triangles that have pi as a vertex 24
Local Triangulation Method 25
Mesh Construction All previous methods are to create a triangular (or polygon) mesh to represent the 3-D surface: radial basis; distance; local triangulation) Mesh detail 26
Surface Splatting Method Simple, fast, “dirty” method without using mesh Draw discs of radius Ri, centered at every sample point pi and oriented in the local tangent plane. The disc is as a 2D transparency texture Φ: opaque (= 1), total transparent (= 0) Transparency is calculated from the radial basis function The texture that encodes a 2D RBF is called “splat” Splat is a rendering element for a 3D surface that is analogous to the pixel in a 2D image. 27
Surface Splatting Method Mesh reconstruction Point-based splatting 28
Grid-Processing Techniques Grid-processing techniques change The grid geometry: location of grid sample points The grid topology: the grid cells 29
Geometric Transformation change the position of the sample points; not modify the cells, attributes, and basis functions Affline operation: carry straight lines into straight lines and parallel lines into parallel lines. Translation; rotation; scaling Nonaffine operation: Bending, twisting, and tapering Based on attributes Warping, height plot, and displacement plot Based on grid Grid-smoothing technique 30
Grid Simplification Reducing the number of sampling points (but need to maintain the reconstruction quality) Uniform sampling yields too many grid points Adaptive sampling fewer points in area of low surface curvature More points in area of high surface curvature 31
Triangle Mesh Decimation Recursively reduce the vertex and its triangle fan if the resulting surface lies within a user-specified distance from the un-simplified surface 36000 grid points 3600 grid points 32
Vertex Clustering By clustering or collapsing vertices Assign each vertex an important value, based on the curvature (high curvature more important) Overlaid a grid onto the mesh All vertices within the grid cell are collapsed to the most important vertex within the cell 33
Grid Refinement An opposite operation of grid simplification Generate more sample points A refined grid gives better results when applying grid manipulation operation Inserting more points when the surface varies more rapidly 34
Grid Smoothing Question: how to reduce geometric noise? Modify the positions of the grid points such that the reconstructed surface becomes smoother Smoothing removes the high frequency, small scale variation, e.g, small spikes 35
Laplacian Smoothing After smoothing Before smoothing 36
Laplacian Smoothing Laplacian process shifts grid points toward the barycenter of its neighboring point set 37
Laplacian Smoothing 38
End of Chap. 8 Note: