Archived

This topic is now archived and is closed to further replies.

Realistic Tank Physics

This topic is 5148 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I redid my tank physics, so I''m using vectors now. I''m trying to get the friction, and handling, and everything else looking right, but it''s soo hard! I keep having bad luck. I need to be able to have realistic handling, and be able to fling the tank away at the hands of a large explosion, etc. I have a face vector, acceleration vector, velocity vector, and a position vector, and a friction vector.. I wonder what else I need... I''m having a hard time getting them to all work right together. Any tips? THanks

Share this post


Link to post
Share on other sites
That''s a lot of vectors! Make friction 90 degrees to facing. Dot motion with friction and that is how much to slow movement by, that will add skidding.

I''m sure you don''t need an acceleration vector for your physics (just make sure the velocity accelerates). Most physical motion is just move direction/speed and friction. You could add gravity and make the tanks bounce in the air. That would be quite easy if you''ve got a nice flat surface and the results would be great.

Mark

Flatspace is coming: Topdown Elite for 2004

Share this post


Link to post
Share on other sites
the simplest form is the velocity in three dimensions and the direction the tank is facing (tanks slide - don''t forget that - especially if your in one )

Each track gives accelleration along its path in either direction. That is TWO sources of acceleration.

If yuo want to get more detailed - the tracks are NOT point contacts. They are DLs.

Simple - one point contact per track
Bit trickier - one point per wheel on each track
More realistic - UDL across whole track
Realistic - DL (varied) across the track

You would use the above for the friction of the track. I recommend using a UDL as it''s pretty easy, and doesn''t require too much maths to simulate.

BTW - don''t forget the contact areas of the tracks will vary depending on the terrain.

Share this post


Link to post
Share on other sites
but luckily the tracks can''t accelerate in different directions at the same time (except in turning mode)

And infact from my experience the tracks usually have 100% contact onto the terrain (except if you are doing jumps or the terrain is really hard and clustered (this is the wrong word but i think you know what i mean)

What is really more important is the mass of a tank.
if 50+ tons start turning they will do so for quite some time (ever did a 360 with a tank?)

Share this post


Link to post
Share on other sites
If you are doing a physics for a military Tank, (Wether it is a modern tank, past, or future, the physics is nearly the same) go to a local Military Reserve or something, and ask if you can talk to someone that works with the tanks and if they could help you desgin the base physics. (You never know, you might end up making a Tank sim for them. I know many Inde developers get better graphics than the sim for the Canadian Lynx combat unit has)

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
can i see your program with the tank?

i love playing BF1942 and their tanks!

Share this post


Link to post
Share on other sites
Thanks for all the replies! I''ll try these. What is the DL and UDL that Dredge-Master mentions though? I''ll maybe post a link when I get it working right Thanks!

Share this post


Link to post
Share on other sites
oh sorry, forgot that you weren''t all engineers (I''m a mechanical).


Anyway, firstly, the tracks of a tank are close to NEVER in even contact with the ground. On a flat section of bitchumen or tarmac the pressure at the wheels are all the same (give or take) but in between they aren''t. I''ll post this and then send up an image to help you.

DL - distributed load

UDL - uniformly distributed load.


this is in comparison to a normal point which is just a load at a point (usually defined by P)

Metric
P - N (newtons)
Distributed Loads - N/(M^-1) (newtons per metre)

Share this post


Link to post
Share on other sites


Lets say you have a 4 tonne personnel carrrier. two tracks

that makes 19600kN per side.


if you are using them as a point on each track it will really bugger up your friction and also your acceleration

the acceleration because of its position - you may be getting alot more traction up front or to the rear
friction because it is over a track that is around 4 to 5 metres long (think its around 4 on an M113 - I can check if you want - same for weight)


If you use the UDL (number 2), you will get on a 4 metre track, 4900kN/m

if you look at number 5 you will get what the track really will be doing to the road.

as you can see its a bit of a bastard, so use a UDL if you want to do it more realistically than the point contact but still really fast with minimal amounts of maths.


you can use that UDL for friction along the track and/or treat treat it as a beam and gets its shear force and bending moments and use them etc.

Share this post


Link to post
Share on other sites
btw - don''t forget that the weight between each wheel is very small compared to the weight at the wheels. there is alot of slack between each wheel on a tracked vehicle. Alot of the friction is from the pushing of the tracks forwards and backwards.

beacause of this if I were you I would add in a kind of "imaginary" frictional force (add by 0.5 or something) to the weight force just to make it quick and dirty.


Oh - the actual co-ef of friction for the weight friction of the material isn''t much. Its usually steel.

Share this post


Link to post
Share on other sites
Thanks for your enthusiasm Dredge-Master! I really wish I could understand and implement all that, but I''m afraid I''m not at that level yet. I believe that I''m looking for the shortcut approximation way, or something like that. Much thanks, though!

Anyway, this looked promising:
quote:
Original post by Mark Sheeky
That''s a lot of vectors! Make friction 90 degrees to facing. Dot motion with friction and that is how much to slow movement by,

But I''m not quite understanding what it means. Dotting motion with a 90 degree friction vector gives me some float value. If I just decrease my motion''s magnitude by this, it isn''t going to introduce sliding.. Am I supposed to add the friction vector to the velocity, where the friction magnitude is said float value?
I hope someone can clarify! Thanks!

Share this post


Link to post
Share on other sites
OH... OH YEAH!!!! THANK YOU!!!
I tested out my interpretation of your suggestion that I just mentioned, and found it didn''t work.. but then after looking at it a bit, I figured out that I needed to set the friction vector''s magnitude to the negative of the dot product ^_^ And that worked. Nicely. THANKS!!!! Of course, if I''m doing this wrong, please tell me, but it looks pretty good right now!!

Share this post


Link to post
Share on other sites