<?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='Interchange' 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='LaserPrinter.x3d'/>
<meta name='creatorcontent='Harold W. Valentine'/>
<meta name='createdcontent='22 August 2000'/>
<meta name='modifiedcontent='20 October 2019'/>
<meta name='descriptioncontent='How a laser printer works'/>
<meta name='identifiercontent=' https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/LaserPrinter.x3d '/>
<meta name='Imagecontent='BottomFuserRoller.jpg'/>
<meta name='Imagecontent='PaperRoller.gif'/>
<meta name='Imagecontent='PaperRoller.jpg'/>
<meta name='Imagecontent='ReverseText.jpg'/>
<meta name='Imagecontent='Text.jpg'/>
<meta name='Imagecontent='TopFuser.jpg'/>
<meta name='Imagecontent='TopFuserRoller.gif'/>
<meta name='Imagecontent='chargeroller.jpg'/>
<meta name='Imagecontent='chipset.jpg'/>
<meta name='Imagecontent='mirror.jpg'/>
<meta name='generatorcontent='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/>
<meta name='licensecontent=' ../license.html'/>
</head>
<!-- -->
<Scene>
<WorldInfo title='LaserPrinter.x3d'/>
<Viewpoint description='LaserPrinterorientation='-0.590284 0.769274 0.244504 0.987861position='10 10 10'/>
<Group>
<Transform rotation='0 0 1 1.57079translation='0 -0.85 -3.75'>
<Shape>
<Appearance>
<Material diffuseColor='0 0 1'/>
</Appearance>
<Cylinder height='6radius='.03'/>
</Shape>
</Transform>
<Transform translation='0 0.05 0'>
<Transform rotation='0 0 1 1.57079translation='-3 0 0'>
<Shape>
<Appearance>
<Material diffuseColor='0.3 0.3 0.3shininess='0.6specularColor='1 1 1'/>
</Appearance>
<Cylinder height='.1'/>
</Shape>
</Transform>
<Transform rotation='0 0 1 1.57079translation='3 0 0'>
<Shape>
<Appearance>
<Material diffuseColor='0.3 0.3 0.3shininess='0.6specularColor='1 1 1'/>
</Appearance>
<Cylinder height='.1'/>
</Shape>
</Transform>
</Transform>
<Transform rotation='0 0 1 1.57079translation='0 .1 -1.75'>
<Shape>
<Appearance>
<Material diffuseColor='0.5 0.5 0.5'/>
</Appearance>
<Box size='.75 6 .75'/>
</Shape>
</Transform>
<Group>
<!-- ROUTE information for ChargeRollerTimer node:  [from fraction_changed to ChargeRollerOr.set_fraction ] -->
<TimeSensor DEF='ChargeRollerTimercycleInterval='10loop='true'/>
<!-- ROUTE information for ChargeRollerOr node:  [from ChargeRollerTimer.fraction_changed to set_fraction ] [from value_changed to ChargeRoller.rotation ] -->
<OrientationInterpolator DEF='ChargeRollerOrkey='0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1keyValue='0 1 0 6.283185307 0 1 0 5.497787144 0 1 0 4.71238898 0 1 0 3.926990817 0 1 0 3.141592654 0 1 0 2.35619449 0 1 0 1.570796327 0 1 0 0.7854163 0 1 0 0'/>
</Group>
<Transform rotation='0 0 1 1.57079translation='0 0.1 -1.25'>
<!-- ROUTE information for ChargeRoller node:  [from ChargeRollerOr.value_changed to rotation ] -->
<Transform DEF='ChargeRoller'>
<Shape>
<Appearance>
<Material diffuseColor='0.5 0.5 1'/>
<ImageTexture
  url=' "chargeroller.jpg" "https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/chargeroller.jpg" '/>
</Appearance>
<Cylinder height='6radius='.25'/>
</Shape>
</Transform>
</Transform>
<Transform rotation='0 0 1 1.57079translation='0 -0.215 -1.25'>
<Shape>
<Appearance>
<Material diffuseColor='0.6 0.25 0.25'/>
</Appearance>
<Box size='.12 6 .25'/>
</Shape>
</Transform>
<Group>
<!-- ROUTE information for TopFuserTimer node:  [from fraction_changed to TopFuserOr.set_fraction ] -->
<TimeSensor DEF='TopFuserTimercycleInterval='10loop='true'/>
<!-- ROUTE information for TopFuserOr node:  [from TopFuserTimer.fraction_changed to set_fraction ] [from value_changed to TopFuser.rotation ] -->
<OrientationInterpolator DEF='TopFuserOrkey='0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1keyValue='0 1 0 0 0 1 0 0.7854163 0 1 0 1.570796327 0 1 0 2.35619449 0 1 0 3.141592654 0 1 0 3.926990817 0 1 0 4.71238898 0 1 0 5.497787144 0 1 0 6.283185307'/>
</Group>
<Transform rotation='0 0 1 1.57079translation='0 -.68 3'>
<!-- ROUTE information for TopFuser node:  [from TopFuserOr.value_changed to rotation ] -->
<Transform DEF='TopFuser'>
<Shape>
<Appearance>
<Material diffuseColor='0 1 1'/>
<ImageTexture
  url=' "TopFuserRoller.gif" "https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/TopFuserRoller.jpg" '/>
</Appearance>
<Cylinder height='6radius='.25'/>
</Shape>
</Transform>
</Transform>
<Group>
<!-- ROUTE information for BottomFuserTimer node:  [from fraction_changed to BottomFuserOr.set_fraction ] -->
<TimeSensor DEF='BottomFuserTimercycleInterval='10loop='true'/>
<!-- ROUTE information for BottomFuserOr node:  [from BottomFuserTimer.fraction_changed to set_fraction ] [from value_changed to BottomFuser.rotation ] -->
<OrientationInterpolator DEF='BottomFuserOrkey='0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1keyValue='0 1 0 6.283185307 0 1 0 5.497787144 0 1 0 4.71238898 0 1 0 3.926990817 0 1 0 3.141592654 0 1 0 2.35619449 0 1 0 1.570796327 0 1 0 0.7854163 0 1 0 0'/>
</Group>
<Transform rotation='0 0 1 1.57079translation='0 -1.2 3'>
<!-- ROUTE information for BottomFuser node:  [from BottomFuserOr.value_changed to rotation ] -->
<Transform DEF='BottomFuser'>
<Shape>
<Appearance> </Appearance>
<Cylinder height='6radius='.25'/>
</Shape>
</Transform>
</Transform>
<Group>
<!-- ROUTE information for TopPaperTimer node:  [from fraction_changed to TopPaperOr.set_fraction ] -->
<TimeSensor DEF='TopPaperTimercycleInterval='10loop='true'/>
<!-- ROUTE information for TopPaperOr node:  [from TopPaperTimer.fraction_changed to set_fraction ] [from value_changed to TopPaper.rotation ] -->
<OrientationInterpolator DEF='TopPaperOrkey='0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1keyValue='0 1 0 0 0 1 0 0.7854163 0 1 0 1.570796327 0 1 0 2.35619449 0 1 0 3.141592654 0 1 0 3.926990817 0 1 0 4.71238898 0 1 0 5.497787144 0 1 0 6.283185307'/>
</Group>
<Transform rotation='0 0 1 1.57079translation='0 -0.68 -3'>
<!-- ROUTE information for TopPaper node:  [from TopPaperOr.value_changed to rotation ] -->
<Transform DEF='TopPaper'>
<Shape>
<Appearance>
<Material/>
<ImageTexture DEF='paperroller'
  url=' "PaperRoller.jpg" "https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/PaperRoller.jpg" '/>
</Appearance>
<Cylinder height='6radius='.25'/>
</Shape>
</Transform>
</Transform>
<Group>
<!-- ROUTE information for BottomPaperTimer node:  [from fraction_changed to BottomPaperOr.set_fraction ] -->
<TimeSensor DEF='BottomPaperTimercycleInterval='10loop='true'/>
<!-- ROUTE information for BottomPaperOr node:  [from BottomPaperTimer.fraction_changed to set_fraction ] [from value_changed to BottomPaper.rotation ] -->
<OrientationInterpolator DEF='BottomPaperOrkey='0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1keyValue='0 1 0 6.283185307 0 1 0 5.497787144 0 1 0 4.71238898 0 1 0 3.926990817 0 1 0 3.141592654 0 1 0 2.35619449 0 1 0 1.570796327 0 1 0 0.7854163 0 1 0 0'/>
</Group>
<Transform rotation='0 0 1 1.57079translation='0 -1.2 -3'>
<!-- ROUTE information for BottomPaper node:  [from BottomPaperOr.value_changed to rotation ] -->
<Transform DEF='BottomPaper'>
<Shape>
<Appearance>
<Material diffuseColor='1 1 0'/>
<ImageTexture USE='paperroller'/>
</Appearance>
<Cylinder height='6radius='.25'/>
</Shape>
</Transform>
</Transform>
<Transform rotation='0 0 1 1.57079translation='0 -.94 3'>
<Shape>
<Appearance>
<Material diffuseColor='1 1 1'/>
<ImageTexture
  url=' "Text.jpg" "https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/Text.jpg" '/>
</Appearance>
<Box size='.02 6 8'/>
</Shape>
</Transform>
<Transform rotation='0 0 1 1.57079translation='0 -.94 -3.5'>
<Shape>
<Appearance>
<Material diffuseColor='1 1 1'/>
</Appearance>
<Box size='.02 6 2'/>
</Shape>
</Transform>
<Transform rotation='0 0 1 1.57079translation='0 2 -3.5'>
<Shape>
<Appearance>
<Material diffuseColor='0 0 1'/>
</Appearance>
<Box size='.5 1.5 2'/>
</Shape>
</Transform>
<Group>
<!-- ROUTE information for MirrorTimer node:  [from fraction_changed to MirrorOr.set_fraction ] -->
<TimeSensor DEF='MirrorTimercycleInterval='0.1loop='true'/>
<!-- ROUTE information for MirrorOr node:  [from MirrorTimer.fraction_changed to set_fraction ] [from value_changed to Mirror.rotation ] -->
<OrientationInterpolator DEF='MirrorOrkey='0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1keyValue='0 1 0 6.283185307 0 1 0 5.497787144 0 1 0 4.71238898 0 1 0 3.926990817 0 1 0 3.141592654 0 1 0 2.35619449 0 1 0 1.570796327 0 1 0 0.7854163 0 1 0 0'/>
</Group>
<!-- ROUTE information for Mirror node:  [from MirrorOr.value_changed to rotation ] -->
<Transform DEF='Mirrortranslation='0 2 2'>
<Shape>
<Appearance>
<Material diffuseColor='.5 .5 .5'/>
<ImageTexture
  url=' "mirror.jpg" "https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/mirror.jpg" '/>
</Appearance>
<Cylinder height='.5radius='.5'/>
</Shape>
</Transform>
<Transform rotation='1 0 0 1.57079translation='0 2 -1'>
<Shape>
<Appearance>
<Material DEF='ReddiffuseColor='1 0 0'/>
</Appearance>
<Cylinder height='6radius='.04'/>
</Shape>
</Transform>
<Transform rotation='1 0 0 .6scale='1 1 .01translation='0 1.352 1.0825'>
<Shape>
<Appearance>
<Material USE='Red'/>
</Appearance>
<Cone bottomRadius='3height='1.48'/>
</Shape>
</Transform>
<Transform translation='0 0 -4.5'>
<Shape>
<Appearance>
<Material DEF='GreendiffuseColor='.2 1 0'/>
</Appearance>
<Box size='10 5 .2'/>
</Shape>
</Transform>
<Transform rotation='0 1 0 1.57079translation='-4.9 0 0'>
<Shape>
<Appearance>
<Material diffuseColor='0.5 1 0'/>
</Appearance>
<Box size='9 5 .2'/>
</Shape>
</Transform>
<Transform rotation='0 1 0 1.57079translation='-4.7 0 0'>
<Shape>
<Appearance>
<Material DEF='DarkGreendiffuseColor='0 .5 0'/>
<ImageTexture
  url=' "chipset.jpg" "https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/chipset.jpg" '/>
</Appearance>
<Box size='7 3 .2'/>
</Shape>
</Transform>
<Group>
<!-- ROUTE information for PrinterDrumTimer node:  [from fraction_changed to PrinterDrumOr.set_fraction ] -->
<TimeSensor DEF='PrinterDrumTimercycleInterval='10loop='true'/>
<!-- ROUTE information for PrinterDrumOr node:  [from PrinterDrumTimer.fraction_changed to set_fraction ] [from value_changed to PrinterDrum.rotation ] -->
<OrientationInterpolator DEF='PrinterDrumOrkey='0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1keyValue='1 0 0 6.283185307 1 0 0 5.497787144 1 0 0 4.71238898 1 0 0 3.926990817 1 0 0 3.141592654 1 0 0 2.35619449 1 0 0 1.570796327 1 0 0 0.7854163 1 0 0 0'/>
</Group>
<!-- ROUTE information for PrinterDrum node:  [from PrinterDrumOr.value_changed to rotation ] -->
<Transform DEF='PrinterDrumtranslation='0 0.05 0'>
<Transform rotation='0 0 1 1.57079'>
<Shape>
<Appearance>
<Material DEF='DrumColordiffuseColor='1 1 1shininess='0.6specularColor='1 1 1'/>
<ImageTexture
  url=' "ReverseText.jpg" "https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/ReverseText.jpg" '/>
</Appearance>
<Cylinder height='6'/>
</Shape>
</Transform>
</Transform>
</Group>
<ROUTE fromNode='PrinterDrumTimerfromField='fraction_changedtoNode='PrinterDrumOrtoField='set_fraction'/>
<ROUTE fromNode='PrinterDrumOrfromField='value_changedtoNode='PrinterDrumtoField='rotation'/>
<ROUTE fromNode='MirrorTimerfromField='fraction_changedtoNode='MirrorOrtoField='set_fraction'/>
<ROUTE fromNode='MirrorOrfromField='value_changedtoNode='MirrortoField='rotation'/>
<ROUTE fromNode='ChargeRollerTimerfromField='fraction_changedtoNode='ChargeRollerOrtoField='set_fraction'/>
<ROUTE fromNode='ChargeRollerOrfromField='value_changedtoNode='ChargeRollertoField='rotation'/>
<ROUTE fromNode='TopFuserTimerfromField='fraction_changedtoNode='TopFuserOrtoField='set_fraction'/>
<ROUTE fromNode='TopFuserOrfromField='value_changedtoNode='TopFusertoField='rotation'/>
<ROUTE fromNode='BottomFuserTimerfromField='fraction_changedtoNode='BottomFuserOrtoField='set_fraction'/>
<ROUTE fromNode='BottomFuserOrfromField='value_changedtoNode='BottomFusertoField='rotation'/>
<ROUTE fromNode='TopPaperTimerfromField='fraction_changedtoNode='TopPaperOrtoField='set_fraction'/>
<ROUTE fromNode='TopPaperOrfromField='value_changedtoNode='TopPapertoField='rotation'/>
<ROUTE fromNode='BottomPaperTimerfromField='fraction_changedtoNode='BottomPaperOrtoField='set_fraction'/>
<ROUTE fromNode='BottomPaperOrfromField='value_changedtoNode='BottomPapertoField='rotation'/>
</Scene>
</X3D>
<!--

Index for DEF nodes : BottomFuser, BottomFuserOr, BottomFuserTimer, BottomPaper, BottomPaperOr, BottomPaperTimer, ChargeRoller, ChargeRollerOr, ChargeRollerTimer, DarkGreen, DrumColor, Green, Mirror, MirrorOr, MirrorTimer, paperroller, PrinterDrum, PrinterDrumOr, PrinterDrumTimer, Red, TopFuser, TopFuserOr, TopFuserTimer, TopPaper, TopPaperOr, TopPaperTimer

Index for Viewpoint image : Viewpoint_1
-->

<!-- 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 -->