parametric surface patches
play

parametric surface patches 1 implicit representation implicit - PowerPoint PPT Presentation

parametric surface patches 1 implicit representation implicit surface representation f ( P ) = 0 e.g. sphere: x 2 y 2 z 2 r 2 f ( P ) = 0 + + = 0 2 parametric representation parametric surface representation P ( u ) = ( f x ( u ),


  1. parametric surface patches 1

  2. implicit representation implicit surface representation f ( P ) = 0 e.g. sphere: x 2 y 2 z 2 r 2 f ( P ) = 0 → + + − = 0 2

  3. parametric representation parametric surface representation P ( u ) = ( f x ( u ), f y ( u ), f z ( u )) e.g. sphere: P ( u ) = ( r cos ϕ sin θ , r sin ϕ sin θ , r cos θ ) 3

  4. parametric representation goals when defining f smoothness, efficiency, local control same as curves (1) combine curves to obtain surfaces easy for simple solids, but not general (2) extend parametric curves to surface patches general formulation used heavily in CAD 4

  5. surfaces from curves example: extrude curve in XY along Z C ( u ) P ( u , v ) = ( C x ( u ), C y ( u ), v ) example: revolve curve in YZ along Z C ( u ) P ( u , v ) = ( C y ( u ) cos( v ), C y ( u ) sin( v ), C z ( u ) ) 5

  6. patches 6

  7. patches spline curves: 1D blending functions P ( t ) = ∑ b i ( t ) P i i surface patches: 2D blending functions cross product of 1D blendering functions P ( u , v ) = ∑ b ij ( u , v ) P ij ij b ij ( u , v ) = b i ( u ) ( v ) b j 7

  8. patches bicubic Bezier patches 8

  9. patches joining is hard 9

  10. other patch functions just like curves uniform, non-uniform non-uniform rational B-splines (NURBS) ratios of B-splines invariance under perspective can represent conic sections exactly often used in 3D 10

  11. rendering parametric surfaces 11

  12. rendering parametric surfaces tesselation: approximate surfaces with triangles/quads meshes are efficient to draw in hardware and software more faces to provide better approximation uniform tesselation: split intervals uniformly ( u , v ) fast to compute and simple to implement generates many segments adaptive tesselation: split recursively until good enough Bezier patches can use De Castaljeu 12

  13. uniform tesselation split in points uniformly at K × K ( u k 1 v k 2 , ) = (1/ k 1 ,1/ k 2 ) tesselate into quads by creating a quad grid K × K set vertices to P ( u k 1 v k 2 , ) join vertices to avoid holes if function wraps (e.g. cylinder) normals evaluate analytically if possible (e.g. sphere) or evaluate by computing partial derivatives n = ∂ P /∂ u × ∂ P /∂ v or smooth the mesh by averaging face normals over 13 vertices

Recommend


More recommend