Faqts : Science : Physics : Mechanics : Dynamics : 3D

+ Search
Add Entry AlertManage Folder Edit Entry Add page to http://del.icio.us/
Did You Find This Entry Useful?

3 of 6 people (50%) answered Yes
Recently 3 of 6 people (50%) answered Yes

Entry

Physics: Dynamics: 3D: Simulation: How to write a simple rigid body simulation: Mass:Discrete:Point?

Feb 2nd, 2006 12:30
Knud van Eeden,


----------------------------------------------------------------------
--- Knud van Eeden --- 01 February 2006 - 00:00 am -------------------

Physics: Dynamics: 3D: Simulation: How to write a simple rigid body 
simulation: Mass:Discrete:Point?

===

Steps: Overview:

1. -Split the movement in

    1. Translation

    2. Rotation

    as these movements can be handled completely independent of each
    other.

2. You start with the simplest system

   1. -Start with point masses

       1. -Start with 1 mass

       2. -Then 2 masses

       3. -Then 3 masses

       4. -Then N masses

       5. -Then connect these point masses on wireframe joints, so
           similating the simplest human body

           1. -First use a stiff body, where the parts can not move

           2. -Then a body where the parts (e.g. the arms) can move
               while rotating

   2. -Then use continuous masses

       1. -Use rigid body segments

       2. -Finally use the human body
           (which is here just 'more of the same')

---

1. -Translation

    1. -Calculate the center of mass

       1. -Calculate the displacement in the x-direction

           1. -Use sum x-forces equals mass times x-acceleration

               1. -Solve this differential equation for x

                         ..
                         x  = sum( x-forces )
                              ---------------
                                   mass

                   1. -That gives the x-distance moved

       2. Calculate the displacement in the y-direction

           1. -Use sum y-forces equals mass times y-acceleration

               1. -Solve this differential equation for y

                         ..
                         y  = sum( y-forces )
                              ---------------
                                   mass

                   1. -That gives the y-distance moved

       3. Calculate the displacement in the z-direction

           1. -Use sum z-forces equals mass times z-acceleration

               1. -Solve this differential equation for z

                         ..
                         z  = sum( z-forces )
                              ---------------
                                   mass

                   1. -That gives the z-distance moved

2. -Rotation

 1. -Given

     1. -Given time

         1. -Time begin

         2. -Time end

         3. -Time total steps

     2. -Given angles

         1. -Given initial angle in the x-direction

         2. -Given initial angle in the y-direction

         3. -Given initial angle in the z-direction

     3. -Given angular velocities

         1. -Given initial angular velocity in x-direction

         2. -Given initial angular velocity in y-direction

         3. -Given initial angular velocity in z-direction

     4. -Given masses

         1. -Given values of masses

         2. -Given position of masses

             1. massposition in x-direction

             2. massposition in y-direction

             3. massposition in z-direction

     5. -Given forces

         1. -Force value

             1. -Force value in x-direction

             2. -Force value in y-direction

             3. -Force value in z-direction

         2. -Force position

             1. -Force position in x-direction

             2. -Force position in y-direction

             3. -Force position in z-direction

 2. -Process

     1. Repeat the following steps for the first to last time interval

            1. -Calculate center of gravity

            2. -Calculate inertia

                1. -Moment of inertia

                    1. -Moment of inertia in x-direction

                    2. -Moment of inertia in y-direction

                    3. -Moment of inertia in z-direction

                2. -Product of inertia

                    1. -Product of inertia in x-direction

                    2. -Product of inertia in y-direction

                    3. -Product of inertia in z-direction

                3. -Calculate the 3 eigenvalues

                4. -Calculate the 3 eigenvectors

                5. -Calculate the 3 orthogonal principal axes

                6. -Put the principal axes origin in the center of mass

            3. Calculate the 3 Euler rotational equations

               1. -Calculate the sum of the torques

                   1. -Use the given initial forces

                       1. -Use the given initial force values

                       2. -Use the given initial force positions

               2. -Use the 3 given initial angular velocities

               3. -Use the 3 given initial angles

               4. -Solve the 3 differential equations

                            ..                 .   .
                   1. Ixx . x  + (Izz - Iyy) . x . y = sum(torques x)

                            ..                 .   .
                   2. Iyy . y  + (Ixx - Izz) . x . z = sum(torques y)

                            ..                 .   .
                   3. Izz . z  + (Iyy - Ixx) . x . y = sum(torques z)

                      1. -Output the angle rotated around principal
                          axis 1

                      2. -Output the angle rotated around principal
                          axis 2

                      3. -Output the angle rotated around principal
                          axis 3

               5. -Translate this to new 3D positions of the body

                   1. -Use a rotation around 3 axes

                       1. -Use a rotation around the x-axis

                           1 -Input the angle rotated around principal
                              axis 1

                       2. -Use a rotation around the y-axis

                           1 -Input the angle rotated around principal
                              axis 2

                       3. -Use a rotation around the z-axis

                           1 -Input the angle rotated around principal
                              axis 3

        3. -Output

            1. -Show this 3D positions of the body

                1. -Show this on a 2D screen

                    1. -Project 3D to 2D

===

Internet: see also:

---

Physics: Dynamics: 3D: Link: Overview: Can you give an overview of 
links?
http://www.faqts.com/knowledge_base/view.phtml/aid/39259/fid/1857

----------------------------------------------------------------------