geometric modeling an example
play

Geometric Modeling An Example 2 Geomertic Modeling I - Center for - PowerPoint PPT Presentation

Geometric Modeling An Example 2 Geomertic Modeling I - Center for Graphics and Geometric Computing, Technion Outline Objective: Develop methods and algorithms to mathematically model shapes of real world objects Categories:


  1. Geometric Modeling

  2. An Example 2 Geomertic Modeling I - Center for Graphics and Geometric Computing, Technion

  3. Outline  Objective: Develop methods and algorithms to mathematically model shapes of real world objects  Categories: Wire-frame representations Boundary representations Primitive based Freeform based Meshes & subdivision Volumetric representations Freeform based Voxel Based Octree Based Trivariate Functions 3 Geomertic Modeling I - Center for Graphics and Geometric Computing, Technion

  4. Wire-Frame Representation  Object is represented as as a set of points and edges (a graph) containing topological information.  Used for fast display in interactive systems.  Can be ambiguous: 4 Geomertic Modeling I - Center for Graphics and Geometric Computing, Technion

  5. Ambiguity 5 Geomertic Modeling I - Center for Graphics and Geometric Computing, Technion

  6. Volumetric Representation  Voxel based Space subdivided into equal size boxes – each has on/off flag according to if inside/outside object Scalar values (e.g. density) per voxel are also common Common in imaging applications (CT,MRI,Ultrasound) Memory consuming  Extension – Octree (recursive construction).  Advantage : simple and robust Boolean operations, in/out tests, can represent and model the interior of the object.  Disadvantage : memory consuming, non-smooth, time consuming to manipulate. 6 Geomertic Modeling I - Center for Graphics and Geometric Computing, Technion

  7. Display – Iso surfaces  Difficulty to display volumetric content.  Instead we can represent the boundary of the volume, solving for T ( u, v, w ) = T 0  Marching cubes – examine each individual cube (eight neighboring voxels) and locally decide the shape of the iso surface there.  Result is a polygonal approximation of the iso surface. +8 +3 +8 -3 -8 +3 -4 -3 +3 -3 +8 +3 -8 -3 -3 -3 T 0 = 0 7 Geomertic Modeling I - Center for Graphics and Geometric Computing, Technion

  8. Constructive Solid Geometry  Use set of volumetric primitives Box, sphere, cylinder, cone, etc…  For constructing complex objects use Boolean operations Union Intersection Subtraction Complement 8 Geomertic Modeling I - Center for Graphics and Geometric Computing, Technion

  9. CSG Trees  Operations performed recursively  Final object stored as sequence (tree) of operations on primitives  Common in CAD packages – mechanical parts fit well into primitive based framework  Can be extended with free-form primitives 9 Geomertic Modeling I - Center for Graphics and Geometric Computing, Technion

  10. Freeform Representation Explicit is a special case of  Explicit form: z = z ( x, y ) implicit and parametric form  Implicit form: f ( x, y, z ) = 0  Parametric form: S ( u, v ) = [ x ( u, v ), y ( u, v ), z ( u, v )]  Example – origin-centered sphere of radius R : 10 Geomertic Modeling I - Center for Graphics and Geometric Computing, Technion

  11. A representation of choice What makes a good representation for solid modeling ?  Ease/Intuitive shape manipulation  Class of representable models  Ease of display and evaluation  Ease of query answering such as inside/outside, subdivision, interference  Robustness and accuracy  Closure under operations such as Booleans. 11 Geomertic Modeling I - Center for Graphics and Geometric Computing, Technion

  12. Intuitive Curve Editing 12 Geomertic Modeling I - Center for Graphics and Geometric Computing, Technion

  13. Splines – Free Form Curves  To allow control of curves need description via set of basis functions + coefficients  Require geometric meaning of coefficients (base) Approximate/interpolate set of positions, derivatives, etc..  Typically parametric 13 Geomertic Modeling I - Center for Graphics and Geometric Computing, Technion

  14. Polynomial Bases  Monomial basis {1 , x, x 2 , x 3 , … } Coefficients are geometrically meaningless Manipulation is not robust  Number of coefficients = polynomial rank  We seek coefficients with geometrically intuitive meanings  Polynomials are easy to analyze, derivatives remain polynomial, etc.  Other polynomial bases (with better geometric intuition): Lagrange (Interpolation scheme) Hermite (Interpolation scheme) Bezier (Approximation scheme) B-Spline (Approximation scheme) 14 Geomertic Modeling I - Center for Graphics and Geometric Computing, Technion

  15. Parametric Curves  A trajectory of a particle in R d (planar/3 - space/etc.).  Single parameter t  [t 1 ,t 2 ] – acts like “time”.  Position = p ( t ) = ( x ( t ), y ( t )), or (x(t),y(t)) p ( t ) = ( x ( t ), y ( t ), z ( t )), Tangent velocity = v ( t ) = ( x ’( t ), y ’( t ) {, z ’( t )}) v(t) = (x’(t),y’(t))  Examples: p ( t ) = (cos( t ), sin( t )) t  [0,2  ) || v ( t )||  1 p ( t ) = (cos(2 t ), sin(2 t )) t  [0,  ) || v ( t )||  2 p ( t ) = ((1- t 2 )/(1+ t 2 ), 2 t /(1+ t 2 )) t  (-  ,+  ) || v ( t )||  ? 15 Geomertic Modeling I - Center for Graphics and Geometric Computing, Technion

  16. Mathematical Continuity  C 1 ( t ) & C 2 ( t ) , t  [0,1] - parametric curves  Level of continuity of the curves at C 1 (1) and C 2 (0) is: C -1 : C 1 (1)  C 2 (0) (discontinuous) C 0 : C 1 (1) = C 2 (0) (positional continuity) C k , k > 0 : continuous up to k th derivative  Continuity of single curve inside its parameter domain is similarly defined - for polynomial bases it is C  16 Geomertic Modeling I - Center for Graphics and Geometric Computing, Technion

  17. Geometric Continuity  Mathematical continuity is too strong a requirement  May be relaxed to geometric continuity G k , k  0 : Same as C k G k , k = 1 : C' 1 (1) =  C' 2 (0) G k , k  0 : There is a reparameterization of C 1 ( t ) & C 2 ( t ) , where the two are C k  E.g. C 1 ( t ) = [cos( t ) , sin( t )] , t  [  / 2,0] C 2 , C 3 C 2 ( t ) = [cos( t ) , sin( t )] , t  [0 ,  / 2] C 3 ( t ) = [cos(2 t ) , sin(2 t )] , t  [0 ,  / 4] C 1 ( t ) & C 2 ( t ) are C 1 (& G 1 ) continuous C 1 C 1 ( t ) & C 3 ( t ) are G 1 continuous (not C 1 ) 17 Geomertic Modeling I - Center for Graphics and Geometric Computing, Technion

  18. More on Continuity  Consider a set of points { P i } i =0, n  A piecewise constant interpolant will be C -1  A piecewise linear interpolant will be C 0  Polyhedra are usually piecewise linear approximation of freeform polynomials  Polyhedra are C 0 continuous  Higher order polynomials posses better continuity 18 Geomertic Modeling I - Center for Graphics and Geometric Computing, Technion

  19. Cubic Hermite Basis  The set of polynomials of degree k is a linear vector space of degree k +1  The canonical, monomial basis for polynomials is {1 , x, x 2 , x 3 ,… }  Define geometrically-oriented basis for cubic polynomials h i,j ( t ) : i, j = 0,1 , t  [0,1]  Has to satisfy: 19 Geomertic Modeling I - Center for Graphics and Geometric Computing, Technion

  20. Hermite Cubic Basis (cont’d)  The four cubics which satisfy these conditions are  Obtained by solving four linear equations in four unknowns for each basis function  Prove : Hermite cubic polynomials are linearly independent and form a basis for cubic polynomials 20 Geomertic Modeling I - Center for Graphics and Geometric Computing, Technion

  21. Hermite Cubic Basis (cont’d)  Lets solve for h 00 ( t ) as an example.  h 00 ( t ) = a t 3 + b t 2 + c t + d must satisfy the following four constraints:  Four equations and four unknown to solve for. 21 Geomertic Modeling I - Center for Graphics and Geometric Computing, Technion

  22. Hermite Cubic Basis (cont’d)  Let C ( t ) be a cubic polynomial defined as the linear combination:  What are C (0) , C (1) , C ’(0) , C ’(1) ?  C (0) = P 0 , C (1) = P 1 , C ’(0) = T 0 , C ’(1) = T 1  To generate a curve through P 0 & P 1 with slopes T 0 & T 1 use 22 Geomertic Modeling I - Center for Graphics and Geometric Computing, Technion

  23. Parametric Splines  So far we solve for a single explicit function C ( t )  Cannot represent closed curves such as a circle  Solution: let P i = ( x i , y i ) and T i = ( t i y ) be vector x , t i functions  Solve for each individual axis independently Here is an example of four Hermite cubics that approximate a circle 23 Geomertic Modeling I - Center for Graphics and Geometric Computing, Technion

  24. Cubic Splines  Standard spline input – set of points { P i } i= 0, n No derivatives’ specified as input Can we prescribe derivatives values in order to achieve C 2 ?  Interpolate by n cubic segments ( 4 n DOF): Derive { T i } i= 0 , n from C 2 continuity constraints Solve 4 n equations 24 Geomertic Modeling I - Center for Graphics and Geometric Computing, Technion

  25. Cubic Splines  Have two degrees of freedom left (to reach 4 n DOF)  Options Natural end conditions: C 1 ''(0) = 0 , C n ''(1) = 0 Complete end conditions: C 1 '(0) = 0 , C n '(1) = 0 Prescribed end conditions (derivatives available at the ends): C 1 '(0) = T 0 , C n '(1) = T n Quadratic end conditions natural C 1 ''(0) = C 1 ''(1), C n ''(0) = C n ''(1), Periodic end conditions prescribed C 1 '(0) = C n '(1), C 1 ''(0) = C n ''(1),  Question : What parts of C (t) are affected as a result of a change in P i ? 25 Geomertic Modeling I - Center for Graphics and Geometric Computing, Technion

Recommend


More recommend