|
I had a blockage in my brain over a problem I was trying to resolve.
It concerns a real-life problem expressed in mathematical terms. A gun
fires an armour-piercing projectile at a tank whose front plate
is inclined at an angle. We know the thickness of the armour plate when hit square-on but that
what we need to calculate is the depth of armour plate that a projectile
has to penetrate when the angle of penetration is non-vertical.
Both you and I probably already know the maths to calculate the distance through the plate when
the direction of the projectile is inclined in only one plane from the
vertical. Using the hypotenuse rule, if you make a right-angled triangle
through the plate using the width of the plate as the 'adjacent', the
line of penetration is the hypotenuse that we wish to calculate. You can calculate it's length
using tan(angle) * adjacent to calculate the opposite side. From then you
simply square the values of the opposite and the adjacent, add them together and find the square root.
The resulting value is the hypotenuse which is the depth of armour that
will need to be defeated in order to obtain penetration.
Unfortunately
that is not the end of the problem. In a real conflict a projectile is
unlikely to hit the armour square-on at 90 degrees. It is more likely
that the gun will be pointing at the armour at an oblique angle itself. My problem was simply that I could not define the correct maths when the projectile is
not just inclined in one plane but also in an additional plane.
An example: a tank has front armour of 80mm (approx 3 inches) in
thickness where the glacis plate is inclined at 45 degrees from the
vertical. The projectile is not hitting the front of the tank square-on
but at an angle of 45 degrees from the horizontal. So you have two
angles to be accounted for when determining the path through the armour
plate.
A simple hypotenuse formula is built into some software I wrote quite
a while ago but it only handled the angle in one plane and I really want
to complete it to handle the two angles combined. I can picture the
reality of the thing but I have been unsure of the equation to handle
this mathematically, whether to 'add' the two angles in some simple way
but I suspected it was more complicated than this. The code (VB6) was this:
adjacent = ArmourThickness%
AngleInRadians = ArmourAngle / 57.2958 ' radians
tanga = Tan(AngleInRadians) '
opposite = tanga * adjacent ' the opposite length
hypotenuse = Sqr(adjacent ^ 2 + opposite ^ 2) ' thickness of armour
at this angle
ActualArmourThickness% = hypotenuse
I just had to think of planes and geometry. Thinking of the projectile
penetrating the armour slab firstly as a simple 90 degree triangle I
obtained the hypotenuse in one plane doing the equation above. I then
used the result of that to feed back into exactly the same equation,
this time using the hypotenuse from the first calculation as the
adjacent in the new equation, a tangent of the angle of the second plane
and a calculation of the opposite and then the new hypotenuse. The
resulting value is the total armour thickness when a projectile is fired
in two angles from the vertical.
For example: Taking the first angle, 45 degrees and the known thickness
of the armour, 80mm, from this you know the opposite, 80mm. If the angle
was not 45 degrees then you would need to calculate the opposite using
Tan(AngleInRadians) and then multiplying the result * standard armour
thickness. Using the hypotenuse rule you get the resulting armour
thickness of 113mm. Then you take that value and use it as the
'adjacent' length for the next equation. The gun was firing at the front
of the tank from the angle of 45 degrees which makes it much easier but
it could be any angle. As it is 45 degrees the opposite length will also
be 113mm, no need to calculate. Hypotenuse rule gives you a final depth
of armour plate of 159.8mm.
I know some of that doesn't make much sense but that's only my poor
ability to explain maths... I know this is easy stuff to someone who
knows their mathematics but for a bear with little brain it was quite
hard to get my head round. Rather than use the internet for the above I
used a book from my Grandpa's library,
Practical Plane and Solid Geometry by Morris & Husband published by Longmans, Green & Co. 1910. A really useful book and a fantastic guide to geometry, one of those books that endures, the contents are just as applicable as when they were written. You'd be hard-pressed to guess it was written in 1910. Precise, concise, well illustrated and well-written.
This shows that by sloping an armour plate and keeping your armour faces
at an oblique angle to any enemy weapon a tank can maximise it's ability
to survive. If a tank's front and side armour are the same thickness
then siting your tank at an oblique angle gives you an excellent chance
of surviving as long as you are hull-down (suspension well protected by
terrain). In the above example the armour depth required to penetrate is
doubled. The Germans, Russians and Yanks knew how to maximise the
armour on their tanks by sloping the front armour on their best tanks.
The British however almost always displayed a vertical drivers plate on
all their tanks up to the Centurion, citing production difficulties when
changing the drivers position, hatches, stowage, secondary gun &c. The tank designer's excuse for retaining the vertical plate was that the small amount of vertical
armour shown was seldom ever hit square-on so an obtuse/acute angle of attack would
often result. Although this is actually very true as proven above, it is still no
excuse for not inclining the armour further in order to obtain maximum protection. A lesson learnt and put
into place on all tanks since, especially in British armour since the war. The Chieftain tank is probably the best example of an MBT taking advantage of sloped armour.
Back to the equation - I still don't know if there is some magical way of 'adding' the two angles through one equation, my solution of just passing the results twice through the simple equation is sufficient though maybe not elegant. Anyway, thanks for indulging me in my quest for the right equation and
the correct bit of code. If I have made any mistakes here please feel
free to comment below.
|