throbber
ompuferGra hICS
`
`MU E-IliflrE-dE
`
`IrIIIIIIIIIIHIIIIIIIIIIHIIIr I. IquI I I IuI: IsI
`HLL FUR HDI: EdHU
`
`Microsoft Corp. Exhibit 1010
`
`

`

`oiEEE
`
`fl 6
`
`'1'.
`
`AN!) APi-‘Uttn toms
`
`IEEE Computer Society
`10662 Los Vaqneros Circle, PO Box 3014
`Los Momltos, CA 90720
`http:/Voomputermrg/cga
`
`Editor in Chief
`James J. Thomas
`Pacific Northwest National Laboratory
`902 Battelle Boulevard
`Richland, WA 99352
`Jimil‘itornasfilpnigov
`
`Submissions: Please submit seven copies of all articles to
`Aikenia Winsmn, magazine assistant, IEEIE. Computer Society,
`10662 Los Vaqtteros Circle. Los Alamitos, CA 90720. Submit
`proposals for special issttes to Michael littering,
`mrhodes@odsus.jnj.corn. All submissions are subject to editing
`for style. clarity, and space considerations, mi author‘s guide is
`available from the Web, publications office, or by e-maii from
`swinston@computor.org.
`
`Associate Editors in Chief
`Michael L. Rhodes
`Ortho Diagnostic Systems
`'i‘umer Whitted
`Microsoft
`
`Editorial Board
`
`Frank W. Bliss
`John C. Dill
`Rae A. Earnshaw
`José L, Enos rttactitt
`Andrew Glassncr
`Markus Gross
`Bertram Herzog,
`Tosiyasu L. Kunii
`Carl Macltover
`Gregory M. Nielsort
`Michael J. Patel
`Theresa-Marie Rhyne
`Lawrence J. Rosenblttm
`Maureen Stone
`
`EDS/GM Corp.
`Simon Fraser University
`University of Bradford
`'l‘echnical University of Darmstaclt
`Microsoft
`it'l'l I, Zurich
`University of Michigan
`llosei University
`Machover Associates
`Arizona State University
`Wiltlcresl Associates
`Lockheed Martin
`Naval Research Laboratory
`StoneSottp Consulting
`
`Managing Editor Nancy Hays
`Assistant Editor Robin Baldwin
`Editorial Assistant Kristine Kelly
`Magazine Assistant Alkenia Winston
`Art Direction Joe Daigie
`
`Publisher Matt Loch
`Advertising Manager Patricia Garvey
`Advertising Supervisor Marian Anderson
`Advertising Coordinator Debbie Sims
`Member/Ciro. Promo Mgr. Geot'gann Carter
`
`Publications Board
`
`Benjamin thh (Vice President).
`Gui Agile {MOC Chair), Jon Butler {TOC chair).
`Ron Williams [IEEE Pubs Representative),
`Jake Aggerwa]. Alberto dcl Bimbo, Mike Liu, thiwei Kn
`
`Magazine Opt-rations Committee
`
`Carl Chung (Chair). William Everett (vice chair],
`James H. Aylor, Jean Bacon, Wushnw Chou, George Cybenlto,
`William l. Grottlcy, Steve McConnell, Daniel E. O‘leaty.
`Ken Sakamura, Mttnindar P. Singh, James J. Thomas,
`Yetvant Zorian
`
`Editorial: IEEE Computer Graphics and Applications SEWCS both
`users and designers of graphics hardware, software, and systems.
`its readers work in industty, business, the arts, and universities.
`Articles are peer-reviewed; departments are rel'ct'eed. Unless
`otherwise stated, bylined articles and departments, as well its
`descriptions of products and services. reflect the author's ur firm's
`Opinion: inclusion in this publication does not necessarily
`constitute endorsement by the IEEE or the Computer Society,
`
`Copyright and reprint permission: Abstracting is permitted
`with credit to the source. Libraries are permitted to pherocOpy
`beyond the limits of US copyright law For private use of patrons
`those articles that may a code at the bottom of the fit-51 page,
`provided the per-copy fee indicated in the code is paid through the
`Cupyright Clearance Center. 29 Congress St., Salem, MA 01970.
`instructors are permitted to photocopy isolated articles for
`noncommercial classroom use without fee. For other copying,
`reprint, or rcpuhlication permission, write to Copyrights and
`Permissions Department, IEEE Publications Administration, 445
`Hoes Lane, PO. Box 1331, Piscataway, NJ 08055-1331. All rights
`resented. Copyright C) 1999 by the Institute of Electrical and
`Electronics Engineers, Inc.
`
`Cirmdotion: iEEE Computer Graphics aud/ipplictttions (iSSN 0272.
`1716] is published bimonthly by the IEEE Computer Society.
`Illicit-1
`Headquarters: Three Park Ave, 17th Floor, New York, NY 100] 6-
`5997. IEEE Computer Society Headquarters: 1730 Massachusetts
`Ave. Washington, DC 20036-1903. llil'll-i Computer Society
`Publications Office: 10662 Los Vatlucrns Circle. PO Box 3014, Los
`Alamitos, CA 90720: {7714) 821-8380. Annual subscription: $34 in
`addition to any IEEE group or society dues. Members of other
`technical organisations: $90. Nonmember subscription rates are
`available on request. Back issues: mctnbets, 5'10; nonmembers. $20.
`This journal is also available in microfiche form and on the Web.
`
`Postmaster: Send address changes and undelivered copies to
`FEEE Computer Graphics and Applications. lEEE Comptttcr Society,
`10662 Los Vaqueros Circle, PO Box 3014. Los Alamitos, CA 90720.
`Periodicals postage is paid at New York, NY, and at additional
`mailing offices. Canadian CST #125634188. Canada Post
`International Publications Mail Product [Canadian Distribution]
`Sales Agreement #0407848. Printed in USA.
`
`Moving?
`PLEASE. NOTIFYr Mail to
`
`US 4 WEEKS
`lN ADVANCE
`
`IEEE Computer Society
`10662 Los Vaqueros Circle
`PO BC): 3014
`Los Alamltos, CA 90720
`0 This notice ol address change will apply to all IEEE publications to
`whlch you subscribe.
`1' List your new address below,
`'
`if you have a question about your subscription, place your address
`label here and clip this term to your letter.
`ATTACH
`LABEL
`HERE
`
`StatelCountry
`
`Name (please print)
`
`New flddiESS
`
`City
`
`Microsoft Corp. Exhibit 1010
`
`Microsoft Corp. Exhibit 1010
`
`

`

`Cgin uferGra bios
`
`AND APPLICATIONS
`
`Articles
`
`VRM L
`
`1 7
`
`Guest Editor’s Introduction:
`
`Virtual Reality Modeling Language
`Maureen Starts
`
`Tutorial: Building Virtual Worlds
`1 8 with VRML
`David R. Nodeou
`
`VRML makes it easy to create virtual worlds. This
`tutorial reviews VRML‘s syntax and features as well
`as its world construction and animation abilities.
`
`3
`
`TerraVision ll: Visualizing Massive
`Terrain Databases in VRML
`Martin Raddy, Yvon Leclerc, Lee lverson.
`and Not Bletter
`
`To disseminate 3D maps and spatial data over the
`Web, the authors designed massive terrain data sets
`accessible through either a VRML browser or the war
`tomized TerraVision 1] browser.
`
`Large-Scale Mine Visualization
`Using VRML
`Kaitit Russ and Andrew Wetitcreli
`
`Traditionally, mine plans and sections in 2D stored
`3D information. This article shows that using VRML
`to model this information leads to new, interactive
`methods of data visualization.
`
`”Bottom, Thou Art Translated":
`45 The Making ofVRML Dream
`Stephen N. Motsuba and Bernie Roolll
`Bringing virtual theater to the Web requires 3i)
`graphics, efficient networking, and strong content.
`The authors discuss the VRML Dream Project, a real-
`time Internet performance
`
`March/April 1999
`Volume 19 Number 2
`
`Published by the IEEE Computer Society
`
`Developing the VRML 97
`International Standard
`
`George S. Carson, Richard F. Fair, and
`Riki: Carey
`VRML 97 arose from a cooperative effort between the
`standards and VRML communities. The methodology
`employed applies equally well to development of
`future standards.
`
`5
`
`VRML Testing: Making VRML Worlds
`Look the Same Everywhere
`Mary Brody. Alden Dima, Len Gebase,
`Michael Kass, Carmelo Mommies-Rivera.
`and Lynne Roscni'ltal
`NIST tools address problems posed by testing 3D
`graphics. This article explains the test development
`strategy and design issues in developing and deliver-
`ing these testing tools.
`
`6 A Framework for Streaming Geometry
`in VRML
`André Gue'ziec, Gabriel 'l'anbin, Bill Horn,
`and Francis Lazarus
`The authors introduce a framework for streaming
`geometry in V'RML that eliminates the need to
`perform complete downloads ofgeometric models
`before starting to display them.
`
`Dynamics Modeling and Culling
`79 Stephen Chutney. Jeffrey icitnoivski, and
`David Forsyth
`The tools described permit including large numbers
`of complex dynamic models in a VRML world easily
`and efficiently while maintaining high frame rates.
`
`'c‘ti'i an
`
`llttP://CDI11PUtet‘.Drg/egaf
`
`[SEN 0272-1716
`
`attains -
`
`Microsoft Corp. Exhibit 1010
`
`Microsoft Corp. Exhibit 1010
`
`

`

`4 About the Cover
`
`Advancing 3]) through VRMI.
`rm the. Web
`
`6 Projects in VR
`Public Speaking in Virtual
`Reality: Facing :ln Audience
`nf'Avutnrs
`
`10 Applications
`VizSim chhnolugy Helps
`I‘ind Oil Famtcr
`
`88 Andrew Glassner's
`Notebook
`
`String Crossings
`
`96 New Products
`
`100 Advertiserf Product
`Index
`
`(.IOI‘Iipul'tn' Sncit‘ly Information, (73
`Change qucldruss form. 1).
`l
`
`
`
`
`
`Microsoft Corp. Exhibit 1010
`
`Microsoft Corp. Exhibit 1010
`
`

`

`VRML
`
`This material may be protected by Copyright law (Title 17 U.S. Code)
`
`i
`
`TerraVision ll:
`
`Visualizing Massive
`Terrain Databases
`
`in VRML
`
`
`
`Martin Roddy, Yvan Leclerc, Lee iverson,
`and Nat Bietter
`SRI International
`
`To disseminate 3D maps and
`
`spatial data over the Web,
`
`we designed massive terrain
`
`Researchers hav'e in-
`creasingly turned to
`Virtual Reality Modeling Language
`(VRML)
`to represent geographic
`information. In VRMl..'s early days,
`the result was a few toy examples
`that did not scale well, such as
`coarse, single-resolution elevation
`grids. Today, VRML is drawing more
`serious interest from researchers
`across the spectrum, including geo-
`graphers, cartographers, geologists.
`and computer scientists, as the side-
`bar “Related Worlt" describes. As
`Theresa-Marie Rhyne noted, geo-
`graphic information system (613] and scientific visual-
`isation tools have begun to expand into each other's
`
`data sets accessible through
`
`either a VRML browser or
`
`the customized TerraVision
`
`ll browser.
`
`clomains,' anti VRML offers cartographers and geogra-
`phers the potential to disseminate 3i) maps and spatial
`data over the World WideWeb. However, to date we have
`not seen useful large-scale VRML gcographictlaliibflses.
`We aim to enable visualization of near plintnrealistic
`3D models oft-errain that can be on the order ofhun—
`dreds of gigabytes. This might incl tide different types of
`terrain imagery For particular regions. as well as site
`models and auxiliary information for ground leatures.
`The following scenario indicates the capabilities ‘
`required. Say a user wants to find a particular building il
`in a particular city. 1' lerjotlrneyi'legilis With a 3D model
`|
`oi" the earth viewed From space. This model is texture-
`‘
`mapped with satellite imagery of 100 kilometers reso-
`i
`lurion—that is, each pixel in the texture map represents
`a region on the planet‘s surl’ace covering 100 lent. To |
`find the city, the user first rotates the earth to view the i
`
`-
`
`l
`
`
`
`Related Work
`Currently, interesting and significant work
`addresses the problem of representing geographic
`data in VRML. In the earth sciences, Kate Moore
`described the work of the Virtual Field Course
`(VFC) project,‘ which is developing software tools
`to familiarize students with fieldwork locations and
`aid data collection and analysis. The VFC project
`uses VRML and java to provide interactive 2D and
`3D views of geo~reierenced data to enhance
`students‘ cognition oi the real environment.
`The US Naval Postgraduate School ls currently
`working on a prefect to develop a 3D model of the
`Monterey Bay National Marine Sanctuary. They
`aim to create a VRML representation of the
`sanctuary based on raw bathymetry (below sea
`level) data for a 2.5 x 2.5 degree region of the bay.
`Their representation uses multiresolution
`techniques to deliver these large data amounts
`over a 28K modem connection.
`
`Michael Abernathy and Sam Shaw described
`their work using VRML to visualize the course fora
`197-mile relay race through the San Francisco Bay
`Area.2 They did this using standard US Geological
`Survey (USGS) 7.5 are min digital elevation
`models (DEMs) for the terrain geometry with geo-
`referenced satellite imagery draped over the
`terrain. Their system also used Global Positioning
`System (GPS) input to create a line segment
`showing the raee's course Over the VRML terrain.
`
`
`References
`1. K. Moore, "Interactive Virtual EnVlronments for field
`work," British Cartographic Society Annual Syrup, 1 997:
`available at http:/Mkugeog.le.ac.ult/mekNrrtEnv.htru.
`2. M. Abernathy and 5. Shaw, ”Integrating Geographic
`Information in VRivlL Models," Proc. Third Symp.
`VRML, ACM New York, 1998, pp. 107-114.
`
`11
`Ill
`
`lli‘
`iii
`,J1
`l’l'
`{'31'
`
`t!
`1i
`h
`.
`J“
`fa
`0‘
`
`3!)
`
`March/April 1999
`
`Microsoft Corp.
`
`Exhibit 1010
`92??!- 'I IflLiNGIEIClDD 3) WHO IEEE
`
`Microsoft Corp. Exhibit 1010
`
`

`

`the sidebar “The tsmApi Library" and is available along
`with other materials and several example VItML data sets
`at http:/owwoi.st'i.com/Tel't’a‘t’ision.
`
`Multiresolutlon terrain techniques
`Terrain models are typically massive. For example, the
`US Geological Survey produces digital elevation models
`(DEMs) that contain a regular grid of 1,201 x 1,20] ele-
`vation values for a 1-degree area of the earth's surface.
`Producing a simple polygonal representation of a single
`DEM creates a model with more than 1.4 million poly—
`gons. The time required to download and render sttch a
`model would pt'ohibitany real-time interaction using the
`current generation of VRML browsers. It therefore
`becontes essential to manage level of detail (LCD).
`LCD techniques change a model's complexity based
`on some selection criteria, such as distance from the
`viewpoint or projected screen size. The basic premise
`for these criteria is that any distant detail that projects
`to less titan a single pixel on the screen will not generally
`be visible. To implement: this. we need a mechanism to
`simplify a data set‘s geomet 1'5; and imagery.
`Several polygon sirnpliftcation algorithms work well
`for terrain. However, many ofthese are viCerntlopen-
`dent techniques that force the same degree of simplifi-
`cation across
`the entire terrain?“ These
`are
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`The tsmApl Library
`The “file Set Manager Application Program
`Interface (tsmApi) is a freely available C library
`from SRi International. The library offers
`functions for reading, writing, and generating
`terrain data used by TerraVision II, including
`functions for generating VRML versions of the
`terrain data using the representations we
`describe in the article.
`
`Using the tsmApi library, users can create their
`own VRML geographic data sets from several
`supported input formats such as raw imagery,
`Portable Bitmap (PBM) images, and Land
`Analysis System (LAS) bitmaps. The library also
`includes SRl's fully re-entrant VRML 9? parser,
`which can be used to parse VRMI. 97 files
`efficiently into memory and to write these
`structures back out to a VRML 97 file. Other
`functions-perturm transformations between
`various geographic coordinate systems, such as
`Unlveral Transverse Mercator (UTM), geodetic
`(latitude/longitude), and earthuiixed geocentric,
`based on code from the US National Imagery
`and Mapping Agency's Nimamuse product.
`Precompiied tsmApi distributions are available
`for Irix, Solaris, Linux, and other platforms. In
`addition, the full C source code is available from
`the tsmApi home page, which also includes full
`API documentaticrn, tutorials, format
`Specifications, and example source code. The
`tsmApi Web page is at http:!/www.ai.sri.comf
`tsmApl.
`
`
`
`Microsoft Corp. Exhibit 1010
`31
`IEEE Computer Graphics and Applications
`
`target region in tnore detail. As she seems into the
`region, higher resolution data, such as elevation and
`imagery, are progressively downloaded and displayed
`until she is "flying” over mountains with imagery down
`to oneemctcr resolution. Over certain parts of the [Err
`rain. alternative imageries are available, such as aerial
`photographs; the user cart select any image to view on
`top of the terrain geometry. As she approaches a built-
`up area, 3D models of buildings come into view. When
`the user clicks on a bu titling, information abottt it is dis—
`played in a separate frame on the browser. Using this
`method, the user locates the target building. Through.-
`out the navigation, the user’s location is displayed via
`an act lve map interface that provides a context for the
`landscape being viewed.
`In setting out to achieve such capabilities, we identi-
`fied feur principal design criteria:
`
`I Scalability. Our design must scale to very large data
`sets. Commonly, a geographic data set consists of
`many millions of polygons and many gigabytes of
`imagery.
`
`l ('fomposabiiity. Our data representation tnust allow
`the introduction of multiple types of gee-referenced
`data, including additional imagery. site models. cul-
`tural features. and annotatioas. it also must let the
`user switch between these on demand.
`
`I iifli‘rienqv. Users must be able to navigate the VRML.
`structures easily and efficiently using a standard
`VltMi. browser or a customized browser that further
`increases browsing efficiency.
`I Data interchange. We must develop genetic data rcp—
`resentations for gee—referenced data in VRML This
`will let other geographic data providers produce data
`using the same representation.
`
`Guided by these requirements, WE implemented this
`functionality in a standard VRML brovvser for tithn-
`loading tiara over the World Wide Web. We also devel-
`oped a custom terrain visualization package called
`'lirrraVision ii that can browse these VRMi. data struc-
`tures. Although not required to view the content,
`Tet raVision ll lets the user perform specia lizcd brovvser-
`level optimizations that offer increased efficiency and
`seamless interaction with the terrain data.
`
`We designed our framework to simplify terrain data
`maintenance and to let users dynamically select partictn
`lat sets ofgeo-relerenced data. Our implementation uses
`Java scripting to extend VRML’s base functionality and
`the iixtel'iialAUEl‘iOl'll‘lg interface to offer applicationrspe
`ciiic management of the virtual geographic environment.
`To help develop standard techniques for solving geo-
`graphical representation problems in VRM1., coauthor
`Lee lverson formed and currently chairs the GeoVRMi.
`group, an official Working Group ofthe Web3D Consor-
`titttn (http://'www.ai.st'l.conr/geovrml). As a service to
`the VltMl. cotntnun ity and the GeonWLeiftJt't, we have
`made freelyavaiiabie both the'l‘erraVision li browser and
`all oi‘tlre tools we developed for generating VRMI. terrain
`data sets. This includes the source code to all of our cus-
`iotn VRML nodes and the tsmApi library that we use to
`generate the VRML data sets. The library is deseribed in
`
` L
`
`Microsoft Corp. Exhibit 1010
`
`

`

`
`
`VRML
`
`1 An example
`image pyramid
`showing
`(a) four differ-
`ent resolutions
`
`of an original
`image, where
`Each level is
`
`segmented into
`128 x128 pixel
`tiles, and
`(hi) how this
`structure can be
`used to alter the
`
`image resolu-
`tlon In different
`regions.
`
`2 Using a tiled
`pyramid struc-
`ture to repre-
`sent terrain
`
`geometry.
`Closer terrain is
`
`represented in
`higher fidelity
`(more polyu
`gens) than
`distant terrain.
`
`inappropriate for our application because switching to
`the highest resolutionstill involves loading every point
`of the original data set. Instead, we require a view-
`dependent technique that lets us vary the degree ofsim—
`plificarion with respect to the current viewpoint.“ This
`is often done trsing a hierarchical data structure, such
`as a quad-tree. Further, the LCD algorithm must not
`require access to the entire high-resolution version of
`the data set, as that would limit us to viewing only data
`sets that can fit on the user’s local storage system. Given
`these requirements, a tiled. pyramid representation
`best suits our needs."u
`
`A pyramid is a multiresolution hierarchy for a data
`set. For example, ifthe original image is 1024 x 1024
`pixels, then the pyramid might contain the original
`image along with down-so mpled versions at resolutions
`ol'512 x 512 pixels, 2.56 x 256 pixels, 128 x128 pixels,
`and so on. As Figure 1a shows, each pyramid image is
`then segmented into rectangular tiles. where all tiles
`have the some pixel dimensions A tile at a given pyra—
`mid level will thus map onto four tiles on the next high-
`
`sh ELL-l 59 W iii.
`
`:1 urn-w- “on"
`
`
`
`or level; that is, at each higher resolution area, the tiles
`cover half the geographical area ofllte previous level.
`Using this representation, we can recursively resolve
`certain data set regions in more detail titan other
`regions. For example, Figure 1b shows the lower-right
`corner in high resolution with the surrounding regions
`displayed in progressively lower resolution. Assuming
`a tile size of 128 x 128 pixels, this example requires
`downloading and rendering only 49] Khytes (it) tiles)
`instead of the entire 3.1-Mhyte high-resolution image.
`if the user‘s location is the bottom-right corner, then dis-
`tant imagery is rendered at lower resolution than near
`imagery and we have achieved distance-based LOD.
`As Figure 2 shows, our image pyramids techniques
`can be applied to elevation grids and other types ofter—
`rain data. Because we use a tiled pyramid representa-
`lion tor the geometry and the imagery, we can optimize
`the amount ofclala transferred over the network, the
`number of polygons in the Scene, and the amount of
`memory required for texture maps. As a result, we need
`onlyr fetch and display data for the region that the user
`is viewing, and only at a sufficient resolution for the
`user's viewpoint. This solution scales well to arbitrarily
`large data sets because it effectively attempts to keep
`the polygon count constant for any viewpoint.
`
`Multlresolutlon data in VRMI.
`We introduce four types OFVRML files to represent a
`large, tiled rnuiriresolution hierarchy of the globe: rer-
`rain tile files, feature files, geoiile files. and tree files.
`Figure 3 shows these files and their relationships The
`tree files recursively implement the LCD hierarchy by
`il‘rlining a single gentile file at one LOD and four higher
`resolution tree files at the next L01). ‘l‘he gentile l'ilE
`inlincs all of the feature and terrain tiles that covert!
`
`geographical area and LCD. A terrain tile file contains
`the neural elevation and in‘tagc texture data fora given
`image, geographical area. and LOD. Feature files
`describe a geographical area’s objects, such as buildings
`and roads. We discuss these relationships and their
`advantages below.
`
`32
`
`MarchMpril 1999
`
`Microsoft Corp. Exhibit 1010
`
`Microsoft Corp. Exhibit 1010
`
`

`

`
`
`A tree tile
`
`Hierarchy of
`gootile files
`
`Two terrain tile
`pyramids
`
`A feature file
`
`3 The relationship between tree,
`geotile. terrain tile, and feature
`files. Unidirectional arcs represent
`inline links to files over the network.
`Bold rectangles delineate file
`boundaries.
`
`Tree files
`
`nee files implement part of the mttlti resolution hier-
`archy for the entire globe. in effect. these files are the
`glue that holds the geotiles in the quad-tree structure. A
`tree file initially loads a single geotiie, but when the user
`approaches the tile, it‘s replaced with four higher—reso-
`iution tree files, which in turn inline the geotiles for the
`tottrquad-tree children. (At the bottom level of the tree
`hierarchy, the four geotiles are inlined directly.) The
`hierarchy of tree files mttst be generated only once and
`won’t generally need to be modified further—except
`perhaps to extend the tree for higher resolutions at a
`later j uncture. In the future. it might be possible to gen~
`crate tree files on the fly.
`The tree files let us split the entire LOD hierarchy over
`multiple files and absrracr the LCD structure from the
`actual terrain data. They also let us create a different
`LDD tree depth for different global regions. For exatt‘tv
`pie, we could have loo-km-resolution data for the
`entire globe but recursively insert higher resolution
`data for smaller regions of interest. such as a one-lun-
`rcsolution data set for the conterminous United States
`
`and a one-m-resolution data set for Yosemite Valley,
`California.
`
`it would be possible to use the VRMI. Inl ine node
`to include the gentile files into the LCD hierarchy. How—
`ever, VRML 97 does not Specify when the Universal
`Resource Locator (URL) ofan Inl ine node should be
`loaded, making thisn browser—dependent feature. Cur—
`rently. most browsers load all inline scenes at once. This
`makes good sense for small scenes with a handful of
`Inline nodes. l-Iowevet‘, if We have a data ser of 10
`U bytes, the VTtML browser will attempt to load all these
`data into memory at once. This is obviously unaccept-
`able for our application, so we must control when inline
`files are loaded and unloaded. To do this, we. developed
`
`a new node. called Quadnon, using VRML 97's
`EXTERNPROTO and scripting features. QuadLOD pro-
`vides a terrain—specific LOD capability that efficiently
`manages the loading and unloading of higher levels of
`detail. When the user enters a certain Volume around
`the tile (determined by a Proximi tySensor) Quad—
`LOD loads only a tile‘s four higher resolution children.
`The notlealso uses a tile-caching niechanism so that tiles
`aren't needlessly reloaded. When the user approaches a
`region oftetrain. more detail is progressively loaded and
`displayed in a coarse—to—fine fashion. Most VRME.
`browsers perform nonblocking network reads so that
`the user can still interact with the some while higher
`resolution imagery and elevation loads.
`
`Gentile files
`
`Georile files contain links to all data within a single
`tile. The most basic geotile includes a single terrain tile
`File for the region. However, it's possible fora gentile to
`store linlts to multiple alternative terrain tiles, such as
`tiles referring to satellite, aerial. and map imagery, as
`well as feature files for objects that exist on I he terrain,
`such as buildings, roads. and annotations.
`By adding this extra layer to our global structure1 we.
`Simplify the task of maintaining and adding new data
`sets. For example, when we want to add a new image
`pyramid, we can generate the terrain tiles in isolation
`and simply link them to appropriate geotiles. (if the new
`data set requires higher resolution than the region pre-
`viously required, we also must generate new tree files.)
`In addition, becausm each data set is stored indepen—
`dently and referenced only via the geotiles, We can selec-
`tively display any combination of data sets. A node we
`created, GeoTi 1e, permits this selectivity by organiw
`ing the terrain tile and feature file links into sets of
`Switch nodes.
`
`Microsoft Corp. Exhibit 1010
`IEEE Computer Graphics and Applications
`33
`
`Microsoft Corp. Exhibit 1010
`
`

`

`VRML
`
`‘-' IN ‘t-nvir' ll'l' Nun-nu-
`
`.
`
`'#_.., ._
`
`For: Brutus; In VILMIL
`t “it
`,s.,_ IE'
`I
`
`'
`
`JW‘
`'
`
`H
`
`4 A tiled terrain
`model showing
`geo~referenced
`3D geometry
`overlaid for
`
`roads (orange)
`and buildings
`(yellow).
`
`Terrain rife files
`Terrain tiles contain the actual terrain data for a sin-
`
`gle data set tile at a particular detail level. This includes
`the elevation geometry and the texture map imagery for
`the specific terrain tile. The VRML 97‘ specification pro-
`vides us with two potential primitives for representing
`terrain geometry: the IndexedFaeeSet
`and the
`E1 evationGr id. The latter node lets the usor specify
`a grid of height values above rhex-s plane. whereas the
`more general IndexedFaoeSet node lets the user
`define arbitrary polygons in 3D space. VRML 97"s Ele-
`vationGrid was introduced specifically to represent
`terrain models and offers a compact mechanism to
`describe simple height field tiara. However, it has serious
`limitations that prevent us from using it, including that
`it assumes that the heights are relative to a flat plane—
`an obvious problem when deali ng with curved planets.
`ElevationGric‘la are thus useful only for modeling
`local areas, where the earth’s curvature is insignificant.
`Because we want to support global data sets, we use the
`IndoxechaceSet to build terrain geot‘i‘tett'y.
`
`Feature files
`Feature files contain VRML models for objects relat—
`ed to a region of terrain. Examples include a region's
`cultural features, such as roads anti lines of communi-
`cation; weather simulations, such as clear air turbulence
`isosttrfaces and wind vectors; and other 3D data, such
`as terrain annotations.
`
`integrating terrain features proves difficult because
`features cart extend beyond tile boundaries. For exam-
`ple, a road might cover multiple tiles, or a large building
`might sit on the boundary between two tiles. One way
`to deal with this problem is to dissect the geometry for
`all ground features along tile boundaries, forcing the
`condition that all features in a tile are contained entire-
`
`ly within that tile. Another-solution is to simply include
`a link to the same feature in all relevant geotilcs. We
`selected the latter approach because it does not con-
`strain tht‘: cultural features to the same resolution range
`as the terrain, and it requires no modification to the fea-
`ture's geometry. However. one problem is that the
`browsor Would normally load, store, and render dupli-
`cate copies of each feature for every loaded gentile in
`which it occurs. To avoid this, we have designed our
`GeoTile node. so that it lteeps track ofeach request for
`a feature file‘s URL. We do this using static class store
`tures in a Java script. We load feature files only on first
`invocation, incrementing their reference count, and
`unload a feature file only when its reference count
`returns to zero. Figure 4 shows the fusion of terrain data
`anti cultural features that results.
`Geographic coordinate Systems
`VRML defines a Cartesian coordinate system for mod-
`eling objects in a 3D volume. In geographic terms, this
`gives us a geocentric representation: a coordinate (any,
`z) is assumed to be a 3D offset [in teeters] from the
`earth’s center. However, most elevation data are pro—
`
`i
`
`i
`‘
`i
`
`l
`
`i
`
`vided in some geodetic or projective coordinate system.
`A geodetic coordinate system is related to the ellipsoid
`used to model the earth {such as the latitude-longitude
`system). A projective coordinate system projects the
`ellipsoid onto some simple surface, such as a cone or a
`cylinder. Examples include the I..ambert Conformal
`Conic or the Universal Transverse Mercator projections.
`Such coordinate systems were designed for different
`applications and offer particular advantages and restric-
`tions. For example, some projections can represent only i
`small-scale regions; others are conformal, offering the
`same scale in every direction; and others can be equal
`area—the projected area corresponds to the earth’s
`physical area over the entire projection. in use data in
`these different coordinate systems, we must convert
`coordinates in these systems into the VRML geocenttic
`coordinate system. Descriptions for performing many
`of these transformations are available elsewhere.” The
`
`l
`
`sidebar “What Shape Is the Earth?" discusses related I
`
`representation challenges.
`
`Floating-point precision Issues
`The VRML 9'? specification defines the. SFFloat and
`Mi-‘loat fields to represent floating-point numbers How.
`ever. these are only sin tile-precision values; the dynamic
`range of a single-precision floating-point number isn‘t
`sufficient to store accurate geocentric coordinates For
`example, the lEEE single-precision format defines a 23-
`hit ntant issa. This provides a resolution of approximate
`1y six digits (2'23 = 8.39 x 10“). The earth’s diameter is
`roughly 12,700,000111, and thus we can model terrain to
`an accuracy ol‘only tens or hundreds ofmeters. This accu-
`racy can‘t even represent the results front a civilian-grade
`Global Positioning System (GPS), let alone fail hfully rep-
`resent ground i'ea-tturcs such as buildings or roads.
`MostVl’cML browsers use only single-precision arith-
`metic for modeling and matrix operations, and 11105!
`modern graphics hardware uses only single precision.
`We must therefore implement accurate geoccntric coor-
`
`34
`
`March/April 1999
`
`Microsoft Corp. Exhibit 1010
`
`Microsoft Corp. Exhibit 1010
`
`

`

`
`
`What Shape Is the Earth?
`In a computer graphics system, the simplest
`way to represent the earth is to prodUCe a sphere
`and then apply to it a texture map. This method is
`adequate for a coarse representation. However, if
`we want to model the planet down to submeter
`accuracy, We must bettEr understand the earth's
`she-ape and the coordinate systems that describe
`it.
`
`Ellipsolds
`The earth can best be modeled geometrically
`using an ellipsoid of rotation. Such an ellipsoid is
`traditionally specified by two of three variables: the
`semi-major axis (a), the semi-minor axis (is), and
`the inverse flattening (11f: o/ (a — is». Over the
`past 200 years, many dilferent reference ellipsoids
`have been formulated, each defining slightly
`different values for these variables. The current US
`Department of Defense standard is defined by the
`World Geodetic System 1934 M6584), such that
`o = 6378137.0m and b = 6356752314Zm.
`
`Geolds
`
`The ellipsoid describes an ideal surface, but
`most elevation data are given relative to the
`geoid, not the ellipsoid. The geoid is the
`physically measurable surface Corresponding to
`mean sea level and is related to the earth’s
`
`gravitational field. This complex, undulating
`surface varies marginally from the ellipsoid over a
`range of roughly 100m. Once again, there are
`several slightly different geoid standards, such as
`GEOIDQO, OSU89B, and WES-84.
`
`Datum:

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket