<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "http://www.web3d.org/specifications/x3d-3.0.dtd">
<X3D profile='Immersive' version='3.0 xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation =' http://www.web3d.org/specifications/x3d-3.0.xsd '>
<head>
<meta name='titlecontent='Stinger.x3d'/>
<meta name='descriptioncontent='Stinger Surface-to-Air Missile'/>
<meta name='creatorcontent='Turgut AKGUL'/>
<meta name='createdcontent='22 September 2003'/>
<meta name='modifiedcontent='16 January 2014'/>
<meta name='referencecontent='StingerRaytheon.pdf'/>
<meta name='referencecontent=' http://www.fas.org/man/dod-101/sys/land/stinger.htm '/>
<meta name='referencecontent=' http://www.howstuffworks.com/stinger.htm '/>
<meta name='subjectcontent='Stinger surface-to-air missile'/>
<meta name='identifiercontent=' https://savage.nps.edu/Savage/Weapons/Missiles/Stinger.x3d '/>
<meta name='generatorcontent='X3D-Edit 3.2, https://savage.nps.edu/X3D-Edit'/>
<meta name='licensecontent=' ../../license.html'/>
</head>
<!-- -->
<Scene>
<Background groundAngle='1.309 1.570796groundColor='0.0 0.0 0.1 0.0 0.1 0.3 0.3 0.3 0.6skyAngle='1.309 1.571skyColor='1.0 0.0 0.8 0.5 0.0 0.8 0.0 0.0 0.8'/>
<Viewpoint description='view1orientation='0.682 -0.687 -0.252 3.138position='-2.6 1.5 -6.7'/>
<Viewpoint description='view2orientation='-0.105 0.994 0.039 1.3696position='11.7 -0.1 2.6'/>
<Transform>
<Group>
<!-- ROUTE information for StingerMissile node:  [from CubePathInterpolator.value_changed to set_rotation ] [from MyPlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='StingerMissilescale='4 4 4'>
<Transform>
<!-- Built as well as possible to scale from pictures on FAS web site. Missile speed and distance for engagement are not what they are in real life for demonstration purposes. -->
<Transform>
<Group DEF='MISSILEBODY'>
<Transform>
<Shape>
<Appearance>
<Material DEF='GREYdiffuseColor='0.6 0.6 0.6shininess='.7'/>
</Appearance>
<Cylinder height='1.31radius='0.069'/>
</Shape>
</Transform>
<Transform translation='0.069 0.515 0'>
<Group DEF='HEADFINS'>
<Transform>
<Shape DEF='HEADFIN1'>
<IndexedFaceSet solid='falsecoordIndex='0 1 2 3 4 -1'>
<Coordinate point='0 0 0 0 0.0400 0 0.0800 0.0400 0 0.0800 0.0 0 0 0 0'/>
</IndexedFaceSet>
<Appearance DEF='FINCOLOR2'>
<Material USE='GREY'/>
</Appearance>
</Shape>
<Shape DEF='HEADFIN1HOLE'>
<IndexedFaceSet solid='falsecoordIndex='0 1 2 3 4 -1'>
<Coordinate point='0 0 -0.004 0 0 0.004 0 -0.0800 0.004 0 -0.08 -0.004 0 0 -0.004'/>
</IndexedFaceSet>
<Appearance>
<Material DEF='FinHoleColordiffuseColor='0.1 0.1 0.1'/>
</Appearance>
</Shape>
</Transform>
<Transform translation='-.138 0 0'>
<Shape DEF='HEADFIN2'>
<IndexedFaceSet solid='falsecoordIndex='0 1 2 3 4 -1'>
<Coordinate point='0 0 0 0 0.0400 0 -0.0800 0.0400 0 -0.0800 0.0 0 0 0 0'/>
</IndexedFaceSet>
<Appearance>
<Material USE='GREY'/>
</Appearance>
</Shape>
<Shape DEF='HEADFIN2HOLE'>
<IndexedFaceSet solid='falsecoordIndex='0 1 2 3 4 -1'>
<Coordinate point='0 0 -0.004 0 0 0.004 0 -0.0800 0.004 0 -0.08 -0.004 0 0 -0.004'/>
</IndexedFaceSet>
<Appearance>
<Material USE='FinHoleColor'/>
</Appearance>
</Shape>
</Transform>
<Transform translation='-0.069 0 0.069'>
<Shape DEF='HEADFIN3'>
<IndexedFaceSet solid='falsecoordIndex='0 1 2 3 4 -1'>
<Coordinate point='0 0 0 0 0.0400 0 0 0.0400 0.0800 0 0.0 0.0800 0 0 0'/>
</IndexedFaceSet>
<Appearance>
<Material USE='GREY'/>
</Appearance>
</Shape>
<Shape DEF='HEADFIN3HOLE'>
<IndexedFaceSet solid='falsecoordIndex='0 1 2 3 4 -1'>
<Coordinate point='-0.004 0 0 0.004 0 0 0.004 -0.0800 0 -0.004 -0.08 0 -0.004 0 0'/>
</IndexedFaceSet>
<Appearance>
<Material USE='FinHoleColor'/>
</Appearance>
</Shape>
</Transform>
<Transform translation='-0.069 0 -0.069'>
<Shape DEF='HEADFIN4'>
<IndexedFaceSet solid='falsecoordIndex='0 1 2 3 4 -1'>
<Coordinate point='0 0 0 0 0.0400 0 0 0.0400 -0.0800 0 0.0 -0.0800 0 0 0'/>
</IndexedFaceSet>
<Appearance>
<Material USE='GREY'/>
</Appearance>
</Shape>
<Shape DEF='HEADFIN4HOLE'>
<IndexedFaceSet solid='falsecoordIndex='0 1 2 3 4 -1'>
<Coordinate point='-0.004 0 0 0.004 0 0 0.004 -0.0800 0 -0.004 -0.08 0 -0.004 0 0'/>
</IndexedFaceSet>
<Appearance>
<Material USE='FinHoleColor'/>
</Appearance>
</Shape>
</Transform>
</Group>
</Transform>
</Group>
<Transform scale='1.31 1.31 1.31translation='0 0.655 0'>
<Group DEF='HEAD'>
<Shape>
<Appearance>
<Material USE='GREY'/>
</Appearance>
<Extrusion creaseAngle='1.785crossSection='0.053727 0.000 0.04648 -0.02696 0.02696 -0.04648 0.0 -0.053727 -0.02696 -0.04648 -0.04648 -0.02696 -0.053727 0.000 -0.04648 0.02696 -0.02696 0.04648 0.0 0.053727 0.02696 0.04648 0.04648 0.02696 0.053727 0.0scale='1.00 1.00 0.95 0.95 0.88 0.88 0.76 0.76 0.48 0.48spine='0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.02 0.00 0.00 0.03 0.00 0.00 0.04 0.00'/>
</Shape>
</Group>
</Transform>
<Transform>
<Group DEF='TAIL'>
<Shape>
<Appearance>
<Material USE='GREY'/>
</Appearance>
<Extrusion creaseAngle='1.57crossSection='1.00 0.00 0.92 -0.38 0.71 -0.71 0.38 -0.92 0.00 -1.00 -0.38 -0.92 -0.71 -0.71 -0.92 -0.38 -1.00 -0.00 -0.92 0.38 -0.71 0.71 -0.38 0.92 0.00 1.00 0.38 0.92 0.71 0.71 0.92 0.38 1.00 0.00endCap='falsescale='0.069 0.069 0.068 0.068 0.067 0.067 0.066 0.066 0.065 0.065 0.064 0.064 0.063 0.063 0.062 0.062 0.061 0.061 0.060 0.060 0.059 0.059 0.058 0.058 0.057 0.057 0.056 0.056 0.055 0.055 0.054 0.054 0.053 0.053 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052 0.052solid='falsespine='0.0 -0.655 0.0 0.0 -0.659 0.0 0.0 -0.663 0.0 0.0 -0.667 0.0 0.0 -0.671 0.0 0.0 -0.675 0.0 0.0 -0.679 0.0 0.0 -0.683 0.0 0.0 -0.687 0.0 0.0 -0.691 0.0 0.0 -0.695 0.0 0.0 -0.699 0.0 0.0 -0.703 0.0 0.0 -0.707 0.0 0.0 -0.711 0.0 0.0 -0.715 0.0 0.0 -0.719 0.0 0.0 -0.723 0.0 0.0 -0.727 0.0 0.0 -0.731 0.0 0.0 -0.735 0.0 0.0 -0.739 0.0 0.0 -0.743 0.0 0.0 -0.747 0.0 0.0 -0.751 0.0 0.0 -0.755 0.0 0.0 -0.759 0.0 0.0 -0.763 0.0 0.0 -0.767 0.0 0.0 -0.771 0.0 0.0 -0.775 0.0 0.0 -0.779 0.0 0.0 -0.784 0.0 0.0 -0.789 0.0 0.0 -0.793 0.0 0.0 -0.797 0.0 0.0 -0.801 0.0 0.0 -0.805 0.0 0.0 -0.809 0.0 0.0 -0.829 0.0'/>
</Shape>
</Group>
</Transform>
<Transform translation='0 .780 0'>
<Group DEF='TAILFINS'>
<Transform translation='.052 -1.59 0'>
<Shape DEF='FIN1'>
<IndexedFaceSet solid='falsecoordIndex='0 1 2 3 4 -1'>
<Coordinate point='0 0 0 0 0.0600 0 0.0800 0.0400 0 0.0800 0.0200 0 0 0 0'/>
</IndexedFaceSet>
<Appearance DEF='FINCOLOR'>
<Material DEF='FinColor'/>
</Appearance>
</Shape>
</Transform>
<Transform translation='-.052 -1.59 0'>
<Shape DEF='FIN2'>
<IndexedFaceSet solid='falsecoordIndex='0 1 2 3 4 -1'>
<Coordinate point='0 0 0 0 0.0600 0 -0.0800 0.0400 0 -0.0800 0.0200 0 0 0 0'/>
</IndexedFaceSet>
<Appearance>
<Material USE='FinColor'/>
</Appearance>
</Shape>
</Transform>
<Transform translation='0 -1.59 0.052'>
<Shape DEF='FIN3'>
<IndexedFaceSet solid='falsecoordIndex='0 1 2 3 4 -1'>
<Coordinate point='0 0 0 0 0.0600 0 0 0.0400 0.0800 0 0.0200 0.0800 0 0 0'/>
</IndexedFaceSet>
<Appearance>
<Material USE='FinColor'/>
</Appearance>
</Shape>
</Transform>
<Transform translation='0 -1.59 -0.052'>
<Shape DEF='FIN4'>
<IndexedFaceSet solid='falsecoordIndex='0 1 2 3 4 -1'>
<Coordinate point='0 0 0 0 0.0600 0 0 0.0400 -0.0800 0 0.0200 -0.0800 0 0 0'/>
</IndexedFaceSet>
<Appearance>
<Material USE='FinColor'/>
</Appearance>
</Shape>
</Transform>
</Group>
</Transform>
<Transform translation='0 -.88 0'>
<Shape DEF='EjectMotor'>
<Appearance>
<Material diffuseColor='0.4 0.4 0.4shininess='.7'/>
</Appearance>
<Cylinder height='0.10radius='0.06'/>
</Shape>
</Transform>
<Transform translation='0 -.93 0'>
<Shape DEF='EjectMotorBehind'>
<Appearance>
<Material USE='GREY'/>
</Appearance>
<Extrusion creaseAngle='1.785crossSection='0.053727 0.000 0.04648 -0.02696 0.02696 -0.04648 0.0 -0.053727 -0.02696 -0.04648 -0.04648 -0.02696 -0.053727 0.000 -0.04648 0.02696 -0.02696 0.04648 0.0 0.053727 0.02696 0.04648 0.04648 0.02696 0.053727 0.0scale='1.00 1.00 0.85 0.85 0.85 0.85 0.76 0.76 0.76 0.76spine='0.00 0.00 0.00 0.00 -0.01 0.00 0.00 -0.02 0.00 0.00 -0.03 0.00 0.00 -0.04 0.00'/>
</Shape>
<Transform DEF='EXHAUSTrotation='0 1 0 3.14scale='0.5 0.5 0.5translation='0 -0.7 0'>
<!-- Exhaust flames are from the torch example in the source book. -->
<Shape DEF='Flames'>
<!-- No appearance, use emissive shading -->
<IndexedFaceSet coordIndex='0 1 2 -1 3 4 5 -1 6 7 8 -1'>
<Coordinate point='0.25 0.0 0.00 0.15 1.0 0.10 0.05 0.0 0.15 0.18 0.0 0.05 0.00 1.2 0.05 -0.10 0.0 0.05 -0.00 0.0 0.15 -0.13 0.8 0.10 -0.25 -0.25 0.00'/>
<Color color='1.0 0.0 0.0 0.9 0.5 0 1.0 0.0 0.0 0.9 0.3 0 1.0 1.0 0.0 0.9 0.3 0 0.7 0.1 0.2 0.9 0.8 0 1.0 0.0 0.0'/>
</IndexedFaceSet>
<Appearance>
<Material transparency='.15'/>
</Appearance>
</Shape>
<Transform rotation='0 1 0 1.57scale='0.9 0.9 1'>
<Shape USE='Flames'/>
</Transform>
<Transform rotation='0 1 0 -1.57scale='0.9 0.9 1'>
<Shape USE='Flames'/>
</Transform>
<PositionInterpolator DEF='EXHINTkey='0 .25 .5 .75 1keyValue='1.4 1.4 1.4 2 2 2 2.5 2.5 2.5 2 2 2 1.4 1.4 1.4'/>
<TimeSensor DEF='EXHAUSTCLOCKloop='true'/>
<TimeSensor DEF='RGMCLOCKcycleInterval='28'/>
</Transform>
</Transform>
</Transform>
</Transform>
</Transform>
<Inline DEF='CoordinateAxes'
  url=' "../../X3dForWebAuthors/Chapter03Grouping/CoordinateAxes.x3d" "../../../Savage/Tools/Authoring/CoordinateAxes.x3d" "http://X3dGraphics.com/examples/X3dForWebAuthors/Chapter03Grouping/CoordinateAxes.x3d" "https://savage.nps.edu/Savage/Tools/Authoring/CoordinateAxes.x3d" "../../X3dForWebAuthors/Chapter03Grouping/CoordinateAxes.wrl" "../../../Savage/Tools/Authoring/CoordinateAxes.wrl" "http://X3dGraphics.com/examples/X3dForWebAuthors/Chapter03Grouping/CoordinateAxes.wrl" "https://savage.nps.edu/Savage/Tools/Authoring/CoordinateAxes.wrl" '/>

<!-- ROUTE information for MyTouchSensor node:  [from touchTime to CLOCK.startTime ] -->
<TouchSensor DEF='MyTouchSensordescription='touch to start clock'/>
<!-- ROUTE information for CLOCK node:  [from MyTouchSensor.touchTime to startTime ] [from fraction_changed to CubePathInterpolator.set_fraction ] -->
<TimeSensor DEF='CLOCKcycleInterval='0.5'/>
<!-- ROUTE information for CubePathInterpolator node:  [from CLOCK.fraction_changed to set_fraction ] [from value_changed to StingerMissile.set_rotation ] -->
<OrientationInterpolator DEF='CubePathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>
<!-- ROUTE information for MyPlaneSensor node:  [from translation_changed to StingerMissile.set_translation ] -->
<PlaneSensor DEF='MyPlaneSensordescription='drag stinger in plane'/>
</Group>
<Script DEF='Unfinished'>
<field name='set_startTimetype='SFTimeaccessType='inputOnly'/>
<field name='startTimetype='SFTimevalue='0accessType='initializeOnly'/>
<field name='delayCompleteTimetype='SFTimeaccessType='outputOnly'/>
<field name='delayIntervaltype='SFTimevalue='1accessType='initializeOnly'/>
<field name='set_delayIntervaltype='SFTimeaccessType='inputOnly'/>
<![CDATA[
        
ecmascript:
function set_startTime (newStartTimeValue)
{
	startTime = newStartTimeValue; // disconnected??
	delayCompleteTime = newStartTimeValue + delayInterval;
}

function set_delayInterval (newDelayTimeValue)
{
	delayInterval = newDelayTimeValue; // disconnected??
	delayCompleteTime = startTime + delayInterval;
}

      
]]>
</Script>
</Transform>
<ROUTE fromNode='MyTouchSensorfromField='touchTimetoNode='CLOCKtoField='startTime'/>
<ROUTE fromNode='CLOCKfromField='fraction_changedtoNode='CubePathInterpolatortoField='set_fraction'/>
<ROUTE fromNode='CubePathInterpolatorfromField='value_changedtoNode='StingerMissiletoField='set_rotation'/>
<ROUTE fromNode='MyPlaneSensorfromField='translation_changedtoNode='StingerMissiletoField='set_translation'/>
</Scene>
</X3D>
<!--

Index for DEF nodes : CLOCK, CoordinateAxes, CubePathInterpolator, EjectMotor, EjectMotorBehind, EXHAUST, EXHAUSTCLOCK, EXHINT, FIN1, FIN2, FIN3, FIN4, FINCOLOR, FinColor, FINCOLOR2, FinHoleColor, Flames, GREY, HEAD, HEADFIN1, HEADFIN1HOLE, HEADFIN2, HEADFIN2HOLE, HEADFIN3, HEADFIN3HOLE, HEADFIN4, HEADFIN4HOLE, HEADFINS, MISSILEBODY, MyPlaneSensor, MyTouchSensor, RGMCLOCK, StingerMissile, TAIL, TAILFINS, Unfinished

Index for Viewpoint images : Viewpoint_1, Viewpoint_2
-->

<!-- Color key: <X3dNode DEF='idName' field='value'/> matches <XmlElement DEF='idName' attribute='value'/>
(Light blue background: behavior node) (Grey background: inserted documentation) (Magenta background: X3D Extensibility)
-->

<!-- Additional help information about X3D scenes: X3D Resources, X3D Scene Authoring Hints and X3D Tooltips -->