In: Mechanical Engineering
Hi, I'm currently writing a Matlab program to simulate the Apollo 11 trajectory. Now I want to plot a 3D animated orbit which is a 60 by 58 nautical miles orbit. Can you provide a code or some idea of how to plot an orbit like this in 3D?
Many mathematical models involve the dynamics of objects under the influence of both their mutual interaction and the surrounding environment. The objects might be planets, molecules, vehicles, or people. The ultimate goal of this chapter is to investigate the n-body problem in celestial mechanics, which models the dynamics of a system of planets, such as our solar system. But first, we look at two simpler models and programs, a bouncing ball and Brownian motion. The exm program bouncer is a model of a bouncing ball. The ball is tossed into the air and reacts to the pull of the earth’s gravitation force. There is a corresponding pull of the ball on the earth, but the earth is so massive that we can neglect its motion. Mathematically, we let v(t) and z(t) denote the velocity and the height of the ball. Both are functions of time. High school physics provides formulas for v(t) and z(t), but we choose not to use them because we are anticipating more complicated problems where such formulas are not available. Instead, we take small steps of size δ in time, computing the velocity and height at each step. After the initial toss, gravity causes the velocity to decrease at a constant rate, g. So each step updates v(t) with v(t + δ) = v(t) − δ g The velocity is the rate of change of the height. So each step updates z(t) with z(t + δ) = z(t) + δ v(t)
The first statement [z0,h] = initialize_bouncer; generates the plot of a sphere shown in figure 17.1 and returns z0, the z-coordinates of the sphere, and h, the Handle Graphics “handle” for the plot. One of the exercises has you investigate the details of initialize_bouncer. The figure shows the situation at both the start and the end of the simulation. The ball is at rest and so the picture is pretty boring. To see what happens during the simulation, you have to actually run bouncer. The next four statements in bouncer.m are g = 9.8; c = 0.75; delta = 0.005; v0 = 21; These statements set the values of the acceleration of gravity g, an elasticity coefficient c, the small time step delta, and the initial velocity for the ball, v0. All the computation in bouncer is done within a doubly nested while loop. The outer loop involves the initial velocity v0. while v0 >= 1 ... v0 = c*v0; end To achieve the bouncing affect, the initial velocity is repeatedly multiplied by c = 0.75 until it is less than 1. Each bounce starts with a velocity equal to 3/4 of the previous one