1 |
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.3//EN" "https://www.web3d.org/specifications/x3d-3.3.dtd">
|
3 | <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'> |
4 | <head> |
5 | <meta name='title' content='MobiusExtrusion.x3d'/> |
6 | <meta name='description' content='Mobius (or Mobius) is a surface with only one side and only one boundary component.'/> |
7 | <meta name='creator' content='Don Brutzman'/> |
8 | <meta name='created' content='14 January 2012'/> |
9 | <meta name='modified' content='20 October 2019'/> |
10 | <meta name='Image' content='MobiusStrip-01.png'/> |
11 | <meta name='Image' content='MobiusExtrusionsInternalLighting.png'/> |
12 | <meta name=' TODO ' content=' properly handle special characters in "Möbius" during catalog creation '/> |
13 | <meta name='reference' content='https://en.wikipedia.org/wiki/M%C3%B6bius_strip'/> |
14 | <meta name='reference' content='https://www.web3d.org/x3d/content/examples/Basic/NURBS/MobiusNurbs.x3d'/> |
15 | <meta name='subject' content='Mobius strip modeled with Extrusion'/> |
16 | <meta name='info' content='Development of this scene added new features to X3D-Edit'/> |
17 | <meta name='reference' content='https://www.web3d.org/x3d/content/examples/X3dResources.html'/> |
18 | <meta name='identifier' content='https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GeometricShapes/MobiusExtrusion.x3d'/> |
19 | <meta name='generator' content='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/> |
20 | <meta name='license' content='../license.html'/> |
21 | </head> |
22 | <Scene> |
23 | <!-- TODO clockwise or counterclockwise --> |
24 | <WorldInfo title='MobiusExtrusion.x3d'/> |
25 | <Background skyColor='0 0.6784314 0.8'/> |
26 | <Viewpoint description='Mobius strip extrusion, plus cross-sectional view' orientation='1 0 0 -0.46365' position='0 5 10'/> |
27 | <Viewpoint description='Mobius strip from above' orientation='1 0 0 -1.5707999' position='0 10 0'/> |
28 | <Viewpoint description='Mobius strip from side'/> |
29 | <Transform DEF='MobiusStrip' scale='2 2 2' translation='-3 2 0'> |
30 |
<!-- PointLight
InteriorLight is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 --> <PointLight DEF='InteriorLight' global='false'/> |
31 | <Shape> |
32 | <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'/> |
33 | <!-- illustrated by follow-on ExtrusionCrossSection visualization --> |
34 | <Appearance> |
35 | <Material diffuseColor='0.4431373 0.1803922 1'/> |
36 | <!-- TODO add ruled ImageTexture --> |
37 | </Appearance> |
38 | </Shape> |
39 | </Transform> |
40 | <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" '> |
41 |
<field name='name' type='SFString' accessType='initializeOnly'
appinfo='Extrusion name'/> |
42 |
<field name='crossSection' type='MFVec2f' accessType='initializeOnly'
appinfo='Extrusion field'/> |
43 |
<field name='spine' type='MFVec3f' accessType='initializeOnly'
appinfo='Extrusion field'/> |
44 |
<field name='scale' type='MFVec2f' accessType='initializeOnly'
appinfo='Extrusion field'/> |
45 |
<field name='orientation' type='MFRotation' accessType='initializeOnly'
appinfo='Extrusion field'/> |
46 |
<field name='beginCap' type='SFBool' accessType='initializeOnly'
appinfo='Extrusion field'/> |
47 |
<field name='endCap' type='SFBool' accessType='initializeOnly'
appinfo='Extrusion field'/> |
48 |
<field name='ccw' type='SFBool' accessType='initializeOnly'
appinfo='Extrusion field'/> |
49 |
<field name='convex' type='SFBool' accessType='initializeOnly'
appinfo='Extrusion field'/> |
50 |
<field name='creaseAngle' type='SFFloat' accessType='initializeOnly'
appinfo='Extrusion field'/> |
51 |
<field name='solid' type='SFBool' accessType='initializeOnly'
appinfo='Extrusion field'/> |
52 |
<field name='spineColor' type='SFColor' accessType='inputOutput'
appinfo='emissiveColor of spine'/> |
53 |
<field name='crossSectionColor' type='SFColor' accessType='inputOutput'
appinfo='diffuseColor of crossSection'/> |
54 |
<field name='crossSectionTransparency' type='SFFloat' accessType='inputOutput'
appinfo='transparency of crossSection'/> |
55 |
<field name='extrusionColor' type='SFColor' accessType='inputOutput'
appinfo='diffuseColor of extrusion hull'/> |
56 |
<field name='extrusionTransparency' type='SFFloat' accessType='inputOutput'
appinfo='transparency of extrusion hull'/> |
57 |
<field name='extrusionImageTexture' type='SFNode' accessType='initializeOnly'
appinfo='Image to apply to Extrusion'/> |
58 |
<field name='extrusionTextureTransform' type='SFNode' accessType='initializeOnly'
appinfo='TextureTransform coordinates of image applied to Extrusion'/> |
59 |
<field name='set_crossSection' type='MFVec2f' accessType='inputOnly'
appinfo='Extrusion field'/> |
60 |
<field name='set_spine' type='MFVec3f' accessType='inputOnly'
appinfo='Extrusion field'/> |
61 |
<field name='set_scale' type='MFVec2f' accessType='inputOnly'
appinfo='Extrusion field'/> |
62 |
<field name='set_orientation' type='MFRotation' accessType='inputOnly'
appinfo='Extrusion field'/> |
63 |
<field name='traceEnabled' type='SFBool' accessType='initializeOnly'
appinfo='Whether to provide initialization trace statements showing node construction'/> |
64 | </ExternProtoDeclare> |
65 | <Transform DEF='MobiusStripExploded' scale='2 2 2' translation='3 2 0'> |
66 | <PointLight USE='InteriorLight'/> |
67 | <!-- ==================== --> |
68 | <Switch whichChoice='0'> |
69 | <ProtoInstance name='ExtrusionCrossSection'> |
70 | <fieldValue name='name' value='MobiusStrip'/> |
71 | <fieldValue name='crossSection' value='-0.2 -0.1 0.2 -0.1 0.2 0.1 -0.2 0.1 -0.2 -0.1'/> |
72 | <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'/> |
73 | <fieldValue name='scale' value='1 1'/> |
74 | <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'/> |
75 | <fieldValue name='beginCap' value='true'/> |
76 | <fieldValue name='endCap' value='true'/> |
77 | <fieldValue name='ccw' value='true'/> |
78 | <fieldValue name='convex' value='true'/> |
79 | <fieldValue name='creaseAngle' value='0.524'/> |
80 | <fieldValue name='solid' value='false'/> |
81 | <fieldValue name='spineColor' value='1 0.8 0.0'/> |
82 | <fieldValue name='crossSectionColor' value='0.5 0.5 0.5'/> |
83 | <fieldValue name='crossSectionTransparency' value='0.26666668'/> |
84 | <fieldValue name='extrusionColor' value='0.8 0.6 0.0'/> |
85 | <fieldValue name='extrusionTransparency' value='0.8'/> |
86 | <fieldValue name='traceEnabled' value='false'/> |
87 | </ProtoInstance> |
88 | <!-- Add any ROUTEs here that connect ProtoInstance to/from prior nodes in Scene --> |
89 | <!-- Example use: https://www.web3d.org/x3d/content/examples/Basic/course/ExtrusionCrossSectionExample.x3d --> |
90 | </Switch> |
91 | <!-- ==================== --> |
92 | </Transform> |
93 | <Transform DEF='UntwistedStrip' scale='2 2 2' translation='-3 -2 0'> |
94 | <PointLight USE='InteriorLight'/> |
95 | <Shape> |
96 | <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'/> |
97 | <!-- illustrated by follow-on ExtrusionCrossSection visualization --> |
98 | <Appearance> |
99 | <Material diffuseColor='0 0.1490196 0.9411765'/> |
100 | <!-- TODO add ruled ImageTexture --> |
101 | </Appearance> |
102 | </Shape> |
103 | </Transform> |
104 | <Transform DEF='UntwistedStripExploded' scale='2 2 2' translation='3 -2 0'> |
105 | <PointLight USE='InteriorLight'/> |
106 | <ProtoInstance name='ExtrusionCrossSection'> |
107 | <fieldValue name='name' value='UntwistedStrip'/> |
108 | <fieldValue name='crossSection' value='-0.2 -0.1 0.2 -0.1 0.2 0.1 -0.2 0.1 -0.2 -0.1'/> |
109 | <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'/> |
110 | <fieldValue name='scale' value='1 1'/> |
111 | <fieldValue name='beginCap' value='true'/> |
112 | <fieldValue name='endCap' value='true'/> |
113 | <fieldValue name='ccw' value='true'/> |
114 | <fieldValue name='convex' value='true'/> |
115 | <fieldValue name='creaseAngle' value='0.524'/> |
116 | <fieldValue name='solid' value='false'/> |
117 | <fieldValue name='spineColor' value='1 0.8 0.0'/> |
118 | <fieldValue name='crossSectionColor' value='0 0.1490196 0.9411765'/> |
119 | <fieldValue name='crossSectionTransparency' value='0.26666668'/> |
120 | <fieldValue name='extrusionColor' value='0.8 0.6 0.0'/> |
121 | <fieldValue name='extrusionTransparency' value='0.8'/> |
122 | <fieldValue name='traceEnabled' value='false'/> |
123 | </ProtoInstance> |
124 | </Transform> |
125 | </Scene> |
126 | </X3D> |
Event Graph ROUTE Table with 0 ROUTE connections total, showing X3D event-model relationships for this scene.
Each row shows an event cascade that may occur during a single timestamp interval between frame renderings, as part of the X3D execution model.
ProtoInstance ExtrusionCrossSection |
No ROUTE connection found for output events from this node. This ProtoInstance contains SFNode/MFNode fieldValue declarations with direct access to other nodes, and thus has potential to produce run-time animation. |
ProtoInstance ExtrusionCrossSection |
No ROUTE connection found for output events from this node. This ProtoInstance contains SFNode/MFNode fieldValue declarations with direct access to other nodes, and thus has potential to produce run-time animation. |
<!--
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. -->