Presentation is loading. Please wait.

Presentation is loading. Please wait.

Volumetric and Blobby Objects Lecture 8 (Modelling)

Similar presentations


Presentation on theme: "Volumetric and Blobby Objects Lecture 8 (Modelling)"— Presentation transcript:

1 Volumetric and Blobby Objects Lecture 8 (Modelling)

2 Isometric Data lMedical Scans (CT, MRI) produce image slices with a regular grid of sample values (for skin, bone, muscle, etc). lThe isosurface at a particular isovalue is very difficult to visualize from separate 2D scans. lSolution: convert to a 3D surface. lIsosurface Extraction Methods 1.Voxels: an intermediate volumetric representation. 2.Ray Casting: direct rendering for ray tracing. 3.Marching Cubes: convert to a polygon mesh.

3 Voxels lSpatial Occupancy Enumeration:  solid is decomposed into identical cells arranged in a rectangular grid.  Elements are generally cubes, called voxels (volume elements). lScan to Voxel Conversion:  If image slices are stacked into pairs then voxels can be created with image sample values at the corners.  A voxel is given the value 1 (solid) if all sample values are greater than the iso-value and 0 (transparent) otherwise. lProblems:  Aliasing and high storage costs.  Still requires conversion to polygon-mesh for rendering. lSolutions: 3D anti-aliasing and octree data structure.

4 Voxels: Octree Data Structure lOctree:  A compact hierarchical encoding of a voxmap (voxel map).  The 3D generalization of a quadtree.  Leaves represent full or empty voxels of different volumes. The voxel dimensions depend on its depth in the tree.  Can merge same value voxels into a single larger voxel.

5 Marching Cubes lPurpose: convert 2D isometric scans into a polygon mesh isosurface for a particular isovalue. lAlgorithm: 1.Pair up scans. Create cubes (cells) with sample values at the vertices (4 from the upper scan, 4 from the lower scan). 2.March over all cubes: a)Topology: Place triangles in a cube depending on the isovalues at the cell vertices. b)Geometry: position the vertices of these triangles according to the isovalues. lFor efficiency exploit inter-cell coherence. Cell vertices (hence some topology and geometry) are shared between cells. lSeminal Paper: Lorensen, W. and Cline, H. “Marching Cubes: A High Resolution 3D Surface Construction Algorithm”, SIGGRAPH ’87, pp. 163-169.

6 Marching Cubes: Triangulating a Cell lBinary coding: A vertex with value is inside (1) or outside (0) as follows: lThe binary codes for all vertices are placed in a bit string used as an index into the triangulation table. lThere are combinations. lBut:  Complementary cases: inverting the cell bits does not change triangulation (reduce to 148 combinations).  Rotational symmetry: many patterns can be reached by rotating the cube (reduce to 14 unique combinations).

7 Marching Cubes: Positioning Vertices lTriangulated cells have triangle vertices placed along cell edges. lThe exact position and normal of these vertices must depend on the cell values. lSolution: Triangle vertices are positioned at along an edge using linear interpolation:  where is the value at the cell vertex inside the isosurface, and is the external vertex value. lNormals can be similarly interpolated. lMore sophisticated interpolation is possible.

8 Blobby Objects lBlobby (or Soft) objects are employed in the creation and animation of smooth shapes. lUse implicit rather then parametric surfaces. lA skeleton is defined by a set of key points, which radiate energy to the surrounding space. lThe object boundary is an isosurface at a particular energy level.  Isosurface extraction (e.g. marching cubes) is used to find this boundary. lThe position and orientation of keys can be animated.  Animation control is easier than for parametric surfaces.  Other blobby parameters are amenable to animation.

9 Blobby Objects: Parameters lBlobby objects consist of a number of keys, each with: 1.A position of the key in 3D. 2.An optional set of axes to orient the blob. 3.An implicit field function, which determines the shape of the blob. depends on and. Superellipsoids are popular. 4.Force at the key. Often set to (merges with other blobs) or (creates imprints on other blobs). 5.A Decay function, which defines how intensity tails off from the key towards the blob boundary.

10 Blobby Objects: Field Calculation lGiven a point, the field contribution from a key is calculated as follows: 1.Find. 2.Calculate the distance where the field value turns to zero along the line by solving the field function. 3.If then the key’s contribution is zero. Otherwise, the field value at is (force times decay). 4.A popular decay function is:. 5.Repeat and sum the field value for all keys.

11 Blobby Objects: Examples


Download ppt "Volumetric and Blobby Objects Lecture 8 (Modelling)"

Similar presentations


Ads by Google