<?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='Immersive'
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>
<!--
-->
<Scene>
<!-- TODO clockwise or counterclockwise -->
<WorldInfo title='MobiusExtrusion.x3d'/>
<Background skyColor='0 0.6784314 0.8'/>
<Viewpoint description='Mobius strip extrusion, plus cross-sectional view' orientation='1 0 0 -0.46365' position='0 5 10'/>
<Viewpoint description='Mobius strip from above' orientation='1 0 0 -1.5707999' position='0 10 0'/>
<Viewpoint description='Mobius strip from side'/>
<Transform DEF='MobiusStrip' scale='2 2 2' translation='-3 2 0'>
<PointLight DEF='InteriorLight' global='false'/>
<Shape>
<Extrusion creaseAngle='0.7854' crossSection='-0.2 -0.1 0.2 -0.1 0.2 0.1 -0.2 0.1 -0.2 -0.1' orientation='0 1 0 -1.5707999 0 1 0 -1.309 0 1 0 -1.0472 0 1 0 -0.7854 0 1 0 -0.5236 0 1 0 -0.2618 0 1 0 0 0 1 0 0.2618 0 1 0 0.5236 0 1 0 0.7854 0 1 0 1.0472 0 1 0 1.309 0 1 0 1.5707999 0 1 0 1.8326 0 1 0 2.0943999 0 1 0 2.3562 0 1 0 2.618 0 1 0 2.8798001 0 1 0 3.1415999 0 1 0 3.4033999 0 1 0 3.6652 0 1 0 3.927 0 1 0 4.1887999 0 1 0 4.4506001 0 1 0 4.7124' solid='false' spine='0 0 1 0.259 0 0.966 0.5 0 0.866 0.707 0 0.707 0.866 0 0.5 0.966 0 0.259 1 0 0 0.966 0 -0.259 0.866 0 -0.5 0.707 0 -0.707 0.5 0 -0.866 0.259 0 -0.966 0 0 -1 -0.259 0 -0.966 -0.5 0 -0.866 -0.707 0 -0.707 -0.866 0 -0.5 -0.966 0 -0.259 -1 0 -0 -0.966 0 0.259 -0.866 0 0.5 -0.707 0 0.707 -0.5 0 0.866 -0.259 0 0.966 0 0 1'/>
<!-- illustrated by follow-on ExtrusionCrossSection visualization -->
<Appearance>
<Material diffuseColor='0.4431373 0.1803922 1'/>
<!-- TODO add ruled ImageTexture -->
</Appearance>
</Shape>
</Transform>
<ExternProtoDeclare name='ExtrusionCrossSection' appinfo='Shape prototype for Extrusion node that also draws spine line plus oriented scaled cross sections at each spine point'
documentation='
https://www.web3d.org/x3d/content/examples/Basic/course/ExtrusionCrossSectionPrototype.x3d
'
url='
"../../Basic/course/ExtrusionCrossSectionPrototype.x3d#ExtrusionCrossSection"
"https://www.web3d.org/x3d/content/examples/Basic/course/ExtrusionCrossSectionPrototype.x3d#ExtrusionCrossSection" '
>
<field name='name' type='SFString' accessType='initializeOnly'
appinfo='Extrusion name'
/>
<field name='crossSection' type='MFVec2f' accessType='initializeOnly'
appinfo='Extrusion field'
/>
<field name='spine' type='MFVec3f' accessType='initializeOnly'
appinfo='Extrusion field'
/>
<field name='scale' type='MFVec2f' accessType='initializeOnly'
appinfo='Extrusion field'
/>
<field name='orientation' type='MFRotation' accessType='initializeOnly'
appinfo='Extrusion field'
/>
<field name='beginCap' type='SFBool' accessType='initializeOnly'
appinfo='Extrusion field'
/>
<field name='endCap' type='SFBool' accessType='initializeOnly'
appinfo='Extrusion field'
/>
<field name='ccw' type='SFBool' accessType='initializeOnly'
appinfo='Extrusion field'
/>
<field name='convex' type='SFBool' accessType='initializeOnly'
appinfo='Extrusion field'
/>
<field name='creaseAngle' type='SFFloat' accessType='initializeOnly'
appinfo='Extrusion field'
/>
<field name='solid' type='SFBool' accessType='initializeOnly'
appinfo='Extrusion field'
/>
<field name='spineColor' type='SFColor' accessType='inputOutput'
appinfo='emissiveColor of spine'
/>
<field name='crossSectionColor' type='SFColor' accessType='inputOutput'
appinfo='diffuseColor of crossSection'
/>
<field name='crossSectionTransparency' type='SFFloat' accessType='inputOutput'
appinfo='transparency of crossSection'
/>
<field name='extrusionColor' type='SFColor' accessType='inputOutput'
appinfo='diffuseColor of extrusion hull'
/>
<field name='extrusionTransparency' type='SFFloat' accessType='inputOutput'
appinfo='transparency of extrusion hull'
/>
<field name='extrusionImageTexture' type='SFNode' accessType='initializeOnly'
appinfo='Image to apply to Extrusion'
/>
<field name='extrusionTextureTransform' type='SFNode' accessType='initializeOnly'
appinfo='TextureTransform coordinates of image applied to Extrusion'
/>
<field name='set_crossSection' type='MFVec2f' accessType='inputOnly'
appinfo='Extrusion field'
/>
<field name='set_spine' type='MFVec3f' accessType='inputOnly'
appinfo='Extrusion field'
/>
<field name='set_scale' type='MFVec2f' accessType='inputOnly'
appinfo='Extrusion field'
/>
<field name='set_orientation' type='MFRotation' accessType='inputOnly'
appinfo='Extrusion field'
/>
<field name='traceEnabled' type='SFBool' accessType='initializeOnly'
appinfo='Whether to provide initialization trace statements showing node construction'
/>
</ExternProtoDeclare>
<Transform DEF='MobiusStripExploded' scale='2 2 2' translation='3 2 0'>
<PointLight USE='
InteriorLight'/>
<!-- ==================== -->
<Switch whichChoice='0'>
<ProtoInstance name='ExtrusionCrossSection'>
<fieldValue name='name' value='MobiusStrip'/>
<fieldValue name='crossSection' value='-0.2 -0.1 0.2 -0.1 0.2 0.1 -0.2 0.1 -0.2 -0.1'/>
<fieldValue name='spine' value='0 0 1 0.259 0 0.966 0.5 0 0.866 0.707 0 0.707 0.866 0 0.5 0.966 0 0.259 1 0 0 0.966 0 -0.259 0.866 0 -0.5 0.707 0 -0.707 0.5 0 -0.866 0.259 0 -0.966 0 0 -1 -0.259 0 -0.966 -0.5 0 -0.866 -0.707 0 -0.707 -0.866 0 -0.5 -0.966 0 -0.259 -1 0 -0 -0.966 0 0.259 -0.866 0 0.5 -0.707 0 0.707 -0.5 0 0.866 -0.259 0 0.966 0 0 1'/>
<fieldValue name='scale' value='1 1'/>
<fieldValue name='orientation' value='0 1 0 -1.5707999 0 1 0 -1.309 0 1 0 -1.0472 0 1 0 -0.7854 0 1 0 -0.5236 0 1 0 -0.2618 0 1 0 0 0 1 0 0.2618 0 1 0 0.5236 0 1 0 0.7854 0 1 0 1.0472 0 1 0 1.309 0 1 0 1.5707999 0 1 0 1.8326 0 1 0 2.0943999 0 1 0 2.3562 0 1 0 2.618 0 1 0 2.8798001 0 1 0 3.1415999 0 1 0 3.4033999 0 1 0 3.6652 0 1 0 3.927 0 1 0 4.1887999 0 1 0 4.4506001 0 1 0 4.7124'/>
<fieldValue name='beginCap' value='true'/>
<fieldValue name='endCap' value='true'/>
<fieldValue name='ccw' value='true'/>
<fieldValue name='convex' value='true'/>
<fieldValue name='creaseAngle' value='0.524'/>
<fieldValue name='solid' value='false'/>
<fieldValue name='spineColor' value='1 0.8 0.0'/>
<fieldValue name='crossSectionColor' value='0.5 0.5 0.5'/>
<fieldValue name='crossSectionTransparency' value='0.26666668'/>
<fieldValue name='extrusionColor' value='0.8 0.6 0.0'/>
<fieldValue name='extrusionTransparency' value='0.8'/>
<fieldValue name='traceEnabled' value='false'/>
</ProtoInstance>
<!-- Add any ROUTEs here that connect ProtoInstance to/from prior nodes in Scene -->
<!-- Example use: https://www.web3d.org/x3d/content/examples/Basic/course/ExtrusionCrossSectionExample.x3d
-->
</Switch>
<!-- ==================== -->
</Transform>
<Transform DEF='UntwistedStrip' scale='2 2 2' translation='-3 -2 0'>
<PointLight USE='
InteriorLight'/>
<Shape>
<Extrusion creaseAngle='0.524' crossSection='-0.2 -0.1 0.2 -0.1 0.2 0.1 -0.2 0.1 -0.2 -0.1' solid='false' spine='0 0 1 0.259 0 0.966 0.5 0 0.866 0.707 0 0.707 0.866 0 0.5 0.966 0 0.259 1 0 0 0.966 0 -0.259 0.866 0 -0.5 0.707 0 -0.707 0.5 0 -0.866 0.259 0 -0.966 0 0 -1 -0.259 0 -0.966 -0.5 0 -0.866 -0.707 0 -0.707 -0.866 0 -0.5 -0.966 0 -0.259 -1 0 -0 -0.966 0 0.259 -0.866 0 0.5 -0.707 0 0.707 -0.5 0 0.866 -0.259 0 0.966 0 0 1'/>
<!-- illustrated by follow-on ExtrusionCrossSection visualization -->
<Appearance>
<Material diffuseColor='0 0.1490196 0.9411765'/>
<!-- TODO add ruled ImageTexture -->
</Appearance>
</Shape>
</Transform>
<Transform DEF='UntwistedStripExploded' scale='2 2 2' translation='3 -2 0'>
<PointLight USE='
InteriorLight'/>
<ProtoInstance name='ExtrusionCrossSection'>
<fieldValue name='name' value='UntwistedStrip'/>
<fieldValue name='crossSection' value='-0.2 -0.1 0.2 -0.1 0.2 0.1 -0.2 0.1 -0.2 -0.1'/>
<fieldValue name='spine' value='0 0 1 0.259 0 0.966 0.5 0 0.866 0.707 0 0.707 0.866 0 0.5 0.966 0 0.259 1 0 0 0.966 0 -0.259 0.866 0 -0.5 0.707 0 -0.707 0.5 0 -0.866 0.259 0 -0.966 0 0 -1 -0.259 0 -0.966 -0.5 0 -0.866 -0.707 0 -0.707 -0.866 0 -0.5 -0.966 0 -0.259 -1 0 -0 -0.966 0 0.259 -0.866 0 0.5 -0.707 0 0.707 -0.5 0 0.866 -0.259 0 0.966 0 0 1'/>
<fieldValue name='scale' value='1 1'/>
<fieldValue name='beginCap' value='true'/>
<fieldValue name='endCap' value='true'/>
<fieldValue name='ccw' value='true'/>
<fieldValue name='convex' value='true'/>
<fieldValue name='creaseAngle' value='0.524'/>
<fieldValue name='solid' value='false'/>
<fieldValue name='spineColor' value='1 0.8 0.0'/>
<fieldValue name='crossSectionColor' value='0 0.1490196 0.9411765'/>
<fieldValue name='crossSectionTransparency' value='0.26666668'/>
<fieldValue name='extrusionColor' value='0.8 0.6 0.0'/>
<fieldValue name='extrusionTransparency' value='0.8'/>
<fieldValue name='traceEnabled' value='false'/>
</ProtoInstance>
</Transform>
</Scene>
</X3D>
<!--
-->
-->
<!--
Online at
https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GeometricShapes/MobiusExtrusionIndex.html
-->
<!--
Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GeometricShapes/MobiusExtrusion.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)
<ProtoInstance
name='ProtoName'>
<field
name='fieldName'/> </ProtoInstance>
-->
<!--
For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints.
-->