|
||
|
GP Mailing List
ATXGPSIG List
|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Fw: balls
Matt, here's the original post. And Andy, I was taught all of this and a hell of a lot more (like how to model a mesh of rods falling from the sky and colliding with various pegs, other rods and even rods suspended from springs) at school... you just gotta pick the right classes :0) - Don -----Original Message----- From: Don Williamson <donwilliamson@aqua-pacific.com> To: gameprogrammer@gameprogrammer.com <gameprogrammer@gameprogrammer.com> Date: 03 September 1999 10:29 Subject: Re: balls >Hallo, > >here's a perfect example of "applying what you once learned in a maths >lesson". It's just a simple case of Conservation of Momentum and Newtons >Experimental Law. It's a bit difficult to explain without diagrams but here >goes (explained with 1D). > >When the balls bounce around they'll either hit each other, or hit a solid >wall I assume. Before a ball goes into collision it will have velocity "u1". >When it leaves the collision it can have a different velocity "v1". If it is >colliding with another ball then the same can be said for this one, the >velocity going into the collision (u2) can be different from the velocity >going out of the collision (v2). The important thing to note is that >momentum is conserved throughout this collision, a simple transference >occurs. Momentum is calculated like... > > momentum = velocity * mass > >And Conservation of Momentum states that the total momentum involved before >the collision is exactly the same as that total momentum after the >collision... > > m1 * u1 - m2 * u2 = m1 * v1 + m2 * v2 > >The reason I'm doing a subtract here is because both balls are travelling >towards each other, hence in different directions. m1 and m2 are the masses >of your two balls. You should know the velocity going into the collision and >you know the masses so immediately a big chunk of the equation becomes easy >to calculate. What you need now is the velocities of the balls coming out of >the collision (v1 and v2) but this is impossible with the current equation >since there are two unknowns. You now have to resort to something called >Newtons Experimental Law which is simply... > > v1 - v2 = -e(u1 - u2) > >The constant "e" in this equation is called the Co-efficient of Restitution. >Basically, the bigger this value, the more bouncy your collision will be. >This value can vary like 0 < e < 1. (I don't believe in e=1 :0). e is a >value which you can make up yourself and modify but it is a constant that >varies depending on the types of both balls, not just one of them. > >So you know u1, u2 and e, what you have here is a simple simultaneous >equation! (remember THEM from maths? :0) > >Let's say I had the following values... > > e = 0.2 > u1 = 2 > u2 = -3 (moving the other way) > m1 = 1 > m2 = 2 > >I would now go onto calculate the collision as follows... > > Conservation of Momentum: > 1 * 2 - 2 * 3 = v1 + 2 * v2 > 2 - 6 = v1 + 2 * v2 > -4 = v1 + 2 * v2 > > NEL: > v1 - v2 = -0.2(2 + 3) > v1 - v2 = -0.2(5) > v1 - v2 = -1 > > Simultaneous equations are: > v1 + 2(v2) = -4 > v1 - v2 = -1 > > (multiply second equation by 2) > > 2(v1) - 2(v2) = -2 > > (add the two equations together to get rid of v2) > > 3(v1) = -6 > v1 = -2 > > (substitute v1 into any equation to calculate v2 - 1st for example) > > -2 + 2(v2) = -4 > 2(v2) = -2 > v2 = -1 > >This is great, whenever I write examples like this the numbers I choose >always provide nice answers - weird :0) > >But that's the gist of it. If you want to extend the idea into 2D or 3D >space then it's really simple, just remember that you MUST resolve your >velocities along the x, y and z axes. > >I noticed that you have a UK mail account so maybe you're from the UK :0). >If so then try and take Maths and Further Maths for A-Levels. If you do so >then making calculations like this will become second nature and will become >a lot more fun. Hell, you'll even be able to apply collisions to these >babies when they're spinning, ain't that cool :0) > >Seeya, >- Don > >-----Original Message----- >From: Eudoxus3 <Eudoxus@freeuk.com> >To: Game programmer <gameprogrammer@gameprogrammer.com> >Date: 03 September 1999 09:37 >Subject: balls > > >>Hi, >> >>Does anyone have any routines for calc'ing many bouncing ball's movements. >> >> >>Regards, >> >>Matt. W. >>-- >>*** eudoxus@freeuk.com *** http://members.xoom.com/eudoxusM/ >> mwebster@apsoft.co.uk >> >>================================================================= >>To SUBSCRIBE or UNSUBSCRIBE please visit >>http://gameprogrammer.com/mailinglist.html >> >> > ================================================================= To SUBSCRIBE or UNSUBSCRIBE please visit http://gameprogrammer.com/mailinglist.html
|
|