<?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>
</head>
<!--
<!--
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
-->
<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.77' skyColor='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 view' orientation='1.0 0.0 0.0 0.1' position='9.0 -5.0 25.0'/>
<NavigationInfo avatarSize='0.5 4.0 1.5' headlight='false' speed='4.0' type='"WALK" "ANY"'/>
<DirectionalLight color='0.0 0.3 1.0' direction='-3.0 2.0 -1.0'/>
<PointLight ambientIntensity='0.3' location='14.0 10.0 14.0'/>
<Transform translation='5.0 -3.0 5.0'>
<Shape DEF='Platform'>
<Appearance DEF='Marble'>
</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'>
</Transform>
<Transform translation='0.0 1.0 -2.0'>
</Transform>
</Group>
</Transform>
<Transform translation='5.0 -1.0 -0.5'>
</Transform>
<Transform translation='5.0 0.5 -5.0'>
</Transform>
<Transform translation='5.0 1.0 -7.5'>
</Transform>
<Transform translation='5.0 5.0 -10.1'>
</Transform>
<Transform rotation='0.0 1.0 0.0 1.57' translation='2.5 1.0 -5.0'>
<Transform DEF='ThreeUpRightCurvingStairs' translation='5.0 0.0 0.0'>
<Transform DEF='OffToLeftStair' translation='-5.0 0.0 0.0'>
</Transform>
<Transform rotation='0.0 1.0 0.0 -0.26' translation='0.0 0.5 0.0'>
</Transform>
<Transform rotation='0.0 1.0 0.0 -0.52' translation='0.0 1.0 0.0'>
</Transform>
</Transform>
</Transform>
<Transform rotation='0.0 1.0 0.0 1.57' translation='2.5 2.5 -5.0'>
<Transform center='5.0 0.0 0.0' rotation='0.0 1.0 0.0 -0.785'>
</Transform>
</Transform>
<Transform rotation='0.0 1.0 0.0 1.57' translation='2.5 4.0 -5.0'>
<Transform center='5.0 0.0 0.0' rotation='0.0 1.0 0.0 -1.57'>
</Transform>
</Transform>
<Transform rotation='0.0 1.0 0.0 1.57' translation='2.5 5.0 -5.0'>
<Transform center='5.0 0.0 0.0' rotation='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.57' translation='7.5 0.0 -5.0'>
<Transform DEF='ThreeDownLeftCurvingStairs' translation='5.0 0.0 0.0'>
<Transform USE='
OffToLeftStair'/>
<Transform rotation='0.0 1.0 0.0 0.26' translation='0.0 -0.5 0.0'>
</Transform>
<Transform rotation='0.0 1.0 0.0 0.52' translation='0.0 -1.0 0.0'>
</Transform>
</Transform>
</Transform>
<Transform rotation='0.0 1.0 0.0 1.57' translation='7.5 -1.5 -5.0'>
<Transform center='5.0 0.0 0.0' rotation='0.0 1.0 0.0 0.785'>
</Transform>
</Transform>
<Transform rotation='0.0 1.0 0.0 1.57' translation='7.5 -2.5 -5.0'>
<Transform center='5.0 0.0 0.0' rotation='0.0 1.0 0.0 1.31'>
<Transform rotation='0.0 1.0 0.0 3.14' translation='0.0 3.0 0.6'>
</Transform>
</Transform>
</Transform>
<Transform rotation='0.0 1.0 0.0 1.57' translation='2.5 -2.5 5.0'>
</Transform>
<Transform translation='-2.0 -1.0 5.0'>
</Transform>
<Transform translation='-2.0 -0.5 2.5'>
<Transform DEF='ThreeUpLeftCurvingStairs' translation='-5.0 0.0 0.0'>
<Transform DEF='OffToRightStair' translation='5.0 0.0 0.0'>
</Transform>
<Transform rotation='0.0 1.0 0.0 0.26' translation='0.0 0.5 0.0'>
</Transform>
<Transform rotation='0.0 1.0 0.0 0.52' translation='0.0 1.0 0.0'>
</Transform>
</Transform>
</Transform>
<Transform translation='-2.0 0.5 2.5'>
<Transform center='-5.0 0.0 0.0' rotation='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.57' translation='-4.5 -0.5 5.0'>
</Transform>
<Transform rotation='0.0 1.0 0.0 1.57' translation='-7.5 1.0 5.0'>
</Transform>
<Transform rotation='0.0 1.0 0.0 1.57' translation='-10.1 5.0 5.0'>
</Transform>
<Transform rotation='0.0 1.0 0.0 1.57' translation='9.5 -4.5 5.0'>
</Transform>
<Transform translation='12.0 -5.0 5.0'>
</Transform>
<Transform translation='12.0 -6.5 9.5'>
</Transform>
<Transform translation='12.0 -7.0 12.0'>
</Transform>
<Transform translation='12.0 -8.5 16.5'>
</Transform>
<Transform rotation='0.0 1.0 0.0 3.14' translation='5.0 -3.5 7.5'>
<Transform DEF='ThreeDownRightCurvingStairs' translation='5.0 0.0 0.0'>
<Transform USE='
OffToLeftStair'/>
<Transform rotation='0.0 1.0 0.0 -0.26' translation='0.0 -0.5 0.0'>
</Transform>
<Transform rotation='0.0 1.0 0.0 -0.52' translation='0.0 -1.0 0.0'>
</Transform>
</Transform>
</Transform>
<Transform rotation='0.0 1.0 0.0 3.14' translation='5.0 -5.0 7.5'>
<Transform center='5.0 0.0 0.0' rotation='0.0 1.0 0.0 -0.785'>
</Transform>
</Transform>
<Transform translation='5.0 -6.0 7.5'>
<Transform center='-5.0 0.0 0.0' rotation='0.0 1.0 0.0 -1.48'>
<Transform rotation='0.0 1.0 0.0 3.14' translation='0.0 3.0 -0.6'>
</Transform>
</Transform>
</Transform>
<Shape>
<Appearance>
</Appearance>
<IndexedFaceSet solid='false' coordIndex='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.0' diffuseColor='0.1 0.1 0.1' transparency='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.57' translation='2.5 -8.5 -5.0'>
<Transform DEF='ThreeUpRightCurvingShadows' translation='5.0 0.0 0.0'>
<Transform DEF='OffToLeftShadow' translation='-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>
<Transform rotation='0.0 1.0 0.0 -0.52'>
</Transform>
</Transform>
</Transform>
<Transform rotation='0.0 1.0 0.0 1.57' translation='2.5 -8.5 -5.0'>
<Transform center='5.0 0.0 0.0' rotation='0.0 1.0 0.0 -0.785'>
</Transform>
</Transform>
<Transform rotation='0.0 1.0 0.0 1.57' translation='2.5 -8.5 -5.0'>
<Transform center='5.0 0.0 0.0' rotation='0.0 1.0 0.0 -1.57'>
</Transform>
</Transform>
<Transform rotation='0.0 1.0 0.0 1.57' translation='7.5 -8.5 -5.0'>
<Transform DEF='ThreeDownLeftCurvingShadows' translation='5.0 0.0 0.0'>
<Transform USE='
OffToLeftShadow'/>
<Transform rotation='0.0 1.0 0.0 0.26'>
</Transform>
<Transform rotation='0.0 1.0 0.0 0.52'>
</Transform>
</Transform>
</Transform>
<Transform rotation='0.0 1.0 0.0 1.57' translation='7.5 -8.5 -5.0'>
<Transform center='5.0 0.0 0.0' rotation='0.0 1.0 0.0 0.785'>
</Transform>
</Transform>
<Transform translation='-2.0 -8.5 2.5'>
<Transform DEF='ThreeUpLeftCurvingShadows' translation='-5.0 0.0 0.0'>
<Transform DEF='OffToRightShadow' translation='5.0 0.0 0.0'>
</Transform>
<Transform rotation='0.0 1.0 0.0 0.26'>
</Transform>
<Transform rotation='0.0 1.0 0.0 0.52'>
</Transform>
</Transform>
</Transform>
<Transform rotation='0.0 1.0 0.0 3.14' translation='5.0 -8.5 7.5'>
<Transform DEF='ThreeDownRightCurvingShadows' translation='5.0 0.0 0.0'>
<Transform USE='
OffToLeftShadow'/>
<Transform rotation='0.0 1.0 0.0 -0.26'>
</Transform>
<Transform rotation='0.0 1.0 0.0 -0.52'>
</Transform>
</Transform>
</Transform>
<Transform rotation='0.0 1.0 0.0 3.14' translation='5.0 -8.5 7.5'>
<Transform center='5.0 0.0 0.0' rotation='0.0 1.0 0.0 -0.785'>
</Transform>
</Transform>
</Transform>
</Scene>
</X3D>
<!--
<!--
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)
-->
<!--
For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints.
-->