parametric surfaces
play

Parametric Surfaces CS 418 Intro to Computer Graphics John C. Hart - PowerPoint PPT Presentation

Parametric Surfaces CS 418 Intro to Computer Graphics John C. Hart y Space Curves Separate into three coordinate functions z x p ( t ) = ( x ( t ), y ( t ), z ( t )) x ( t ) = (1- t ) 3 x 0 + 3 t (1- t ) 2 x 1 + 3 t 2 (1- t ) x 2 + t 3 x 3 y


  1. Parametric Surfaces CS 418 Intro to Computer Graphics John C. Hart

  2. y Space Curves Separate into three coordinate functions z x p ( t ) = ( x ( t ), y ( t ), z ( t )) x ( t ) = (1- t ) 3 x 0 + 3 t (1- t ) 2 x 1 + 3 t 2 (1- t ) x 2 + t 3 x 3 y ( t ) = (1- t ) 3 y 0 + 3 t (1- t ) 2 y 1 + 3 t 2 (1- t ) y 2 + t 3 y 3 z ( t ) = (1- t ) 3 z 0 + 3 t (1- t ) 2 z 1 + 3 t 2 (1- t ) z 2 + t 3 z 3 x y z t t t

  3. y Space Curves Make your own roller-coaster ride z x • Camera position along space curve • Look at point is next position along space curve (tangent) • Binormal is cross product of vector to next position with vector to T previous position N B • Up direction (normal) is cross product of binormal with tangent

  4. Extrusion • Two 3-D copies of each 2-D curve p 1 ( t ) = ( x ( t ), y ( t ),1) p ( t ) = ( x ( t ), y ( t )) p 0 ( t ) = ( x ( t ), y ( t ),0) • Create a mesh of quads (or tri-strip) p 0 ( t ), p 1 ( t ), p 0 ( t + ∆ t ), p 1 ( t + ∆ t )

  5. Generalized Cylinder • Construct a 2-D profile curve p ( t + ∆ t ) q ( s ) = ( a ( s ), b ( s )) p ( t ) T ( t ) • Construct a space curve -T ( t– ∆ t ) p ( t ) = ( x ( t ), y ( t ), z ( t )) p ( t– ∆ t ) • Construct a Frenet frame at each point along space curve T ( t ) = p ( t + ∆ t ) – p ( t ) B ( t ) = T ( t ) × - T ( t – ∆ t ) N ( t ) = B ( t ) × T ( t ) (all normalized) • Plot 2-D curve in ( N , B ) space gc ( s , t ) = p ( t ) + a ( s ) N ( t ) + b ( s ) B ( t )

  6. Generalized Cylinder • Construct a 2-D profile curve q ( t ) = ( a ( t ), b ( t )) t b q ( t ) a

  7. Generalized Cylinder • Construct a 2-D profile curve q ( t ) = ( a ( t ), b ( t )) • Construct a space curve p ( s ) = ( x ( s ), y ( s ), z ( s ))

  8. Generalized Cylinder • Construct a Frenet frame at each point along space curve t ( s ) = p ( s + ∆ s ) – p ( s ) b ( s ) = t ( s ) × - t ( s – ∆ s ) n ( s ) = b ( s ) × t ( s ) (all normalized)

  9. Generalized Cylinder • Construct a 2-D profile curve q ( t ) = ( a ( t ), b ( t )) • Construct a space curve p ( s ) = ( x ( s ), y ( s ), z ( s )) • Plot 2-D curve in ( N , B ) space gc ( s , t ) = p ( s ) + a ( t ) n ( s ) + b ( t ) b ( s )

  10. Generalized Cylinder • Construct a 2-D profile curve q ( t ) = ( a ( t ), b ( t )) • Construct a space curve p ( s ) = ( x ( s ), y ( s ), z ( s )) • Plot 2-D curve in ( N , B ) space gc ( s , t ) = p ( s ) + a ( t ) n ( s ) + b ( t ) b ( s )

  11. Revolution y • Construct a 2-D profile curve q ( t ) = ( a ( t ), b ( t )) z • Rotate about y axis x p ( s , t ) = ( a ( t ) cos 2 π s , b ( t ), a ( t ) sin 2 π s )

  12. Bezier Patches p 02 p 01 p 00 p 03 • Bezier patch – Tensor product of two Bezier curves p 11 p 12 p 10 p 13 n n ∑∑ = n n p ( s , t ) B ( s ) B ( t ) p p 22 p 20 j i ij = = j 1 i 1 p 23 p 21 p 31 p 32 p 33 p 30

  13. Bezier Patches p 02 p 01 p 00 p 03 • Bezier patch – Tensor product of two Bezier curves p 11 p 12 p 10 p 13 n n ∑∑ = n n p ( s , t ) B ( s ) B ( t ) p p 22 p 20 j i ij = = j 1 i 1 p 23 p 21 – Product of Bernstein polynomials ( ) p 31 p 32 p 33 n n ∑∑ = p 30 n n p ( s , t ) B ( s ) B ( t ) p j i ij = = j 1 i 1

  14. Bezier Patches p 02 p 01 p 00 p 03 • Bezier patch – Tensor product of two Bezier curves p 11 p 12 p 10 p 13 n n ∑∑ = n n p ( s , t ) B ( s ) B ( t ) p p 22 p 20 j i ij = = j 1 i 1 p 23 p 21 – Product of Bernstein polynomials ( ) p 31 p 32 p 33 n n ∑∑ = p 30 n n p ( s , t ) B ( s ) B ( t ) p j i ij = = j 1 i 1 – Bernstein interpolation of Bernstein polynomials   n n ( ) ∑ ∑ =   n n p ( s , t ) B ( s ) B ( t ) p j i i   = = j 1 i 1 j

  15. Bezier Patches p 02 p 01 p 00 p 03 • Bezier patch – Tensor product of two Bezier curves p 11 p 12 p 10 p 13 n n ∑∑ = n n p ( s , t ) B ( s ) B ( t ) p p 22 p 20 j i ij = = j 1 i 1 p 23 p 21 – Product of Bernstein polynomials ( ) p 31 p 32 p 33 n n ∑∑ = p 30 n n p ( s , t ) B ( s ) B ( t ) p j i ij = = j 1 i 1 – Bernstein interpolation of Bernstein polynomials   n n ( ) ∑ ∑ =   n n p ( s , t ) B ( s ) B ( t ) p j i i   = = j 1 i 1 j • Works same way for B-splines

  16. Blossoming Patches p (011;000) • Curves: p(t)  p(t,t,t) p (000;000) p (001;000) p (111;000) • Patches: p(s,t)  p(s,s,s;t,t,t) p (001;001) p (011;001) • Variables not allowed to cross p (111;001) p (000;001) the semicolon p (000;011) p (001;011) p (111;011) • In patches, bilinear p (011;011) p (001;011) interpolation replaces linear p (011;111) interpolation in curves p (000;111) p (111;111)

  17. Blossoming Patches • Curves: p(t)  p(t,t,t) • Patches: p(s,t)  p(s,s,s;t,t,t) p (01s;00t) p (00s;00t) p (11s;00t) • Variables not allowed to cross p (00s;01t) p (01s;01t) the semicolon p (11s;01t) • In patches, bilinear p (01s;11t) p (00s;11t) p (11s;11t) interpolation replaces linear interpolation in curves

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend