CSCI 590 Directed Research

Credit: 1

Progress Report 3

L-Systems Tree and its Animation

By Tanasai Sucontphunt

Date: 4/26/2003

 

Contents

 

1)     Wind Force Effecting on Tree

 

1) Wind Force Effecting on Tree

(Physically-Based Wind Force effects on Tree Animation)

(Ref: http://w3imagis.imag.fr/~Thomas.Di-Giacomo/research/egwcas01/paper/html/)

 

            The wind primitive is defined by an area of influence (disk (C, r)), a force vector F and a pulsation w. The Wind movement dynamic C(t) is defined using key framing (we are not implement the C(t) here).

 

 

            Each branch of a tree inside the area of influence undergoes a force f given by a wind equation. The wind equation this paper used is straight forward which is

 

            The changing will apply to each branch on the tree by altering their angles which are the rotation of θ along the z axis of the parent and the rotation of angle φ along the axis y of the branch. Each branch has 2DOF (on Z and Y Axis of the branch).

 

 

 

Force applying on each branch is Torque which composing of 3 forces which is

Total Torque = Torque by Wind Force

                       + Damping and Stiffness (Restoring Force)

                       + Torque propagate from its children

 

1)      Torque by wind force (Γ(t)) :

                             

where L is Length of branch, z is branch axis and f(t) is wind force.

 

2)      Damping and Stiffness (Restoring Force):

This is the restoring force using a mass-spring equation.

 

3)      Torque propagate from its children:

       -Σchildren K child

This force is the force that propagates back from its children. In the situation that the wind is not apply directly to the branch but its children, this force should be propagated to parent so that all bunch of the whole branches moving together. This force is actually the Damping and Stiffness of the children in opposite direction.

 

           

So, the final equation of torque is

           

 

After we calculate the torque, then, we can derive to find the change in angle which is:

Γ(t) = L’(t)  

But L(t) = I(t)w(t)

Then, L’(t) = (I(t)w(t))’

Here, we assume I(t) = m = length * diameter2

So, L’(t) = mw’(t)

w’(t) = Γ(t) / m

 

w’(t) relative = Γ(t) / m – w’(t) parent

then, we project the w’(t) to Z (θ) and Y (Φ) axis (of the branch)

θ’’(t) = w’(t) relative Z        

Φ’’(t) = w’(t) relative Y

 

Then, using Explicit euler’s method to do time integration:

So, θ’(t+dt) = θ’(t) + θ’’ (t)dt

and, θ(t+dt) = θ(t) + θ’ (t)dt

We do the same way to Φ so that we get the changing in angle on Z and Y axis over time.

 

Finally, using Forward kinematics to find the final position of each branch at time t+dt.

 

The result:

 

Figure a: the tree with out the wind

Figure b – f: the tree with the wind on right side

Figure g-j: the same tree start from figure f with the wind on left side

 

 

 


 

   

                             a                                                           b

 

 

                                    c                                                                      d

 

 

                                    e                                                                      f

 

 

                                    g                                                                      h

 

 

                                    i                                                                       j