`
`Smith, Douglas Bernard.; Streyle, Dale Gerard.
`
`Title
`
`An inexpensive real-time interactive three-dimensional flight simulation system
`
`Publisher
`
`Issue Date
`
`1987
`
`URL
`
`http://hdl.handle.net/10945/22294
`
`This document was downloaded on May 22, 2015 at 14:41:01
`
`
`
`BUNGIE - EXHIBIT 1014
`
`
`
`
`
`
`4: mum
` u. m amu—
`"mu-1"
`.1.
`111:!I.
`
`1M:- Inn-n 11a.
`L1:41.-‘14
`
`1.1.
`1.11.11»-
`
`
`
`
` 1 :11 -11“.1111---
`“'4‘: ‘4".
`‘AWWW1IIA
`11.11.1111...-
`11 11-.
`
`
`
`.111
`1.1 .1
`I11; 1 ,1... ...».
`1‘11111-11111v1141uu-m
`
`1.1.. 1.1.11‘11” 1
`
`
`1 1.11 1:51.”.J1rzi. ..
`1.1.1.-.11.Inq1-1u1
`1
`~ mwuo~n upunml unwed“
`
`
`1111‘1..11.1.111v...
` 11,-";
`
`
`1-111
`.1 1,... 1 1
`111.541.; 11.41-11-
`1.11111.-
`wu'u-‘u. .- .111,11,111... 1-1...
`
`
`11. 1 mun-1.
`.11“
`1
`
` 1 - 11
`111a“. 1..
`.. ..
`w0u~|qm n.~-~u.~.l..a111u.u..
`1111111110111.
`
`
`”1“,.111111\ '4‘
`
`
`
`N
`< ~14. . A‘II. him} an:
`11.11.41 .1. 1.
`'i‘ 14.
`1... 111 11
`1 1.1. 11-111.... 1111.11.11...
`
`
`1.11.: 1.1.
`111......
`
`
`11.111.111.111... 1. 1111..
`
`1... 111.111.11.111.
`11.1.1111 11.1.1.
`
`‘1v-1IH1~*5¢IU_au-n.unmud
`1111 1,111,111,111)? Mun i.\-§~111b~un«
`32.111.111.-.111.1..1.1.11\1
`1.1 1
`.1 11
`.1.-.1 11-1 u~_..‘.11'..
`
`1,.,.1..-...11..
`
`squ 1-1“.
`
`. Menum'fi-u“
`......11 51.1.1.1...
`
`1-.l‘ 1‘- u'u“ 11
`‘6
`
`11.
`
`
`
`
`.
`1. 1..
`. 111111
`1
`.11....»meow-«11m-
`
`-.
`.
`.
`1
`'5'
`1 M...
`1
`11.1“; 1.1111.»
`-1111!
`“my-11.11
`~
`‘6
`\1-
`-~1¢1§ N'IIV
`y~<
` ‘11._11r1.-1.-1.-1-4-e-
`
`
` IMIWK. 1..
`1
`1
`.1
`. 1. 1111-1
`
` 1 '1
`
`
`1
`1
`1.
`.
`1
`.
`1
`1 11
`1
`.
`1 .1 .1111\1.'1 . H
`15mm...
`1. .1; 1111111111
`‘11111111
`-11
`1.
`1
`1
`.
`:11
`1
`. y
`1 1
`.
`.11 “1--
`. 11 1111111111
`1 £4111 11....- 1A. AWH‘a-ar.1.»1.1.1.. 1.1111
`r
`.
`11-:“11;
`1.1 -1 1
`8'
`
`
`
`..111
`
`
`
`11'1“1,11.
`
`.
`_.,_ 1‘
`.. - J
`1
`.
`“:13”. .~1.::J..\,..
`-
`
` .
`. 1.1.
`411111-
`y. ‘.;-“" ‘1’}:11
`.
`1.; .... 1:1?!- ~11
`~
`
`
`
`
`1
`. 1'
`1
`,
`. 1.
`.
`.
`.
`
`.
`
`.
`
`.
`
`-
`.
`
`.
`.
`
`.
`
`.
`
`.
`
`.
`
`I
`
`.
`.
`.1
`
`.
`
`.
`
`.
`
`-
`.
`
`.
`
`-
`
`.
`
`.
`
`.
`
`-
`.
`
`.
`1
`
`.
`
`.
`
`.
`
`.
`
`.
`
`1"
`.
`.
`.
`
`.
`
`.
`
`I
`
`,
`
`.
`
`.
`
`.
`
`-
`
`.
`
`.
`
`.
`
`.
`
`.
`.
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`
`
`1
`
`1
`
`1
`
`.
`
`'
`
`1
`
`'
`
`.
`
`.
`
`.
`
`.
`
`1
`
`1
`
`1
`
`1'
`
`
`
`'1
`
`'
`
`1
`
`'
`
`1
`
`1
`
`'
`
`.
`
`.-
`
`.
`
`1
`.
`.
`'
`1
`
`1
`
`,
`
`‘
`
`1
`1
`
`.
`
`.
`
`_
`1
`
`1
`
`1
`
`.
`
`. 1'
`
`.
`'1 '
`
`.
`
`.
`
`.
`
`1
`
`1
`
`'
`.
`
`1
`1
`
`1
`
`‘.
`
`1
`
`1
`
`1'
`
`1
`
`1
`
`.
`
`.
`
`.
`
`1
`
`.
`
`.
`
`'
`
`-
`
`.
`
`1
`
`1
`
`1
`
`1
`'
`
`.
`
`'
`
`1
`.
`
`1
`
`.
`
`1
`1".
`1
`1
`
`1
`
`w
`
`1
`
`1
`'1 1 1
`' ‘
`'
`1
`1
`
`1
`
`1
`
`
`.
`
`'1
`.
`
`1
`
`'
`
`a
`
`.
`
`'
`
`.
`
`1
`
`1
`
`.
`
`1 z
`
`1
`
`‘
`
`.
`
`.
`1
`.
`1
`.
`1 ,,
`
`
`.
`1
`I
`-.
`.
`1
`:91,th
`‘
`.
`1'
`‘
`'
`'
`'
`1
`'
`-
`'.
`
` «3111111,... 1111:1111
`-
`.
`-
`1
`1
`'
`:-.
`.
`!
`mv-w-n-v. ? 17m; .
`1.
`.
`1
`1
`.
`
`
` . 1 1. .
`
`
`
`
`
`
`
`111‘-
`1
`111
`n-wmuww-
`.13 M
`.
`.
`1
`..
`1
`
`
`11.1I11‘11 1
`11
`'z-‘hnv‘v’vk-In- --- 1-1:“:
`1
`.
`1
`-
`_
`1'
`1
`-1
`.
`1
`1
`.
`1
`1
`.
`.
`.
`1
`
`1.
`1.
`1,111-
`.11 1
`..1I1111n1mI "11'
`1
`1
`)
`1
`1 1'
`1.
`1
`.
`.
`1
`
`
`
`,1
`111111-111“.
`'
`‘
`1
`
`'11.1>1n1.1 ,,'$’.1.
`_ 1111111.,71w'1I1
`-
`'
`
`
`. 1.11 1
`1.1111111111111111.
`.
`
`1'
`""114
`,1111111
`111.111W ”I”.
`_
`1
`1
`1
`1
`
`
`
`. 11-1-1111 «11-1 uni-H—
`
`1,
`‘
`-
`$1133..w¥’111111..fi11.: 11-1-16‘01'
`1
`n1
`41.......“"'"“""“"“
`.
`.
`I
`'
`
`1
`
`11.11
`1, 11 1/ 111m- vm-
`aw
`1
`
`111I -1..
`11111111131411 I11. 1111111511171
`1-
`.1.
`.1111 1111
`. 11111-114111"
`
`
`11+ 1.11'11
`11.1.. 11-11111-91— 111-111.
`..-—urn—
`V’
`
`
`
`. ' ""11,111111-111......,1.1' 3:1'11 '1'1 11 1111 n 11111111 111 11111111111'1111111—1...
`
`
`
`1 141M111 111— 1111- 1.
`W191..-“
`
`1.1-1.1.11vuéw
`
`111-1.
`1.11111”.-
`aminwmu:
`
`1
`.
`
`1
`
`‘
`-
`
`1
`1
`
`1
`
`.
`‘
`'.
`-
`
`
`1
`1
`-
`
`1
`
`1
`
`o
`
`'.
`
`1
`
`.
`
`1.
`1 1
`1
`
`-
`
`-
`
`1
`r
`
`'
`
`1
`
`1
`
`1v
`
`1
`
`-
`
`'
`1
`
`I
`
`1r
`1
`
`-
`
`1
`
`11»
`1
`
`
`
`1
`. r
`
`1
`1
`
`1
`r
`
`1
`
`.
`
`'
`
`1.
`.'
`
`1
`.
`
`1
`
`.
`1
`
`.
`
`-
`.1
`1
`
`1
`‘
`
`11
`
`1
`
`.1
`
`.11
`-
`
`1
`
`.
`
`-
`
`1
`
`.
`
`1
`
`1.1
`
`‘
`
`1
`
`1
`
`1
`
`.
`
`.
`
`.
`
`1
`
`v
`
`1
`
`1
`
`1 1
`111
`
`-
`
`.
`
`1
`1
`1 1
`
`.
`1
`
`1
`
`.
`
`.
`
`1
`
`1
`
`1
`
`1
`
`1
`
`.
`
`.
`
`.
`
`.
`
`1
`
`1
`
`.
`1
`1
`
`.
`
`-
`
`1
`
`'
`
`1
`
`.
`
`.
`
`1
`'
`1
`
`-
`
`1
`
`.
`
`.
`
`.1
`
`1
`
`.
`
`1
`
`1
`
`~
`
`1
`v
`
`1
`
`1
`
`1
`
`.
`
`1
`
`.
`
`.
`
`.
`
`.
`
`1
`
`-
`
`1 -1
`
`-
`
`1
`
`
`
`
`
`1
`
`1
`
`.
`
`I
`
`1
`
`.
`
`.
`.
`
`1
`
`.
`
`'
`1
`1
`
`1
`1
`
`-
`
`I
`a,
`.
`1
`I -
`
`1
`
`1
`
`1
`
`1
`
`1
`
`1
`
`1'
`
`1
`
`.
`
`-
`x
`1vnw
`any-m
`
`-
`1 -
`1
`1.
`1 1.
`.11,I
`1
`.-
`
`. -I,1l1-
`11
`a
`19:15... 2"..
`1 .1
`2:1 my;
`
`
`
`
`
`
`1;. mew «111111-1.
`11111111111
`”-1.11 11-11-1111an .11
`1111...,
`
`
`1
`m and», 11mmMARX“! 1.111111111113'11111'1.
`"‘
`
`
`
`1
`1
`1-
`.11
`nfl‘réufi
`1.1 -v~.u111wu1-1~1-111-1<u'1m11-u~ auu—ci-..
`1
`‘I 14
`1
`1,11 1
`,1
`-r--—\-~«un-
`11.111111111111111.
`1.
`.
`4(1 111 -11111 1&1 Mn
`sum-mumnum- 1mm1m1111121mm
`
`
`1
`1! .1
`«11 .11.
`”manna-1+
`
`
`
`"
`1.111111411111111”—
`.11....1...11.,1...111.
`
`1
`1
`Mummy“...—
`
`.
`
` Im-mvummmumim 111-1111111111
`1
`1 Irvmtvlhwflin‘
`"1 111-111-1111- 111-1111
`I
`nunuhrwmhphmwp-wwmm W— 11-11
`1,
`
`1-»:«11-Iww'mwrflvm Mon-pmh-wn
`
`1
`1
`1
`wwmwwmnw-mnmmumm
`Ian-NM
`
`51.11111111111mm-a1 ”1111.11111111
`1-1
`11111111,.
`1 1':-mm1¢~mp11..1111111 owl-av- m-ni-uwmm-m m1
`W111.
`1111-111- «11.11.1111.
`.
`11mm-
`.
`1
`11 11119.. w
`Ywmur1-11I3Il1vaWm-mg—u
`1
`1
`
`1» m~1~~un ww-
`rvv'vwr-a
`.
`..
`
`1111141111”
`"wick Mir—111 mu:
`1
`1
`.
`.«1
`
` W- 111-11111111111-11-111
`1
`
`=19; «wry-«11.1 11-11—14-191:
`
`.11. 11:...
`.01:- :1
`111.111.11.111“... 111111-11...”
`1 111 1'“111 11
`.
`11....-.1111-1-w1111mw
`
`-
`1 1.
`’11.,
`11.1w 11-11111
`man-rm "amp-11mm
`
`
`
`
`:
`1 M
`nun-mu
`1-1111111-11-1111111111-11
`(«17‘1'
`
`1.11 A 111111.31.w
`1411-11
`1-1 1~111111111111 o1.
`.— 1
`
`
`a '
`rm
`
`1.
`
`Hun-tum «nuwé1wm 11.11.111.11111-11'1111111-11111 w—w11111.11 11m:- Md: 111mm mam-m‘ruvw
`
`nut-bunny:— “Wyn-mm11-W1mm1—nm1‘1
`1311. 1 .11 1.11111 ~11 1 me-‘mwumfiwlr1mm-1ue4-m11m—11-1
`
`
`
`
`-
`”new" Mina-NM» «Irm- u-v-Wm ..11 Mrdwmnm-W 11
`
`‘
`1
`.
`2
`1
`'
`' ..
`~ 11:11”; va‘»:.:::;:‘:,;w:.-:.mtm=1.mm 1.137%...
`7‘1"?“ ' "“"“"" ' ' "W"”
`1-
`
`
`
`
`
`
`-
`.
`1
`1
`.1 11
`“1.11%.,1mwwmfl-gmm
`.11. 11.11111... 1.1.11...
`.1111.
`
`
`
`
`11
`1
`I1 1
`.1m 1111 art- 11.111111111111111‘1311111111
`11114119111111
`411..
`1
`1
`1-
`11
`,wmm-m nut-.mmwr‘lfl
`1‘
`......”m“.
`1
`
`
`1 1114 n-.-'.11-1111 m-Huwm-m 11m
`1
`-
`.
`1w
`~q 11111~WW11311MI
`1-1111-1111-1...“
`d
`111 ’11,-
`1.
`11?"?1-12-1341
`.
`1
`1
`1
`
`
`
`
`
`111
`1,11 .111 1.1-1.1. w
`11... 111
`1111.11.111111.11111111111111me :14 n
`.11.
`-
`
`111m» :fi-rwnnmlv 1 mww- 1111.11—«1-1-«1-1111'.‘ «1-111».-
`111111. 1
`1111111.
`1
`.
`
`
`m‘wM-wna-nnanu
`1111111111111-W1u
`hm nu 1111
`rung; 1mm-
`Ina-M11"w. my
`-
`~
`.'
`-
`
`
`«111 mopur u 1211.11.15.11
`gunman...“
`1111M. m
`A 1
`1"
`10_r-1~
`111. 11-4111 111-111-1111.:
`.11
`
`«mm-m 101M!" «1111'
`111.111.1111?-
`1.1111111.
`1 ant! 1m»
`111—"... 10 mac-«2v.
`“\c‘n10pm:
`
`whip-«1111.11. 1-151-111-1111.
`
`nwwmw'u—u-
`11—1111- v-q rm.
`r—rm
`
`
`m
`...1...11..1...1... «...—11-..
`
`
`
`mgr-wow"- .— 1- "awn-1
`mam—m-
`11161111."1Y2;
`1 1runnuniv
`
`“23111111111
`In: mama
`MM
`«I
`Might)!«1"1 km"nun
`
`'F'”r:;m'":31 '"'”mmmzx. "5""
`1'11;"”1 1 15,
`
`
`«ovum-«mmu-gw"m "warm-mm”
`1,.
`
`45:1”. «rmvi"
`
`
`
`
`
`
`
`
`
`DUDLEY KNOX LIBRARY
`DUDLEY KNOX LIBRARY
`NAVAL POSTGRADUATE SCHOOL
`NAVAL POSTGRADUATE SCHOOL
`MONTEREY, CALIFORNIA 93943-5002
`MONTEREY, CALIFORNIA 93943-5002
`
`
`
`
`
`
`
`NAVAL POSTGRADUATE SCHOOL
`
`Monterey, California
`
`THESIS
`
`AN INEXPENSIVE REAL-TIME
`INTERACTIVE THREE-DIMENSIONAL
`FLIGHT SIMULATION SYSTEM
`by
`Douglas Bernard Smith
`Dale Gerard Streyle
`
`June 1987
`
`Thesis Advisor:
`
`M. J. Zyda
`
`Approved for public release; distribution is unlimited.
`
`T 23366**
`
`
`
`
`
`
`
`unclassified
`Cu«i r Y CLASSIFICATION OF ThiS PaGE
`
`i REPORT SECURITY CLASSIFICATION
`unclassified
`i SECURITY Classification authority
`
`i declassification /downgrading schedule
`
`PERFORMING ORGANIZATION REPORT NUM8ER(S)
`
`REPORT DOCUMENTATION PAGE
`lb RESTRICTIVE MARKINGS
`
`3 distribution/ AVAILABILITY Of report
`Approved for public release;
`distribution is unlimited.
`S MONITORING ORGANIZATION REPORT NUM8ER(S)
`
`NAME OF PERFORMING ORGANIZATION
`ival Postgraduate School
`
`60 OFFICE SYMBOL
`(if 4pphc*bl*)
`
`52
`
`7a NAME OF MONITORING ORGANIZATION
`Naval Postgraduate School
`
`AODRESS (Cry. Sttt*. and ZIP Cod*)
`
`7b ADDRESS (Cfy. Sfjf*. and ZlPCod*)
`
`lo'nterey, California
`
`93943-5000
`
`Monterey, California
`
`93943-5000
`
`NAME OF FUNDING /SPONSORING
`ORGANIZATION
`
`8b OFFICE SYMBOL
`(if applKsbi*)
`
`9 PROCUREMENT INSTRUMENT IDENTIFICATION NUMBER
`
`AOORESS(C/ry. Sate, and ZIP Cod*)
`
`10 SOURCE OF FUNOlNG NUMBERS
`PROGRAM
`PROJECT
`NO
`ELEMENT NO
`
`TAS<
`NO
`
`WORK UNIT
`ACCESSION NO
`
`r
`
`TL£ (/"C/U* Se"""y C,iU,ht' uon) AN INEXPENSIVE REAL-TIME INTERACTIVE THREE
`DIMENSIONAL FLIGHT SIMULATION SYSTEM
`
`.
`
`,
`
`_
`
`,
`
`,
`
`,
`
`,
`
`_
`PERSONAL AuTmOR(S) _
`^ ,
`„
`„
`„
`Smith, Douglas Bernard and Streyle, Dale Gerard
`«4 DA« OL REPORT (Year, Month Day)
`June
`
`i type OF REPORT
`ister's Thesis
`Supplementary notation
`
`l 3d T'ME COVERED
`FROM
`
`TO
`
`IS PAGE CO^NT
`237
`
`f ElD
`
`COSATi CODES
`GROUP
`subgroup
`
`18 SUBJECT TERMS (Continue on reverie if neceu*ry and identify by blo<k number)
`flight simulation; DMA terrain data, computer
`graphic terrain display
`
`ABSTRACT (Continue on revert* if netemry jnd identify by block number)
`I prototype flight simulator for the Fiber-Optically Guided Missile
`This prototype demonstrates the practicability and
`'FOG-M) is presented.
`r easibility of using low-cost graphics hardware to produce acceptable
`;imulation of flight over terrain generated from Defense Mapping Agency
`The flight simulator displays a dynamic,
`^DMA) digital elevation data.
`spree-- dimensional , out - the-window view of the terrain In real-time while
`The total system cost (software
`'esponding to operator control inputs.
`md hardware) of the simulator is an order of magnitude less than most
`"light simulation systems in current use.
`
`D OTiC USERS
`
`S"R'3UTiON/ AVAILABILITY OF ABSTRACT
`JuNCLASSiFiEQ/'UNL'MlTEP D SAME AS RPT
`vTyA
`rof.°WicP
`FORM 1473,34ma«
`
`cla
`
`T.'
`
`E
`
`i
`
`e9
`
`s
`fia
`
`21 ABSTRACT SECURITY CLASSIFICATION
`unclassified
`22c OFFICE SYMBOL
`22b TELEPHONE (Indud* Ares Code)
`f408") 646-2305
`Code 52Zk
`33 APR edition may be uied until exhausted
`SECURITY CLASSIFICATION OF '
`unclassii led
`All other editions are ooioiete
`
`IS "AGi
`
`
`
`Approved for public release; distribution is unlimited.
`An Inexpensive Real-Time
`Interactive Three— Dimensional
`Flight Simulation System
`by
`
`Douglas Bernard Smith
`Captain, United States Marine Corps
`B. 3., Duke University, 1981
`
`and
`
`Dale Gerard Streyle
`Lieutenant, United States Coast Guard
`B. S., United States Coast Guard Academy, 1980
`
`Submitted in partial fulfillment of the
`requirements for the degree of
`MASTER OF SCIENCE IN COMPUTER SCIENCE
`from the
`NAVAL POSTGRADUATE SCHOOL
`June 1987
`
`
`
`ABSTRACT
`
`A prototype flight simulator for the Fiber-Optically Guided Missile (FOG-M)
`
`is presented. This prototype demonstrates the practicability and feasibility of
`
`using low-cost graphics hardware to produce acceptable simulation of flight over
`
`terrain generated from Defense Mapping Agency (DMA) digital elevation data.
`
`The flight simulator displays a dynamic, three-dimensional, out-the-window view
`
`of the terrain in real-time while responding to operator control inputs. The total
`
`system cost (software and hardware) of the simulator is an order of magnitude
`
`less than most flight simulation systems in current use.
`
`3
`
`
`
`TABLE OF CONTENTS
`
`I.
`
`INTRODUCTION
`
`A. FOG-M
`
`1. Background
`
`2. Description
`
`B. ASPECTS OF FLIGHT SIMULATION
`
`1. Realism
`
`2. Frame Update Speed
`
`C. ORGANIZATION
`
`II.
`
`COMPUTER SYSTEM
`
`A. HARDWARE AND SYSTEM OVERVIEW
`
`B. SOFTWARE
`
`III.
`
`DIGITAL ELAVATION TERRAIN DATA
`
`A. INTRODUCTION
`
`B. COVERAGE
`
`C. STRUCTURE
`
`D. LOCATION
`
`IV.
`
`TWO-DIMENSIONAL TERRAIN MAP PORTRAYAL
`
`A. COLORS
`
`10
`
`10
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`16
`
`18
`
`20
`
`20
`
`20
`
`21
`
`22
`
`25
`
`25
`
`
`
`B. DRAWING
`
`C. WRITEMASKS
`
`1. Color Table
`
`2. Bitplanes
`
`3. Writemask Example
`
`4. Writemasks in FOG-M
`
`V.
`
`THREE-DIMENSIONAL TERRAIN CONSTRUCTION
`
`A. REPRESENTATION DECISIONS
`
`1. Polygons versus Patches
`
`2. Resolution
`
`3. Elevation Scaling
`
`4. Shading and Texturing
`
`a. Elevation Based Shading
`
`b. Lambert's Cosine Law Shading
`
`c. Gouraud Shading
`
`d. Adding Texture
`
`B. INTERNAL DATA STRUCTURES
`
`VI.
`
`FLIGHT SIMULATION
`
`A. OVERVIEW
`
`B. UPDATING THE MISSILE'S POSITION
`
`28
`
`29
`
`29
`
`29
`
`30
`
`32
`
`34
`
`34
`
`34
`
`36
`
`36
`
`38
`
`38
`
`39
`
`41
`
`43
`
`44
`
`46
`
`46
`
`46
`
`
`
`1. Case 1 - Operator Control
`
`2. Case 2 - Locked Onto a Target
`
`C. DETERMINING THE LINE OF SIGHT
`
`D. DISPLAYING THE SCENE
`
`1. Viewing Transformations
`
`2. Determining Which Polygons to Draw
`
`3. Hidden Surface Removal
`
`E. SIMULATOR PERFORMANCE
`
`VII. TARGET INTEGRATION
`
`A. GENERAL
`
`B. TARGET CREATION
`
`1. The System Matrix
`
`2. Target Transformations
`
`C. ANIMATION
`
`D. DISPLAY
`
`VIII. CULTURAL FEATURE INTEGRATION
`
`A. EXTERNAL DATA FILE FORMAT
`
`B. CONSTRUCTION OF THE ROAD POLYGONS
`
`C. INTERNAL ROAD-POLYGON STORAGE
`
`IX.
`
`FOG-M SIMULATOR USER'S GUIDE
`
`6
`
`47
`
`48
`
`50
`
`52
`
`52
`
`58
`
`60
`
`65
`
`71
`
`71
`
`72
`
`72
`
`74
`
`75
`
`76
`
`82
`
`S2
`
`83
`
`87
`
`89
`
`
`
`A. OVERVIEW
`
`B. STARTING THE SIMULATION
`
`C. PRELAUNCH CONTROLS
`
`1. The Prelaunch Display
`
`2. Selecting the Launch Position
`
`3. Selecting the Target Position
`
`4. Launching the Missile
`
`D. IN-FLIGHT CONTROLS
`
`1. The In-Flight Display
`
`2. Controlling the Camera
`
`3. Controlling the Missile Flight
`
`4. Designating and Rejecting Targets
`
`X.
`
`CONCLUSIONS AND RECOMMENDATIONS
`
`A. LIMITATIONS
`
`B. FUTURE RESEARCH AREAS
`
`C. SUMMARY AND CONCLUSIONS
`
`APPENDIX A - MODULE DESCRIPTIONS
`
`APPENDIX B - SOURCE LISTINGS
`
`LIST OF REFERENCES
`
`INITIAL DISTRIBUTION LIST
`
`89
`
`89
`
`91
`
`91
`
`95
`
`95
`
`96
`
`96
`
`96
`
`99
`
`99
`
`101
`
`103
`
`103
`
`104
`
`104
`
`106
`
`128
`
`233
`
`235
`
`
`
`ACKNOWLEDGEMENTS
`
`The authors wish to express their gratitude to a number of people who
`
`supported this study. To our advisor, Dr. Michael Zyda, who provided us with
`
`the knowledge and insight necessary to complete the project, and then stepped
`
`back, allowing us the freedom to learn through exploration.
`
`To the following people who provided programs and subroutines which were
`
`incorporated into the project:
`
`- MAJ Ron Ross, USA, for
`make — database — e routines.
`- LCDR Mike Oliver, USN, for enhancements to the tank image.
`
`of
`
`the
`
`preiaunch &
`
`the
`
`original
`
`versions
`
`- Dr. Michael Zyda for the original version of the gammaramp routine.
`- CAPT Gary W. Taylor, USMC, for the original version of the lightorient
`routine.
`- LCDR James Manley, USN, for the netV networking routines.
`
`The authors would also like to note that the order of the names on the cover
`
`is alphabetic, and has no other significance.
`
`LT Streyle would like to personally thank his wife, Robin, for the tremendous
`
`amount of patience and support provided during all phases of the project. By
`
`taking care of the myriad of details involved in running a home with two children
`
`and shuffling her and the family's schedule around the times I absolutely had to
`
`work, she provided me the time necessary to fully pursue the project.
`
`I wouid
`
`also like to thank my lovely daughter Sarah and son Timothy, who both let me
`
`know when I had worked enough to "earn" another trip to the park to play.
`
`8
`
`
`
`CAPT Smith would like to thank his wife, Becky, and son, Timothy, for the
`
`generous amounts of time and pleasures foregone in their support of this work.
`
`Thanks also to my friend and co-author, who made this and many other projects
`
`much easier and more enjoyable than they would otherwise have been.
`
`9
`
`
`
`I. INTRODUCTION
`
`Flight simulation has been an important computer graphics application,
`
`embracing a range of systems from a $32.00 program for a personal computer
`
`[Ref.
`
`l] to special purpose machines costing millions of dollars [Ref. 2]. The
`
`capabilities of these systems are spread across a range nearly as wide as their
`
`costs, with great variances in speed (frames displayed per second), realism,
`
`flexibility, and area of flight. We present here a system that is relatively
`
`inexpensive, yet still fast enough to present a real-time three-dimensional view of
`
`digitized terrain. We built
`
`this system on a commercially available, high-
`
`performance graphics workstation, the Silicon Graphics, Incorporated IRIS-2400
`
`Turbo. The IRIS system was selected because of its local availability and its
`
`performance capabilities. The flight simulator presented here does not use the
`
`natural color and shape of individual terrain elements (in order to achieve real-
`
`time performance), but it is sufficiently realistic to provide the feeling of flight
`
`and allow identification of the displayed terrain and targets.
`
`A. FOG-M
`
`1.
`
`Background
`
`The project presented here was built in response to the United States
`
`Army Combat Developments Experimentation Center's need to simulate the
`
`10
`
`
`
`operation of the Fiber-Optically Guided Missile (FOG-M) [Ref. 3], but this missile
`
`is also being considered for use by the United States Marine Corps [Ref. 4].
`
`Simulation is necessary in order to test and evaluate the tactics, doctrine and
`
`training requirements associated with the missile without the expense and danger
`
`of actual firings during simulated combat field trials. The FOG-M is a generic
`
`family of remotely-piloted, video-guided munitions, but for the purpose of this
`
`prototype simulator, the weapons are all logically equivalent, and the entire
`
`family is referred to as "the missile." In order to avoid security constraints, the
`
`parameters and operational characteristics used in this work were not taken from
`
`exact FOG-M specifications. The parameters and technical specifications are all
`
`estimates, based on reasonableness and consistency with general, unclassified
`
`descriptions of the FOG-M.
`
`2.
`
`Description
`
`The actual FOG-M missile is six inches in diameter, five and one-half feet
`
`high, weighs eighty-three pounds, and costs about $20,000 [Ref. 4].
`
`It has a video
`
`camera mounted in its nose, which transmits a black-and-white picture back to
`
`the operator's console (which consists of a television screen, a computer, and a
`
`joystick) over the fiber-optic link. (The simulator display offers the user the choice
`
`of either color or black-and-white; color is the default for the simulator despite the
`
`operator view of the missile being black-and-white. The color compensates for
`
`some of the
`
`loss
`
`in
`
`realism and identifiability
`
`inherent
`
`in
`
`a polygonal
`
`representation of natural objects). Before launch, in normal operation, the missile
`
`11
`
`
`
`is given a general direction to a target and the altitude of the highest point within
`
`its
`
`range.
`
`The simulator allows
`
`values
`
`in
`
`excess of FOG-M operational
`
`capabilities for speed, range, and altitude above ground level (AGL), but the
`
`default values of two hundred knots, ten kilometers, and one thousand meters are
`
`characteristic of this type of missile. As soon as the missile is in position, it begins
`
`transmitting video images. When launched, the missile rises to approximately
`
`two hundred feet above the highest terrain point, and then levels off in horizontal
`
`flight in the targeted direction. The operator controls the pan and tilt angle of
`
`the camera with the joystick, and can dial in changes to the heading and altitude
`
`of the missile. The operator also has the capability to zoom the camera's field of
`
`view from eight degrees to fifty-five degrees, and to designate ("lock-on" to) a
`
`target for automatic homing by the missile.
`
`B. ASPECTS OF FLIGHT SIMULATION
`
`There are many aspects to flight simulation. Modern commercial simulators
`
`provide sophisticated mock-ups of cockpits and controls and highly detailed out
`
`the window views. By mounting the simulator on a moving platform, a true sense
`
`of the physical feelings of acceleration and roll can be achieved. These systems
`
`also cost, millions of dollars.
`
`One of the first decisions that must be made when designing a flight simulator
`
`is, "For what purpose will the simulator be used?" The answer to this question
`
`drives most of the design decisions that have to be made. Since the purpose of
`
`12
`
`
`
`this project is to provide a simulation of the FOG-M missile as viewed from its
`
`operator's console, it
`
`is felt that the most important items to model are the
`
`simulated video display of the terrain and the actual operator controls. The
`
`terrain should appear realistic enough that its major features are recognizable to a
`
`person familiar with the
`
`area.
`
`The controls should allow for the same
`
`functionality as the actual console. The simulator must, of course, also provide a
`
`feeling that the missile is in motion over the terrain. The effectiveness of the
`
`feeling of motion provided by a flight simulator can be largely measured by two
`
`criteria: the realism of the displayed scene and the update rate of the display.
`
`1.
`
`Realism
`
`Many factors contribute to the perceived realism of a displayed natural
`
`scene. Early attempts to quantitatively measure realism consisted of counting the
`
`number of "edges" or lines that a scene contained. This later gave way to
`
`counting the number of "faces" or polygons in a scene. Since each polygon was
`
`colored in a single shade, it was felt that each polygon represented a single "bit"
`
`of information in the scene.
`
`Therefore, the more polygons the scene contained,
`
`the more "realistic" it was felt to be [Ref. 5:pp. 27-28].
`
`The latest advances in computer graphics have also made this measure of
`
`effectiveness obsolete.
`
`With the introduction of systems that are able to till
`
`polygons with textured patterns, a single polygon can now contain thousands of
`
`"bits" of information. As a result, a scene drawn with a few textured polygons
`
`can appear more realistic than one with an order of magnitude more untextured
`
`13
`
`
`
`ones.
`
`Early textures consisted of superimposing things such as mathematical
`
`noise functions or stripes on the polygons. More recent advances have allowed the
`
`texture to be derived from digital photographs of a similar scene. For example,
`
`polygons representing a part of terrain covering by meadow could be filled with a
`
`digital texture derived from an aerial photograph of a meadow [Ref. 5: p. 28].
`
`Since most currently available graphics workstations do not support the
`
`use of texture filled polygons, the use of texture was deemed to be outside the
`
`scope of the current project.
`
`Rather, the project's work concentrated on
`
`determining how realistically a scene could be rendered in real-time incorporating
`
`only the use of lighting and shading models along with terrain hidden-surface
`
`algorithms. These topics are covered in more detail in Chapter V.
`
`2.
`
`Frame Update Speed
`
`Another important aspect of a flight simulator's performance is the speed
`
`at which it is capable of displaying successive frames in a scene. The faster the
`
`update rate, the more continuous the motion appears. As a reference, standard
`
`motion picture film is projected at a rate of twenty-four frames per second.
`
`Although the IRIS workstation is capable of displaying up to sixty frames per
`
`second, the amount of computation that must be done between successive frames
`
`in the simulation has limited the update rate to an average of three frames per
`
`second. While this presents a less than smooth motion, it is felt to be adequate
`
`for the purposes of the prototype.
`
`14
`
`
`
`C. ORGANIZATION
`
`The above sections of this chapter have provided background on flight
`
`simulation in general, and the missile whose flight is specifically being simulated.
`
`Chapter II provides an overview of the hardware used in running the simulation.
`
`The structure and content of the Defense Mapping Agency (DMA) Digital
`
`Terrain Elevation Data (DTED) are discussed in Chapter III.
`
`Chapter IV
`
`discusses the motivation behind and creation of the two-dimensional contour map
`
`displays. Chapter V covers the storage and use of the DMA DTED to produce a
`
`lighted and shaded three-dimensional polygonal terrain display. The mathematics
`
`and process involved in simulating flight over the terrain are detailed in Chapter
`
`VI. Chapter VII discusses the creation, insertion, animation, and designation of
`
`targets. Chapter VIII covers the creation and drawing of cultural features.
`
`Chapter IX contains a user's guide for operation of the FOG-M simulator.
`
`Chapter X concludes with a discussion of limitations, future extensions and
`
`research topics, and summarizes the research conducted. Narrative descriptions of
`
`the modules and listings of the program source code for each of the modules are
`
`included as Appendices A and B respectively.
`
`15
`
`
`
`II. COMPUTER SYSTEM
`
`As discussed in Chapter I, flight simulators are nothing new. The significance
`
`of this work lies in the speed with which it was developed, the display rate
`
`achieved, and the realism and fidelity of the display in comparison to the cost of
`
`the system that supports it. This project was technically feasible only because of
`
`the capabilities and high performance of the IRIS (Integrated Raster Imaging
`
`System) Turbo 2400 Graphics Workstation, manufactured by Silicon Graphics,
`
`Incorporated. Others have also used the IRIS as a base on which to build flight
`
`simulators [Ref. 6]. This low-cost ($50,000 to $100,00) three-dimensional display
`
`system is summarized in Figure 2.1 and is discussed more fully below.
`
`A. HARDWARE AND SYSTEM OVERVIEW
`
`The IRIS has a conventional Von Neumann type computer architecture but
`
`adds custom-built special purpose VLSI circuits and a pipelined design to provide
`
`the graphics functions that are implemented in software on other comparably-
`
`priced workstations. Conceptually, there three pipelined components in the IRIS
`
`hardware:
`
`the applications /graphics processor, the Geometry Pipeline, and the
`
`raster subsystem [Ref.
`
`7:p.
`
`l-l]. The applications/graphics
`
`processor is
`
`a
`
`conventional Motorola MC68020 processor running at 16.7 MHz. This processor
`
`runs the applications program(s) within a UNIX System V operating system.
`
`16
`
`
`
`ETHERNET to Vax and other IRIS
`
`32 bit 16.7 MHz Motorola MC68020 CPU
`
`6 Megabytes of CPU Memory
`
`32 1024x768 bitplanes of Display Memory
`
`Hardware matrix multiplier & floating point accelerator
`
`Hardware Gouraud shading, depth cueing & backface polygon removal
`TM
`
`12 pipelined custom VLSI Geometry Engines
`
`16-bit Z-buffer for Hidden Surface Elimination
`
`2 72 Megabyte Winchester Disk Drives
`
`60 Hz non-interlaced 19" RGB high resolution monitor
`
`83 key up-down encoded keyboard
`
`3 button mouse
`
`32-button and 8-dial valuator boxes
`
`Unix System V
`
`Ethernet zo VAX's
`
`IRIS Graphics Library
`
`Features of the IRIS Turbo 2400 Graphics Workstation
`Figure 2.1
`
`17
`
`
`
`Applications either issue graphics commands in immediate mode, in which case
`
`they are sent through the Geometry Pipeline immediately as individual graphics
`
`primitives, or compile graphics commands into graphical objects, in which case
`
`they are sent through the Geometry Pipeline as a single geometric entity when
`
`explicitly called at some later point in time.
`
`The Geometry Pipeline takes commands in terms of the user's world
`
`coordinates, performs specified matrix transformations on them using the matrix
`
`multiplier and floating point accelerator built into the hardware, and then clips
`
`and scales the transformed coordinates into screen coordinates. The raster
`
`subsystem takes the screen coordinates output by the Geometry Pipeline and
`
`updates the
`
`bitplanes
`
`(display memory) to contain the lines, polygons, or
`
`characters specified by the input coordinates. The raster subsystem also performs
`
`polygon fill, shading, depth-cueing, and hidden surface removal. A conventional
`
`video controller uses the values in the bitplanes and the color table to produce an
`
`image on the monitor.
`
`B. SOFTWARE
`
`The C programming language is native to UNIX and is the language used for
`
`ail of the IRIS system software. The IRIS Graphics Library, which provides both
`
`high- and low-level graphics and utility commands, can be called
`
`in
`
`C,
`
`FORTRAN, Pascal, or LISP. However, due to the built-in bias of UNIX and the
`
`IRIS, plus the local pool of knowledge, the C programming language was the
`
`18
`
`
`
`pro forma choice for programming all parts of the FOG-M simulator. The IRIS
`
`User's Guide [Ref. 7] breaks the Graphics Library commands into the following
`
`twelve categories:
`
`- Global State commands initialize the hardware and control global variables,
`and are used mostly in FOG-M's init iris routine.
`- Drawing Primitives are used throughout FOG-M. They create points, lines,
`polygons, circles, arcs, and text strings.
`
`- Coordinate Transformations specify mappings within and between user-
`defined world coordinates and screen coordinates. These are used to move
`targets and to simulate flight.
`
`- Drawing Attribute commands specify textures and fonts. Although texture
`would greatly improve the appearance of the terrain, the IRIS provided
`textures are applied in the screen coordinate system, so they do not scale or
`tilt to conform to the terrain, and produce a very artificial result.
`
`- Display Mode and Color commands determine how the bitplanes are used
`and what colors appear on the screen. These include the commands that set
`double-buffering, establish writemasks, and define the color table.
`
`- Input/ Output commands initialize and read the dials and mouse.
`
`- Object Creation and Editing commands allow manipulation of complex
`displays as a single entity. They are used in all FOG-M displays.
`- Picking and Selecting commands are not used in FOG-M.
`- Geometry Pipeline Feedback commands are not used in FOG-M.
`- Curve and Surface commands draw complex curves and smooth surfaces.
`Experiments with these produced more realistic terrain images, but not even
`close to real-time, making flight animation impossible.
`
`- Shading and Depth— cueing commands provide Gouraud shading of polygons
`and intensities that vary with distance from the viewer.
`
`- Textport commands define an area of the screen for text. They are not used
`in FOG-M.
`
`Also available on the system, and used by FOG-M, are the math library with
`
`sine, cosine, arctangent, hypotenuse, and exponentiation functions, and routines
`
`that access the system clock in order to determine elapsed time.
`
`19
`
`
`
`III. DIGITAL ELEVATION TERRAIN DATA
`
`A. INTRODUCTION
`
`Unlike other flight simulation systems, which may rely on manual creation of
`
`the terrain [Ref. 8], the source data for the terrain in the FOG-M simulation is a
`
`Defense Mapping Agency (DMA) digital terrain elevation database (DTED) for
`
`Fort Hunter-Liggett. California. The database is not Level 1 DTED. but rather a
`
`DMA special product produced about 1980 at a higher resolution than normal
`
`Level 1 DTED fRef. 9].
`
`Level 1 DMA data contains elevation points spaced at
`
`three arc-second intervals, or approximately every one hundred meters. The Fort
`
`Hunter-Liggett special data contains points at twelve and one-half meter spacing,
`
`which is eight times the resolution of Level 1 data.
`
`B. COVERAGE
`
`The area covered by the database is thirty-six kilometers wide and thirty-five
`
`kilometers high, with 6400 data points per square kilometer. This area includes
`
`most of Fort Hunter-Liggett plus some surrounding land, and is bounded by
`
`latitudes 36 05' 00" (to the north) and 35 50' 00" (south) and longitudes
`
`121 04' 30" (east) and 121 20' 30" (west). In terms of Universal Transverse
`
`Mercator (UTM) coordinates, the area has easting (X) of 10SFQ41000 to
`
`10SFQ77000 and northing (Y) of 10SFQ60000 to 10SFQ95000. The database
`
`20
`
`
`
`appears to be based on DMA forty foot interval contour map products, because
`
`peaks tend to have flattened tops. This was confirmed both by a comparison of
`
`surveyed instrumentation sites on or near peaks with their digital terrain values
`
`[Ref. 10: pp. 1-2], and by a Bezier surface patch image of the data created locally.
`
`C. STRUCTURE
`
`The data is stored in an unformatted sequential file that is organized as a
`
`stream of integers. Each integer (sixteen bits) represents both the vegetation code
`
`and bald terrain elevation in feet at one sampling point, as illustrated in Figure
`
`3.1 below.
`
`Veg. Code
`
`bit:
`
`15
`
`14
`
`13
`
`12
`
`11
`
`Bald Terrain Elevation
`
`10 9876543210
`
`Figure 3.1 DTED Data Encoding
`
`The thirteen low-order (rightmost) bits contain the elevation, allowing a range
`
`from zero to 8191 feet, although the highest point in the database is 3744 feet.
`
`The three high-order (leftmost) bits specify one of eight vegetation codes, which
`
`are given in Table 3.1 below.
`
`Vegetation codes are only available for points
`
`within the boundaries of Fort Hunter-Liggett proper. The file
`
`is written one
`
`21
`
`
`
`TABLE 3.1 DTED VEGETATION CODES
`
`Code
`
`Description
`
`Less than one meter
`One to four meters
`Four to eight meters
`Eight to twelve meters
`Twelve to twenty meters
`Greater than twenty meters
`No data available
`Unused
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`
`square kilometer at a time, beginning with the lower left one kilometer grid square
`
`(41,60), proceeding up the column to the upper left grid square (41,94), then
`
`doing the next column from bottom to top (42,60 to 42,94) and so on; the upper
`
`right one kilometer grid square (76,94) is the last one written.