@355073677
2016-04-06T13:00:11.000000Z
字数 5665
阅读 1274
Name: 陈锋
Student number: 2013301020145
March 31, 2016
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.
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.
Accodrding to Newton's second law, the equations of motion of a firing cannon ball can be written as:
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:
Then, the angle we get in procedure 4 is an angle leads to the maximum range.
Setting the initial speed:
Maximum range: 26621.95m Angle:45.9°
Maximum range: 24735.75m Angle:43.9°
Therefore, after the air density correction, the maximum firing range becomes 20 kilometers, which is very close to the actual situation.
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.
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.
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.
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 |
Hitting point (2000.13, 8000), Angle: 86.60, Speed: 592.50m/s
Hitting point (5999.92, 8000), Angle: 74.89, Speed: 658.44m/s
Hitting point (10000.00, 8000), Angle: 60.10, Speed: 640.00m/s
Hitting point (14000.17, 8000), Angle: 64.20, Speed: 644.10m/s
Hitting point (14000.03, 2000), Angle: 70.41, Speed: 646.70m/s
Hitting point (14000.11, 4000), Angle: 74.00, Speed: 739.92m/s
Hitting point (14000.00, 6000), Angle: 67.27, Speed: 642.78m/s
Hitting point (14000.17, 8000), Angle: 64.20, Speed: 644.10m/s
To be continued...
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.