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 (1995, 1996, 1998) – SIGGRAPH Courses and Papers – Recent Books � Review of VISGRAF Research Main Research Area People: jonas, lvelho, lhf, ruben – Papers – Thesis – Book
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
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
Basic Concepts � Shape Description – Parametric and Implict Forms – Implicit Manifolds � Defining Implicit Objects – Properties – Mathematical Characterization – Computational Implementation � Operations with Implicit Objects – Modification – Combination
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
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
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
Implicit Model � Implicit Function – Space Decomposition – Metrics � Gradient of F – Regularity – Orientability
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
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
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 ) � �
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)
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
Implicit Representation � Definition – Surfaces and Solids – Canonical Forms � Characterization – Mathematical – Computational
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 ) <
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
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
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
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
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 )
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
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 � �
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
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
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
Primitive Implicit Objects � Analytic – Plane – Quadrics / Tori – Superquadrics � Skeletons – Points – Curves – Surfaces � Volumetric – Scattered Data – Voxel Array � Procedural – Hypertextures – Fractals * Multiresolution
Visualization � Points – Particles � Curves – Discontinuity Lines – Contour Lines � Surfaces – Scan Line – Ray Tracing – Polygonal � Volumes – Projection – Ray Casting � Slice Rendering
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 � !
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
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