|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
I'm looking for a way to calculate the bounce off the interior of a sphere...
I have a position, a velocity vector and my sphere is hollow and centered at the
origin.
I'm pretty sure that Velocity=-Velocity is not right, though in my head it seems
logical.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Le 13/07/2011 04:57, Some Yahoo nous fit lire :
> I'm looking for a way to calculate the bounce off the interior of a
> sphere...
>
>
> I have a position, a velocity vector and my sphere is hollow and
> centered at the origin.
>
> I'm pretty sure that Velocity=-Velocity is not right, though in my head
> it seems logical.
Velocity := -Velocity is correct only when position & Velocity are
aligned (you came through the center of the sphere, you go back to it)
For other positions, you need to find the intersection point on the
sphere and mirror the velocity in regard to the normal of the sphere at
that point.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On 7/13/2011 1:55 AM, Le_Forgeron wrote:
> Le 13/07/2011 04:57, Some Yahoo nous fit lire :
>> I'm looking for a way to calculate the bounce off the interior of a
>> sphere...
>>
>>
>> I have a position, a velocity vector and my sphere is hollow and
>> centered at the origin.
>>
>> I'm pretty sure that Velocity=-Velocity is not right, though in my head
>> it seems logical.
>
> Velocity := -Velocity is correct only when position& Velocity are
> aligned (you came through the center of the sphere, you go back to it)
>
> For other positions, you need to find the intersection point on the
> sphere and mirror the velocity in regard to the normal of the sphere at
> that point.
ok, lets pretend I failed 3D calculus...
Sphere is <0,0,0>,100
I can use VDist to see when the marbles hit each marble has
position (vector)
velocity (vector)
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Some Yahoo wrote:
> ok, lets pretend I failed 3D calculus...
that's no problem you only need linear algebra ;)
> Sphere is <0,0,0>,100
You can use the trace function to find the intersection point
of the precollision path with the target surface. This will also
give you the normal vector (of course, in the case of a hollow
sphere this will just point to the sphere center). Mirroring the
in vector with the surface normal gives you the (inverted) out
vector. Probably the easiest way to do the mirroring is to
rotate 180 degree about the normal using vaxis_rotate.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Some Yahoo wrote:
> On 7/13/2011 1:55 AM, Le_Forgeron wrote:
>> Le 13/07/2011 04:57, Some Yahoo nous fit lire :
>>> I'm looking for a way to calculate the bounce off the interior of a
>>> sphere...
>>>
>>>
>>> I have a position, a velocity vector and my sphere is hollow and
>>> centered at the origin.
>>>
>>> I'm pretty sure that Velocity=-Velocity is not right, though in my
head
>>> it seems logical.
>>
>> Velocity := -Velocity is correct only when position& Velocity are
>> aligned (you came through the center of the sphere, you go back to it)
>>
>> For other positions, you need to find the intersection point on the
>> sphere and mirror the velocity in regard to the normal of the sphere a
t
>> that point.
>
> ok, lets pretend I failed 3D calculus...
>
> Sphere is <0,0,0>,100
>
> I can use VDist to see when the marbles hit each marble has
>
> position (vector)
> velocity (vector)
>
velocity - 2 * dot(velocity, normal) * normal
Where:
- dot(a, b) := a.x*b.x + a.y*b.y + a.z*b.z is the dot product;
- normal := position / 100 is the unit normal at intersection.
Jerome
--
mailto:jeb### [at] freefr
http://jeberger.free.fr
Jabber: jeb### [at] jabberfr
Post a reply to this message
Attachments:
Download 'us-ascii' (1 KB)
|
|
| |
| |
|
|
|
|
| |
|
|