throbber
ompuferGm hIQS
`
`MU
`
`E4LLUr2nEE
`
`hihnlnlml‘uqulmulrl.1uiui.l.lulni:isl
`FILL. FUR. FIE“:- {sq-34::
`
`Microsoft Corp. Exhibit 1010
`
`

`

`olEEE
`
`fl 6
`
`'1'.
`
`AN!) APl-‘Uttn “ONE
`
`IEEE Computer Society
`10662 Los Vaqueros Circle, PO Box 3014
`Los Alamitos, CA 90720
`http:/Voomputermrg/cga
`
`Editor in Chief
`.lames J. Thomas
`Pacific Northwest National Laboratory
`902 Battelle Boulevard
`Richland, WA 99352
`Jlmil‘itornasfiipnlgov
`
`Submissions: Please submit seven copies of all articles to
`Alkertia Winsmn, magazine assistant, lEEIE. Computer Society,
`10662 Los Vaqueros Circle. Los Alamitos, CA 90720. Submit
`proposals for special issttes to Michael Rhodes,
`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-mail from
`swinston@computer.otg.
`
`Associate Editors in Chief
`Michael L. Rhodes
`Ortho Diagnostic Systems
`'l‘umer Whitted
`Microsoft
`
`Editorial Board
`
`Frank W. Bliss
`John C. Dill
`Rae A. Earnshaw
`José L, Enos rttactio
`Andrew Glassncr
`Markus Gross
`Bertram Herzog,
`Tosiyasu L. Kunii
`Carl Macltover
`Gregory M. Nielson
`Michael J. Potel
`Theresa-Marie Rhyne
`Lawrenca J. Rosenblttm
`Maureen Stone
`
`EDS/GM Corp.
`Simon Fraser University
`University of Bradford
`'l‘echnical University of Darmstaclt
`Microsoft
`li'l'l I, Zurich
`University of Michigan
`llosei University
`Mttcltover Associates
`Arizona State University
`Wiltlcresl Associates
`Lockheed Martin
`Neural Research Laboraton
`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. Georgann Carter
`
`Publications Board
`
`Benjamin Wili‘l (Vice President).
`Gui Agile {MOC Chair), Jon Butler {TOC chair).
`Ron Williams [IEEE Pubs Representative),
`Jake Aggerwal. Alberto del Bimbo, Mike l.iu, thiwei Xu
`
`Magazine Opt-rations Committee
`
`Curl Chung (Chair). William Everett (vice chair],
`James H. Aylor, Jean Bacon, Wushnw Chou, George Cybenko,
`William l. Grosky, Steve McConnell, Daniel E. O‘leaty.
`Ken Sakamura, Mttnindar P. Singh, James J. Thomas,
`Yetvant Zorian
`
`Editorial: [EEE Computer Graphics and Applications serves 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'ereed. Unless
`otherwise stated, bylined articles and departments, as well as
`descriptions of products and services reflect tiic author's or 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 photocOpy
`beyond the limits of US copyright law For private use of patrons
`those articles that can)! 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 republication permission, write to Copyrights and
`Permissions Department, IEEE Publications Administration, 445
`Hoes Lane, PO. Box 1331, Piscatawuy, NJ 08055-1331. All rights
`resented. Copyright C) 1999 by the Institute of Electrical and
`Electronics Engineers, Inc.
`
`Circulation: lEEE Computer Graphics aud/lpplictttions (lSSN 0272a
`1716] is published bimonthly by the IEEE Computer Society.
`Ilililr'.
`Headquarters: Three Park Ave, 17th Floor, New York, NY 10016-
`5997. IEEE Computer Society Headquarters: 1730 Massachusetts
`Ave, Washington, DC 20036-1903. llil'il-i Computer Society
`Publications Office: 10662 Los Vatiucrns Circle. PO Box 3014, Los
`Namitos. 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: mcntbets, 5'10; nonmembers. $20.
`This journal is also available in microfiche form and on the Web.
`
`Poatmaster: Send address changes and undelivered copies to
`iEEE Cetllputet‘ Graphics and Applications. lEEE Computer Society,
`10662 Los Vaqueros Circle, PO Box 3014. Los Alaniiios, 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 Distrihtninn]
`Sales Agreement #0407848. Printer] in USA.
`
`Moving?
`PLEASE NOTIFYr Mall to
`
`US 4 WEEKS
`lN ADVANCE
`
`IEEE Computer Society
`10662 Los Vaqueros Circle
`PO BC): 3014
`Los Alamltos, CA 90720
`0 This notice oi 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
`
`StateiCountry
`
`Name (please print)
`
`New nddteSs
`
`City
`
`Microsoft Corp. Exhibit 1010
`
`Microsoft Corp. Exhibit 1010
`
`

`

`Cgin uferGra bibs
`
`AND APPLICATIONS
`
`Articles
`
`VRM L
`
`1 7
`
`Guest Editor’s Introduction:
`
`Virtual Reality Modeling Language
`Maureen Stone
`
`Tutorial: Building Virtual Worlds
`1 8 with VRML
`David R. Nadeou
`
`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 Mason.
`and Nat 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 CUE-
`tomized TerraVision 1] browser.
`
`Large-Scale Mine Visualization
`Using VRML
`Kaitit Russ and Andrew Wetitcrell
`
`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 3D
`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 Brady. Alden Dima, Len Gebase,
`Michael Kass, Carmelo Mommies-Rivera.
`and Lynne Rosentltal
`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 ofgeomerric 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 Fed
`
`http://con1puter.org/egaf
`
`[SEN 0272-1716
`
`ad“...
`Mc'ro‘éoft 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'Avutzn‘s
`
`10 Applications
`VizSim Technolugy Helps
`I-‘ind Oil Palmer
`
`88 Andrew Glassner's
`Notebook
`
`String Crossings
`
`96 New Products
`
`100 Advertiserf Product
`Index
`
`Computer Snciely Information, (73
`Change qucldress 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 iversun,
`and Nat Bietter
`SRI International
`
`To disseminate 3D maps and
`
`spatial data over the Web,
`
`we designed massive terrain
`
`in-
`Researchers haw.-
`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,' and 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 gcographicdalalmses.
`We aim to enable visualization of near plint‘nrealistic
`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 III
`in a particular city. 1' lcrjotn'neyhegilis With a 3D model
`|
`oi" the earth viewed From space. This model is texture-
`‘
`mapped with satellite imagery of 100 kilometers reso-
`i
`illiit‘JI‘l—that is, each pixel in the texture map represents
`a region on the planet‘s surl’ace covering 100 ltnf. 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 project 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 arc 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 race's course Over the VRML terrain.
`
`
`11
`Ill
`
`lli‘
`iii
`1J1
`l’l'
`{'31'
`
`References
`t!
`1. K. Moore, "Interactive Virtual EnVlronments for field
`1i
`work," British Cartographic Society Annual Syrup, 1 997:
`h
`available at http:/Mmugeog.le.ac.ukimekMrtEnv.httu.
`‘
`2. M. Abernathy and 5. Shaw, “Integrating Geographic
`J“
`Information in VRivlL Models," Proc. Third Symp. p
`VRML, ACM New York, 1998, pp. 107-114.
`0‘
`
`3!)
`
`March/April 1999
`
`Microsoft Corp.
`
`Exhibit 1010
`(Mill?!- 1 IflLiNWilClDD 3) lEli-J'J 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:/owwai.st'i.comflbt't’a‘t’ision.
`
`Multlresolutlon 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 titne required to download and render such a
`model would prohibitany real-time interaction using the
`current generation of VRML browsers.
`it therefore
`becotttes essential to tnanage level of detail (LCD).
`LCD techniques change a model's complexity based
`on some selection criteria, such as distance front the
`viewpoint or projected Screen size. The basic premise
`for these criteria is that any distant tietall 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 simplification algorithms work well
`for terrain. However, many oftitese are viewrindepen-
`dent techniques that force the same degree of simplifi-
`cation across
`the entire terrainf“ These
`are
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`The tsrnApl 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 TetraVision ll, 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-perform transformations between
`various geographic coordinate systems, such as
`Unlveral Transverse Mercator (UTM), geodetic
`(latitude/longitude), and earthuiixed geocenttic,
`based on code from the US National imagery
`and Mapping Agency's Nimamuse product.
`Pro-compiled tsmApi distributions are available
`for his, Solaris, Linux, and other platforms. In
`addition, the full C source code is available from
`the tsmApi home page, which also includes full
`API documentation tutorials, format
`Specifications, and example source code. The
`tilitApi 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
`unagery, are progressively downloaded and displayed
`until she is "flying" over mountains with imagery down
`to onehmctcr resolution. Over certain parts of the i'Et'r
`rain. alternative imageries are available, such as aerial
`photographs; the user can select any intagc to view on
`top of the terrain geometry. As she approaches a built-
`up area, 3D models of buildings come into view. When
`the ttser clicks on a btt ilding, 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 ive map interface that provides a context for the
`landscape being viewed.
`In setting ottt to achieve such capabilities, we identi-
`fied four principal design criteria:
`
`I Scalability. Our design must scale to very large data
`sets. Connnoniy, a geographic data set consists of
`many millions of polygons and many gigabytes of
`imagery.
`
`l ('fomposobiiity. Our data representation must allow
`the introduction of multiple types of gee-referenced
`data, including additional imagery, sire models. cul-
`tural features. and annotatiorts. it also must let the
`user switch between these on demand.
`
`I lifl’t‘rienqv. Users must be able to navigate the VRML.
`structures easily and efficiently using a stattdard
`VltMi. browser or a customized browser that further
`increases browsing efficiency.
`I Data interchange. We must develop genetic data rcp—
`resentations for goo—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 VliMi. bi‘oWscr for dthn-
`loading tiara over the World Wide Web. We also devel-
`oped a custom terrain visualization package called
`'ilrrraVision ii that cart browse l'ltcsc 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 wit II the terrain data.
`
`We designed our framework to simplify terrain data
`maintenance and to let users dynamically select pill'thll-
`lat sets ofgco-t'ci‘iet'enced data. Our implementation uses
`Java scripting to extend VRML’s base functionality and
`the i5xternalAuthoring interface to offer applicationrspe
`ciitc 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 (ltttp://'www.ai.st'i.cont/geovrml). As a service to
`the VltMl. cotntnun ity and the GcoVRMLeifot'i, we have
`made freelyavaiiable botlt the'l‘erraVision ii browser and
`all ot‘tlie tools we developed for generating VRMI. terrain
`data sets. This includes the source cotle to all of our cus-
`Iotn VRML nodes anti 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.
`
`
`
`or level; that is, at each higher resolution area, the tiles
`cover half the geographical area oftlte previous level.
`Using this representation, we can recursively resolve
`certain data set regions in more detail titan other
`regions. For example, Figure “lb 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.
`lithe user‘s location is the bottom-right corner, then dis-
`tant imagery is rendered at lower resolution than near
`imagcry 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-
`tion for the geometry and the imagery, we cart optimize
`the amount ofclala transferred over the network, the
`number of polygons in the scene, attd the amount of
`memory required for texture maps. As a result, we need
`only 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.
`
`inappropriate for our application because switching to
`tire highest resolutionstill involves loading every point
`of tire original data set. Instead, we require a view-
`dependent technique that lets us vary the degree ofsitu—
`plification with respect to the current viewpoint.“ This
`is often done using 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 as 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 pyrantid is a ntultiresolution 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-
`
`2 Using a tiled
`pyramid struc-
`ture to repre-
`sent terrain
`
`geometry.
`Closer terrain is
`
`represented in
`higher fidelity
`(more [July
`gens) than
`distant terrain.
`
`
`
`
`
`Multlresolutlon data in VRMI.
`We introduce four types ofVRML files to represent a
`large, tiled multiresolution hierarch of the globe: tcr-
`rain tile files, feature files, geolile files. and tree files.
`Figure 3 shows these files and their relationships The
`tree files recursively itttplement the LCD hierarchy by
`inlining a single gentile file at one LOD and four higher
`resolution tree files at the next LOD. ‘l‘lte 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 image 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
`geoiile files
`
`Two terrain tile
`pyramids
`
`A feature file
`
`3 The relationship between tree,
`gentile. terrain tile, and feature
`files. Unidirectional arcs represent
`lnllne links to files over the network.
`Bold rectangles delineate file
`boundaries.
`
`Tree files
`
`nee files implement part of the multi 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 geotile, but when the user
`approaches the tile, it‘s replaced with four higher—reso-
`lutiDn tree files, which in turn inline the geotiles for the
`tourquad-tree children. (At the bottom level of the tree
`hierarchy, the four geotiles are inlined directly.) The
`hierarchy of tree files must 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 abso‘act the LCD structure from the
`actual terrain data. They also let us create a different
`I..DD tree depth for different global regions. For eaatt‘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-
`rcsoiution data set for the conterminous United States
`
`and a one-m-resolutien 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 [101' specify when the Universal
`Resource Locator (URL) ofan In]. 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‘, ii We have a data set 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 ti tilotttlcd. 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 tySens-or) Quad—
`LOD loads only a tile‘s four higher resolution children.
`The notlealso uses a tile-caching mechanism 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
`
`Geotilo files Contain links to all data within a single
`tile. The most basic gentile 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, serial. and map imagery, as
`well as feature files for objects that exist on the 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, because 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 ‘i-ni-it- ll'l' Nun-nu-
`
`'
`
`thntacwmummfim'l'flf
`
`'I,
`
`p.“ ._
`t “it
`,s.,_ If
`I
`
`For: Burning in VILMIL
`
`H
`
`4 A tiled terrain
`model showing
`geo~referenced
`3D geometry
`overlaid for
`
`roads (orange)
`and buildings
`(yellow).
`
`Terrain rife files
`Terrain tiles contain tltc 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 IndexedFaeaSat
`and the
`E1 evationGr id. The latter node lets the utter specify
`a grid of height values above rhcx-e 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 mecltanism 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 dealing with curved planets.
`ElevationGric‘ia 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
`IndexedFaceSet to build terrain geometry.
`
`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 and 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 triight 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 cott-
`strain the 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
`browser 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 keeps track ofeaelt request for
`a feature file‘s URL. We do this using static class strnc— I
`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 cottnt
`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 geoccntric representation: a coordinate (any,
`z) is assumed to be a 3D offset [in meters] from the
`earth’s center. However, most elevation data are pro—
`
`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. 'i'o use data in
`these different coordinate systems, we must convert
`coordinates in these systems into the VRML geocentric
`coordinate system. Descriptions for performing many
`of these transformations are available elsewhere.” The
`
`I
`
`sidebar “What Shape Is the Earth?" discusses related I
`
`representation challenges.
`
`Floating-point precision Issues
`The VRML 9'? specification defines the. Si-‘Float and
`MFloat fields to represent floating-point numbers How.
`ever, these are only sin glue-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-
`ly 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 ofonly tens or hundreds ofnieters. This accu-
`racy can‘t even represent the results front a civilian-grade
`Global Positioning System (GPS), let alone fail hfully rcp-
`rescnt ground featu res such as buildings or roads.
`MostVl’cML browsers use only single-precision arith-
`metic for modeling and matrix operations, and most
`modern graphics hardware uses only single precision.
`We must therefore implement accurate geocentric 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
`shrape 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 — in). Over the
`past 200 years, many different 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:
`
`A datum speci

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