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: 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
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
Ambiguity 5 Geomertic Modeling I - Center for Graphics and Geometric Computing, Technion
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
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
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
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
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
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
Intuitive Curve Editing 12 Geomertic Modeling I - Center for Graphics and Geometric Computing, Technion
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
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
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
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
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
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
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
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
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
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
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
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
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