Morphing Rational spline Curves and Surfaces Using Mass

Document Sample
Morphing Rational spline Curves and Surfaces Using Mass Powered By Docstoc
					Morphing Rational B-spline
Curves and Surfaces
Using Mass Distributions


Tao Ju, Ron Goldman
Department of Computer Science
Rice University
Morphing
   Transforms one target shape into another
       Vertex Correspondence
       Vertex Interpolation
   Parametric curves and surfaces
    Linear Interpolation
   Averaging in affine space
                                     t=0

    M(t)  (1  t ) P  t Q          t = .25

   Uniform transition               t = .5
       Every point moves at same
        speed                        t = .75
   Unsatisfactory artifacts         t=1
       Flattening, wriggles, etc.
    Weighted Averaging
   Interpolation using masses and geometric
    positions
                                          t=0
             (1  t ) mP P  t mQQ
    M(t) 
              (1  t ) mP  t mQ          t = .25

   Influence of relative mass            t = .5
       Larger mass has more impact
       Different points morph at         t = .75
        different speeds
       Less flattening and wriggles      t=1
Rational B-splines
   A rational B-spline curve of degree n
                      k 0
                         p
                            wk Pk N kn (u )
            P(u ) 
                       k 0
                             p
                             wk N kn (u )     Mass
Linear vs. Weighted Averaging
Local Morph Control
   Modification of mass distribution changes the
    morphing behavior locally
       Re-formulate rational B-splines to permit
        assignment of auxiliary mass for morphing
       Customizable morphing between fixed targets
Local Morph Control
   Modification of mass distribution changes the
    morphing behavior locally
       Re-formulate rational B-splines to permit
        assignment of auxiliary mass for morphing
       Customizable morphing between fixed targets
          Mass Modification
         Transition curve

              (1  t )mP (u) P(u)  t mQ (u) Q(u)
M (t , u) 
                   (1  t )mP (u)  t mQ (u)

        Normalized Distance
         curve
                         t mQ (u)
    D(t , u ) 
                (1  t )mP (u)  t mQ (u )
    Customize Morphing
   Two easy steps (can be repeated)
       Select time frame t0
       Edit the normalized distance curve (surface)


   Real-time Morph editing environment
       Fast computation
          Calculations only involve simple algebra

       Easy to use
          User needs no knowledge of B-spline or mass
        Morph Editing GUI

                            Control
                            Points
                            Selection
Morph
View
                            Normalized
                            Distance
                            Surface

            Time (t)
Conclusion
   Contributions
       Smooth, non-uniform morphing of rational B-
        spline curves and surfaces
       Local morph control by modification of the
        associated mass distribution
       User interface for real-time morph editing with no
        knowledge of B-spline required

   Applications
       Computer Animation
       Model design
Appendix - Mass Point
   Definition: a non-zero mass m attached to a
    point P in affine space.
   Notation: mP/m
   Operations:
                                      m P cm P
       Scalar multiplication      c    
                                      m    cm

                                mP P m QQ mP P  mQQ
       Addition                        
                                mP    mQ   mP  mQ
Appendix – Auxiliary Masses
   P(u) can be rewritten as
                             m (u )  P(u )
                    P (u ) 
                                m (u )
       Where mp(u) is a new mass distribution function
        defined by
                              p
                    m (u )   wk N kn (u )
                             k 0


       Here wk are auxiliary positive masses attached to
        each control point of P(u)
Appendix – Compute Mass
   Normalized distance between two curves P(u)
    and Q(u) with auxiliary masses wk and vk
    forms a degree n rational B-spline curve with
    control points Rk and weights Wk
              t vk
         Rk       and Wk  (1  t ) wk  t vk
              Wk
   Conversely, given Wk and Rk at t, we have
              Wk (1  Rk )            Wk Rk
         wk                 and vk 
                (1  t )                t