implicit objects for computer graphics
play

Implicit Objects for Computer Graphics Jonas Gomes Luiz Velho - PDF document

Implicit Objects for Computer Graphics Jonas Gomes Luiz Velho IMPA Instituto de Matem atica Pura e Aplicada Motivation State of the Art Overview Consolidation of the Area Intense Reseach Activities Workshop of Implicit Surfaces


  1. Implicit Objects for Computer Graphics Jonas Gomes Luiz Velho IMPA Instituto de Matem´ atica Pura e Aplicada

  2. Motivation � State of the Art Overview Consolidation of the Area Intense Reseach Activities – Workshop of Implicit Surfaces (1995, 1996, 1998) – SIGGRAPH Courses and Papers – Recent Books � Review of VISGRAF Research Main Research Area People: jonas, lvelho, lhf, ruben – Papers – Thesis – Book

  3. References Introduction to Implicit Surfaces � Jules Bloomenthal (editor) � Chandrajit Bajaj � Marie-Paule Gascuel � Brian Wyvill � Geoff Wyvill 1997, Morgan-Kaufmann Implicit Objects in Computer Graphics � Jonas Gomes � Luiz Velho 1992, IMPA / 1998, Springer-Verlag

  4. Outline of the Course � Introduction and Overview – Basic Concepts (Book) � Symbolic Methods – Algebraic Varieties and Symbolic Perturbations (J. Canny) � Numeric Methods – PL Approximation and Interval Methods (L. Velho, L. Figueiredo, J. Gomes) � Representation and Modeling – Multiresolution Models and Conversion (L. Velho, J. Gomes) � Visualization and Animation – Particle Systems: Texturing and Morphing (Velho, Figueiredo, Gomes, Zonenschein, Wyvil) � Survey of Recent Research – Groups and Papers

  5. Basic Concepts � Shape Description – Parametric and Implict Forms – Implicit Manifolds � Defining Implicit Objects – Properties – Mathematical Characterization – Computational Implementation � Operations with Implicit Objects – Modification – Combination

  6. Shape Description � Parametric Description m n g R R : ! g � Implicit Description n ( n � m ) R R f : ! f f -1 c where m : dimension of the object – n : dimension of ambient space – * Direct versus Indirect Representation

  7. Examples � Parametric 0 f θ 2 π 1 S = f ( x; y ) : x = cos � ; y = sin � ; � [0 ; 2 � ] g 2 � Implicit p r || || = r p 2 1 2 2 2 R S = f ( x; y ) : x + y = 1 ; x; y 2 g

  8. Comparison: Parametric Implicit � Parametric – More Popular – Intrinsic Description � Implicit – Gaining Acceptance – Extrinsic Description – Unifies Geometric and Volumetric Modeling – Suitable for Constraint Definitions � Basic Operations – Enumeration of Points – Classification of Points Pros and Cons Parametric Implicit Enumeration + - Classification - + * Complementary Descriptions

  9. Implicit Model � Implicit Function – Space Decomposition – Metrics � Gradient of F – Regularity – Orientability

  10. Intuitive View � Implicit Function (Density) 0.8 0.4 0 -0.4 -0.8 -0.8 -0.4 -0.8 -0.4 0 x y 0 0.4 0.8 0.4 0.8 volume data function graph � Implicit Surface U F c −1 F (c) inverse image of c a c level curves intersection

  11. Space Decomposition f is a Point-Membership Classification Function � 8 2 exterior points > 0 p > < 2 boundary points f ( p ) c = 0 p � > 2 interior points < 0 p : - f + f � Characteristic Function of a Shape S n R � : [0 ; 1] ! ( 1 p 2 S � ( p ) 0 p 62 S

  12. F and Metrics ( p ) indicates algebraic (signed) distance: F n to � 1 R p F ( c ) 2 n induced by a pseudo-metric R d : R ! m -norms � 1 =m " # X m d ( p; q ) = jj p ; q jj m i i i � ex: circle d oo d0 d1 � Properties of F – Invariance � 1 ( x ) for G ( x ) = �F F (0) � for � 1 G ( x ) = F ( x ) F (1) – Redundancy � 1 � 1 F given; G ( c ) F ( c ) � – Contours H ( x ) = F ( x ) � �

  13. Regularity n � Regular Value c of F : R R ! 0 is surjective, � 1 F 8 x F ( c ) 2 i.e. @ F @ F � 1 ( ; : : : ; ) 6 = 0 ; 8 x F ( c ) 2 x x n 1 c defines a Differentiable Implicit Manifold F ( p ) = � F is a differentiable function – c is a regular value of F – � Transversality c * Sards Theorem: Can always satisfy regularity (perturbation)

  14. Orientability @ F @ F r F = ( ; : : : ; ) � x x n 1 r F ( p ) � Normal Vector Fields: N ( p ) = � N ( p ) = 1 2 kr F ( p ) k � 1 * ( c ) is an Orientable Manifold F

  15. Implicit Representation � Definition – Surfaces and Solids – Canonical Forms � Characterization – Mathematical – Computational

  16. Definition � Implicit Object = ( f ; A ) O n where R , and f R A [ c; : = �1 ] ! � Solid Shape: f ( x ) c � f f=c c f < c – Boundary c , codimension 1 manifold f ( x ) = – Interior n c , submanifold of R f ( x ) <

  17. Canonical Forms = ( F ; c ) O 0 0 0 n F : R ( �1 ; 1 ) ! 0 c = 0 0 = ( F ; c ) O 1 1 1 n R F : (0 ; 1 ) ! 1 c = 1 1 � Converting from 0 to O O 1 F ( x ) = exp( F ( x )) 0 1 � Converting from 1 to O O 0 F ( x ) = log( F ( x )) 1 0 * Important in Applications � 1 � 1 F (0) F (1) ! 0 1

  18. Mathematical Characterization � Implicit Function 3 F : R R ! � Gradient Vector Field @ F @ F r F ( p ) = ( ; : : : ; ) x x n 1 � Normal Field r F N = jr F j � Gauss Map (Hessian) 0 N x – Normal Curvature at x , in the direction v N 0 ( v ) v � x – Principal Directions (Eigenvectors of 0 ) N – Principal Curvatures (Eigenvalues of 0 ) N – Mean Curvature (Trace of 0 ) N – Gaussian Curvature (Determinant of 0 ) N

  19. Computational Characterization � Object-Oriented Approach – Parameters (Local State) – Procedures (System Interface) � Public Functions – Bounding Box (domain of F ) – Range and Value ( R and c ) – Point Classification (implicit function F ) – Normal (gradient of F ) – Curvature (hessian) � General vs. Particular – Object Classes – Instancing

  20. Operations with Implicit Objects � Modification Unary Ops 3 R R F : ! – Range Operations � Metric (Density) Transformations – Domain Operations � Spatial Transformation � Combination N-ary Ops C ( F ( x ) ; : : : ; F ( x )) 1 k – Blend Operations � Smooth Joining – Point-Set Operations � CSG Combination

  21. Range Operations � Dilatations and Erosions c 0 offset ( c; F ( x )) = F ( x ) c � � Density Change density ( d; F ( x )) = d F ( x ) � m d density ( d; F ( x )) = F ( x ) p � Complement F ( x ) = � F ( x )

  22. Domain Operations 3 3 R R T : ! � 1 obs: inverse transformation T – Affine Mappings T ( x ) = L ( x ) + v � Rigid Motions – Deformations 0 non-singular W injective, W � Simple Warps - fold, pull � Extrinsic Deformations - taper, bend, twist � Free Form Deformations – Physically Based Deformations

  23. Blend Operations � Linear Blend y = 1 − x k X B ( F ( x ) ; : : : ; F ( x )) = F ( x ) 1 L k i 1 � i =1 � Hyperbolic Blend y = 1/x k Y B ( F ( x ) ; : : : ; F ( x )) = F ( x ) 1 H k i 1 � i =1 � Super-Elliptic Blend 2 2 (1− x) + (1− y) = 1 1 � � P � � B ( F ( x ) ; : : : ; F ( x )) = 1 max (0 ; 1 F ( x )) i S k 1 � �

  24. Point-Set Operations � Boolean Operations – Union F F = min ( F ; F ) [ 1 2 1 2 – Intersection F F = max ( F ; F ) \ 1 2 1 2 – Difference F F F F ( F ; � F = = max ) n \ 1 2 1 2 1 2 � Differentiable Booleans – Union 1 p p p lim ( F + F ) = min ( F ; F ) 1 2 1 2 p !1 – Intersection 1 � p � p � p lim ( F + F ) = max ( F ; F ) 1 2 1 2 p !1

  25. Computational Methods � Basic Procedures – Sampling (root finding) geometry � One Solution Intersection with a Line � Many Solutions Dynamic Particles – Structuring topology � Subdivide Space - Domain of F � Subdivide Object - Solid Region - Boundary � Approximations – PL Approximation – Higher Order Approximations

  26. Modeling � Model Description – Object Representation � Primitives � Composite – Groups � Geometric Constraints � Other Purposes – Auxiliary Structures � Space Subdivision Enumeration � Polygonization � Modeling Techniques – Constructive – Free-Form – Physically Based � Conversion – Parametric - Implicit – Exact vs. Approximate

  27. Primitive Implicit Objects � Analytic – Plane – Quadrics / Tori – Superquadrics � Skeletons – Points – Curves – Surfaces � Volumetric – Scattered Data – Voxel Array � Procedural – Hypertextures – Fractals * Multiresolution

  28. Visualization � Points – Particles � Curves – Discontinuity Lines – Contour Lines � Surfaces – Scan Line – Ray Tracing – Polygonal � Volumes – Projection – Ray Casting � Slice Rendering

  29. Texture Mapping n k � Mapping Diagram R R g t : V � � ! V @ @ @ g t � g @ @ @ @ R ? t k - R U � Spaces n : object space V R � m : texture space R U � k : attribute space R � Functions m k : texture function R R t : U � ! n R U : mapping function g : V � !

  30. Types of Texture Mapping � Texture Attribute – Color – Surface Properties – Displacement – Density � Texture Space – 2D texture ( m 2 ) = – 3D texture ( m 3 ) = � Surface Representation – Parametric p : U V ! � 1 (2D texture) g = p – Implicit R f : V ! (3D texture) g = I

  31. Animation � Skeletons – Particle Systems – Articulated Objects � Metamorphosis – Interpolation 2 , tF + (1 t ) F t [0 ; 1] � 2 1 – Correspondence � Dynamics � Collision Detection

Recommend


More recommend