[关闭]
@355073677 2016-04-06T13:00:11.000000Z 字数 5665 阅读 1274

Chapter 2


Name: 陈锋
Student number: 2013301020145
March 31, 2016

Abstract

In the first problem, both air drag and reduced air density at high altitudes are considered. It will draw the cannon shell's trajectorys of diverse firing angles and try to find the maximum range for a given firing velocity.
In the second problem, a long-range auxiliary striking system is tried to built, which means it can help the cannon to hit the targets at a different altitude.

Introduction

Generally, when we ignore the effects of air drag, the trajectory of a firing cannon ball is a parabola obviously. However, if we consider air drag and even the diverse density of air at different altitudes, the situation will become much more complicated than the previous one.
On the other hand, precise striking is necessary in the modern warfare in order to reduce damage. The auxiliary striking system I built in this article is useful for long range shooting. The minimum error range of such system is about one meter, which is much smaller than the explosion range of cannon ball. In the long term, I will try to build the system for short-range firing.

Level 1: Probelm 2.9 - Reduced Air Density

2.9.1 The Dynamic Equations

Accodrding to Newton's second law, the equations of motion of a firing cannon ball can be written as:


Considering the reduced air density at high altitude:

Isothermal situation:

Adiabatic situation:


Using the ode.py I wrote before, we can use simple Euler method or 3rd Runge-Kutta method

2.9.2 Finding the maximum range

As we all know, in the no drag case, is the proper angle leads to maximum range. Therefore, it is reasonalbe to guess the proper angle is in the range .
Here are my approach to find the maximum range:

  1. Scanning the angle in and the increase step is 5 degree. Making a comparison of firing distance corresponding to each angle and find out an angle with maximum distance.
  2. Setting the scanning range and the increase step: 2 degree, then we repeat the procedure of 1.
  3. Setting the scanning range and the increase step: 0.5 degree, then we repeat the procedure of 1.
  4. Setting the scanning range and the increase step: 0.01 degree, then we repeat the procedure of 1.

Then, the angle we get in procedure 4 is an angle leads to the maximum range.

2.9.3 Data Analysis

Setting the initial speed:

Isothermal situation:

Maximum range: 26621.95m Angle:45.9°
figure_1

Adiabatic situation:

Maximum range: 24735.75m Angle:43.9°
figure_2

Comparison of different angles:

figure_4
Therefore, after the air density correction, the maximum firing range becomes 20 kilometers, which is very close to the actual situation.

2.9.4 Error Analysis

figure_5
As the figure shows above, with the decrease of the time step, the accuracy increases. Also, in this case, simple euler method is more accurate than 3rd Runge-Kutta method in the same time step. Thus, I choose simple euler method to calculate this problem.
On the other hand, though the programme using simple euler method with time step = 0.5s runs much faster than that with time step = 0.1s, it still has a error about 50 meters towards the exact solution. As we all known, the damege range of a cannon is about 10 meters, so such big error will lead to innocent damege.

Level 2: Upgraded Problem 2.10 - Auxiliary Striking System [Adiabatic situation]

Why long-range?

In this case, long-range firing means, the x coordination cannot be much smaller than the y coordination(about: x/y > 1/10 at maximum precision(error = ±0.02°, ±0.02m/s)). It seems absurd because this system cannot fire the target just above our heads. However, in such short range, the cannon ball will hit the target in the ascending process instead of the descending process. My programme is designed to solve the case of descending hitting and that is the reason why I emphasize it is just situable for long-range firing.

Scanning approach -- Proper angle and proper firing speed

In order to find out a proper angle and proper initial firing speed to make an precise hitting, scanning all the angle and initial speed and compare the results is a direct method. However, we should notice that programme running speed is also a very important factor we should concern about. We cannot spend an hour scanning all the angles and initial speed because in such long interval, enemies may find our cannon and destroy it. Thus, we must find out a proper way to scan them and assure the hitting precision.
Therefore, I used the same scanning method I introduced in problem (Section 2.9.3) in order to dramatically decrease the running time of the programme.
Finally, if the cannon shell hits in the range of 1 meters near the target, the system will think that the shell have destory the target.

Results

All the programmes run in dual-core Intel Core i5
It provides three kinds of precision in the programme.

Precision Running Time(s)[SU] Error
Grade 1 9.50 ± 1.0 ±0.5°, ±0.5m/s
Grade 2 11.30 ± 1.0 ±0.1°, ±0.5m/s
Grade 3 13.00 ± 1.0 ±0.02°, ±0.02m/s

Changing the x position:

Target (2000,8000)

Hitting point (2000.13, 8000), Angle: 86.60, Speed: 592.50m/s
figure_6

Target (6000,8000)

Hitting point (5999.92, 8000), Angle: 74.89, Speed: 658.44m/s
figure_7

Target (10000,8000)

Hitting point (10000.00, 8000), Angle: 60.10, Speed: 640.00m/s
figure_8

Target (14000,8000)

Hitting point (14000.17, 8000), Angle: 64.20, Speed: 644.10m/s
figure_9

Changing the y position:

Target (14000,2000)

Hitting point (14000.03, 2000), Angle: 70.41, Speed: 646.70m/s
figure_10

Target (14000,4000)

Hitting point (14000.11, 4000), Angle: 74.00, Speed: 739.92m/s
figure_11

Target (14000,6000)

Hitting point (14000.00, 6000), Angle: 67.27, Speed: 642.78m/s
figure_12

Target (14000,8000)

Hitting point (14000.17, 8000), Angle: 64.20, Speed: 644.10m/s
figure_13

Level 3: Super Auxiliary Striking System

To be continued...

Conclusion

This assignment allows us to learn how to solve high-order differential equation via transferring it into first-order diferential equations. Also, air density at differential altitude plays an important role in the trejectory of cannon shell.

Programme Code

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注