POV-Ray : Newsgroups : povray.advanced-users : Questions of physics... Server Time
1 Nov 2024 03:17:02 EDT (-0400)
  Questions of physics... (Message 1 to 5 of 5)  
From: Andrew Coppin
Subject: Questions of physics...
Date: 14 Nov 2003 15:38:36
Message: <3fb53d4c$1@news.povray.org>
OK, a few things:

* What is the volume of a sphere of radius R?
* Anyone know the approximate density of iron?

And the biggy:

#declare SA = sphere {<0, 0, 0>, 1}
#declare SB = sphere {<+8, 0, 0>, 1}

SA is stationary. SB is travelling along the X-axis. Since the two have
equal mass (no, they do, cos it's my universe and I SAID SO :-), when SB
hits SA, SB will come to a complete stop, and SA will continue on with
(roughly?) the same velocity as SB had.

How suppose we change the start conditions:

#declare SA = sphere {<0, 0, 0>, 1}
#declare SB = sphere {<+8, +0.2, 0>, 1}

Unless I'm horribly mistaken, SB should bounce off SA at an angle (WHICH
angle??), transferring only some (HOW MUCH?) of its momentum to SA.

Anyone care to add details?

Thanks.
Andrew.


Post a reply to this message

From: TinCanMan
Subject: Re: Questions of physics...
Date: 14 Nov 2003 16:40:46
Message: <3fb54bde@news.povray.org>
"Andrew Coppin" <orp### [at] btinternetcom> wrote in message
news:3fb53d4c$1@news.povray.org...
> OK, a few things:
>
> * What is the volume of a sphere of radius R?
4/3*pi*r^2

> * Anyone know the approximate density of iron?
~17/60 #/in^3

> #declare SA = sphere {<0, 0, 0>, 1}
> #declare SB = sphere {<+8, 0, 0>, 1}
>
> SA is stationary. SB is travelling along the X-axis. Since the two have
> equal mass (no, they do, cos it's my universe and I SAID SO :-), when SB
> hits SA, SB will come to a complete stop, and SA will continue on with
> (roughly?) the same velocity as SB had.
>
> How suppose we change the start conditions:
>
> #declare SA = sphere {<0, 0, 0>, 1}
> #declare SB = sphere {<+8, +0.2, 0>, 1}
>
> Unless I'm horribly mistaken, SB should bounce off SA at an angle (WHICH
> angle??), transferring only some (HOW MUCH?) of its momentum to SA.
>
> Anyone care to add details?

don't have momentum eqs on hand, but the best way to deal with it is to
resolve the momentum of each object into global x,y and z components first,
then apply momentum transfer to each.

-tgq


Post a reply to this message

From: Christopher James Huff
Subject: Re: Questions of physics...
Date: 14 Nov 2003 22:28:56
Message: <cjameshuff-DA2D8D.22252514112003@netplex.aussie.org>
In article <3fb53d4c$1@news.povray.org>,
 "Andrew Coppin" <orp### [at] btinternetcom> wrote:

> * What is the volume of a sphere of radius R?

4/3*pi*r^3


> * Anyone know the approximate density of iron?

~7.8g/cm^3


> Unless I'm horribly mistaken, SB should bounce off SA at an angle (WHICH
> angle??), transferring only some (HOW MUCH?) of its momentum to SA.

http://www.google.com/search?q=sphere+collision

-- 
Christopher James Huff <cja### [at] earthlinknet>
http://home.earthlink.net/~cjameshuff/
POV-Ray TAG: chr### [at] tagpovrayorg
http://tag.povray.org/


Post a reply to this message

From: Chris Johnson
Subject: Re: Questions of physics...
Date: 15 Nov 2003 08:22:49
Message: <3fb628a9@news.povray.org>
A good way to calculate the sphere collision problem is to convert to the
zero-momentum frame.

If you consider the frame of reference where the total momentum of the
system is stationary, i.e. when the observer is travelling at half the speed
of SB. This observer will see SB moving at a particular speed along the
x-axis and SA moving at the same speed in the opposite direction.

After the collision, the total momentum in this frame still has to be zero,
but the spheres will be moving in different directions, BUT they must be
going at the same speed and in opposite directions to keep the momentum at
zero. Then you just need to add on the speed of the zero-momentum frame to
get the new velocities of the spheres in the normal frame of reference.

The only thing that needs to be worked out now is the angle at which the
spheres change in the zero momentum frame. Since the force between the
spheres at the time of impact is exerted along the line containing the
centers of the spheres, we know the initial speed and direction of motion,
the final speed of motion, and the direction of the force. This is enough
information to calculate the angle by the impulse formula

Ft = d(mv)/dt

-Chris


Post a reply to this message

From: Jaap Frank
Subject: Re: Questions of physics...
Date: 15 Nov 2003 09:57:04
Message: <3fb63ec0$1@news.povray.org>
"Andrew Coppin" <orp### [at] btinternetcom> wrote in message
news:3fb53d4c$1@news.povray.org...

> ....
> And the biggy:
>
> #declare SA = sphere {<0, 0, 0>, 1}
> #declare SB = sphere {<+8, 0, 0>, 1}
>
> SA is stationary. SB is travelling along the X-axis. Since the two have
> equal mass (no, they do, cos it's my universe and I SAID SO :-), when SB
> hits SA, SB will come to a complete stop, and SA will continue on with
> (roughly?) the same velocity as SB had.
>
> How suppose we change the start conditions:
>
> #declare SA = sphere {<0, 0, 0>, 1}
> #declare SB = sphere {<+8, +0.2, 0>, 1}
>
> Unless I'm horribly mistaken, SB should bounce off SA at an angle (WHICH
> angle??), transferring only some (HOW MUCH?) of its momentum to SA.
>
> Anyone care to add details?
>
> Thanks.
> Andrew.
>

Andrew, you need to build two macro's out off the following theory:

1.    Detect collision.
**********************************************************
 The movement of a particle is given by:
        s =   s0 +     v.t
 The vector notation for particles A and B:
        vecSa = vecA + vecVa.t
 , with vecSa = position at time t,
        vecA  = position at time zero,
        vecVa = velocity, so:

        vecSb = vecB + vecVb.t

 The distance between A and B is:
        vecS  = vecSa - vecSb
                = (vecA + vecVa.t) - (vecB + vecVb.t)
                = (vecA - vecB) + (vecVa - vecVb).t
                =      vecD     +       vecV     .t
        vecS  = vecD + vecV.t

 When there is collision then:
        R = rA + rB = |vecS|
        R^2 = vdot(vecS,vecS)
        R^2 = vdot((vecD + vecV.t),(vecD + vecV.t))

 this gives:
        vdot(vecV,vecV).t^2 + 2.vdot(vecD,vecV).t
         + (vdot(vecD,vecD) - R^2) = 0

 The Discriminant of this equation is:
        Disc = 4.vdot(vecD,vecV)^2 - 4.vdot(vecV,vecV).(vdot(vecD,vecD)-R^2)

 CollisionTimes:

        t = _______________________________
              2.vdot(vecV,vecV)

 Eliminating the factor 2:

         t = _______________________________
                  vdot(vecV,vecV)

 The smallest time is:
                -sqrt(D) - vdot(vecD,vecV)
        t = _____________________________
                  vdot(vecV,vecV)
with:
        D = vdot(vecD,vecV)^2 - vdot(vecV,vecV).(vdot(vecD,vecD)-R^2)

Condition for collision:  D > 0      (if D = 0 they only touch each other)

 If t < 0 then this was a collision in the past and you have to try the
other solution as well.
*********************************************************

2. Calculate new velocities if collision takes place.
*********************************************************
  When 2 particles collide, they bounce from a plane perpendicular to their
  distance vector vecD.  The normal of this plane is the distance vector:
        vecN = vecD.

  The working lines of their velocities are given by vecVa_1 and vecVb_1
  and will normally cross each other.  We need to split these vectors in a
  component along the normal and a component in the colliding plane.
  (Make a 3D-drawing if you can't imagine this.)
  Along the normal we need the speed of the particles (Speed is velocity
  without the direction, so it is a scalar).  This is given by:
        Va_n_1 = vdot(vnormalize(vecN),vecVa_1)
        Vb_n_1 = vdot(vnormalize(vecN),vecVb_1)

  After the collision we get new speeds:
        Va_n_2 and Vb_n_2

  The new velocities are given by:
        vecVa_2 = vecVa_1 - (Va_n_1 - Va_n_2).vnormalize(vecN)
        vecVb_2 = vecVb_1 - (Vb_n_1 - Vb_n_2).vnormalize(vecN)

  Collision :
         Particle speeds:
                Va_1 and  Vb_1 (before)
                Va_2 and Vb_2 (after)
         Particle masses:
                Ma   and   Mb
         Reduced masses:



        Equations to solve:
                Ma.Va_1 + Mb.Vb_1 = Ma.Va_2 + Mb.Vb_2
                             Va_1 - Vb_1 = -e.(Va_2 - Vb_2)
         For molecules:          e = 1             (e = elasticity)

         Answers for elasticity is 1:



  In order to get a correct answer, we have to determine the relative
  signs of Va_1 and Vb_1, that will say:
        are they moving in the same or in the opposite direction along
        the normal of collision. This is done automatically by
            Vx_n_1 = vdot(vnormalize(vecN),vecVx_1), with x = a or b.
**********************************************************

You can count on the correctness of this theory, for I've used it in an
animation that I will place in p.b.a.

Succes with it,

Jaap Frank


Post a reply to this message

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