<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.3//EN" "https://www.web3d.org/specifications/x3d-3.3.dtd">
<X3D profile='Interactive'  version='3.3 xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation =' https://www.web3d.org/specifications/x3d-3.3.xsd ' >
<head>
<meta name='titlecontent='Stairway.x3d'/>
<meta name='descriptioncontent='The Stairway world uses a twisting, branching, floating stairway to lead the visitor to six doorways. Each doorway is a selectable anchor leading to another world.'/>
<meta name='creatorcontent='David R. Nadeau'/>
<meta name='translatorcontent='Don Brutzman'/>
<meta name='createdcontent='1 July 1998'/>
<meta name='translatedcontent='2 February 2014'/>
<meta name='modifiedcontent='16 December 2023'/>
<meta name='referencecontent='originals/stairwy.wrl'/>
<meta name='referencecontent=' http://www.siggraph.org/s98 '/>
<meta name='referencecontent=' http://www.siggraph.org/s98/conference/courses/18.html '/>
<meta name='referencecontent=' http://www.sdsc.edu/~moreland/courses/Siggraph98/vrml97/slides/mt0095.htm '/>
<meta name='referencecontent=' http://www.sdsc.edu/~moreland/courses/Siggraph98/vrml97/vrml97.htm '/>
<meta name='referencecontent=' https://www.web3d.org/x3d/content/examples/X3dResources.html '/>
<meta name='identifiercontent=' https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/Stairway.x3d '/>
<meta name='generatorcontent='Vrml97ToX3dNist, http://ovrt.nist.gov/v2_x3d.html'/>
<meta name='generatorcontent='X3D-Edit, https://savage.nps.edu/X3D-Edit'/>
<meta name='licensecontent=' ../license.html'/>
</head>
<!-- -->
<Scene>
<!-- This world was *hand authored*, which is way tough to do given the number of stairs to be positioned and oriented. This accounts for the heavy use of DEF and USE and rather convoluted nested transforms. By using a world builder application (when they become available), you can position each stair or group of stairs interactively, instead of typing in translations and rotations and hoping they work out. -->
<!-- Things to experiment with: -->
<!-- Change the anchor urls to point to your own worlds. -->
<!-- Add a flock of birds following a path animated by a PositionInterpolator and an OrientationInterpolator. -->
<!-- Drop the sky background wall and replace it with a Background node. -->
<!-- Add sound. Perhaps a gentle wind with some occasional wind chimes. -->
<WorldInfo info='"copyright (c) 1997, David R. Nadeau"title='The Stairway'/>
<Background skyAngle='1.37 1.57 1.77skyColor='0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.1 0.5 0.0 0.0 0.0'/>
<Transform scale='0.4 0.4 0.4'>
<Viewpoint description='Entry vieworientation='1.0 0.0 0.0 0.1position='9.0 -5.0 25.0'/>
<NavigationInfo avatarSize='0.5 4.0 1.5headlight='falsespeed='4.0type='"WALK" "ANY"'/>
<DirectionalLight color='0.0 0.3 1.0direction='-3.0 2.0 -1.0'/>
<PointLight ambientIntensity='0.3location='14.0 10.0 14.0'/>
<Transform translation='5.0 -3.0 5.0'>
<Shape DEF='Platform'>
<Appearance DEF='Marble'>
<Material diffuseColor='1.0 1.0 1.0'/>
<ImageTexture
  url=' "marble_g.jpg " "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/marble_g.jpg " ' />
</Appearance>
<Box size='4.0 0.25 4.0'/>
</Shape>
</Transform>
<Transform translation='5.0 -2.5 2.5'>
<Group DEF='ThreeUpStraightStairs'>
<Shape DEF='Stair'>
<Appearance USE=' Marble'/>
<Box size='4.0 0.25 1.0'/>
</Shape>
<Transform translation='0.0 0.5 -1.0'>
<Shape USE=' Stair'/>
</Transform>
<Transform translation='0.0 1.0 -2.0'>
<Shape USE=' Stair'/>
</Transform>
</Group>
</Transform>
<Transform translation='5.0 -1.0 -0.5'>
<Group USE=' ThreeUpStraightStairs'/>
</Transform>
<Transform translation='5.0 0.5 -5.0'>
<Shape USE=' Platform'/>
</Transform>
<Transform translation='5.0 1.0 -7.5'>
<Group USE=' ThreeUpStraightStairs'/>
</Transform>
<Transform translation='5.0 5.0 -10.1'>
<Anchor description='Temple of the Orb'
  url=' "Temple.x3d" "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/Temple.x3d" "Temple.wrl" "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/Temple.wrl" ' >
<Group DEF='Door'>
<Shape>
<Appearance>
<TextureTransform scale='1.0 2.0'/>
<Material diffuseColor='1.0 1.0 1.0'/>
<ImageTexture
  url=' "panel.jpg " "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/panel.jpg " ' />
</Appearance>
<Box size='3.0 6.0 0.2'/>
</Shape>
<Transform translation='1.18 -0.0 0.2'>
<Shape>
<Appearance>
<Material diffuseColor='1.0 1.0 1.0'/>
<ImageTexture
  url=' "blur.jpg " "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/blur.jpg " ' />
</Appearance>
<Sphere radius='0.15'/>
</Shape>
</Transform>
</Group>
</Anchor>
</Transform>
<Transform rotation='0.0 1.0 0.0 1.57translation='2.5 1.0 -5.0'>
<Transform DEF='ThreeUpRightCurvingStairstranslation='5.0 0.0 0.0'>
<Transform DEF='OffToLeftStairtranslation='-5.0 0.0 0.0'>
<Shape USE=' Stair'/>
</Transform>
<Transform rotation='0.0 1.0 0.0 -0.26translation='0.0 0.5 0.0'>
<Transform USE=' OffToLeftStair'/>
</Transform>
<Transform rotation='0.0 1.0 0.0 -0.52translation='0.0 1.0 0.0'>
<Transform USE=' OffToLeftStair'/>
</Transform>
</Transform>
</Transform>
<Transform rotation='0.0 1.0 0.0 1.57translation='2.5 2.5 -5.0'>
<Transform center='5.0 0.0 0.0rotation='0.0 1.0 0.0 -0.785'>
<Transform USE=' ThreeUpRightCurvingStairs'/>
</Transform>
</Transform>
<Transform rotation='0.0 1.0 0.0 1.57translation='2.5 4.0 -5.0'>
<Transform center='5.0 0.0 0.0rotation='0.0 1.0 0.0 -1.57'>
<Transform USE=' ThreeUpRightCurvingStairs'/>
</Transform>
</Transform>
<Transform rotation='0.0 1.0 0.0 1.57translation='2.5 5.0 -5.0'>
<Transform center='5.0 0.0 0.0rotation='0.0 1.0 0.0 -2.09'>
<Transform translation='0.0 3.0 -0.6'> </Transform>
</Transform>
</Transform>
<Transform rotation='0.0 1.0 0.0 1.57translation='7.5 0.0 -5.0'>
<Transform DEF='ThreeDownLeftCurvingStairstranslation='5.0 0.0 0.0'>
<Transform USE=' OffToLeftStair'/>
<Transform rotation='0.0 1.0 0.0 0.26translation='0.0 -0.5 0.0'>
<Transform USE=' OffToLeftStair'/>
</Transform>
<Transform rotation='0.0 1.0 0.0 0.52translation='0.0 -1.0 0.0'>
<Transform USE=' OffToLeftStair'/>
</Transform>
</Transform>
</Transform>
<Transform rotation='0.0 1.0 0.0 1.57translation='7.5 -1.5 -5.0'>
<Transform center='5.0 0.0 0.0rotation='0.0 1.0 0.0 0.785'>
<Transform USE=' ThreeDownLeftCurvingStairs'/>
</Transform>
</Transform>
<Transform rotation='0.0 1.0 0.0 1.57translation='7.5 -2.5 -5.0'>
<Transform center='5.0 0.0 0.0rotation='0.0 1.0 0.0 1.31'>
<Transform rotation='0.0 1.0 0.0 3.14translation='0.0 3.0 0.6'> </Transform>
</Transform>
</Transform>
<Transform rotation='0.0 1.0 0.0 1.57translation='2.5 -2.5 5.0'>
<Group USE=' ThreeUpStraightStairs'/>
</Transform>
<Transform translation='-2.0 -1.0 5.0'>
<Shape USE=' Platform'/>
</Transform>
<Transform translation='-2.0 -0.5 2.5'>
<Transform DEF='ThreeUpLeftCurvingStairstranslation='-5.0 0.0 0.0'>
<Transform DEF='OffToRightStairtranslation='5.0 0.0 0.0'>
<Shape USE=' Stair'/>
</Transform>
<Transform rotation='0.0 1.0 0.0 0.26translation='0.0 0.5 0.0'>
<Transform USE=' OffToRightStair'/>
</Transform>
<Transform rotation='0.0 1.0 0.0 0.52translation='0.0 1.0 0.0'>
<Transform USE=' OffToRightStair'/>
</Transform>
</Transform>
</Transform>
<Transform translation='-2.0 0.5 2.5'>
<Transform center='-5.0 0.0 0.0rotation='0.0 1.0 0.0 0.52'>
<Transform translation='0.0 3.0 -0.6'> </Transform>
</Transform>
</Transform>
<Transform rotation='0.0 1.0 0.0 1.57translation='-4.5 -0.5 5.0'>
<Group USE=' ThreeUpStraightStairs'/>
</Transform>
<Transform rotation='0.0 1.0 0.0 1.57translation='-7.5 1.0 5.0'>
<Group USE=' ThreeUpStraightStairs'/>
</Transform>
<Transform rotation='0.0 1.0 0.0 1.57translation='-10.1 5.0 5.0'> </Transform>
<Transform rotation='0.0 1.0 0.0 1.57translation='9.5 -4.5 5.0'>
<Group USE=' ThreeUpStraightStairs'/>
</Transform>
<Transform translation='12.0 -5.0 5.0'>
<Shape USE=' Platform'/>
</Transform>
<Transform translation='12.0 -6.5 9.5'>
<Group USE=' ThreeUpStraightStairs'/>
</Transform>
<Transform translation='12.0 -7.0 12.0'>
<Shape USE=' Platform'/>
</Transform>
<Transform translation='12.0 -8.5 16.5'>
<Group USE=' ThreeUpStraightStairs'/>
</Transform>
<Transform rotation='0.0 1.0 0.0 3.14translation='5.0 -3.5 7.5'>
<Transform DEF='ThreeDownRightCurvingStairstranslation='5.0 0.0 0.0'>
<Transform USE=' OffToLeftStair'/>
<Transform rotation='0.0 1.0 0.0 -0.26translation='0.0 -0.5 0.0'>
<Transform USE=' OffToLeftStair'/>
</Transform>
<Transform rotation='0.0 1.0 0.0 -0.52translation='0.0 -1.0 0.0'>
<Transform USE=' OffToLeftStair'/>
</Transform>
</Transform>
</Transform>
<Transform rotation='0.0 1.0 0.0 3.14translation='5.0 -5.0 7.5'>
<Transform center='5.0 0.0 0.0rotation='0.0 1.0 0.0 -0.785'>
<Transform USE=' ThreeDownRightCurvingStairs'/>
</Transform>
</Transform>
<Transform translation='5.0 -6.0 7.5'>
<Transform center='-5.0 0.0 0.0rotation='0.0 1.0 0.0 -1.48'>
<Transform rotation='0.0 1.0 0.0 3.14translation='0.0 3.0 -0.6'> </Transform>
</Transform>
</Transform>
<Shape>
<Appearance>
<TextureTransform scale='20.0 20.0'/>
<Material ambientIntensity='0.3'/>
<ImageTexture
  url=' "stone2.jpg " "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/stone2.jpg " ' />
</Appearance>
<IndexedFaceSet solid='falsecoordIndex='0 1 2 3 -1'>
<Coordinate point='-30.0 -9.0 30.0 30.0 -9.0 30.0 30.0 -9.0 -30.0 -30.0 -9.0 -30.0'/>
</IndexedFaceSet>
</Shape>
<Shape>
<Appearance DEF='ShadowColor'>
<Material ambientIntensity='0.0diffuseColor='0.1 0.1 0.1transparency='0.25'/>
</Appearance>
<IndexedFaceSet coordIndex='0 1 2 3 -1 4 5 6 7 -1 8 9 10 11 -1'>
<Coordinate point='10.0 -8.5 17.0 14.0 -8.5 17.0 14.0 -8.5 3.0 10.0 -8.5 3.0 -10.0 -8.5 7.0 10.0 -8.5 7.0 10.0 -8.5 3.0 -10.0 -8.5 3.0 3.0 -8.5 7.0 7.0 -8.5 7.0 7.0 -8.5 -10.0 3.0 -8.5 -10.0'/>
</IndexedFaceSet>
</Shape>
<Transform rotation='0.0 1.0 0.0 1.57translation='2.5 -8.5 -5.0'>
<Transform DEF='ThreeUpRightCurvingShadowstranslation='5.0 0.0 0.0'>
<Transform DEF='OffToLeftShadowtranslation='-5.0 0.0 0.0'>
<Shape DEF='Shadow'>
<Appearance USE=' ShadowColor'/>
<IndexedFaceSet coordIndex='0 1 2 3 -1'>
<Coordinate point='-2.0 0.0 0.5 2.0 0.0 0.5 2.0 0.0 -0.5 -2.0 0.0 -0.5'/>
</IndexedFaceSet>
</Shape>
</Transform>
<Transform rotation='0.0 1.0 0.0 -0.26'>
<Transform USE=' OffToLeftShadow'/>
</Transform>
<Transform rotation='0.0 1.0 0.0 -0.52'>
<Transform USE=' OffToLeftShadow'/>
</Transform>
</Transform>
</Transform>
<Transform rotation='0.0 1.0 0.0 1.57translation='2.5 -8.5 -5.0'>
<Transform center='5.0 0.0 0.0rotation='0.0 1.0 0.0 -0.785'>
<Transform USE=' ThreeUpRightCurvingShadows'/>
</Transform>
</Transform>
<Transform rotation='0.0 1.0 0.0 1.57translation='2.5 -8.5 -5.0'>
<Transform center='5.0 0.0 0.0rotation='0.0 1.0 0.0 -1.57'>
<Transform USE=' ThreeUpRightCurvingShadows'/>
</Transform>
</Transform>
<Transform rotation='0.0 1.0 0.0 1.57translation='7.5 -8.5 -5.0'>
<Transform DEF='ThreeDownLeftCurvingShadowstranslation='5.0 0.0 0.0'>
<Transform USE=' OffToLeftShadow'/>
<Transform rotation='0.0 1.0 0.0 0.26'>
<Transform USE=' OffToLeftShadow'/>
</Transform>
<Transform rotation='0.0 1.0 0.0 0.52'>
<Transform USE=' OffToLeftShadow'/>
</Transform>
</Transform>
</Transform>
<Transform rotation='0.0 1.0 0.0 1.57translation='7.5 -8.5 -5.0'>
<Transform center='5.0 0.0 0.0rotation='0.0 1.0 0.0 0.785'>
<Transform USE=' ThreeDownLeftCurvingShadows'/>
</Transform>
</Transform>
<Transform translation='-2.0 -8.5 2.5'>
<Transform DEF='ThreeUpLeftCurvingShadowstranslation='-5.0 0.0 0.0'>
<Transform DEF='OffToRightShadowtranslation='5.0 0.0 0.0'>
<Shape USE=' Shadow'/>
</Transform>
<Transform rotation='0.0 1.0 0.0 0.26'>
<Transform USE=' OffToRightShadow'/>
</Transform>
<Transform rotation='0.0 1.0 0.0 0.52'>
<Transform USE=' OffToRightShadow'/>
</Transform>
</Transform>
</Transform>
<Transform rotation='0.0 1.0 0.0 3.14translation='5.0 -8.5 7.5'>
<Transform DEF='ThreeDownRightCurvingShadowstranslation='5.0 0.0 0.0'>
<Transform USE=' OffToLeftShadow'/>
<Transform rotation='0.0 1.0 0.0 -0.26'>
<Transform USE=' OffToLeftShadow'/>
</Transform>
<Transform rotation='0.0 1.0 0.0 -0.52'>
<Transform USE=' OffToLeftShadow'/>
</Transform>
</Transform>
</Transform>
<Transform rotation='0.0 1.0 0.0 3.14translation='5.0 -8.5 7.5'>
<Transform center='5.0 0.0 0.0rotation='0.0 1.0 0.0 -0.785'>
<Transform USE=' ThreeDownRightCurvingShadows'/>
</Transform>
</Transform>
</Transform>
</Scene>
</X3D>
<!--

to top <!-- Index for DEF nodes: Door, Marble, OffToLeftShadow, OffToLeftStair, OffToRightShadow, OffToRightStair, Platform, Shadow, ShadowColor, Stair, ThreeDownLeftCurvingShadows, ThreeDownLeftCurvingStairs, ThreeDownRightCurvingShadows, ThreeDownRightCurvingStairs, ThreeUpLeftCurvingShadows, ThreeUpLeftCurvingStairs, ThreeUpRightCurvingShadows, ThreeUpRightCurvingStairs, ThreeUpStraightStairs

Index for Viewpoint node: Viewpoint_1
-->
-->

<!-- Online at
https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/StairwayIndex.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/Stairway.x3d -->

<!-- Color legend: X3D terminology <X3dNode DEF='idName' field='value'/> matches XML terminology <XmlElement DEF='idName' attribute='value'/>
(Light-blue background: event-based behavior node or statement) (Grey background inside box: inserted documentation) (Magenta background: X3D Extensibility)
-->

to top <!-- For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints. -->