1 / 36

Representation and modeling of 3D objects (basic concepts)

Computer Graphics 2. Representation and modeling of 3D objects (basic concepts). FMFI UK Katedra počítačovej grafiky a spracovania obrazu. Marek Zimányi. Contents. Polygonal representation Boundary rep. Sweep Constructive Solid Geometry Implicit representation F-rep

lam
Télécharger la présentation

Representation and modeling of 3D objects (basic concepts)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer Graphics 2 Representation and modeling of 3D objects(basic concepts) FMFI UK Katedra počítačovej grafiky a spracovania obrazu Marek Zimányi

  2. Contents • Polygonal representation • Boundary rep. • Sweep • Constructive Solid Geometry • Implicit representation • F-rep • Spatial subdivision techniques • Procedural modeling

  3. Polygonal representation • Boundary representation (B-Rep) • Topological description • Specifies: vertices, edges, faces • Geometrical description • Specifies: equation of the surface • Sweep

  4. Polygonal representation Boundary representation • Polygon and Polygonal Mesh • Polyhedron • Normals • Euler’s formula • DCEL

  5. Polygonal representation Boundary representation • Describing of boundary points set • faces,edges, vertices • region, loop, shell, hole,handle • vertices : • V1 = (x1, y1, z1), V2 = (x2, y2, z2), … • edges : • h1 = (1, 2), h2 = (2, 3), … • faces : • P1 = (1, 2, 3), P2 = (4, 2, 1), …

  6. Polygonal representation Boundary representation - Mesh • Collection of faces (polygons) • Advance: shading process • Parameters: • Vertices, faces, normals • Vertex normals versus face normals • ! This it not the same !

  7. Boundary representation - Mesh • Definition: • Set of vertices, • Normals • Faces, • With Indexes of vertices • With Indexes of normals • Be careful -> left or right hand CS

  8. Boundary representation - Mesh • Normal computing: • Martin Newell method:

  9. Boundary representation - Mesh • Properties • Solidity – enclose a positive and finite amount of space • Connectedness – exist unbroken path between any two vertices • Simplicity – solid with no holes • Planarity – every face is a planar polygon • Convexity – line between any two point lies inside the object

  10. Polygonal representation Boundary rep. - Polyhedron • Def.: • A polyhedron is a connected mesh of simple planar polygons that enclose a finite amount of space • Prop. • Every edge is shared by exactly two faces • At least 3 edges meets at each vertex • Faces do not interpenetrate:

  11. Polygonal representation - B-rep Manifolds • Unreal objects => Non-Manifolds • 2-manifolds:  point from manifold has small neighborhood of points around, topologically the same as a disk in the plane • Orientable <-> NonOrientable manifold Mobius strip, Klein bottle • Many b-rep systems support only solid whose boundaries are 2-manifold

  12. Polygonal representation - B-rep Manifolds • Klein bottle • http://www.math.ohio-state.edu/~fiedorow/math655/Klein2.html • http://www.kleinbottle.com/ • Mobius strip • http://www.mobiusproductsandservices.com/tms.html • http://www.cut-the-knot.org/do_you_know/moebius.shtml • Another :-) • http://pbskids.org/zoom/phenom/index.html

  13. Non-Manifolds

  14. Polygonal representation - B-rep The Winged-Edge Representation Double-connected Edge List (DCEL) For each edge is given info: • Incident vertices • Left and right adjacent face • Preceding and succeeding edge in clockwise order • Preceding and succeeding edge in counterclockwise order

  15. Polygonal representation Polygonal representation - B-rep B-Rep • Important facts in the B-Rep: • Classification of edges • sharp and auxiliary • Normals in vertexes • Boundary of face – • find all edges of a face • Position of a point in the space • Point is IN or OUT of object

  16. Polygonal representation Sweep • Sweeping an object along a trajectory • Translation sweep • Rotational sweep • Conical sweep • Sphere sweep • General Cylinder • Polygonal rep ?

  17. Polygonal representation Translational Sweep Method: Define the object with the contour (2D) and the path.

  18. Polygonal representation Rotational Sweep Method: Define the object by rotating of the contour (2D) with the arbitrary axis.

  19. Polygonal representation Conical Sweep Method: Define the object by the contour (2D) and a 3D-point (top of the pyramide).

  20. Polygonal representation Sphere Sweep Method: Define the object by the sphere with the varying radius and a path.

  21. Polygonal representation General Cylinder Method: Define the object by the set of „control“-contours and by the path.

  22. Polygonal representation Polygonal rep ? Trajectory and object shape – may swept object intersect  Volume calculations complicated • General sweeps – difficult to model efficiency • General sweeps do not always generate solids • It is a polygonal rep? Sweeping a 2D area in its own plane  another 2D area Yes and No.

  23. Polygonal representation Polygonal rep ? • It is a difficult to apply regularized Boolean operations(after BOOL op. it wouldn’t be SWEEP obj) • BUT sweeps are a natural and intuitive way to construct of the objects • Many systems allow user construct sweepsBUT store the objects in other representation

  24. Constructive Solid Geometry • CSG • Composing of Primitives: • Sphere, Cone, Cube, Cylinder, ... • Operations: I, U, -, ... • The leafs of CSG-tree are primitives and the operations are in the rest of the tree nodes. The CSG-tree represents the solid. (Scene graph idea!)

  25. Polygonal representation - CSG Example

  26. Polygonal representation - CSG Notes • Pros • Low memory consumption • Simple combining • Exact representation of complex surfaces • 12 Mantylas operators and his proof • Cons • Slow and difficult processing • ? • Not unique representation

  27. Polygonal representation - CSG CSG processing • Rendering Algorithms • ray casting (tracing) • extended depth buffer algorithm • Evaluation/Conversion Algorithms • boundary representation • octree • constructive cubes

  28. Implicit representation • Jim Blinn 1982 • Implicit surfaces • Blobby objects • Soft objects • Meta balls

  29. Implicit representation Spreadsheet Rendering

  30. Implicit representation Animation Path in t1t2 Plane

  31. Spatial subdivision techniques • Octrees • Iterative space subdivision • Nodes have property: V, F or M • Subdividing P-nodes until the desired Approximation Quality • The dividing planes do not depend on objects in the scene (differs from BSP tree!) • Analogy in 2D: „Quad Tree“ • BSP trees

  32. Spatial subdivision techniques Octree • Sort form of space • Disadvantage: sampling V – void F – full M – mixed (FFFFF(FFFVFVFV)VV)

  33. Spatial subdivision techniques Octree • Boolean set operations and transformations • Traverse both trees top-down in parallel • Rotations (*90), scaling (*2) • General transformations – severe problem(aliasing) • Neighbor finding • Not trivial • Linear notation

  34. Spatial subdivision techniques Binary Space-Partitioning Trees (BSP trees) • octrees divide space uniformly - drawback • BSP divide space recursively into pairs of subspaces: • each subspace has the same object complexity (# of objects) • Usual division step: • sort the objects according to actual coordinate (x,y,z) • Choose median • Place halfplane (halfline in 2D) between median and next object • Shift halfline if too many objects intersects the halfplane

  35. Procedural modeling • Alternative to slow user modeling • Useful for complex, hard-to-manipulate, organic, fuzzy, scalable, large, … objects • Software designer prepares a procedure, implementing object-production algorithm • Software user specifies only the input parameters for the procedure • Stochastic principle is often applied (no 2 trees are exactly identical)

More Related