Simple 2D Collision question

Started by
1 comment, last by TheWall421 20 years, 2 months ago
I''m trying to figure out how to model a simple collision. Here''s the picture of the situation I''m trying to model http://www.coe.uncc.edu/~dmarkham/Collision.gif Right now I just have the two balls exchanging velocity vectors, which works only for head-on collisions and not the above scenario where the balls collide at an angle. I have no problem detecting when theres a collision, I just can''t figure out how to model the effects of the collision. Can someone please push me in the right direction?
Advertisement
Follow the principle of conservation of momentum:

(m1 x v1) + (m2 x v2) = (m1+m2)vfinal

m1 = mass of first ball
v1 = velocity of first ball

m2 = mass of second ball
v2 = velocity of second ball

vfinal is the velocity of both balls after collision.

This will help you ensure the right velocity.

The right direction can be calculated as follows:

Project a vector from the center of the first sphere to the center of the second sphere. This vector acts as the normal vector for the collision of the second ball (youll need to flip it to get the normal for the first collision) - essential if you want to get the correct direction.

Now, the original velocity vector needs to be rotated around the normal for the collision.

The reflection vector is: V' = -V + 2(N.V)N

Keep in mind that the dot product produces a scalar which is then multiplied by the normal for that collision.

Hope this helps - if youd like a picture representation of this phenomena: http://www-scf.usc.edu/~gamedev/MOMENTUM.JPG

Email me (p_samty@yahoo.com) if the link doesnt work and ill fix it.

[edited by - psamty10 on February 8, 2004 11:44:36 PM]

[edited by - psamty10 on February 8, 2004 11:45:17 PM]
here is a code dump to illustrate psamty10''s solution.

//------------------------------------------------------// Check collision between boat and boat [j]<br></font><br><font color=gray><font color=gray>//——————————————————<br></font></font><br><br><font color=blue>int</font> GameBumperBoatRideClass::CheckBoatCollision(<font color=blue>int</font> i, <font color=blue>int</font> j)<br>{<br>	<font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//———————————————————–<br></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><br>	<font color=gray>// Creates two vectors containing the velocity of the boats.<br></font><br>	<font color=gray>// Velocity is both the direction and speed of the boats.<br></font><br>	<font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//———————————————————–<br></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><br>	Vector2 VelocityBoatOne = Boat[<font color=purple>i</font>].Velocity;<br>	Vector2 VelocityBoatTwo = Boat[<font color=purple>j</font>].Velocity;<br><br>	<font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//———————————————————–<br></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><br>	<font color=gray>// Creates two vectors containing the x and y <br></font><br>	<font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//———————————————————–<br></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><br>	Vector2 PositionBoatOne = Boat[<font color=purple>i</font>].Position;<br>	Vector2 PositionBoatTwo = Boat[<font color=purple>j</font>].Position;<br><br>	<font color=blue>float</font> RadiusOfBoatOne = Boat[<font color=purple>i</font>].radius;<br>	<font color=blue>float</font> RadiusOfBoatTwo = Boat[<font color=purple>j</font>].radius;<br><br>	<font color=blue>float</font> TotalRadius = RadiusOfBoatOne + RadiusOfBoatTwo;<br><br>	Vector2 DistanceBetweenBoats(PositionBoatTwo - PositionBoatOne);<br>	Vector2 VelocityDifference(VelocityBoatTwo - VelocityBoatOne);<br><br>	<font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//———————————————————–<br></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><br>	<font color=gray>// calculates the relative distance, squared	<br></font><br>	<font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//———————————————————–<br></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><br>	<font color=blue>float</font> DdotD = DistanceBetweenBoats.Dot(DistanceBetweenBoats); <br><br>	<font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//———————————————————–<br></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><br>	<font color=gray>// boat didn''t collide<br></font><br>	<font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//———————————————————–<br></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><br>	<font color=blue>if</font> (DdotD &gt; TotalRadius * TotalRadius) <br>		<font color=blue>return</font> <font color=blue>false</font>;<br><br><br>	<font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//———————————————————–<br></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><br>	<font color=gray>// If the code gets to this point, the boats<br></font><br>	<font color=gray>// have collided. :)<br></font><br>	<font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//———————————————————–<br></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><br>	<font color=blue>double</font> dlength = sqrt(DdotD);<br><br><br>	<font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//———————————————————–<br></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><br>	<font color=gray>// Calculate the normal of this collision<br></font><br>	<font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//———————————————————–<br></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><br>	Vector2 Normal = DistanceBetweenBoats / dlength; <br><br>	<font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//———————————————————–<br></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><br>	<font color=gray>// Calculate the depth of this collision<br></font><br>	<font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//———————————————————–<br></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><br>	<font color=blue>float</font> depth = TotalRadius - dlength; <br><br><br>	<font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//———————————————————–<br></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><br>	<font color=gray>// separate the boats a bit because they are overlapping<br></font><br>	<font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//———————————————————–<br></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><br>	<font color=blue>float</font> sep_damping = 0.25f;<br><br>	PositionBoatOne -= Normal * depth * sep_damping;<br>	PositionBoatTwo += Normal * depth * sep_damping;<br><br><br>	Boat[<font color=purple>i</font>].Position = PositionBoatOne;<br>	Boat[<font color=purple>j</font>].Position = PositionBoatTwo;<br><br>	<font color=gray><font color=gray><font color=gray><font color=gray>//——————————<br></font></font></font></font><br>	<font color=gray>// collision impulse<br></font><br>	<font color=gray><font color=gray><font color=gray><font color=gray>//——————————<br></font></font></font></font><br>	<font color=blue>float</font> elasticity = 0.50f; <font color=gray>// very squishy collision<br></font><br>	<font color=blue>float</font> friction   = 0.15f; <font color=gray>// very little friction<br></font><br><br>	<font color=gray><font color=gray><font color=gray><font color=gray>//——————————<br></font></font></font></font><br>	<font color=gray>// collision impact stuff<br></font><br>	<font color=gray><font color=gray><font color=gray><font color=gray>//——————————<br></font></font></font></font><br>	<font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//———————————————————–<br></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><br>	<font color=gray>// if boats not moving towards each other, no <br></font><br>	<font color=gray>// collision/impulse<br></font><br>	<font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//———————————————————–<br></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><br>	Vector2 V = VelocityDifference;<br><br>	<font color=blue>float</font> vn = V.Dot(Normal);<br><br>	<font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//———————————————————–<br></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><br>	<font color=gray>// boats are separating, no impulse.<br></font><br>	<font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//———————————————————–<br></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><br>	<font color=blue>if</font> (vn &gt; 0.0f)<br>		<font color=blue>return</font> <font color=blue>true</font>;<br><br>	<font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//———————————————————–<br></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><br>	<font color=gray>// the velocity component from the collision plane<br></font><br>	<font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//———————————————————–<br></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><br>	Vector2 Vn = Normal * vn;<br>	Vector2 Vt = V - Vn;<br><br>	<font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//———————————————————–<br></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><br>	<font color=gray>// apply response<br></font><br>	<font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//———————————————————–<br></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><br>	<font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//———————————————————–<br></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><br>	<font color=gray>// the collision result apply elasticity and friction<br></font><br>	<font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//———————————————————–<br></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><br>	Vn *= -(1.0f + elasticity);<br>	Vt *= -friction;<br><br>	<font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//———————————————————–<br></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><br>	<font color=gray>// the resulting velocity<br></font><br>	<font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//———————————————————–<br></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><br>	V = Vn + Vt;<br><br>	<font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//———————————————————–<br></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><br>	<font color=gray>// the lighter objects will move more than the heavier one<br></font><br>	<font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//———————————————————–<br></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><br>	<br>	<font color=blue>int</font> Mass2 = Boat[<font color=purple>j</font>].Mass;<br>	<font color=blue>int</font> Mass1 = Boat[<font color=purple>i</font>].Mass;<br>	<br>	<br><br>	VelocityBoatOne -= V * Mass2 / (Mass1 + Mass2);<br>	VelocityBoatTwo += V * Mass1 / (Mass1 + Mass2);<br><br>	Boat[<font color=purple>i</font>].Velocity = VelocityBoatOne;<br>	Boat[<font color=purple>j</font>].Velocity = VelocityBoatTwo;<br><br>	<font color=blue>return</font> 1;<br>}<br></pre><!–ENDSCRIPT–>    

Everything is better with Metal.

This topic is closed to new replies.

Advertisement