<?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='Interchange'  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='Castle.x3d'/>
<meta name='descriptioncontent='A fairy-tale castle atop a green hill with a blue sky behind. There are no animations or fun things to click on... building those is up to you.'/>
<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='20 October 2019'/>
<meta name='referencecontent='originals/castle.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/mt0000.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/Castle.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 illustrates how far you can go using the primitive geometry nodes: Box, Cone, and Cylinder. An entire fairy-tale castle is built by translating and rotating these shapes into position. -->
<!-- Things to experiment with... -->
<!-- Change the color scheme to make the castle an evil lair. -->
<!-- Add texture maps to make the castle walls look like they are built from stone. -->
<!-- Make the castle door an anchor. Clicking on the door leads to another world describing the castle interior. -->
<!-- Add panorama cloud and mountain textures to the Background node. -->
<!-- In Nintendo 64 style, add platforms that rise and fall and cannons that rise up when you approach. You can build these using PositionInterpolators and TimeSensors to run the animations, and ProximitySensors to trigger the actions. -->
<WorldInfo info='"copyright (c) 1997, David R. Nadeau"title='Fairy-tale Castle'/>
<Viewpoint description='Entry vieworientation='1.0 0.0 0.0 0.35'/>
<NavigationInfo speed='40.0'/>
<Transform translation='0.0 -1.6 0.0'>
<Shape>
<Appearance>
<Material diffuseColor='0.0 0.0 0.0emissiveColor='0.0 0.5 0.0'/>
</Appearance>
<Box size='2000.0 0.01 2000.0'/>
</Shape>
</Transform>
<Transform DEF='Castletranslation='0.0 -1.6 -200.0'>
<Transform translation='0.0 20.0 0.0'>
<Shape>
<Appearance DEF='CastleColor'>
<Material ambientIntensity='0.5diffuseColor='1.0 1.0 1.0'/>
</Appearance>
<Cylinder bottom='falseheight='40.0radius='50.0'/>
</Shape>
</Transform>
<Transform translation='0.0 0.0 52.0'>
<Transform translation='0.0 10.0 0.0'>
<Shape>
<Appearance USE=' CastleColor'/>
<Box size='30.0 20.0 6.0'/>
</Shape>
</Transform>
<Transform translation='0.0 5.0 3.0'>
<Shape>
<Appearance>
<Material diffuseColor='0.4 0.1 0.0'/>
</Appearance>
<Box size='10.0 10.0 0.5'/>
</Shape>
</Transform>
<Transform translation='-15.0 0.0 3.0'>
<Transform DEF='EntryTowertranslation='0.0 15.0 0.0'>
<Shape>
<Appearance USE=' CastleColor'/>
<Cylinder bottom='falseheight='30.0radius='5.0top='false'/>
</Shape>
</Transform>
<Transform DEF='EntryRooftranslation='0.0 40.0 0.0'>
<Shape>
<Appearance DEF='RoofColor'>
<Material ambientIntensity='0.5diffuseColor='1.0 0.0 0.0'/>
</Appearance>
<Cone bottomRadius='8.0height='20.0'/>
</Shape>
</Transform>
</Transform>
<Transform translation='15.0 0.0 3.0'>
<Transform USE=' EntryTower'/>
<Transform USE=' EntryRoof'/>
</Transform>
</Transform>
<Transform translation='-15.0 40.0 -5.0'>
<Transform translation='0.0 30.0 0.0'>
<Shape>
<Appearance USE=' CastleColor'/>
<Cylinder bottom='falseheight='60.0radius='25.0'/>
</Shape>
</Transform>
<Transform translation='0.0 100.0 0.0'>
<Shape>
<Appearance USE=' CastleColor'/>
<Cylinder bottom='falseheight='80.0radius='15.0top='false'/>
</Shape>
</Transform>
<Transform translation='0.0 170.0 0.0'>
<Shape DEF='MainRoofCone'>
<Appearance USE=' RoofColor'/>
<Cone bottomRadius='23.0height='60.0'/>
</Shape>
</Transform>
</Transform>
<Transform translation='20.0 40.0 15.0'>
<Transform translation='0.0 50.0 0.0'>
<Shape>
<Appearance USE=' CastleColor'/>
<Cylinder bottom='falseheight='100.0radius='15.0top='false'/>
</Shape>
</Transform>
<Transform translation='0.0 130.0 0.0'>
<Shape USE=' MainRoofCone'/>
</Transform>
<Transform translation='0.0 30.0 15.0'>
<Transform DEF='SmallSubTowertranslation='0.0 25.0 0.0'>
<Shape>
<Appearance USE=' CastleColor'/>
<Cylinder bottom='falseheight='30.0radius='5.0top='false'/>
</Shape>
</Transform>
<Transform DEF='SmallSubBaserotation='1.0 0.0 0.0 3.14159translation='0.0 5.0 0.0'>
<Shape>
<Appearance USE=' CastleColor'/>
<Cone bottom='falsebottomRadius='5.0height='10.0'/>
</Shape>
</Transform>
<Transform DEF='SmallSubRooftranslation='0.0 50.0 0.0'>
<Shape>
<Appearance USE=' RoofColor'/>
<Cone bottomRadius='8.0height='20.0'/>
</Shape>
</Transform>
</Transform>
</Transform>
<Transform translation='50.0 20.0 0.0'>
<Transform DEF='LargeSubTowertranslation='0.0 60.0 0.0'>
<Shape>
<Appearance USE=' CastleColor'/>
<Cylinder bottom='falseheight='80.0radius='10.0top='false'/>
</Shape>
</Transform>
<Transform DEF='LargeSubBaserotation='1.0 0.0 0.0 3.14159translation='0.0 10.0 0.0'>
<Shape>
<Appearance USE=' CastleColor'/>
<Cone bottom='falsebottomRadius='10.0height='20.0'/>
</Shape>
</Transform>
<Transform DEF='LargeSubRooftranslation='0.0 120.0 0.0'>
<Shape>
<Appearance USE=' RoofColor'/>
<Cone bottomRadius='15.0height='40.0'/>
</Shape>
</Transform>
<Transform translation='10.0 40.0 0.0'>
<Transform USE=' SmallSubTower'/>
<Transform USE=' SmallSubBase'/>
<Transform USE=' SmallSubRoof'/>
</Transform>
</Transform>
<Transform translation='-35.36 20.0 35.36'>
<Transform USE=' LargeSubTower'/>
<Transform USE=' LargeSubBase'/>
<Transform USE=' LargeSubRoof'/>
<Transform translation='-7.07 40.0 7.07'>
<Transform USE=' SmallSubTower'/>
<Transform USE=' SmallSubBase'/>
<Transform USE=' SmallSubRoof'/>
</Transform>
</Transform>
<Transform translation='0.0 20.0 -50.0'>
<Transform USE=' LargeSubTower'/>
<Transform USE=' LargeSubBase'/>
<Transform USE=' LargeSubRoof'/>
<Transform translation='0.0 40.0 -10.0'>
<Transform USE=' SmallSubTower'/>
<Transform USE=' SmallSubBase'/>
<Transform USE=' SmallSubRoof'/>
</Transform>
</Transform>
</Transform>
</Scene>
</X3D>
<!--

to top <!-- Index for DEF nodes: Castle, CastleColor, EntryRoof, EntryTower, LargeSubBase, LargeSubRoof, LargeSubTower, MainRoofCone, RoofColor, SmallSubBase, SmallSubRoof, SmallSubTower

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

<!-- Online at
https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/CastleIndex.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/Castle.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. -->