Polygonal Meshes3D Object Representations3D Polygonal Mesh3D Polygonal MeshGeometry background3D Point3D Vector3D Vector3D Vector3D Line Segment3D Ray3D Line3D Plane3D Plane3D Polygon3D Polygonal Mesh3D Polygonal Meshes3D Polygonal MeshesOutlinePolygonal Mesh AcquisitionPolygonal Mesh AcquisitionPolygonal Mesh AcquisitionPolygonal Mesh AcquisitionPolygonal Mesh AcquisitionPolygonal Mesh AcquisitionPolygonal Mesh AcquisitionOutlinePolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingPolygonal Mesh ProcessingOutlinePolygon Mesh RepresentationPolygon Mesh RepresentationPolygon Mesh RepresentationPolygon Mesh RepresentationIndependent FacesVertex and Face TablesAdjacency ListsPartial Adjacency ListsWinged EdgeWinged EdgeHalf EdgeSummaryPolygonal Meshes COS 4263D Object Representations Points Range image Point cloud Surfaces Polygonal mesh Subdivision Parametric Implicit Solids Voxels BSP tree CSG Sweep High-level structures Scene graph Application specific3D Polygonal Mesh Set of polygons representing a 2D surface embedded in 3D Isenberg3D Polygonal Mesh Geometry & topology Zorin & Schroeder Face Vertex (x,y,z) EdgeGeometry background Scene is usually approximated by 3D primitives Point Vector Line segment Ray Line Plane Polygon3D Point Specifies a location Represented by three coordinates Infinitely small struct Point { Coordinate x; Coordinate y; Coordinate z; }; (x,y,z) Origin3D Vector Specifies a direction and a magnitude Represented by three coordinates Magnitude ||V|| = sqrt(dx*dx + dy*dy + dz*dz) Has no location struct Vector { Coordinate dx; Coordinate dy; Coordinate dz; }; (dx,dy,dz)3D Vector Scalar / dot product of two 3D vectors V1·V2 = dx1*dx2 + dy1*dy2 + dz1*dz2 = ||V1|| ||V2|| cos(Θ) (dx1,dy1,dz1) (dx2,dy2 ,dz2) Θ3D Vector Cross product of two 3D vectors V1 × V2 = (dy1dx2 - dz1dy2, dz1dx2 - dx1dz2, dx1dy2 - dy1dx2) vector perpendicular to both V1 and V2 magnitude is ||V1|| ||V2|| sin(Θ) (dx1,dy1,dz1) (dx2,dy2 ,dz2) Θ V1× V23D Line Segment Linear path between two points Parametric representation: » p = P1 + t (P2 - P1), (0 ≤ t ≤ 1) struct Segment { Point P1; Point P2; }; P1 P2 Origin3D Ray Line segment with one endpoint at infinity Parametric representation: » p = P1 + t V, (0 ≤ t < ∞) struct Ray { Point P1; Vector V; }; P1 V Origin3D Line Line segment with both endpoints at infinity Parametric representation: » p = P1 + t V, (-∞ < t < ∞) P1 struct Line { Point P1; Vector V; }; V OriginOrigin 3D Plane Defined by three points P1 P3 P2Origin 3D Plane Defined by three points Implicit representation: » ax + by + cz + d = 0 OR » P·N + d = 0 N is the plane normal » Unit-length » Perpendicular to plane struct Plane { Vector N; float d; }; P1 N = (a,b,c) d P3 P23D Polygon Region “inside” a sequence of coplanar points struct Polygon { vector<Point> points; }; • Points in counter-clockwise order (defines normal) • Winding rule determines inside/outside3D Polygonal Mesh Set of polygons representing a 2D surface embedded in 3D Isenberg3D Polygonal Meshes Why are they of interest? Simple, common representation Rendering with hardware support Output of many acquisition tools Input to many simulation/analysis tools Viewpoint3D Polygonal Meshes Properties ? Efficient display ? Easy acquisition ? Accurate ? Concise ? Intuitive editing ? Efficient editing ? Efficient intersections ? Guaranteed validity ? Guaranteed smoothness ? etc. ViewpointOutline Acquisition Processing RepresentationPolygonal Mesh Acquisition Interactive modeling Polygon editors Interchange formats Scanners Laser range scanners Geological survey CAT, MRI, etc. (isosurfaces) Simulations Physical processesPolygonal Mesh Acquisition Interactive modeling Polygon editors Interchange formats Scanners Laser range scanners Geological survey CAT, MRI, etc. (isosurfaces) Simulations Physical processes Sketchup BlenderPolygonal Mesh Acquisition Interactive modeling Polygon editors Interchange formats Scanners Laser range scanners Geological survey CAT, MRI, etc. Simulations Physical processes Jose Maria De EsponaPolygonal Mesh Acquisition Interactive modeling Polygon editors Interchange formats Scanners Laser range scanners Geological survey CAT, MRI, etc. (isosurfaces) Simulations Physical processes Digital Michelangelo Project StanfordPolygonal Mesh Acquisition Interactive modeling Polygon editors Interchange formats Scanners Laser range scanners Geological survey CAT, MRI, etc. (isosurfaces) Simulations Physical processes Large Geometric Model Repository Georgia TechPolygonal Mesh Acquisition Interactive modeling Polygon editors Interchange formats Scanners Laser range scanners Geological survey CAT, MRI, etc. (isosurfaces) Simulations Physical processes www.volumegraphics.com SUNY Stony BrookPolygonal Mesh Acquisition Interactive modeling Polygon editors Interchange formats Scanners Laser range scanners Geological survey CAT, MRI, etc. (isosurfaces) Simulations Physical processes MIT SGIOutline Acquisition Processing RepresentationPolygonal Mesh Processing Analysis Normals Curvature Warps Rotate Deform Filters Smooth Sharpen Truncate BevelPolygonal Mesh Processing Analysis Normals Curvature Warps Rotate
View Full Document