home *** CD-ROM | disk | FTP | other *** search
-
-
- Documentation for Space Flight Simulator,
- Version 0.02
-
- Copyright (c) 1989, Ted A. Campbell,
- Bywater Software
-
-
- 0 Program Description
- -------------------
-
- 0.1 General Description
- -------------------
-
- The Space Flight Simulator, version 0.02, allows users to
- set a number of orbital parameters, then depicts the orbital
- focus (typically the earth) or the ground track of the orbit
- in real-time simulation.
-
- 0.2 Hardware Requirements
- ---------------------
-
- CPU and Coprocessor: The program will run under MSDOS
- or PCDOS on any of the 8088 and upwardly-compatible
- CPUs. Speed of the processor is critical in this program.
- The presence of a math coprocessor will be automatically
- detected by the program, and will also greatly enhance
- the performance of the program.
-
- Graphics: The program should work with CGA (very
- poorly), Hercules (tm), EGA, or VGA graphics. The
- program automatically detects these graphics systems,
- except the Hercules-type cards. For systems with
- Hercules-compatible graphics, you must run the program
- "msherc.com" first.
-
- 1 Running the Program
- -------------------
-
- To run the program on computers with CGA, EGA, and VGA
- graphics, simply type
-
- sfs
-
- followed by a carriage return. To run the program on a
- computer with Hercules graphics, you must first run the
- program "msherc." The following commands will run the
- program with Hercules graphics:
-
- msherc<RET>
- sfs<RET>
-
- The program will display the log-in sign for the
- Bywater ANSI VDI implementation, then the SFS logo
- (which will remain on the screen for 10 seconds).
- You will then be given the opportunity to set
- parameters.
-
- Note for advanced users: You can also specify the name of
- an SFS focal data file (see below) on the SFS command
- line. For instance,
-
- sfs moon
-
- will start the program using "moon.fd" for its initial
- focal data (do not add the ".fd" extension when specifying
- a focal data file on the command line).
-
- 2 Setting the Initial Parameters
- ------------------------------
-
- The initial parameters screen allows you access
- to three sub-screens. At this point you can press
- "O" (lower or upper case) for the Orbital Parameters
- screen, "I" for the insertion parameter screen, or
- "S" for the system parameters screen. You can enter
- these sub-screens repeatedly in order to get the
- parameters just the way you want them.
-
- For each of the three parameters sub-screens, default
- values are given. You can either enter a new value
- or simply hit "RETURN" to accept the default.
-
- From the main parameters screen you also have the option
- of pressing "X" to exit the program, or of pressing
- "RETURN" (or "ENTER") to begin program execution with
- the currently-set parameters.
-
- 2.1 Orbital Parameters
- ------------------
-
- The "O" option from the main parameters screen brings
- up the orbital parameters screen. This screen allows you
- to set your own parameters for the orbit you want the
- Space Flight Simulator to simulate.
-
- When you first enter the Simulator, the file "earth.fd"
- is taken as the default focal data file (see below for an
- explanation of this file), and orbital default orbital
- parameters are calculated.
-
- Orbits are traditionally described by six parameters,
- or "elements," which are:
-
- the semimajor axis,
- the eccentricity,
- the period,
- the inclination,
- the argument of the periapsis, and
- the longitude of the ascending node.
-
- The Space Flight Simulator calculates each of these
- parameters, but does so on the basis of a file of
- information on the orbital focus, the orbital periapsis,
- and the orbital apoapsis. On the basis of the mass of
- the focus and the radius of the focus (given in the
- focal data file), together with the apoapsis and the
- periapsis, the semimajor axis, eccentricity, and period
- can be calculated.
-
- What this means for you is that you only need to know
- the orbital focus (which planet or other object you
- want to orbit), and the maximum and minimum altitudes
- of the orbit. On the basis of these, the first three
- classical orbital elements will be calculated.
-
- 2.1.1 SFS Focal Data File
-
- Default: earth.fd
-
- The "focus" of the orbit is the object around which
- the orbit will go. The focus may be a planet (the earth),
- or a planetary satellite (the moon). A Space Flight Simulator
- "Focal Data" file is a file that contains some specific
- information on an orbital focus. Although the default
- focal data file is "earth.fd" (for selecting a terrestrial
- orbit), some other focal data files are supplied with
- SFS version 0.02, and can be supplied at this point:
-
- mercury.fd
- venus.fd
- earthb.fd
- moon.fd
- mars.fd
- jupiter.fd
- saturn.fd
- uranus.fd
- neptune.fd
- pluto.fd
-
- None of these will be as interesting as "earth.fd," or "moon.fd,"
- though, because surface features have not been mapped for the
- other foci (in fact, "earthb.fd" is a focal data file for the earth
- which wll represent it as a blank. This is much faster,
- but of course very dull. It can be used if you want to see
- how a given orbit will plot.)
-
- Notes for Advanced Users: The focal data file is an ASCII
- text file which includes the following data, each on a
- line by itself (all examples are from "earth.fd"):
-
- The name of the focus
- (example: "Earth")
- An adjective describing the focus
- (example: "terrestrial")
- The radius of the focus in kilometers
- (example: "6378")
- The mass of the focus in units of the earth's mass
- (example: "1.0")
- The period of a sidereal year in seconds
- (example: "86164")
- The name of an SFS surface-features data file
- (example: "earth.sd")
-
- If you know these data for other astronomical objects,
- you can try entering them.
-
- The surface features data file is also an ASCII text
- file, giving latitude and longitude points along with
- an initial code for each point telling whether it is
- the beginning of a new line to be drawn, what kind
- of surface feature the line is to describe, and
- what level of precision the point describes. There
- are three surface-features data files supplied with
- SFS version 0.02: "earth.sd," "moon.ds," and "null.sd."
- The earth file contains about 2100 points roughly describing
- continental coastlines and islands, and is based on the "Micro
- World Database" distributed independently. The "moon.sd" file
- is a very rough rendering of major near-side maria and a few
- very large craters. The "null" file simply draws a line along
- the central meridian and a dashed aline along its opposite meridian.
-
- 2.1.2 Orbital Periapsis
-
- Default: 0.1 x the radius of the focus
-
- The "periapsis" (also referred to by the specific term "perigee"
- for terrestrial orbits) is the lowest point in an orbit. You can
- specify any positive number of kilometers for the periapsis,
- although you might remember that orbits below about 250 kilometers
- begin to run into serious problems with atmospheric drag.
- (SFS does not account for atmospheric drag.)
-
- 2.1.3 Orbital Apoapsis
-
- Default: 4 x the radius of the focus
-
- The "apoapsis" (also referred to by the specific term "apogee"
- for terrestrial orbits) is the highest point in an orbit. You can
- specify any positive number of kilometers greater than or
- equal to the periapsis. An orbit having an equal apoapsis and
- periapsis will be perfectly circular; all other orbits will
- be elliptical. The greater the difference between the
- two, the greater will be the "eccentricity" of the
- orbital ellipse.
-
- You might remember, as a rule of thumb in setting terrestrial
- orbital altitudes, that the altitude of the moon is 378,014
- kilometers, and this can serve as a practical limit for
- terrestrial orbits, since orbits beyond this range would be
- controlled more by the gravitational effect of the sun than
- by the earth.
-
- 2.1.4 Orbital Inclination
-
- Default: 25 degrees
-
- The "inclination" of an orbit is the amount that the orbit
- is inclined or "tilted" away from the equator of the
- orbital focus. The inclination must be specified in
- degrees between 0 and 180. An orbit having an inclination
- of 0 is "equatorial," that is, it follows the equator of
- the orbital focus. An orbit with an inclination of 90
- degrees is "polar," that is, it will go over the north and
- south poles of the orbital focus every orbit.
-
- Program limitation: Although you can specify any inclination
- (between 0 and 180), the SFS visual simulation sometimes
- has trouble with orbits over polar regions, due to the
- author's lack of experience in spherical trigonometry. You
- may see the orbital focus appear to careen wildly when the
- spacecraft is over the poles. Sorry. Our technical
- advisors are looking into the matter...
-
- 2.1.5 Argument of the Periapsis
-
- Default: 0 degrees
-
- The next two orbital parameters are somewhat more difficult
- to understand, but you can learn about them by experimenting
- with different settings.
-
- The "argument of the periapsis" is the point in the orbit
- where periapsis occurs, measured in degrees (0-360) from
- the point of the "ascending node," which is the point in the
- orbit where the ground track crosses the equator, moving
- in a northward direction.
-
- For a non-equatorial orbit, the argument of the periapsis
- will have the following general effects:
-
- 0 Periapsis will occur at the point over the equator
- where the spacecraft crosses it heading northward,
- and apoapsis will occur at the point over the
- equator where the spacecraft crosses it heading
- southward (0 is the default setting).
-
- 90 Periapsis will occur at the northernmost point in
- the orbit, and apoapsis will occur at the southern-
- most point.
-
- 180 Periapsis will occur at the point over the equator
- where the spacecraft crosses it heading southward,
- and apoapsis will occur at the point over the
- equator where the spacecraft crosses it heading
- northward.
-
- 270 Periapsis will occur at the southernmost point in
- the orbit, and apoapsis will occur at the northern-
- most point.
-
- 2.1.6 Longitude of the Ascending Node
-
- Default: 0 degrees longitude
-
- The "longtude of the ascending node" is the point on the
- focal equator at which ascending node occurs. For SFS,
- the longitude of the ascending node is specified in degrees
- (-180 to 180), with west negative and east positive.
-
- The longitude of the ascending node changes each orbit,
- so what you are setting here is the longitude for the
- first orbit.
-
- SFS calculates orbits beginning at periapsis, consequently,
- you can change either the argument of the periapsis or
- or the longitude of the ascending node (or the insertion
- parameter -- see below) to change what portion of the
- focus you will see when the program begins.
-
- Examples: (a) The default settings have the argument
- of the periapsis at 0 degrees (periapsis over the equator),
- and the longitude of the ascending node at 0 degrees.
- For a terrestrial orbit (the default), this means that
- the orbit will begin at latitude 0, longitude 0, which
- is just off the coast of West Africa. The orbital
- direction will be northeastward, so you will first see
- the African continent, the Mediterranean Sea, and
- Europe beyond them. (b) By retaining all the default
- settings except the longitude of the ascending node,
- and by setting it to -120 degrees, the orbit will
- begin at periapsis over the equator, latitude 0 and
- longitude -120, which is just off of the western coast
- of Central American. Since, again, the orbital direction
- is northeastward, you will first see Mexico and North
- America in the visual display.
-
- 2.2 Insertion Parameter
- -------------------
-
- Default: 9 x the screen update period (in seconds)
-
- The "point of insertion" is the moment in the first orbit
- when the orbit begins (imagine a rocket or spaceplane delivering
- a spacecraft to a certain altitude where the spacecraft would
- take up the orbital track -- this would be the point of
- insertion). The moment of insertion is specified in
- seconds from periapsis, and is limited by the orbital
- period (which is given on this screen).
-
- Example: If you want to begin by seeing the orbital focus
- from apoapsis, specify the insertion moment as one half of
- the orbital period. If the period is 60000 seconds, set
- the moment of insertion to 30000 seconds and you will be
- inserted at apoapsis.
-
- Program Limitation: SFS has to calculate a certain number
- of orbital position points before it can begin a visual
- display. Consequently, the earliest insertion point you
- can specify is 9 times the screen update period. When
- the screen update factor is 15 (the default), the earliest
- insertion moment is 135 seconds (2 minutes, 15 seconds)
- into the orbit.
-
- Note: Setting orbital parameters will affect a recalculation
- of the orbital period. Moreover, resetting the screen update
- interval (see below) may force the program to increase
- the moment of insertion to 9 times the (new) screen update
- interval. If setting the insertion parameter is critical,
- set it after the orbital and system parameters have been set,
- so that the insertion parameter screen will show the correct
- orbital period.
-
- 2.3 System Parameters
- -----------------
-
- The system parameters screen allows you to set three parameters
- controlling the manner in which calculations are made and the
- screen is updated. Note that you can also change the system
- parameters later, while the program is running, but it is best
- to specify system parameters from the beginning.
-
- 2.3.1 Time Factor
-
- Default: 1 x real time
-
- The "time factor" is the ratio of flight time to real time.
- If the time factor is set to one (the default), the program
- will try to run in real time). If the time factor is
- set to two, the program will calculate two flight seconds
- for every real second, and so forth. Increasing the time
- factor allows you to speed up the orbital progress.
-
- The time factor and the screen update interval are closely
- related (see below).
-
- The time factor affects the apparent "roughness" of the
- visual simulation image. For real-time calculation,
- this is usually nominal, but for higher factors (especially
- when the orbital period is relatively low), a too-high
- time factor can result in serious distortion of the
- image. If the earth appears as a deflated balloon or a
- dried prune, you've probably set the time factor too high.
-
- 2.3.2 Screen Update Interval
-
- Default: 15 seconds
-
- The "screen update interval" denotes the number of flight-
- time (not necessarily real-time) seconds between each update
- of the screen. This parameter, then, is contingent on the
- time factor (see above): if the time factor is set to 1
- (the default) and the screen update interval is set to
- 15 seconds (the default), then the program will try to
- update the screen every fifteen seconds in real time.
- If, however, the time factor is set to 2 and the screen
- update interval is still set at 15 seconds, the program
- will attempt to update the screen every 7 or 8 real-time
- seconds (corresponding to 15 flight-time seconds).
-
- You need to find out, by experimentation, what the best ratio
- is for your computer system for the relationship between
- the time factor and the screen update interval. The
- default 1:15 ratio works nominally on a computer with
- a 10 mhz 8088 CPU and no math coprocessor. An 80286
- machine with a math coprocessor can easily make a 1:5
- ratio (e.g., you could set the time interval to 4 and
- the screem update interval to 20 seconds, and the
- screen will be updated every 5 real-time seconds). Slower
- computers may not be able to keep up with the 1:15 ratio.
-
- 2.3.3 Trig Precision Level
-
- Default: 1 (fast)
-
- The "trig precision level" specifies the level of accuracy
- at which trigonometric functions are calculated by the
- program. Trig functions take up most of the processing time
- for the program, so by default SFS utilizes a look-up table
- for calculating trig functions. By specifying "2 (precise),"
- however, you can force the program to perform much more
- accurate (and much slower) trig calculations. The
- look-up tables work acceptably well, so I would recommend
- setting the trig precision level to 2 only if you have
- a math coprocessor.
-
- 3 Program Screens and Options
- ---------------------------
-
- 3.1 Initial Calculations
- --------------------
-
- After you hit <RETURN> from the main parameters screen, the
- program will begin a series of initalizations and initial
- calculations. The latitude and longitude grids will be set
- up in the computer's memory, and the surface data file will
- be read into memory. Then the computer will figure two
- iterationss of calculations before it beeps, denoting that orbital
- insertion is about to occur.
-
- It is possible to press <ESCAPE> while the initial calculations
- are being made. You will be given a menu from which you can
- (a) toggle between the ground track and vidual simulation
- modes (neither will be displayed until all the initial calcula-
- tions have been completed, but this allows you to specify the
- ground track as the initial display instead of the visual
- simulation, which is the default), (b) reset the system
- parameters, or (c) exit from the program.
-
- 3.2 The Control Panel Display
- -------------------------
-
- After orbital insertion occurs, you will be shown the visual
- simulation, or the ground track display if you have chosen it.
- In either of these screens, there is a control panel on the
- left hand side with some specific information in it. This
- control panel is subdivided into three subpanels.
-
- The "Focus" panel at the top has the following fields:
- (a) "Fo:" gives the name of the orbital focus, and (b) "La:"
- and (c) "Lo:" give the latitude and longitude of the "sub-
- satellite point" (SSP), that is, the point on the surface
- of the orbital focus directly underneath the spacecraft in
- its current orbital position. The "La:" and "Lo:" fields
- will change each time the screen is updated (except for a
- focal-centric orbit).
-
- The "Relation" panel in the middle gives information on
- the relation between the spacecraft and the orbital focus.
- (a) The "Or:" field shows the number of the current orbit
- (beginning with 1), and (b) the "Al:" field shows the altitude
- of the spacecraft above the surface of the focus in its current
- position. The "Al:" field will change for each screen update
- for elliptical (non-circular) orbits.
-
- The "Timing" panel at the bottom shows three sets of timing
- information: (a) the "Ti:" field shows Coordinated Universal
- Time (UTC) for the simulated spaceflight. (UTC is calculated
- on the basis of your computer's internal clock and the global
- environmental variable TZ which sets your time zone. See "Note
- for advanced users" below.) Note that although the program
- tries to calculate the actual UTC time for orbital insertion,
- the "Ti:" field is updated from that point with the simulated
- flight time, not real time (that is, if the time increment is 2,
- this clock will be incremented 2 seconds for every real-time
- second). (b) The "Da:" field gives the number of days elapsed
- in the flight (beginning with 0), and (c) "El:" gives the amount
- of time (hours, minutes, seconds) elapsed in the flight. This
- too is simulated flight time. The "Ti:" and "El:" fields should
- be updated with every screen update, and the "Da:" field should be
- updated every time the "El:" clock passes 24 hours.
-
- Note to Advanced Users: If you want the system to set UTC correctly
- based on your internal clock, you need to set the environmental
- variable TZ before running the program. A sample command, which
- might be included in your autoexec.bat file would be:
-
- set TZ=EST5EDT
-
- which would set the system for the Eastern time zone of the U.S.
- Other North American settings would be:
-
- set TZ=CST6CDT
- set TZ=MST7MDT
- set TZ=PST8PDT
-
- for Central, Mountain, and Pacific time zones, respectively.
-
- 3.3 The Visual Simulation Display
- -----------------------------
-
- The visual simulation is the default display for the Space Flight
- Simulator, and will appear at first unless you specifically request
- the ground track display by hitting <ESCAPE>-G while the initial
- calculations are being performed. The entire screen to the right
- of the control panel will be used to display the image. The latitude
- and longitude grid will be shown with finely dotted lines (blue,
- on color systems), and surface features will be shown with complete
- lines (green, on color systems). If the focal data file specifies
- "null.sd" as the surface features data file, the only surface features
- visible will be the central meridian (a connected line), and its
- opposite meridian (longitude -180; a dashed line). Note that the
- visual simulation display will grow smaller as the altitude increases.
- The program attempts to keep the current direction pointed to by
- the spacecraft at the top of the visual simulation screen.
-
- 3.4 The Ground Track Display
- ------------------------
-
- The ground track display shows the track of the spacecraft laid
- out on a flat ground map. (On color systems, the ground track will
- be shown as a red line.) You can switch to the ground track display
- while the program is running by hitting <ESCAPE>-G. (Return to
- the visual simulation with <ESCAPE>-V.)
-
- If you watch long enough to see more than one orbit, you will
- probably notice how the second orbit begins at a different
- longitudinal point than the first (a new longitude of the ascending
- node). For polar orbits, you may notice strange patterns in
- the polar regions, due to the distortion of the flat map. For
- highly eccentric orbits, you may notice some really odd ground
- tracks (retrograde motion and the like).
-
- At the bottom of the ground track display there is a panel showing
- the six classical orbital elements for the orbit you have chosen.
-
- 3.5 Changing System Parameters with Program Running
- -----------------------------------------------
-
- As mentioned above, it is possible, though not highly desirable,
- to change the system parameters (time factor, screen update interval,
- and trig precision) while the program is running. Two matters
- should be noted about in-flight changes in the system parameters:
- (a) it may take as many as eight screen updates (one complete
- calculation iteration) before the changes take effect, and (b)
- you may notice a time lag (if you have increased the time factor)
- or a lengthy pause (if you have decreased the time factor) following
- such a reset in the system parameters.
-
- Remember to try to maintain the ratio between the time factor
- and the screen update interval that is appropriate to the speed
- of your system. Watch the status line at the top of the screen:
- a time lag does not necessarily mean that the system cannot keep
- up, but a consistently increasing time lag does.
-
- 4 Use and Copying of the Space Flight Simulator
- ---------------------------------------------
-
- Individuals may freely copy and share the Space Flight Simulator,
- version 0.02, for their own instructional and recreational use.
- A minimal fee may be charged for copying the program and for media.
- Educational and other non-profit organizations may copy and use
- the program freely, but under no circumstances may it be used
- by defense agencies or defense contractors in any country.
- Users and distributors of the program must not use it commercially,
- and must not remove or alter its copyright notices.
-
- Note that these restrictions do not apply to the file "earth.sd,"
- which is based on the "Micro World Database" and whose data is,
- as I understand it, in the public domain.
-
-
- 5 Communications
- --------------
-
- Ted A. Campbell
- Bywater Software
- 1 August 1989
-
- Genie: T.CAMPBELL1
- Usenet: tcamp@dukeac.ac.duke.edu
- ...!{ethos,ecsgate}!dukeac!numen!tcamp
-
- Mail: Ted A. Campbell
- Bywater Software
- Box 4023
- Duke Station
- Durham, NC 27706
-