w(&:dd ( @ (//(  0/80@0?/8 0( ?G@POWOXOP?H0@/7@O_``h_hPX 0(P_oppxow_g@O/8'' 7p`o?G/7 0??H/8`/o?GOX@H0?/pOW?H/8 7OP?G/7( P0@PX@O0@ 0O @H/@' 00@@P0?'_OP@H( 7/7' ^^^^^^^^^^^^^^^^^^^^^^^^^^TeeBBBBeTT^^^^^^^eBDJ33333JJDBeZ^^^^TD33==#####==3JDBT^^^^eJ=###=3DeZ^^TB3# #=3JBZ^^T3#  #=JBT^^J# Sll #=JBZ^T# %,68??86,/@A*< ##45('.6787-9%:;*<=#$+&,--.,/01)2 3 $%&&'%($!)* ##  !"#     ??du(-Ç<`>F\SX?2e sprite_rocket 4xsf@P ?48CXUb5,BQobject1 object2 gaction_set_hspeed1.50000000chspeedcos(pi*point_direction(x,y,object1.x,object1.y)/180)*400/(point_distance(x,y,object1.x,object1.y)*point_distance(x,y,object1.x,object1.y))000000cvspeed-sin(pi*point_direction(x,y,object1.x,object1.y)/180)*400/(point_distance(x,y,object1.x,object1.y)*point_distance(x,y,object1.x,object1.y))000000c room_captiong"x1="+string(object1.x) +" y1=" +string(object1.y) +" x2="+string(object2.x) +" y2=" +string(object2.y)000000c room_caption|" distance="+string(point_distance(x,y,object1.x,object1.y))+" direction=" +string(point_direction(x,y,object1.x,object1.y))000000c room_caption" speed="+string(speed)000000object3 faction_set_motion755000000-action_set_alarm400000000cspeed1000000 ] Sun's gravity0000000chspeedcos(pi*point_direction(x,y,object1.x,object1.y)/180)*400/(point_distance(x,y,object1.x,object1.y)*point_distance(x,y,object1.x,object1.y))000000cvspeed-sin(pi*point_direction(x,y,object1.x,object1.y)/180)*400/(point_distance(x,y,object1.x,object1.y)*point_distance(x,y,object1.x,object1.y))000000]Moon's gravity0000000cvspeed-sin(pi*point_direction(x,y,object2.x,object2.y)/180)*100/(point_distance(x,y,object2.x,object2.y)*point_distance(x,y,object2.x,object2.y))000000chspeedcos(pi*point_direction(x,y,object2.x,object2.y)/180)*100/(point_distance(x,y,object2.x,object2.y)*point_distance(x,y,object2.x,object2.y))000000c room_caption3" x3="+string(object3.x) +" y3=" +string(object3.y)000000c room_caption|" distance="+string(point_distance(x,y,object1.x,object1.y))+" direction=" +string(point_direction(x,y,object1.x,object1.y))000000c room_caption" speed="+string(speed)000000room02 show_info()        0000{\rtf1\ansi\deff0\deftab720{\fonttbl{\f0\fswiss MS Sans Serif;}{\f1\froman\fcharset2 Symbol;}{\f2\fmodern\fcharset1 Courier New;}{\f3\fswiss\fcharset1 Arial;}{\f4\fswiss\fcharset1 Arial;}{\f5\froman Times New Roman;}{\f6\fswiss Arial;}{\f7\fswiss\fcharset1 MS Sans Serif;}} {\colortbl\red0\green0\blue0;} \deflang1033\pard\plain\lang3081\f5\fs48 Sir Isaac Newton: The Universal Law of Gravitation\plain\lang3081\f5\fs24 \par \plain\f3\fs18\cf0\b Tony Forster September 05 \par may be copied with acknowledgement\plain\f3\fs24\cf0 \par \plain\lang3081\f6\fs20 (This is a recreation of the Apollo Moon missions. \par See newton.gmd for a simpler example involving only 2 objects.) \par \plain\lang3081\f6\fs24 \par Newton published his famous law of universal gravitation in his \plain\lang3081\f6\fs24\i Principia Mathematica\plain\lang3081\f6\fs24 in 1687 as follows: \par \plain\f3\fs24\cf0 \par F = G x m\plain\f3\fs10\cf0 1\plain\f3\fs24\cf0 x m\plain\f3\fs10\cf0 2 \par \plain\f3\fs12\cf0 \plain\f3\fs10\cf0 _______________________________ \par 2 \par \plain\f3\fs24\cf0 r \par \par where F is the force of gravity, G is the gravitational constant m\plain\f3\fs10\cf0 1\plain\f3\fs24\cf0 and m\plain\f3\fs10\cf0 2\plain\f3\fs24\cf0 are the two masses and r is their distance apart. \par \par In this demonstration we have set the Sun's mass to 400 and the Moon's mass at 100 \par r is \plain\f7\fs16 point_distance(x,y,object1.x,object1.y) \par \plain\f3\fs24 The direction of the gravity is \plain\f7\fs16 point_direction(x,y,object1.x,object1.y) \par \plain\f3\fs24\cf0 \par So the force of the Sun's gravity is programmed as mass divided by r squared or: \par \plain\f7\fs16 400/(point_distance(x,y,object1.x,object1.y)*point_distance(x,y,object1.x,object1.y)) in direction point_direction(x,y,object1.x,object1.y) \par \par \plain\f3\fs24 The gravity is broken down into the horizontal components and the Sun's and Moon's components added \par \plain\f7\fs16 \par COMMENT: Sun's gravity \par set variable hspeed relative to cos(pi*point_direction(x,y,object1.x,object1.y)/180)*400/(point_distance(x,y,object1.x,object1.y)*point_distance(x,y,object1.x,object1.y)) \par set variable vspeed relative to -sin(pi*point_direction(x,y,object1.x,object1.y)/180)*400/(point_distance(x,y,object1.x,object1.y)*point_distance(x,y,object1.x,object1.y)) \par \par COMMENT: Moon's gravity \par set variable vspeed relative to -sin(pi*point_direction(x,y,object2.x,object2.y)/180)*100/(point_distance(x,y,object2.x,object2.y)*point_distance(x,y,object2.x,object2.y)) \par set variable hspeed relative to cos(pi*point_direction(x,y,object2.x,object2.y)/180)*100/(point_distance(x,y,object2.x,object2.y)*point_distance(x,y,object2.x,object2.y)) \par \plain\f3\fs24 \par For the moon missions, an initial acceleration was required to leave the earth and then a deceleration to drop into lunar orbit. Later, an acceleration is required to leave moon orbit and a deceleration is required for lower earth orbit. \par \par In this demonstration, an initial speed of 5 is used to escape the Earth's gravity and a further deceleration to speed 1after 40 steps is required to drop into lunar orbit. \par \par Each change of speed uses fuel, energy=1/2mv\'b2 so the fuel use is proportional to the square of the speed. What is the minimum amount of fuel which can be used for a complete mission? Why? \par \par In later probes of the outer planets, the gravity of the planets and moons was used to direct the probe to many destinations. Can you re-create this. \par \par How long is a Mars year? How long is a month? Why? Can you re-create this? \par \par Press escape to see the demonstration\plain\f3\fs24\cf0 \par } Sprites sprite_earth sprite_moon sprite_rocketSounds BackgroundsPathsScripts Data Files Time LinesObjectsobject1object2object3Roomsroom0 Game Information Game Options