<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "https://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='https://www.web3d.org/specifications/x3d-3.0.xsd'>
  <head>
    <meta content='Mk48Torpedo.x3d' name='title'/>
    <meta content='US Navy&apos;s Mk48 torpedo. Originally written in VRML by Haruna R. Isa.' name='description'/>
    <meta content='1 June 1997' name='created'/>
    <meta content='29 April 2021' name='created'/>
    <meta content='Haruna R. Isa' name='creator'/>
    <meta content='Jeffrey Weekley' name='translator'/>
    <meta content='Don Brutzman' name='translator'/>
    <meta content='diagram01Mk48TorpedoFAS.gif' name='Image'/>
    <meta content='https://www.fas.org/man/dod-101/sys/ship/weaps/torpedo_comp.gif' name='Image'/>
    <meta content='http://www.chinfo.navy.mil/navpalib/factfile/weapons/wep-torp.html' name='photo'/>
    <meta content='Phot01Mk48TorpedoFASOrg.jpeg' name='photo'/>
    <meta content='https://www.fas.org/man/dod-101/sys/ship/weaps/731-p05-s.jpg' name='photo'/>
    <meta content='https://www.fas.org/man/dod-101/sys/ship/weaps/mk-48.htm' name='reference'/>
    <meta content='HmasFarncombMk48SinkexDestroyerEscort.pps' name='slideset'/>
    <meta content='https://www.web3d.org/x3d/content/examples/Savage/Weapons/Torpedoes/Mk48Torpedo.x3d' name='identifier'/>
    <meta content='X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit' name='generator'/>
    <meta content='../../license.html' name='license'/>
  </head>
  <Scene>
    <WorldInfo title='Mk48Torpedo.x3d'/>
    <WorldInfo info='"Only unclassified open resources were used to create this model."'/>
    <Group>
      <Transform DEF='torpedo' rotation='0.0 0.0 1.0 1.57079' translation='4.0 0.0 0.0'>
        <Transform DEF='torpedoband1' translation='0.0 1.465 0.0'>
          <Shape>
            <Cylinder bottom='false' height='.07' radius='.267' top='false'/>
            <Appearance>
              <Material diffuseColor='1.0 1.0 1.0'/>
            </Appearance>
          </Shape>
        </Transform>
        <Transform DEF='torpedobody1' translation='0.0 2.1 0.0'>
          <Shape>
            <Cylinder bottom='false' height='1.2' radius='.267' top='false'/>
            <Appearance>
              <Material diffuseColor='1.0 1.0 1.0'/>
            </Appearance>
          </Shape>
        </Transform>
        <Transform DEF='torpedoband2' translation='0.0 2.735 0.0'>
          <Shape>
            <Cylinder bottom='false' height='.07' radius='.267' top='false'/>
            <Appearance>
              <Material diffuseColor='1.0 1.0 1.0'/>
            </Appearance>
          </Shape>
        </Transform>
        <Transform DEF='torpedobody2' translation='0.0 3.37 0.0'>
          <Shape>
            <Cylinder bottom='false' height='1.2' radius='0.267' top='false'/>
            <Appearance>
              <Material diffuseColor='1.0 1.0 1.0'/>
            </Appearance>
          </Shape>
        </Transform>
        <Transform DEF='torpedoband3' translation='0.0 4.005 0.0'>
          <Shape>
            <Cylinder bottom='false' height='.07' radius='.267' top='false'/>
            <Appearance>
              <Material diffuseColor='1.0 1.0 1.0'/>
            </Appearance>
          </Shape>
        </Transform>
        <Transform DEF='torpedobody3' translation='0.0 4.638 0.0'>
          <Shape>
            <Cylinder bottom='false' height='1.2' radius='0.267' top='false'/>
            <Appearance>
              <Material diffuseColor='1.0 1.0 1.0'/>
            </Appearance>
          </Shape>
        </Transform>
        <Transform DEF='torpedoband4' translation='0.0 3.8075 0.0'>
          <Transform USE='torpedoband1'/>
        </Transform>
        <Transform DEF='torpedobody4' translation='0.0 3.8075 0.0'>
          <Transform USE='torpedobody1'/>
        </Transform>
        <Transform DEF='torpedonose' rotation='1.0 0.0 0.0 3.1416' translation='0.0 1.4285 0.0'>
          <Shape>
            <Appearance>
              <Material diffuseColor='1.0 1.0 1.0'/>
            </Appearance>
            <Extrusion creaseAngle='1.785' crossSection='0.267 0.000 0.231 -0.134 0.134 -0.231 0.0 -0.267 -0.134 -0.231 -0.231 -0.134 -0.267 0.000 -0.231 0.134 -0.134 0.231 0.0 0.267 0.134 0.231 0.231 0.134 0.267 0.0' scale='1.00 1.00 0.95 0.95 0.88 0.88 0.76 0.76 0.48 0.48' spine='0.00 0.00 0.00 0.00 0.10 0.00 0.00 0.20 0.00 0.00 0.30 0.00 0.00 0.40 0.00'/>
          </Shape>
        </Transform>
        <Group DEF='controlfins'>
          <Transform rotation='0 -1 0 5.27' translation='0.0 0.125 0.0'>
            <Transform DEF='ControlFin1'>
              <Transform translation='0.19 7.81 0.0'>
                <Shape>
                  <Box size='0.16 .2 0.02'/>
                  <Appearance>
                    <Material diffuseColor='0.0 1.0 0.0'/>
                    <!-- green -->
                  </Appearance>
                </Shape>
              </Transform>
            </Transform>
            <Transform DEF='ControlFin2' rotation='0 1 0 3.17'>
              <Transform USE='ControlFin1'/>
            </Transform>
            <Transform DEF='ControlFin3' rotation='0 1 0 1.57'>
              <Transform USE='ControlFin1'/>
            </Transform>
            <Transform DEF='ControlFin4' rotation='0.0 1.0 0.0 4.74'>
              <Transform USE='ControlFin1'/>
            </Transform>
          </Transform>
        </Group>
        <Group DEF='stabilzerfins'>
          <Transform translation='0.0 8.15 0.0'>
            <Transform DEF='stabilizerfin1' translation='0.19 -0.5 0.0'>
              <Shape>
                <Box size='0.08 0.75 0.02'/>
                <Appearance>
                  <Material diffuseColor='0.0 0.0 0.8'/>
                </Appearance>
              </Shape>
            </Transform>
            <Transform DEF='stabilizerfin2' rotation='0.0 1.0 0.0 1.57' translation='0.0 -0.5 0.19'>
              <Shape>
                <Box size='0.08 0.75 0.02'/>
                <Appearance>
                  <Material diffuseColor='0.5 1.0 0.5'/>
                  <!-- light green -->
                </Appearance>
              </Shape>
            </Transform>
            <Transform DEF='stabilizerfin3' rotation='0.0 1.0 0.0 3.1416'>
              <Transform USE='stabilizerfin1'/>
            </Transform>
            <Transform DEF='stabilizerfin4' rotation='0.0 1.0 0.0 3.1416'>
              <Transform USE='stabilizerfin2'/>
            </Transform>
          </Transform>
        </Group>
        <Group DEF='TailSection'>
          <Transform DEF='torpedotail' rotation='1.0 0.0 0.0 3.1416' translation='0.0 7.9375 0.0'>
            <Shape>
              <Appearance>
                <Material diffuseColor='1.0 1.0 1.0'/>
              </Appearance>
              <Extrusion creaseAngle='2.0' crossSection='0.267 0.000 0.231 -0.134 0.134 -0.231 0.0 -0.267 -0.134 -0.231 -0.231 -0.134 -0.267 0.000 -0.231 0.134 -0.134 0.231 0.0 0.267 0.134 0.231 0.231 0.134 0.267 0.0' endCap='false' scale='0.342 0.342 0.500 0.500 0.643 0.643 0.766 0.766 0.866 0.866 0.940 0.940 0.985 0.985 1.0 1.0' spine='0.0 0.0 0.000 0.0 0.114 0.000 0.0 0.266 0.000 0.0 0.453 0.000 0.0 0.670 0.000 0.0 0.910 0.000 0.0 1.166 0.000 0.0 1.431 0.0'/>
            </Shape>
            <Shape DEF='torpedoshroud'>
              <Appearance>
                <Material diffuseColor='1.0 1.0 1.0'/>
              </Appearance>
              <Extrusion creaseAngle='.785' crossSection='0.00 0.00 -0.02 0.00 -0.02 -0.10 -0.06 -0.20 -0.04 -0.20 0.00 -0.10 0.00 0.00' solid='false' spine='0.20 0.00 0.00 0.19 0.00 -0.07 0.15 0.00 -0.13 0.10 0.00 -0.17 0.03 0.00 -0.20 -0.03 0.00 -0.20 -0.10 0.00 -0.17 -0.15 0.00 -0.13 -0.19 0.00 -0.07 -0.20 0.00 0.00 -0.19 0.00 0.07 -0.15 0.00 0.13 -0.10 0.00 0.17 -0.03 0.00 0.20 0.03 0.00 0.20 0.10 0.00 0.17 0.15 0.00 0.13 0.19 0.00 0.07 0.20 0.00 0.00'/>
            </Shape>
            <Group DEF='torpedostator'>
              <Transform DEF='propeller' translation='0.0 -0.15 0.0'>
                <Group DEF='statorblade1'>
                  <Transform DEF='torpedostatorblade1'>
                    <Transform rotation='-1.0 0.0 0.0 3.43' translation='0.075 0.0 0.0'>
                      <Shape>
                        <Box size='0.125 0.09 0.015'/>
                        <Appearance>
                          <Material diffuseColor='1.0 1.0 1.0'/>
                        </Appearance>
                      </Shape>
                    </Transform>
                  </Transform>
                  <Transform DEF='torpedostatorblade1A'>
                    <Transform rotation='1 0 0 3.43' translation='-0.075 0.0 0.0'>
                      <Shape>
                        <Box size='0.125 0.09 0.015'/>
                        <Appearance>
                          <Material diffuseColor='1.0 1.0 1.0'/>
                        </Appearance>
                      </Shape>
                    </Transform>
                  </Transform>
                </Group>
                <Group DEF='statorblade2'>
                  <Transform rotation='0 1 0 2.04'>
                    <Group USE='statorblade1'/>
                  </Transform>
                </Group>
                <Group DEF='statorblade3'>
                  <Transform rotation='0 -1 0 5.27'>
                    <Group USE='statorblade1'/>
                  </Transform>
                </Group>
                <Transform DEF='statorbladeshaft' translation='0.0 0 0.0'>
                  <Shape>
                    <Appearance>
                      <Material diffuseColor='0.0 0.0 0.5'/>
                    </Appearance>
                    <Cylinder height='0.1' radius='0.05'/>
                  </Shape>
                </Transform>
                <Transform DEF='statorcrankshaft' translation='0.0 0.1 0.0'>
                  <Shape>
                    <Cylinder height='.125' radius='.025'/>
                    <Appearance>
                      <Material diffuseColor='0.0 0.0 0.75'/>
                    </Appearance>
                  </Shape>
                </Transform>
              </Transform>
              <OrientationInterpolator DEF='PropSpin' key='0.0 0.5 1.0' keyValue='0.0 1.0 0.0 0.00 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>
              <TimeSensor DEF='Clock' cycleInterval='0.5' loop='true'/>
              <!-- Spins the propellor and stator once every 4 seconds -->
            </Group>
          </Transform>
        </Group>
      </Transform>
    </Group>
    <ROUTE fromField='fraction_changed' fromNode='Clock' toField='set_fraction' toNode='PropSpin'/>
    <ROUTE fromField='value_changed' fromNode='PropSpin' toField='rotation' toNode='propeller'/>
  </Scene>
</X3D>