POV-Ray : Newsgroups : povray.advanced-users : Collision with energy loss Server Time
29 Jul 2024 18:16:20 EDT (-0400)
  Collision with energy loss (Message 1 to 10 of 21)  
Goto Latest 10 Messages Next 10 Messages >>>
From: Rune
Subject: Collision with energy loss
Date: 27 May 2002 05:47:25
Message: <3cf200ad@news.povray.org>
So far in my particle system I have used a simple collision model where
the outcoming angle is equal to the incoming angle and the outcoming
velocity is smaller than the incoming velocity due to the energy loss at
the collision. ( See my illustration I in povray.binaries.images in the
message "Collision with energy loss" ) But I wonder if that is a very
good model to use...

The energy loss is often quite big, like 80%, because many things when
they bounce only reach a small fraction of the height they were dropped
from.

When the incoming angle is close to 90 degrees the model can look quite
fine. But imagine that the incoming angle is very small. Then the energy
loss of 80% will seem very unnatural, like the particle slows down to
20% speed for no reason.

So how should energy loss be applied? One Idea I had was that the energy
loss should only apply to that part of the movement vector that is
perpendicular to the surface the particle collides against. ( See
illustration II in the before-mentioned image. ) But this would mean
that the outcoming angle would not be equal to the incoming angle. In
reality is the incoming angle always equal to the outcoming angle, also
when energy loss is taken into consideration?

A third option would be to still use the same model as in illustration
I, but vary the energy loss so that it is greatest when the
incoming=outcoming angle is close to 90 degrees and so that there's
almost no energy loss when the incoming=outcoming angle is close to 0
degrees.

What are your thoughts on this?

Collisions in the real world are probably way more complicated, but I'm
looking for a very simplistic model which is still as realistic as
possible...

Rune
--
3D images and anims, include files, tutorials and more:
Rune's World:  http://rsj.mobilixnet.dk (updated May 20)
POV-Ray Users: http://rsj.mobilixnet.dk/povrayusers/
POV-Ray Ring:  http://webring.povray.co.uk


Post a reply to this message

From: Andrew Cocker
Subject: Re: Collision with energy loss
Date: 27 May 2002 07:00:34
Message: <3cf211d2@news.povray.org>
Hi Rune,

Shouldn't the energy loss be based upon the angle of collision. ie if the
angle is 90 degrees, then maximum energy loss occurs. If the angle is
shallow i.e the particle is moving almost parallel to a surface and touches
that surface, the resulting slowdown will be small (things like the
surface's friction will come into play here - the particle may slide along
the surface)

After typing that, I re-read your post and realised that the above was your
third option! Third option gets my vote then ;-)

All the best,

Andy Cocker


Post a reply to this message

From: TinCanMan
Subject: Re: Collision with energy loss
Date: 27 May 2002 08:18:02
Message: <3cf223fa$1@news.povray.org>
"Rune" <run### [at] mobilixnetdk> wrote in message
news:3cf200ad@news.povray.org...
> So far in my particle system I have used a simple collision model where
> the outcoming angle is equal to the incoming angle and the outcoming
> velocity is smaller than the incoming velocity due to the energy loss at
> the collision. ( See my illustration I in povray.binaries.images in the
> message "Collision with energy loss" ) But I wonder if that is a very
> good model to use...

When an object collides at angle, only the portion of energy perpendicular
to the collision vector has an effect, while the portion parallel has no
effect (discounting friction, but that can easily be applied if so desired)

The best way to do this is to split your equations into x, y and z vectors,
do your conservation and then do your conservation of energy equation and
then use the resulting vectors.

I don't have the equations and such off hand right now but I can get them
later if you would like.

-tgq


Post a reply to this message

From: Rune
Subject: Sliding / flowing
Date: 27 May 2002 08:51:51
Message: <3cf22be7$1@news.povray.org>
Ok, here's why I'm not satisfied with the third option I proposed.

I want to simulate not just bouncing but also sliding/flowing of
particles. I define flowing as when the particle moves perpendicular
with the surface or almost perpendicular.

When a particle hits a surface with a big incoming angle, it should
bounce, but after some bounces it should eventually begin to slide (or
flow if you want). But if the outcoming angle is always perpendicular to
the incoming angle, then the sliding will never occur, and the particle
will just continue making smaller and smaller bounces until the bounces
get insignificantly small. That is not realistic.

Again see the thread in povray.binaries.images called "Collision with
energy loss", where I have posted a second image.

So somehow the outcoming angle should become a little smaller for each
bounce, but I don't know according to which rules. My second proposal
was a speculation in this direction, but it doesn't seem plausible,
because it would make the outcoming angle be completely different from
the incoming angle, which is not realistic either...

Any ideas how the outcoming (reflected) movement vector should be
calculated?

Rune
--
3D images and anims, include files, tutorials and more:
Rune's World:  http://rsj.mobilixnet.dk (updated May 20)
POV-Ray Users: http://rsj.mobilixnet.dk/povrayusers/
POV-Ray Ring:  http://webring.povray.co.uk


Post a reply to this message

From: Rune
Subject: Re: Collision with energy loss
Date: 27 May 2002 08:57:02
Message: <3cf22d1e$1@news.povray.org>
TinCanMan wrote:
> When an object collides at angle, only the portion
> of energy perpendicular to the collision vector has
> an effect, while the portion parallel has no effect
> (discounting friction, but that can easily be
> applied if so desired)

That sounds similar to my second idea. It just seems to me that this
would cause the outcoming angle to be very different from the incoming
angle, but maybe that's indeed the case...

> The best way to do this is to split your equations
> into x, y and z vectors, do your conservation and
> then do your conservation of energy equation and
> then use the resulting vectors.
>
> I don't have the equations and such off hand right
> now but I can get them later if you would like.

I would like that very much. :)
I just hope I'll be able to understand them...

Rune
--
3D images and anims, include files, tutorials and more:
Rune's World:  http://rsj.mobilixnet.dk (updated May 20)
POV-Ray Users: http://rsj.mobilixnet.dk/povrayusers/
POV-Ray Ring:  http://webring.povray.co.uk


Post a reply to this message

From: TinCanMan
Subject: Re: Collision with energy loss
Date: 27 May 2002 09:05:19
Message: <3cf22f0f$1@news.povray.org>
> That sounds similar to my second idea. It just seems to me that this
> would cause the outcoming angle to be very different from the incoming
> angle, but maybe that's indeed the case...

Actually the *magic* of math and physics resolves everything very easily.
My code is in an old version of visual basic which I don't have here at work
so I'll try to clean it up and post it when I get home.

-tgq


Post a reply to this message

From: Scott Moore
Subject: Re: Collision with energy loss
Date: 27 May 2002 09:08:40
Message: <t9a4fugm7aus4eh6ebf17i1avig4vcrikq@4ax.com>
On Mon, 27 May 2002 11:43:41 +0200, "Rune"
<run### [at] mobilixnetdk> wrote:

<snip>

>So how should energy loss be applied? One Idea I had was that the energy
>loss should only apply to that part of the movement vector that is
>perpendicular to the surface the particle collides against. ( See
>illustration II in the before-mentioned image. ) But this would mean
>that the outcoming angle would not be equal to the incoming angle. In
>reality is the incoming angle always equal to the outcoming angle, also
>when energy loss is taken into consideration?
>
>A third option would be to still use the same model as in illustration
>I, but vary the energy loss so that it is greatest when the
>incoming=outcoming angle is close to 90 degrees and so that there's
>almost no energy loss when the incoming=outcoming angle is close to 0
>degrees.
>

<snip>


Hi Rune,

I think the first paragraph sounds about right to me (although school
physics lessons were a long time ago 8o) i.e. outcoming=incoming angle
although I guess that would only hold for non-spinning particles?
(Ever thrown a backwards-spinning rubber ball away from you only to
find it bounces right back?)

Hmm, that reminds me ... won't the energy loss be related to the
material's ... ummm ... elasticity? (not sure if that's the right
word) e.g. a particle system of rubber balls will probably lose less
energy per bounce than a system of ball bearings?

I assume you're taking into account some kind of drag coefficient?
(Crikey, that almost sounds like I know what I'm talking about!) So
that even if a particle has an incoming angle close to 0 degrees it
will still be losing energy by the drag of the 'atmosphere' it's
travelling through? (Hey wouldn't it be cool if your particle system
were tied into POV's media!! ... Ooh! Ooh! How about an explosion
under water!! ... Ooh! Ooh! Maybe you could get your particle system
into POV4 ...  <calm down Scott ... one step at a time>

Great explosion animation on your webpage btw!

Cheers,

Scott


Post a reply to this message

From: Scott Moore
Subject: Re: Sliding / flowing
Date: 27 May 2002 09:18:20
Message: <h5c4fu8s3k3cui0knjqksimon4l9j751bi@4ax.com>
On Mon, 27 May 2002 14:39:07 +0200, "Rune"
<run### [at] mobilixnetdk> wrote:

<snip>
>
>When a particle hits a surface with a big incoming angle, it should
>bounce, but after some bounces it should eventually begin to slide (or
>flow if you want). But if the outcoming angle is always perpendicular to
>the incoming angle, then the sliding will never occur, and the particle
>will just continue making smaller and smaller bounces until the bounces
>get insignificantly small. That is not realistic.
>
<snip>

I reckon the smaller and smaller bounces idea is correct - if you've
ever seen a small ball bearing bounce on a horizontal piece of glass
it seems to bounce many many times getting smaller and smaller until
it stops bouncing. Also, think about those Newton's Cradle executive
toys ... you know, the ones with 5 or 6 ball bearing suspended in a
line - they bounce for ages.

Scott


Post a reply to this message

From: Rune
Subject: Re: Sliding / flowing
Date: 27 May 2002 09:52:49
Message: <3cf23a31@news.povray.org>
Scott Moore wrote:
> I reckon the smaller and smaller bounces
> idea is correct

But this will never lead to sliding or flowing I think...

> - if you've ever seen a small ball bearing
> bounce on a horizontal piece of glass it
> seems to bounce many many times getting
> smaller and smaller until it stops bouncing.

But that's not the point here. If I have understood you correctly, ball
bearings don't have freedom of movement so it doesn't make sense to talk
about the incoming and outcoming angle... :/

You're right though that the bouncing often continues many many times,
but after the last tiny bounce the ball or particle should still roll or
flow or slide or whatever you want to call it. Did you see that image in
povray.binaries.images I mentioned?

Rune
--
3D images and anims, include files, tutorials and more:
Rune's World:  http://rsj.mobilixnet.dk (updated May 20)
POV-Ray Users: http://rsj.mobilixnet.dk/povrayusers/
POV-Ray Ring:  http://webring.povray.co.uk


Post a reply to this message

From: Lutz-Peter Hooge
Subject: Re: Collision with energy loss
Date: 27 May 2002 11:01:29
Message: <MPG.175c68d3c35bf29c989709@news.povray.org>
In article <3cf223fa$1@news.povray.org>, Tin### [at] hotmailcom 
says...

> When an object collides at angle, only the portion of energy perpendicular
> to the collision vector has an effect,

Energy can't be perpendicular to anything, because it isn't a vector.
What you mean is velocity.

The reason why a ball loses energy is because of friction inside it, and 
the amount of friction is dependent on the deformation, wich is dependent 
on the acceleration/change of velocity.

Probably this friction mainly (maybe only) slows down the velocity 
perpendicular to the surface, but if the ball has a velocity-component 
parallel to the surface it will slide (or roll) on it while in contact 
with it, resulting in friction between the surface and the ball wich 
slows it down in this direction, too.

How about letting the user specify the ratio between horizontal and 
vertical friction?

Lutz-Peter


Post a reply to this message

Goto Latest 10 Messages Next 10 Messages >>>

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