POV-Ray : Newsgroups : povray.advanced-users : Collision with energy loss : Re: Collision with energy loss Server Time
29 Jul 2024 16:27:27 EDT (-0400)
  Re: Collision with energy loss  
From: Peter Popov
Date: 31 May 2002 15:16:14
Message: <6n27fucripeun2eds4f6ngpqothun655be@4ax.com>
On Mon, 27 May 2002 11:43:41 +0200, "Rune"
<run### [at] mobilixnetdk> wrote:

>What are your thoughts on this?

Rune,

sorry I don't have the time to read the whole thread right now so I
apologize in advance if what I write is nothing new.

There are two laws which you should observe. One is the law of
conservation of energy and the other is the law of conservation of
momentum.

Now, I know you know these laws, but I'll write them down to make my
points more clear.

The law of conservation of energy states that:

E_b,t = sum(E_b,k) + sum(E_b,p) = E_a,t = sum(E_a,k) + sum(E_a,p) + Q

where the index "b" indicates the time before collision and the index
"a" indicates the time after the collision. Also, "k" is for kinetic,
"p" is for potential, "t" stands for "total" and "Q" is heat produced
in the collision (you may also add m*c^2 to the right hand side of the
equation if there is some mass converted into energy, as in the
collision of several close-to-critic-mass pieces or plutonium... but
that's probably overkill). The sums indicate summing of the respective
energy components of all bodies.

Kinetic energy E_k comes from two components - linear and angular.
They are equal to m*[v]^2/2 and J*omega^2/2, respectively, where m is
mass, v is linear velocity, J is moment of inertia about the rotation
axis, and omega is angular velocity. Brackets indicate vector
quantities.

The law of conservation of momentum states that:

[P_b,t] = sum([P_b,r]) + sum([P_b,l]) = [P_a,t] = sum([P_a,r]) +
sum([P_a,l])

where r stands for "rotational" (should be angular, but 'a' is used
already) and "l" stands for linear. Moreover,

P_l = m*[v]
P_a = J*omega

The last thing which should be mentioned is that reaction forces are
always normal to the common tangent plane of the two objects at the
point of collision.

The most simple collision model is the completely elastic collision
without rotation. The only things you have to observe are linear
motion kinetic energy and momentum. In partially inelastic collisions
without rotation, you have to define the loss either as a loss of
momentum or as a loss of energy (they are linked together through
linear velocity).

If you throw in rotation, you'll have to account for the conservation
of angular momentum and the kinetic energy of rotational motion.
Things get more dicey in this case, but allow for very cool
simulations such as a rubber ball bouncing around with a top- or side
spin, or a pool table simulation. Again, if you want to have inelastic
collisions, you have to define the loss as either loss of momentum or
of energy.

Potential energy doesn't make much sense in collision models except in
very special cases such as prolonged (i.e. not instantaneous)
collision with material deformation, for example a ball falling on a
stretched rubber sheet. In this case the kinetic energy of the ball is
converted into potential energy of deformation of the material, and
after reaching zero, the reverse process begins. The main losses here
are due to internal friction loss in the deformed material, usually
represented using a viscuous friction damping model in either a
mass-spring (iterative) or a finite element (matrix) model. Things are
*really* dicey here and even the real pros (David Baraff, Andrew
Witkin, James O'Brien etc.) don't have all the answers.

Losses can also occur due to friction. The losses then are best
expressed in terms of a friction coefficient, because you're summing
up forces anyway. The friction force is parallel to the common tangent
and is proportional to the friction coefficient and the normal
component of the forces of motion,

[F_fr] = -k_fr * |[F_n]| * F_t / |[F_t]|

where the bars indicate length, "fr" is "friction", "t" is
"tangential" and "n" is "normal."

How friction affects angular motion, my high-school physics does not
tell. I only know Euler's friction between two bodies with a common
axis and contacting along a circular arc,

F_fr = -e^(k * phi)

where "k" is the coefficient of friction and "phi" is the angle of the
arc along which the two bodies contact. IIRC the formula indicates
both static and dynamic friction and is most commonly used when
dealing with ropes or belts contacting with drums, as well as with
hinges.

Enough of high-school physics :) About the only thing I want to
mention, which should be obvious since you already have a working
system, is that there is a shortcut in calculations in the case of a
finite-mass body colliding with an infinite-mass body.

Hope this helps. Sorry again if this is no news or has been mentioned.


Peter Popov ICQ : 15002700
Personal e-mail : pet### [at] vipbg
TAG      e-mail : pet### [at] tagpovrayorg


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.