X3D shape and geometry: Difference between revisions

The educational technology and digital learning wiki
Jump to navigation Jump to search
 
(10 intermediate revisions by the same user not shown)
Line 6: Line 6:
== Introduction ==
== Introduction ==


This short tutorial introduced basic X3D modeling concepts.
This short tutorial introduced some basic X3D geometry modeling concepts plus some other concepts that needed to build simple scenes.


Prerequisites: [[X3D]], [[X3D graphics principles]] and [[X3D shape and geometry]]
Prerequisites: [[X3D]], [[X3D graphics principles]] and [[X3D shape and geometry]]
Line 33: Line 33:
# Triangle nodes
# Triangle nodes


== Translations and color ==
== Advance topics: translations, color and reuse ==
 
In order to play with simple shapes, one ought to know how to position objects, how to color them and how to reuse them.
 
Finally, it often is useful to import nodes into a scene, either ones made by yourself in X3D or translated from another 3D format and/or found in a 3D repository.
 
=== Inlining ===
 
To include another XML scene use the Inline element:
 
Some example code:
<source lang="xml">
  <!-- include nice coordinates arrows -->
  <Inline url="coordinates.x3d"/>
</source>
 
=== Translations and color ===


In order to position geometric shapes we need to use a so-called ''Transform node'' and in order to see a node in most clients we need to color it. Below we just introduce a minimal design pattern that you should use and understand before playing with geometry nodes. Otherwise, all your shapes will be in the same location and be rather invisible ...
In order to position geometric shapes we need to use a so-called ''Transform node'' and in order to see a node in most clients we need to color it. Below we just introduce a minimal design pattern that you should use and understand before playing with geometry nodes. Otherwise, all your shapes will be in the same location and be rather invisible ...
Line 54: Line 70:
</source>
</source>


We probably will introduce so-called grouping nodes (e.g. Transform) and Appearence in two other tutorials yet to be written.
For more information about so-called grouping nodes (e.g. Transform) read the [[X3D grouping and transforms]] tutorial. You also can have a look at [[X3D appearence]].
 
=== DEF and USE ===
 
[[image:x3d-inter-rotation-2.jpg|thumb|200px|right|6 spikes made from a DEFed cylinder USEd two times]]
Often, a defined construct, e.g. a a geometry, a color or a full shape could be reused. In that case we can name it. Some folks argue that any created shape or even any node should have a named since this strategy improves documentation.
 
All names in X3D must start with letter, followed by letters, numbers and the underscore ("_"). Hyphens ("-") are forbidden like in most programming languages.
 
DEF names provide a label for any node including child nodes making up that subgraph. It can be seen as the equivalent of ID attributes in XML. In the same way, labels defined with DEF ought be unique.
 
USE labels reference a DEF node and can only be used after a DEF label was defined.
 
According to Don Bruzman, There are some conventions that should be used for naming:
* Use CamelCaseNaming
* Capitalize each individual word
* Avoid abbreviations, since none are consistent and they don't help international readers
* strive for clarity, be brief but complete
 
In addition, he points out, names are imporant since they do no just define a target for reuse, but also describe purpose and functionlity. They strongly influence how one thinks about a thing and provide explanatory documentation.
 
The following example builds six spikes of a wheel with three cylinders.
We define a first cylinder like this:
<source lang="xml">
<Shape  DEF="Spike" >
  <Cylinder  radius="0.5" height="5.0"/>
  <Appearance>
      <Material diffuseColor="1.0 0.0 0.0"/>
  </Appearance>
</Shape>
</source>
It then can be used like in the following way. We firstly define a rotation with the Transform node, then '''USE''' the ''spike'' node as child node inside.
<source lang="xml">
<Transform  rotation="0.0 0.0 1.0  1.0472">
  <Shape  USE="Spike"/>
</Transform>
</source>
 
Below is the full source of the [http://tecfa.unige.ch/guides/x3d/ex/inter/inter-rotation-2.x3d inter-rotation-2.x3d] example that you can view in a X3D client.
 
<source lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.2//EN" "http://www.web3d.org/specifications/x3d-3.2.dtd">
<X3D profile='Immersive' version='3.2' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='http://www.web3d.org/specifications/x3d-3.2.xsd'>
    <head>
        <meta name="filename" content="inter-rotation-2.x3d"/>
        <meta content='primitives-list.x3d' name='title'/>
        <meta content='Simple DEF/USE/Transform Demo' name='description'/>
        <meta content='Daniel K. Schneider, TECFA, University of Geneva' name='creator'/>
        <meta content='october 4 2010' name='created'/>
        <meta content='1.0' name='version'/>
        <meta content='http://edutechwiki.unige.ch/en/X3D_shape_and_geometry' name='reference'/>
        <meta content='Any X3D client' name='requires'/>
        <meta content='http://creativecommons.org/licenses/by-nc-sa/3.0/' name='rights'/>
        <meta content='http://tecfa.unige.ch/guides/x3d/ex/basics/laurence-name.x3d' name='identifier'/>
        <meta content='X3D-Edit, https://savage.nps.edu/X3D-Edit' name='generator'/>
        <meta content='http://creativecommons.org/licenses/by-nc-sa/3.0/' name='license'/>
    </head>
   
    <Scene>
        <Shape  DEF="Spike" >
            <Cylinder  radius="0.5" height="5.0"/>
            <Appearance>
                <Material diffuseColor="1.0 0.0 0.0"/>
            </Appearance>
        </Shape>
        <Transform  rotation="0.0 0.0 1.0  1.0472">
            <Shape  USE="Spike"/>
        </Transform>
        <Transform  rotation="0.0 0.0 1.0  2.0944">
            <Shape  USE="Spike"/>
        </Transform>
 
        <!-- include nice coordinates arrows -->
        <Inline  bboxCenter="0.0 0.0 0.0" bboxSize="10.0 10.0 10.0" url="../common/coordinates.x3d"/>
    </Scene>
</X3D>
</source>


== Geometric primitives ==
== Geometric primitives ==
Line 61: Line 154:


Below is some example code that you can play with.
Below is some example code that you can play with.
A HTML5/X3Dom version is [http://tecfa.unige.ch/guides/x3d/x3dom/ex-html5/simple-shapes.html here]


<source lang="xml">
<source lang="xml">
Line 186: Line 281:
       <Transform DEF='COLLADA_UNITS' rotation='-1.0 0.0 0.0 1.570796' scale='2 2 2'>
       <Transform DEF='COLLADA_UNITS' rotation='-1.0 0.0 0.0 1.570796' scale='2 2 2'>
         <Transform>
         <Transform>
             <Shape>
             <Shape>
               <Appearance>
               <Appearance>
                   <Material DEF='ID3' diffuseColor='1.0 1.0 0.0'></Material>
                   <Material DEF='ID3' diffuseColor='1.0 1.0 0.0'></Material>
               </Appearance>
               </Appearance>
               <IndexedTriangleSet index='0 1 2 1 0 3 1 3 4 5 2 1 6 7 8 7 6 9 10 11 12 11 10 13 14 15 16 15 14 17 18 19 20 19 18 21 22 23 24 23 22 25 26 27 28 27 26 29 30 31 32 31 30 33 31 33 34 32 31 35'>
               <IndexedTriangleSet index='0 1 2 1 0 3 1 3 4 5 2 1 6 7 8 7 6 9 10
                  <Coordinate DEF='ID5' point='-2.0556674 0.32395512 0.04520603, -1.916368 0.3130246 0.16083883, -1.7492087 0.32395512 0.04520603, -2.0556674 0.27354917 0.57844514, -1.916368 0.27354917 0.57844514, -1.7492087 0.3130246 0.16083883, -1.7492087 0.32395512 0.04520603, -2.0556674 -0.6990436 -0.05149582, -2.0556674 0.32395512 0.04520603, -1.7492087 -0.6990436 -0.05149582, -2.0556674 0.27354917 0.57844514, -2.0556674 -0.6990436 -0.05149582, -2.0556674 -0.74944955 0.48174328, -2.0556674 0.32395512 0.04520603, -1.916368 -0.74944955 0.48174328, -2.0556674 0.27354917 0.57844514, -2.0556674 -0.74944955 0.48174328, -1.916368 0.27354917 0.57844514, -1.916368 -0.7099741 0.06413698, -1.916368 0.27354917 0.57844514, -1.916368 -0.74944955 0.48174328, -1.916368 0.3130246 0.16083883, -1.7492087 -0.7099741 0.06413698, -1.916368 0.3130246 0.16083883, -1.916368 -0.7099741 0.06413698, -1.7492087 0.3130246 0.16083883, -1.7492087 -0.6990436 -0.05149582, -1.7492087 0.3130246 0.16083883, -1.7492087 -0.7099741 0.06413698, -1.7492087 0.32395512 0.04520603, -2.0556674 -0.6990436 -0.05149582, -1.916368 -0.7099741 0.06413698, -2.0556674 -0.74944955 0.48174328, -1.7492087 -0.6990436 -0.05149582, -1.7492087 -0.7099741 0.06413698, -1.916368 -0.74944955 0.48174328'></Coordinate>
                            11 12 11 10 13 14 15 16 15 14 17 18 19 20 19 18 21 22 23 24 23 22 25
                  <Normal DEF='ID6' vector='2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, -1.0 2.925767E-17 -1.4581571E-17, -1.0 2.925767E-17 -1.4581571E-17, -1.0 2.925767E-17 -1.4581571E-17, -1.0 2.925767E-17 -1.4581571E-17, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831'></Normal>
                            26 27 28 27 26 29 30 31 32 31 30 33 31 33 34 32 31 35'>
                <Coordinate DEF='ID5' point='-2.0556674 0.32395512
                0.04520603, -1.916368 0.3130246 0.16083883,
                -1.7492087 0.32395512 0.04520603, -2.0556674
                0.27354917 0.57844514, -1.916368 0.27354917
                0.57844514, -1.7492087 0.3130246 0.16083883,
                -1.7492087 0.32395512 0.04520603, -2.0556674
                -0.6990436 -0.05149582, -2.0556674 0.32395512
                0.04520603, -1.7492087 -0.6990436 -0.05149582,
                -2.0556674 0.27354917 0.57844514, -2.0556674
                -0.6990436 -0.05149582, -2.0556674 -0.74944955
                0.48174328, -2.0556674 0.32395512 0.04520603,
                -1.916368 -0.74944955 0.48174328, -2.0556674
                0.27354917 0.57844514, -2.0556674 -0.74944955
                0.48174328, -1.916368 0.27354917 0.57844514,
                -1.916368 -0.7099741 0.06413698, -1.916368 0.27354917
                0.57844514, -1.916368 -0.74944955 0.48174328,
                -1.916368 0.3130246 0.16083883, -1.7492087 -0.7099741
                0.06413698, -1.916368 0.3130246 0.16083883, -1.916368
                -0.7099741 0.06413698, -1.7492087 0.3130246
                0.16083883, -1.7492087 -0.6990436 -0.05149582,
                -1.7492087 0.3130246 0.16083883, -1.7492087
                -0.7099741 0.06413698, -1.7492087 0.32395512
                0.04520603, -2.0556674 -0.6990436 -0.05149582,
                -1.916368 -0.7099741 0.06413698, -2.0556674
                -0.74944955 0.48174328, -1.7492087 -0.6990436
                -0.05149582, -1.7492087 -0.7099741 0.06413698,
                -1.916368 -0.74944955 0.48174328'>
                </Coordinate>
 
                <Normal DEF='ID6' vector='2.7755576E-17 0.99556196
                  0.09410831, 2.7755576E-17 0.99556196 0.09410831,
                  2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17
                  0.99556196 0.09410831, 2.7755576E-17 0.99556196
                  0.09410831, 2.7755576E-17 0.99556196 0.09410831,
                  1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17
                  0.09410831 -0.99556196, 1.7270247E-17 0.09410831
                  -0.99556196, 1.7270247E-17 0.09410831 -0.99556196,
                  -1.0 2.925767E-17 -1.4581571E-17, -1.0 2.925767E-17
                  -1.4581571E-17, -1.0 2.925767E-17 -1.4581571E-17,
                  -1.0 2.925767E-17 -1.4581571E-17, -1.7270247E-17
                  -0.09410831 0.99556196, -1.7270247E-17 -0.09410831
                  0.99556196, -1.7270247E-17 -0.09410831 0.99556196,
                  -1.7270247E-17 -0.09410831 0.99556196, 1.0
                  -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17
                  1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0
                  -2.925767E-17 1.4581571E-17, -1.7270247E-17
                  -0.09410831 0.99556196, -1.7270247E-17 -0.09410831
                  0.99556196, -1.7270247E-17 -0.09410831 0.99556196,
                  -1.7270247E-17 -0.09410831 0.99556196, 1.0
                  -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17
                  1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0
                  -2.925767E-17 1.4581571E-17, -2.7755576E-17
                  -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196
                  -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831,
                  -2.7755576E-17 -0.99556196 -0.09410831,
                  -2.7755576E-17 -0.99556196 -0.09410831,
                  -2.7755576E-17 -0.99556196 -0.09410831'>
                </Normal>
               </IndexedTriangleSet>
               </IndexedTriangleSet>
             </Shape>
             </Shape>
             <Shape>
             <Shape>
               <Appearance>
               <Appearance>
                   <Material USE='ID3'></Material>
                   <Material USE='ID3'></Material>
               </Appearance>
               </Appearance>
               <IndexedTriangleSet index='0 1 2 1 0 3 3 0 4 3 4 5 4 0 6 5 7 8 7 5 9 9 5 10 10 5 4 9 10 6 9 6 0 11 12 13 12 11 14 15 16 17 16 15 18 19 20 21 20 19 22 23 24 25 24 23 26 27 28 29 28 27 30 31 32 33 32 31 34 35 36 37 36 35 38 39 40 41 40 39 42 43 44 45 44 43 46 46 43 47 46 47 48 47 43 49 48 50 51 50 48 52 52 48 53 53 48 47 52 53 49 52 49 43'>
               <IndexedTriangleSet index='... deleted ....'>
                  <Coordinate DEF='ID11' point='-1.5224056 -0.05177225 0.5476932, -1.5812645 -0.0013663147 0.0144541, -1.7284119 -0.0013663147 0.0144541, -1.5443796 -0.010155042 0.107429124, -1.5059252 -0.020125447 0.21290499, -1.3521072 -0.010155042 0.107429124, -1.4474586 -0.036188878 0.38283834, -1.1688597 -0.0013663147 0.0144541, -1.3175765 -0.0013663147 0.0144541, -1.3705496 -0.05177225 0.5476932, -1.3897768 -0.020125447 0.21290499, -1.1688597 -0.0013663147 0.0144541, -1.3175765 -1.1301925 -0.09225139, -1.3175765 -0.0013663147 0.0144541, -1.1688597 -1.1301925 -0.09225139, -1.3521072 -0.010155042 0.107429124, -1.3175765 -1.1301925 -0.09225139, -1.3521072 -1.1389812 7.236344E-4, -1.3175765 -0.0013663147 0.0144541, -1.3521072 -0.010155042 0.107429124, -1.5443796 -1.1389812 7.236344E-4, -1.5443796 -0.010155042 0.107429124, -1.3521072 -1.1389812 7.236344E-4, -1.5812645 -1.1301925 -0.09225139, -1.5443796 -0.010155042 0.107429124, -1.5443796 -1.1389812 7.236344E-4, -1.5812645 -0.0013663147 0.0144541, -1.5812645 -0.0013663147 0.0144541, -1.7284119 -1.1301925 -0.09225139, -1.7284119 -0.0013663147 0.0144541, -1.5812645 -1.1301925 -0.09225139, -1.5224056 -0.05177225 0.5476932, -1.7284119 -1.1301925 -0.09225139, -1.5224056 -1.1805984 0.4409877, -1.7284119 -0.0013663147 0.0144541, -1.3705496 -1.1805984 0.4409877, -1.5224056 -0.05177225 0.5476932, -1.5224056 -1.1805984 0.4409877, -1.3705496 -0.05177225 0.5476932, -1.1688597 -1.1301925 -0.09225139, -1.3705496 -0.05177225 0.5476932, -1.3705496 -1.1805984 0.4409877, -1.1688597 -0.0013663147 0.0144541, -1.3705496 -1.1805984 0.4409877, -1.3175765 -1.1301925 -0.09225139, -1.1688597 -1.1301925 -0.09225139, -1.3521072 -1.1389812 7.236344E-4, -1.3897768 -1.1489516 0.1061995, -1.5443796 -1.1389812 7.236344E-4, -1.4474586 -1.165015 0.27613285, -1.7284119 -1.1301925 -0.09225139, -1.5812645 -1.1301925 -0.09225139, -1.5224056 -1.1805984 0.4409877, -1.5059252 -1.1489516 0.1061995'></Coordinate>
                   <Coordinate DEF='ID11' point='.... deleted .....'></Coordinate>
                  <Normal DEF='ID12' vector='2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, -0.93793875 0.032636847 -0.34526178, -0.93793875 0.032636847 -0.34526178, -0.93793875 0.032636847 -0.34526178, -0.93793875 0.032636847 -0.34526178, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, 0.93008494 0.03457017 -0.3657142, 0.93008494 0.03457017 -0.3657142, 0.93008494 0.03457017 -0.3657142, 0.93008494 0.03457017 -0.3657142, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, -0.9333456 -0.033782914 0.3573859, -0.9333456 -0.033782914 0.3573859, -0.9333456 -0.033782914 0.3573859, -0.9333456 -0.033782914 0.3573859, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, 0.9358493 -0.03316381 0.35083643, 0.9358493 -0.03316381 0.35083643, 0.9358493 -0.03316381 0.35083643, 0.9358493 -0.03316381 0.35083643, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831'></Normal>
                   <Normal DEF='ID12' vector=' .... deleted'></Normal>
              </IndexedTriangleSet>
            </Shape>
            <Shape>
              <Appearance>
                  <Material USE='ID3'></Material>
              </Appearance>
              <IndexedTriangleSet index='0 1 2 1 0 3 3 0 4 3 4 5 5 4 6 5 6 7 7 6 8 7 8 9 9 8 10 9 10 11 11 10 12 12 10 13 12 13 14 14 13 15 15 13 16 16 13 17 16 17 18 18 17 19 19 17 20 19 20 21 21 20 22 21 22 23 9 24 25 24 9 11 25 24 26 25 26 27 25 27 28 25 28 29 25 29 30 30 29 31 31 29 32 31 32 33 33 32 34 35 36 37 36 35 38 39 38 35 38 39 40 41 40 39 40 41 42 43 42 41 42 43 44 44 45 46 45 44 43 46 47 48 47 46 45 48 49 50 49 48 47 50 51 52 51 50 49 52 53 54 53 52 51 54 55 56 55 54 53 56 57 58 57 56 55 58 59 60 59 58 57 61 59 62 59 61 60 63 62 64 62 63 61 65 64 66 64 65 63 67 66 68 66 67 65 69 68 70 68 69 67 71 72 73 72 71 74 75 76 77 76 75 78 79 78 75 78 79 80 81 80 79 80 81 82 83 82 81 82 83 84 85 84 83 84 85 86 87 86 85 86 87 88 89 88 87 88 89 90 91 90 89 90 91 92 93 92 91 92 93 94 95 94 93 94 95 96 97 96 95 96 97 98 99 97 100 97 99 98 101 102 103 102 101 104 105 103 106 103 105 101 107 106 108 106 107 105 109 110 111 110 109 112 37 113 114 113 37 36 115 116 117 116 115 118 116 118 119 119 118 120 120 118 121 121 118 122 122 118 123 122 123 124 122 124 125 125 124 126 125 126 127 128 129 130 129 128 131 129 131 132 132 131 133 132 133 134 134 133 135 134 135 136 136 135 115 136 115 137 137 115 117 137 117 138 137 138 139 139 138 140 139 140 141 139 141 142 139 142 143 143 142 144 143 144 145 143 145 146 146 145 147 146 147 148 148 147 149'>
                   <Coordinate DEF='ID17' point='-0.93254113 0.5404527 0.05581753, -0.82826275 0.5404597 0.055744283, -0.8800586 0.540822 0.051911015, -0.78196037 0.5393726 0.06724408, -0.97894156 0.5393449 0.06753707, -0.7411516 0.5375609 0.08641041, -1.0192599 0.53749853 0.08706964, -0.7058362 0.5350244 0.11324328, -1.0534962 0.5349136 0.114415236, -0.6683627 0.5307039 0.1589495, -1.081258 0.53141475 0.15142944, -0.8753499 0.52930063 0.17379424, -0.8971277 0.5290885 0.17603897, -1.0986214 0.52712196 0.19684267, -0.91694355 0.5284519 0.18277311, -0.9372744 0.52724385 0.19555321, -0.952357 0.5256483 0.2124321, -1.1050959 0.5232261 0.23805639, -0.96219134 0.5236653 0.23340978, -0.9667774 0.5212949 0.25848624, -1.107254 0.5181855 0.2913803, -0.9679546 0.5163882 0.31039402, -1.107254 0.4891236 0.5988229, -0.9679546 0.4891236 0.5988229, -0.8514139 0.5290908 0.17601416, -0.64776206 0.52594024 0.20934351, -0.83061713 0.5284613 0.18267393, -0.81295943 0.52741206 0.19377354, -0.7984409 0.52594316 0.20931299, -0.7840205 0.5223185 0.24765787, -0.64187616 0.52239525 0.24684605, -0.6399142 0.5181855 0.2913803, -0.77921367 0.5163882 0.31039402, -0.6399142 0.4891236 0.5988229, -0.77921367 0.4891236 0.5988229, -0.64187616 -0.4143737 0.1582953, -0.6399142 0.5181855 0.2913803, -0.6399142 -0.41858342 0.20282957, -0.64187616 0.52239525 0.24684605, -0.64776206 -0.41082868 0.12079278, -0.64776206 0.52594024 0.20934351, -0.6683627 -0.40606505 0.070398755, -0.6683627 0.5307039 0.1589495, -0.7058362 -0.4017445 0.024692543, -0.7058362 0.5350244 0.11324328, -0.7411516 -0.39920807 -0.0021403215, -0.7411516 0.5375609 0.08641041, -0.78196037 -0.39739633 -0.021306654, -0.78196037 0.5393726 0.06724408, -0.82826275 -0.39630926 -0.032806452, -0.82826275 0.5404597 0.055744283, -0.8800586 -0.39594692 -0.03663972, -0.8800586 0.540822 0.051911015, -0.93254113 -0.3963162 -0.032733206, -0.93254113 0.5404527 0.05581753, -0.97894156 -0.397424 -0.021013666, -0.97894156 0.5393449 0.06753707, -1.0192599 -0.3992704 -0.0014810973, -1.0192599 0.53749853 0.08706964, -1.0534962 -0.40185532 0.025864499, -1.0534962 0.5349136 0.114415236, -1.081258 0.53141475 0.15142944, -1.081258 -0.40535417 0.06287871, -1.0986214 0.52712196 0.19684267, -1.0986214 -0.409647 0.10829193, -1.1050959 0.5232261 0.23805639, -1.1050959 -0.41354284 0.14950566, -1.107254 0.5181855 0.2913803, -1.107254 -0.41858342 0.20282957, -1.107254 0.4891236 0.5988229, -1.107254 -0.4476453 0.5102722, -0.9679546 -0.4476453 0.5102722, -1.107254 0.4891236 0.5988229, -1.107254 -0.4476453 0.5102722, -0.9679546 0.4891236 0.5988229, -0.9679546 -0.42038077 0.2218433, -0.9679546 0.4891236 0.5988229, -0.9679546 -0.4476453 0.5102722, -0.9679546 0.5163882 0.31039402, -0.9667774 -0.41547403 0.1699355, -0.9667774 0.5212949 0.25848624, -0.96219134 -0.4131036 0.14485903, -0.96219134 0.5236653 0.23340978, -0.952357 -0.41112062 0.12388136, -0.952357 0.5256483 0.2124321, -0.9372744 -0.4095251 0.10700248, -0.9372744 0.52724385 0.19555321, -0.91694355 -0.40831703 0.09422238, -0.91694355 0.5284519 0.18277311, -0.8971277 -0.40768045 0.08748823, -0.8971277 0.5290885 0.17603897, -0.8753499 -0.4074683 0.0852435, -0.8753499 0.52930063 0.17379424, -0.8514139 -0.40767813 0.08746342, -0.8514139 0.5290908 0.17601416, -0.83061713 -0.40830764 0.09412319, -0.83061713 0.5284613 0.18267393, -0.81295943 -0.40935686 0.10522281, -0.81295943 0.52741206 0.19377354, -0.7984409 0.52594316 0.20931299, -0.7984409 -0.4108258 0.12076226, -0.7840205 0.5223185 0.24765787, -0.7984409 -0.4108258 0.12076226, -0.7840205 -0.41445044 0.15910713, -0.7984409 0.52594316 0.20931299, -0.77921367 0.5163882 0.31039402, -0.77921367 -0.42038077 0.2218433, -0.77921367 0.4891236 0.5988229, -0.77921367 -0.4476453 0.5102722, -0.6399142 -0.4476453 0.5102722, -0.77921367 0.4891236 0.5988229, -0.77921367 -0.4476453 0.5102722, -0.6399142 0.4891236 0.5988229, -0.6399142 0.4891236 0.5988229, -0.6399142 -0.4476453 0.5102722, -0.6683627 -0.40606505 0.070398755, -0.8514139 -0.40767813 0.08746342, -0.8753499 -0.4074683 0.0852435, -0.64776206 -0.41082868 0.12079278, -0.83061713 -0.40830764 0.09412319, -0.81295943 -0.40935686 0.10522281, -0.7984409 -0.4108258 0.12076226, -0.7840205 -0.41445044 0.15910713, -0.64187616 -0.4143737 0.1582953, -0.6399142 -0.41858342 0.20282957, -0.77921367 -0.42038077 0.2218433, -0.6399142 -0.4476453 0.5102722, -0.77921367 -0.4476453 0.5102722, -0.82826275 -0.39630926 -0.032806452, -0.93254113 -0.3963162 -0.032733206, -0.8800586 -0.39594692 -0.03663972, -0.78196037 -0.39739633 -0.021306654, -0.97894156 -0.397424 -0.021013666, -0.7411516 -0.39920807 -0.0021403215, -1.0192599 -0.3992704 -0.0014810973, -0.7058362 -0.4017445 0.024692543, -1.0534962 -0.40185532 0.025864499, -1.081258 -0.40535417 0.06287871, -0.8971277 -0.40768045 0.08748823, -1.0986214 -0.409647 0.10829193, -0.91694355 -0.40831703 0.09422238, -0.9372744 -0.4095251 0.10700248, -0.952357 -0.41112062 0.12388136, -1.1050959 -0.41354284 0.14950566, -0.96219134 -0.4131036 0.14485903, -0.9667774 -0.41547403 0.1699355, -1.107254 -0.41858342 0.20282957, -0.9679546 -0.42038077 0.2218433, -1.107254 -0.4476453 0.5102722, -0.9679546 -0.4476453 0.5102722'></Coordinate>
                   <Normal DEF='ID18' vector='2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 0.9950625 0.009340295 -0.09881, 0.99975985 0.0020622918 -0.02181677, 0.99975985 0.0020622918 -0.02181677, 0.9950625 0.009340295 -0.09881, 0.9635702 0.025169801 -0.26626867, 0.9635702 0.025169801 -0.26626867, 0.8599954 0.048023634 -0.508037, 0.8599954 0.048023634 -0.508037, 0.69546145 0.067622796 -0.7153744, 0.69546145 0.067622796 -0.7153744, 0.51956755 0.08040891 -0.8506374, 0.51956755 0.08040891 -0.8506374, 0.33597353 0.08863793 -0.9376914, 0.33597353 0.08863793 -0.9376914, 0.15866697 0.09291616 -0.9829503, 0.15866697 0.09291616 -0.9829503, -2.1343071E-4 0.09410831 -0.99556196, -2.1343071E-4 0.09410831 -0.99556196, -0.16084096 0.09288306 -0.9826001, -0.16084096 0.09288306 -0.9826001, -0.34352833 0.0883811 -0.9349744, -0.34352833 0.0883811 -0.9349744, -0.5350027 0.07950744 -0.8411009, -0.5350027 0.07950744 -0.8411009, -0.7192855 0.06537842 -0.69163144, -0.7192855 0.06537842 -0.69163144, -0.87635773 0.04532828 -0.47952312, -0.87635773 0.04532828 -0.47952312, -0.9665374 0.02414121 -0.2553873, -0.9665374 0.02414121 -0.2553873, -0.99523056 0.00918035 -0.09711797, -0.99523056 0.00918035 -0.09711797, -0.9997973 0.001894802 -0.020044912, -0.9997973 0.001894802 -0.020044912, -1.0 2.925767E-17 -1.4581571E-17, -1.0 2.925767E-17 -1.4581571E-17, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, 0.9999363 -0.0010621675 0.011236558, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 0.9999363 -0.0010621675 0.011236558, 0.9948698 -0.009520321 0.10071448, 0.9948698 -0.009520321 0.10071448, 0.9528249 -0.02856381 0.30217355, 0.9528249 -0.02856381 0.30217355, 0.83544266 -0.051719826 0.5471386, 0.83544266 -0.051719826 0.5471386, 0.6468695 -0.07176707 0.7592163, 0.6468695 -0.07176707 0.7592163, 0.43142536 -0.08489969 0.89814484, 0.43142536 -0.08489969 0.89814484, 0.21438079 -0.09192031 0.9724153, 0.21438079 -0.09192031 0.9724153, 0.0051380196 -0.09410707 0.99554884, 0.0051380196 -0.09410707 0.99554884, -0.2006758 -0.09219393 0.97530997, -0.2006758 -0.09219393 0.97530997, -0.42340246 -0.08525664 0.9019211, -0.42340246 -0.08525664 0.9019211, -0.6383703 -0.072437935 0.7663133, -0.6383703 -0.072437935 0.7663133, -0.7322151 -0.06409468 0.6780508, -0.7322151 -0.06409468 0.6780508, -0.9765069 -0.020279035 0.21452978, -0.9365128 -0.032997508 0.34907714, -0.9765069 -0.020279035 0.21452978, -0.9365128 -0.032997508 0.34907714, -0.99927557 -0.003581462 0.037887912, -0.99927557 -0.003581462 0.037887912, -1.0 2.925767E-17 -1.4581571E-17, -1.0 2.925767E-17 -1.4581571E-17, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831'></Normal>
              </IndexedTriangleSet>
            </Shape>
            <Shape>
              <Appearance>
                  <Material USE='ID3'></Material>
              </Appearance>
              <IndexedTriangleSet index='0 1 2 1 0 3 3 0 4 3 4 5 5 4 6 6 4 7 7 4 8 4 0 9 9 0 10 10 0 11 11 0 12 12 0 13 13 0 14 14 0 15 15 0 16 8 17 18 17 8 4 18 17 19 18 19 20 18 20 21 21 20 22 21 22 23 21 23 24 24 23 25 24 25 26 26 25 27 26 27 28 28 27 29 28 29 10 28 10 11 3 30 31 30 3 5 32 33 34 33 32 35 36 37 38 37 36 39 40 41 42 41 40 43 44 45 46 45 44 47 48 49 50 49 48 51 52 53 54 53 52 55 56 55 52 55 56 57 58 57 56 57 58 59 60 59 58 59 60 61 62 61 60 61 62 63 64 63 62 63 64 65 66 65 64 65 66 67 68 67 66 67 68 69 70 69 68 69 70 71 72 71 70 71 72 73 74 73 72 73 74 75 76 75 74 75 76 77 78 77 76 77 78 79 79 80 81 80 79 78 81 82 83 82 81 80 84 85 86 85 84 87 88 89 90 89 88 91 92 93 94 93 92 95 95 92 96 96 92 97 96 97 98 98 97 99 99 97 100 99 100 101 101 100 102 101 102 103 103 102 104 103 104 105 105 104 106 106 104 107 106 107 108 91 109 110 109 91 111 111 91 112 112 91 88 112 88 113 112 113 114 112 114 94 112 94 93 111 112 108 111 108 107 111 107 115 111 115 116 111 116 117 111 117 118 111 118 119'>
                  <Coordinate DEF='ID23' point='-0.5276899 -0.05177225 0.5476932, -0.3883904 -0.0013663147 0.0144541, -0.5276899 -0.0013663147 0.0144541, -0.3883904 -0.020716285 0.21915542, -0.3883904 -0.02924652 0.30939588, -0.25066054 -0.022045674 0.23321886, -0.2082821 -0.023430452 0.24786828, -0.17610589 -0.025590707 0.2707214, -0.15756534 -0.027753267 0.29359892, -0.3883904 -0.041801848 0.44221735, -0.3624005 -0.041801848 0.44221735, -0.15447524 -0.04416289 0.46719462, -0.1706124 -0.046417773 0.49104875, -0.19646128 -0.04876036 0.5158307, -0.22849034 -0.050433632 0.5335321, -0.26669958 -0.051437598 0.5441529, -0.311089 -0.05177225 0.5476932, -0.3624005 -0.02924652 0.30939588, -0.14432208 -0.030252794 0.32004112, -0.3244963 -0.02967912 0.3139723, -0.29899842 -0.030976918 0.32770157, -0.13637613 -0.03308928 0.35004804, -0.2833456 -0.033057403 0.3497108, -0.27812803 -0.03554265 0.37600192, -0.13372748 -0.036262732 0.38361964, -0.2833456 -0.03801866 0.40219542, -0.13603278 -0.039085373 0.41348004, -0.29899842 -0.04007145 0.42391166, -0.1429487 -0.04171876 0.44133836, -0.32469556 -0.04136925 0.4376409, -0.08232401 -0.0013663147 0.0144541, -0.25536925 -0.0013663147 0.0144541, -0.08232401 -0.0013663147 0.0144541, -0.25536925 -0.9538134 -0.07557866, -0.25536925 -0.0013663147 0.0144541, -0.08232401 -0.9538134 -0.07557866, -0.3883904 -0.020716285 0.21915542, -0.25536925 -0.9538134 -0.07557866, -0.3883904 -0.97316337 0.12912266, -0.25536925 -0.0013663147 0.0144541, -0.3883904 -0.9538134 -0.07557866, -0.3883904 -0.020716285 0.21915542, -0.3883904 -0.97316337 0.12912266, -0.3883904 -0.0013663147 0.0144541, -0.3883904 -0.0013663147 0.0144541, -0.5276899 -0.9538134 -0.07557866, -0.5276899 -0.0013663147 0.0144541, -0.3883904 -0.9538134 -0.07557866, -0.5276899 -0.05177225 0.5476932, -0.5276899 -0.9538134 -0.07557866, -0.5276899 -1.0042193 0.45766044, -0.5276899 -0.0013663147 0.0144541, -0.311089 -1.0042193 0.45766044, -0.5276899 -0.05177225 0.5476932, -0.5276899 -1.0042193 0.45766044, -0.311089 -0.05177225 0.5476932, -0.26669958 -1.0038847 0.45412016, -0.26669958 -0.051437598 0.5441529, -0.22849034 -1.0028807 0.44349933, -0.22849034 -0.050433632 0.5335321, -0.19646128 -1.0012075 0.42579794, -0.19646128 -0.04876036 0.5158307, -0.1706124 -0.9988648 0.401016, -0.1706124 -0.046417773 0.49104875, -0.15447524 -0.99661 0.37716186, -0.15447524 -0.04416289 0.46719462, -0.1429487 -0.99416584 0.3513056, -0.1429487 -0.04171876 0.44133836, -0.13603278 -0.99153244 0.3234473, -0.13603278 -0.039085373 0.41348004, -0.13372748 -0.9887098 0.29358688, -0.13372748 -0.036262732 0.38361964, -0.13637613 -0.98553634 0.26001528, -0.13637613 -0.03308928 0.35004804, -0.14432208 -0.9826999 0.23000836, -0.14432208 -0.030252794 0.32004112, -0.15756534 -0.98020035 0.20356615, -0.15756534 -0.027753267 0.29359892, -0.17610589 -0.9780378 0.18068863, -0.17610589 -0.025590707 0.2707214, -0.2082821 -0.9758775 0.15783553, -0.2082821 -0.023430452 0.24786828, -0.25066054 -0.9744927 0.1431861, -0.25066054 -0.022045674 0.23321886, -0.08232401 -0.9538134 -0.07557866, -0.25066054 -0.022045674 0.23321886, -0.25066054 -0.9744927 0.1431861, -0.08232401 -0.0013663147 0.0144541, -0.25066054 -0.9744927 0.1431861, -0.25536925 -0.9538134 -0.07557866, -0.08232401 -0.9538134 -0.07557866, -0.3883904 -0.97316337 0.12912266, -0.14432208 -0.9826999 0.23000836, -0.3624005 -0.9816936 0.21936312, -0.15756534 -0.98020035 0.20356615, -0.3244963 -0.9821262 0.22393954, -0.29899842 -0.983424 0.2376688, -0.13637613 -0.98553634 0.26001528, -0.2833456 -0.9855045 0.25967804, -0.27812803 -0.9879897 0.28596917, -0.13372748 -0.9887098 0.29358688, -0.2833456 -0.99046576 0.31216267, -0.13603278 -0.99153244 0.3234473, -0.29899842 -0.99251854 0.3338789, -0.1429487 -0.99416584 0.3513056, -0.32469556 -0.9938163 0.34760815, -0.3624005 -0.9942489 0.3521846, -0.15447524 -0.99661 0.37716186, -0.3883904 -0.9942489 0.3521846, -0.5276899 -0.9538134 -0.07557866, -0.3883904 -0.9538134 -0.07557866, -0.5276899 -1.0042193 0.45766044, -0.3883904 -0.9816936 0.21936312, -0.2082821 -0.9758775 0.15783553, -0.17610589 -0.9780378 0.18068863, -0.1706124 -0.9988648 0.401016, -0.19646128 -1.0012075 0.42579794, -0.22849034 -1.0028807 0.44349933, -0.26669958 -1.0038847 0.45412016, -0.311089 -1.0042193 0.45766044'></Coordinate>
                  <Normal DEF='ID24' vector='2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, -0.83961314 0.05111821 -0.54077417, -0.83961314 0.05111821 -0.54077417, -0.83961314 0.05111821 -0.54077417, -0.83961314 0.05111821 -0.54077417, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, -1.0 2.925767E-17 -1.4581571E-17, -1.0 2.925767E-17 -1.4581571E-17, -1.0 2.925767E-17 -1.4581571E-17, -1.0 2.925767E-17 -1.4581571E-17, 0.03995925 -0.09403315 0.99476683, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, 0.03995925 -0.09403315 0.99476683, 0.1751963 -0.09265279 0.9801641, 0.1751963 -0.09265279 0.9801641, 0.37974623 -0.08705872 0.9209851, 0.37974623 -0.08705872 0.9209851, 0.5945148 -0.075671054 0.8005161, 0.5945148 -0.075671054 0.8005161, 0.76582134 -0.06051667 0.6401995, 0.76582134 -0.06051667 0.6401995, 0.8750752 -0.0455472 0.48183903, 0.8750752 -0.0455472 0.48183903, 0.94604325 -0.0304949 0.32260236, 0.94604325 -0.0304949 0.32260236, 0.9873064 -0.014946964 0.15812236, 0.9873064 -0.014946964 0.15812236, 0.99999964 7.8823236E-5 -8.3386275E-4, 0.99999964 7.8823236E-5 -8.3386275E-4, 0.98590875 0.015742831 -0.16654176, 0.98590875 0.015742831 -0.16654176, 0.9358434 0.033165284 -0.35085207, 0.9358434 0.033165284 -0.35085207, 0.8415147 0.050840534 -0.5378367, 0.8415147 0.050840534 -0.5378367, 0.68586266 0.068485536 -0.7245013, 0.68586266 0.068485536 -0.7245013, 0.45905858 0.08360639 -0.8844632, 0.45905858 0.08360639 -0.8844632, 0.3280117 0.08890165 -0.9404812, 0.3280117 0.08890165 -0.9404812, 0.79383445 -0.057230458 0.60543495, 0.79383445 -0.057230458 0.60543495, 0.79383445 -0.057230458 0.60543495, 0.79383445 -0.057230458 0.60543495, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831'></Normal>
              </IndexedTriangleSet>
            </Shape>
            <Shape>
              <Appearance>
                  <Material USE='ID3'></Material>
              </Appearance>
              <IndexedTriangleSet index='0 1 2 1 0 3 1 3 4 4 3 5 4 5 6 5 3 7 7 3 8 8 3 9 10 6 5 11 2 1 12 13 14 13 12 15 16 17 18 17 16 19 20 21 22 21 20 23 24 25 26 25 24 27 28 29 30 29 28 31 32 33 34 33 32 35 36 37 38 37 36 39 40 41 42 41 40 43 44 45 46 45 44 47 48 49 50 49 48 51 52 53 54 53 52 55 56 57 58 57 56 59 60 61 62 63 64 65 66 67 68 67 66 69 67 69 70 68 67 61 68 61 71 71 61 60 68 71 64 68 64 63'>
                  <Coordinate DEF='ID29' point='-0.023857484 0.41802397 0.054098155, 0.11544196 0.40709344 0.16973096, 0.28103173 0.41802397 0.054098155, -0.023857484 0.36761802 0.58733726, 0.11544196 0.39808315 0.26504987, 0.11544196 0.38715264 0.38068268, 0.2720067 0.39808315 0.26504987, 0.11544196 0.37854853 0.47170445, 0.28103173 0.37854853 0.47170445, 0.28103173 0.36761802 0.58733726, 0.2720067 0.38715264 0.38068268, 0.28103173 0.40709344 0.16973096, 0.28103173 0.41802397 0.054098155, -0.023857484 -0.3227682 -0.015927324, -0.023857484 0.41802397 0.054098155, 0.28103173 -0.3227682 -0.015927324, -0.023857484 0.36761802 0.58733726, -0.023857484 -0.3227682 -0.015927324, -0.023857484 -0.37317413 0.51731175, -0.023857484 0.41802397 0.054098155, 0.28103173 -0.37317413 0.51731175, -0.023857484 0.36761802 0.58733726, -0.023857484 -0.37317413 0.51731175, 0.28103173 0.36761802 0.58733726, 0.28103173 -0.36224362 0.40167898, 0.28103173 0.36761802 0.58733726, 0.28103173 -0.37317413 0.51731175, 0.28103173 0.37854853 0.47170445, 0.28103173 0.37854853 0.47170445, 0.11544196 -0.36224362 0.40167898, 0.11544196 0.37854853 0.47170445, 0.28103173 -0.36224362 0.40167898, 0.11544196 -0.35363954 0.3106572, 0.11544196 0.37854853 0.47170445, 0.11544196 -0.36224362 0.40167898, 0.11544196 0.38715264 0.38068268, 0.2720067 -0.35363954 0.3106572, 0.11544196 0.38715264 0.38068268, 0.11544196 -0.35363954 0.3106572, 0.2720067 0.38715264 0.38068268, 0.2720067 -0.342709 0.19502442, 0.2720067 0.38715264 0.38068268, 0.2720067 -0.35363954 0.3106572, 0.2720067 0.39808315 0.26504987, 0.2720067 0.39808315 0.26504987, 0.11544196 -0.342709 0.19502442, 0.11544196 0.39808315 0.26504987, 0.2720067 -0.342709 0.19502442, 0.11544196 -0.33369872 0.09970548, 0.11544196 0.39808315 0.26504987, 0.11544196 -0.342709 0.19502442, 0.11544196 0.40709344 0.16973096, 0.28103173 -0.33369872 0.09970548, 0.11544196 0.40709344 0.16973096, 0.11544196 -0.33369872 0.09970548, 0.28103173 0.40709344 0.16973096, 0.28103173 -0.3227682 -0.015927324, 0.28103173 0.40709344 0.16973096, 0.28103173 -0.33369872 0.09970548, 0.28103173 0.41802397 0.054098155, 0.2720067 -0.35363954 0.3106572, 0.11544196 -0.342709 0.19502442, 0.2720067 -0.342709 0.19502442, 0.28103173 -0.37317413 0.51731175, 0.11544196 -0.36224362 0.40167898, 0.28103173 -0.36224362 0.40167898, -0.023857484 -0.3227682 -0.015927324, 0.11544196 -0.33369872 0.09970548, -0.023857484 -0.37317413 0.51731175, 0.28103173 -0.3227682 -0.015927324, 0.28103173 -0.33369872 0.09970548, 0.11544196 -0.35363954 0.3106572'></Coordinate>
                  <Normal DEF='ID30' vector='2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, -1.0 2.925767E-17 -1.4581571E-17, -1.0 2.925767E-17 -1.4581571E-17, -1.0 2.925767E-17 -1.4581571E-17, -1.0 2.925767E-17 -1.4581571E-17, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831'></Normal>
              </IndexedTriangleSet>
            </Shape>
            <Shape>
              <Appearance>
                  <Material USE='ID3'></Material>
              </Appearance>
              <IndexedTriangleSet index='0 1 2 1 0 3 3 4 5 4 3 6 6 3 7 7 3 0 6 8 4 8 6 9 10 11 12 11 10 13 14 15 16 15 14 17 18 19 20 19 18 21 22 23 24 23 22 25 26 27 28 27 26 29 30 31 32 31 30 33 34 35 36 35 34 37 38 39 40 39 38 41 42 43 44 43 42 45 46 47 48 47 46 49 50 51 52 51 50 53 53 50 54 53 55 51 55 53 56 57 58 59 58 57 55 58 55 56'>
                  <Coordinate DEF='ID35' point='0.36932012 -0.05177225 0.5476932, 0.50861955 -0.0013663147 0.0144541, 0.36932012 -0.0013663147 0.0144541, 0.50861955 -0.03223764 0.34103864, 0.9041515 -0.0013663147 0.0144541, 0.76485205 -0.0013663147 0.0144541, 0.76485205 -0.02093785 0.22149932, 0.50861955 -0.05177225 0.5476932, 0.9041515 -0.05177225 0.5476932, 0.76485205 -0.05177225 0.5476932, 0.9041515 -0.0013663147 0.0144541, 0.76485205 -0.8323078 -0.064092994, 0.76485205 -0.0013663147 0.0144541, 0.9041515 -0.8323078 -0.064092994, 0.50861955 -0.03223764 0.34103864, 0.76485205 -0.8323078 -0.064092994, 0.50861955 -0.86317915 0.26249155, 0.76485205 -0.0013663147 0.0144541, 0.50861955 -0.8323078 -0.064092994, 0.50861955 -0.03223764 0.34103864, 0.50861955 -0.86317915 0.26249155, 0.50861955 -0.0013663147 0.0144541, 0.50861955 -0.0013663147 0.0144541, 0.36932012 -0.8323078 -0.064092994, 0.36932012 -0.0013663147 0.0144541, 0.50861955 -0.8323078 -0.064092994, 0.36932012 -0.05177225 0.5476932, 0.36932012 -0.8323078 -0.064092994, 0.36932012 -0.88271374 0.4691461, 0.36932012 -0.0013663147 0.0144541, 0.50861955 -0.88271374 0.4691461, 0.36932012 -0.05177225 0.5476932, 0.36932012 -0.88271374 0.4691461, 0.50861955 -0.05177225 0.5476932, 0.76485205 -0.85187936 0.14295222, 0.50861955 -0.05177225 0.5476932, 0.50861955 -0.88271374 0.4691461, 0.76485205 -0.02093785 0.22149932, 0.76485205 -0.05177225 0.5476932, 0.76485205 -0.85187936 0.14295222, 0.76485205 -0.88271374 0.4691461, 0.76485205 -0.02093785 0.22149932, 0.9041515 -0.88271374 0.4691461, 0.76485205 -0.05177225 0.5476932, 0.76485205 -0.88271374 0.4691461, 0.9041515 -0.05177225 0.5476932, 0.9041515 -0.8323078 -0.064092994, 0.9041515 -0.05177225 0.5476932, 0.9041515 -0.88271374 0.4691461, 0.9041515 -0.0013663147 0.0144541, 0.9041515 -0.88271374 0.4691461, 0.76485205 -0.8323078 -0.064092994, 0.9041515 -0.8323078 -0.064092994, 0.76485205 -0.85187936 0.14295222, 0.76485205 -0.88271374 0.4691461, 0.50861955 -0.86317915 0.26249155, 0.50861955 -0.88271374 0.4691461, 0.50861955 -0.8323078 -0.064092994, 0.36932012 -0.88271374 0.4691461, 0.36932012 -0.8323078 -0.064092994'></Coordinate>
                  <Normal DEF='ID36' vector='2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, -0.7880815 0.057930335 -0.6128389, -0.7880815 0.057930335 -0.6128389, -0.7880815 0.057930335 -0.6128389, -0.7880815 0.057930335 -0.6128389, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, -1.0 2.925767E-17 -1.4581571E-17, -1.0 2.925767E-17 -1.4581571E-17, -1.0 2.925767E-17 -1.4581571E-17, -1.0 2.925767E-17 -1.4581571E-17, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, 0.78772396 -0.057973396 0.6132945, 0.78772396 -0.057973396 0.6132945, 0.78772396 -0.057973396 0.6132945, 0.78772396 -0.057973396 0.6132945, -1.0 2.925767E-17 -1.4581571E-17, -1.0 2.925767E-17 -1.4581571E-17, -1.0 2.925767E-17 -1.4581571E-17, -1.0 2.925767E-17 -1.4581571E-17, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831'></Normal>
              </IndexedTriangleSet>
            </Shape>
            <Shape>
              <Appearance>
                  <Material USE='ID3'></Material>
              </Appearance>
              <IndexedTriangleSet index='0 1 2 1 0 3 3 0 4 4 0 5 4 5 6 6 5 7 7 5 8 8 5 9 8 9 10 10 9 11 10 11 12 12 11 13 13 11 14 13 14 15 15 14 16 16 14 17 17 14 18 17 18 19 20 21 22 21 20 23 21 23 24 21 24 19 21 19 18 21 18 25 21 25 26 21 26 27 21 27 28 28 27 29 28 29 30 31 32 33 32 31 34 32 34 35 35 34 36 35 36 37 35 37 38 35 38 39 37 36 40 40 36 41 40 41 1 1 41 2 42 43 44 43 42 45 44 46 47 46 44 43 47 48 49 48 47 46 49 50 51 50 49 48 51 52 53 52 51 50 53 54 55 54 53 52 56 54 57 54 56 55 58 57 59 57 58 56 60 59 61 59 60 58 62 61 63 61 62 60 64 63 65 63 64 62 66 65 67 65 66 64 68 67 69 67 68 66 70 69 71 69 70 68 72 70 71 70 72 73 74 73 72 73 74 75 76 75 74 75 76 77 78 77 76 77 78 79 80 79 78 79 80 81 82 81 80 81 82 83 84 85 86 85 84 87 88 89 90 89 88 91 88 92 93 92 88 90 93 94 95 94 93 92 95 96 97 96 95 94 97 98 99 98 97 96 100 101 102 101 100 103 104 102 101 102 104 105 106 105 104 105 106 107 108 107 106 107 108 109 110 109 108 109 110 111 112 111 110 111 112 113 114 113 112 113 114 115 116 115 114 115 116 117 118 117 116 117 118 119 120 119 118 119 120 121 122 123 124 123 122 125 126 125 122 125 126 127 128 127 126 127 128 129 130 129 128 129 130 131 132 130 133 130 132 131 134 135 136 135 134 137 138 139 140 139 138 141 141 138 142 141 142 143 143 142 144 144 142 145 145 142 146 143 144 147 143 147 148 148 147 149 148 149 150 151 152 153 152 151 154 154 151 155 155 151 156 156 151 157 157 151 158 158 151 159 159 151 160 160 151 161 160 161 162 162 161 163 149 164 150 164 149 165 164 165 166 164 166 167 167 166 168 167 168 169 167 169 170 167 170 171 171 170 172 171 172 173 171 173 174 174 173 175 174 175 176 176 175 177 176 177 178 176 178 179 176 179 157 157 179 156'>
                  <Coordinate DEF='ID41' point='1.0179454 0.26714015 0.18606213, 1.281848 0.2695035 0.16106044, 1.0498273 0.27192226 0.13547277, 1.2311542 0.26873523 0.16918781, 1.1875327 0.26643047 0.19356996, 0.9988163 0.2617672 0.2429019, 1.1653548 0.26430836 0.21601944, 1.1495135 0.26182982 0.24223962, 1.1400087 0.25899485 0.2722305, 0.9924399 0.25580344 0.3059921, 1.1368405 0.25580344 0.3059921, 0.9988163 0.2498235 0.3692532, 1.1400087 0.25259587 0.3399246, 1.1495135 0.24974935 0.37003756, 1.0179454 0.24443902 0.42621505, 1.1653548 0.2472639 0.39633098, 1.1875327 0.24513948 0.41880488, 1.2311542 0.24283469 0.44318703, 1.0498273 0.23965 0.47687766, 1.281848 0.24206643 0.4513144, 1.3822515 0.24561666 0.41375694, 1.402098 0.23191139 0.55874354, 1.402098 0.24760555 0.3927167, 1.3620126 0.24418513 0.42890078, 1.3233052 0.2425961 0.445711, 1.094462 0.23545642 0.521241, 1.135884 0.23279072 0.54944116, 1.1801018 0.23088665 0.5695841, 1.3360779 0.23000039 0.5789597, 1.2271153 0.22974421 0.58166987, 1.2769247 0.2293634 0.5856985, 1.2264532 0.28182572 0.030704964, 1.3363723 0.28156954 0.03341511, 1.2757475 0.28220654 0.026676372, 1.1798074 0.28068328 0.04279074, 1.402098 0.27965856 0.053631317, 1.1358104 0.2787792 0.0629337, 1.3620126 0.2673848 0.18347406, 1.3820553 0.26597205 0.19841953, 1.402098 0.26396438 0.21965814, 1.3233052 0.26897383 0.16666384, 1.094462 0.2761135 0.09113385, 1.402098 0.27965856 0.053631317, 1.3363723 -0.3102803 -0.022531172, 1.3363723 0.28156954 0.03341511, 1.402098 -0.31219128 -0.0023149648, 1.2757475 -0.3096433 -0.029269908, 1.2757475 0.28220654 0.026676372, 1.2264532 -0.3100241 -0.025241317, 1.2264532 0.28182572 0.030704964, 1.1798074 -0.31116655 -0.0131555395, 1.1798074 0.28068328 0.04279074, 1.1358104 -0.31307063 0.006987421, 1.1358104 0.2787792 0.0629337, 1.094462 -0.31573632 0.035187565, 1.094462 0.2761135 0.09113385, 1.0498273 0.27192226 0.13547277, 1.0498273 -0.31992757 0.07952649, 1.0179454 0.26714015 0.18606213, 1.0179454 -0.32470968 0.13011585, 0.9988163 0.2617672 0.2429019, 0.9988163 -0.33008263 0.18695562, 0.9924399 0.25580344 0.3059921, 0.9924399 -0.3360464 0.2500458, 0.9988163 0.2498235 0.3692532, 0.9988163 -0.34202632 0.31330693, 1.0179454 0.24443902 0.42621505, 1.0179454 -0.3474108 0.37026876, 1.0498273 0.23965 0.47687766, 1.0498273 -0.35219985 0.42093137, 1.094462 0.23545642 0.521241, 1.094462 -0.3563934 0.46529472, 1.135884 -0.3590591 0.49349487, 1.135884 0.23279072 0.54944116, 1.1801018 -0.36096317 0.51363784, 1.1801018 0.23088665 0.5695841, 1.2271153 -0.3621056 0.5257236, 1.2271153 0.22974421 0.58166987, 1.2769247 -0.36248642 0.5297522, 1.2769247 0.2293634 0.5856985, 1.3360779 -0.36184943 0.5230135, 1.3360779 0.23000039 0.5789597, 1.402098 -0.35993844 0.50279725, 1.402098 0.23191139 0.55874354, 1.402098 -0.34424427 0.33677042, 1.402098 0.23191139 0.55874354, 1.402098 -0.35993844 0.50279725, 1.402098 0.24760555 0.3927167, 1.3822515 0.24561666 0.41375694, 1.402098 -0.34424427 0.33677042, 1.3822515 -0.34623316 0.35781065, 1.402098 0.24760555 0.3927167, 1.3620126 -0.34766468 0.3729545, 1.3620126 0.24418513 0.42890078, 1.3233052 -0.3492537 0.38976473, 1.3233052 0.2425961 0.445711, 1.281848 -0.3497834 0.39536813, 1.281848 0.24206643 0.4513144, 1.2311542 -0.34901515 0.38724074, 1.2311542 0.24283469 0.44318703, 1.2311542 0.24283469 0.44318703, 1.1875327 -0.34671035 0.3628586, 1.1875327 0.24513948 0.41880488, 1.2311542 -0.34901515 0.38724074, 1.1653548 -0.34458593 0.3403847, 1.1653548 0.2472639 0.39633098, 1.1495135 -0.34210047 0.31409127, 1.1495135 0.24974935 0.37003756, 1.1400087 -0.33925396 0.2839783, 1.1400087 0.25259587 0.3399246, 1.1368405 -0.3360464 0.2500458, 1.1368405 0.25580344 0.3059921, 1.1400087 -0.332855 0.21628423, 1.1400087 0.25899485 0.2722305, 1.1495135 -0.33002 0.18629335, 1.1495135 0.26182982 0.24223962, 1.1653548 -0.32754147 0.16007316, 1.1653548 0.26430836 0.21601944, 1.1875327 -0.32541937 0.13762368, 1.1875327 0.26643047 0.19356996, 1.2311542 -0.32311457 0.11324154, 1.2311542 0.26873523 0.16918781, 1.281848 -0.32234633 0.10511416, 1.2311542 0.26873523 0.16918781, 1.2311542 -0.32311457 0.11324154, 1.281848 0.2695035 0.16106044, 1.3233052 -0.322876 0.110717565, 1.3233052 0.26897383 0.16666384, 1.3620126 -0.32446504 0.12752777, 1.3620126 0.2673848 0.18347406, 1.3820553 -0.3258778 0.14247325, 1.3820553 0.26597205 0.19841953, 1.402098 0.26396438 0.21965814, 1.402098 -0.32788545 0.16371186, 1.402098 -0.31219128 -0.0023149648, 1.402098 0.26396438 0.21965814, 1.402098 -0.32788545 0.16371186, 1.402098 0.27965856 0.053631317, 1.3363723 -0.3102803 -0.022531172, 1.2264532 -0.3100241 -0.025241317, 1.2757475 -0.3096433 -0.029269908, 1.1798074 -0.31116655 -0.0131555395, 1.402098 -0.31219128 -0.0023149648, 1.1358104 -0.31307063 0.006987421, 1.3620126 -0.32446504 0.12752777, 1.3820553 -0.3258778 0.14247325, 1.402098 -0.32788545 0.16371186, 1.3233052 -0.322876 0.110717565, 1.094462 -0.31573632 0.035187565, 1.281848 -0.32234633 0.10511416, 1.0498273 -0.31992757 0.07952649, 1.402098 -0.35993844 0.50279725, 1.3822515 -0.34623316 0.35781065, 1.402098 -0.34424427 0.33677042, 1.3620126 -0.34766468 0.3729545, 1.3233052 -0.3492537 0.38976473, 1.281848 -0.3497834 0.39536813, 1.0498273 -0.35219985 0.42093137, 1.094462 -0.3563934 0.46529472, 1.135884 -0.3590591 0.49349487, 1.1801018 -0.36096317 0.51363784, 1.3360779 -0.36184943 0.5230135, 1.2271153 -0.3621056 0.5257236, 1.2769247 -0.36248642 0.5297522, 1.0179454 -0.32470968 0.13011585, 1.2311542 -0.32311457 0.11324154, 1.1875327 -0.32541937 0.13762368, 0.9988163 -0.33008263 0.18695562, 1.1653548 -0.32754147 0.16007316, 1.1495135 -0.33002 0.18629335, 1.1400087 -0.332855 0.21628423, 0.9924399 -0.3360464 0.2500458, 1.1368405 -0.3360464 0.2500458, 1.1400087 -0.33925396 0.2839783, 0.9988163 -0.34202632 0.31330693, 1.1495135 -0.34210047 0.31409127, 1.0179454 -0.3474108 0.37026876, 1.1653548 -0.34458593 0.3403847, 1.1875327 -0.34671035 0.3628586, 1.2311542 -0.34901515 0.38724074'></Coordinate>
                  <Normal DEF='ID42' vector='2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 0.29518792 0.08991477 -0.95119894, 0.20397942 0.0921297 -0.9746305, 0.20397942 0.0921297 -0.9746305, 0.29518792 0.08991477 -0.95119894, 0.014641519 0.094098225 -0.99545527, 0.014641519 0.094098225 -0.99545527, -0.16746241 0.09277936 -0.98150307, -0.16746241 0.09277936 -0.98150307, -0.33614093 0.08863231 -0.9376319, -0.33614093 0.08863231 -0.9376319, -0.4932537 0.081863455 -0.8660249, -0.4932537 0.081863455 -0.8660249, -0.63843334 0.07243302 -0.7662613, -0.63843334 0.07243302 -0.7662613, -0.78169614 0.058691543 -0.6208917, -0.78169614 0.058691543 -0.6208917, -0.90397733 0.04023887 -0.42568275, -0.90397733 0.04023887 -0.42568275, -0.9776564 0.019782431 -0.20927626, -0.9776564 0.019782431 -0.20927626, -1.0 1.2663286E-5 -1.3396358E-4, -1.0 1.2663286E-5 -1.3396358E-4, -0.9777525 -0.019740343 0.20883101, -0.9777525 -0.019740343 0.20883101, -0.90425444 -0.040183697 0.4250991, -0.90425444 -0.040183697 0.4250991, -0.7819849 -0.058657464 0.62053114, -0.7819849 -0.058657464 0.62053114, -0.63822037 -0.07244964 0.7664371, -0.63822037 -0.07244964 0.7664371, -0.49206802 -0.08192663 0.8666932, -0.49206802 -0.08192663 0.8666932, -0.33434868 -0.08869233 0.9382668, -0.33434868 -0.08869233 0.9382668, -0.16610602 -0.09280095 0.98173153, -0.16610602 -0.09280095 0.98173153, 0.01643405 -0.0940956 0.9954275, 0.01643405 -0.0940956 0.9954275, 0.20470607 -0.092115425 0.97447944, 0.20470607 -0.092115425 0.97447944, 0.29398605 -0.08994964 0.95156777, 0.29398605 -0.08994964 0.95156777, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, -0.6673629 0.07008553 -0.7414275, -0.7289632 0.064422116 -0.6815148, -0.6673629 0.07008553 -0.7414275, -0.7289632 0.064422116 -0.6815148, -0.5037455 0.08129566 -0.8600183, -0.5037455 0.08129566 -0.8600183, -0.26975575 0.0906196 -0.95865524, -0.26975575 0.0906196 -0.95865524, 0.012363808 0.09410112 -0.99548584, 0.012363808 0.09410112 -0.99548584, 0.15898935 0.09291128 -0.9828987, 0.15898935 0.09291128 -0.9828987, 0.48955846 0.082059674 -0.86810064, 0.6075064 0.07475162 -0.79078954, 0.6075064 0.07475162 -0.79078954, 0.48955846 0.082059674 -0.86810064, 0.7909651 0.057581235 -0.6091458, 0.7909651 0.057581235 -0.6091458, 0.91211885 0.038577426 -0.40810654, 0.91211885 0.038577426 -0.40810654, 0.9803481 0.018565247 -0.1963998, 0.9803481 0.018565247 -0.1963998, 1.0 -2.1951351E-5 2.3222103E-4, 1.0 -2.1951351E-5 2.3222103E-4, 0.980187 -0.018640442 0.19719529, 0.980187 -0.018640442 0.19719529, 0.9116273 -0.038680192 0.4091937, 0.9116273 -0.038680192 0.4091937, 0.79042184 -0.057647265 0.6098443, 0.79042184 -0.057647265 0.6098443, 0.60729057 -0.07476716 0.7909539, 0.60729057 -0.07476716 0.7909539, 0.48955846 -0.082059674 0.86810064, 0.48955846 -0.082059674 0.86810064, 0.012363808 -0.09410112 0.99548584, 0.15898935 -0.09291128 0.9828987, 0.15898935 -0.09291128 0.9828987, 0.012363808 -0.09410112 0.99548584, -0.26975575 -0.0906196 0.95865524, -0.26975575 -0.0906196 0.95865524, -0.5030311 -0.08133484 0.8604327, -0.5030311 -0.08133484 0.8604327, -0.6666627 -0.07014453 0.7420516, -0.6666627 -0.07014453 0.7420516, -0.72880846 -0.06443762 0.68167883, -0.72880846 -0.06443762 0.68167883, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831'></Normal>
               </IndexedTriangleSet>
               </IndexedTriangleSet>
             </Shape>
             </Shape>
             <Shape>
             <Shape>
              <Appearance>
              <!-- deleted -->
                  <Material USE='ID3'></Material>
              </Appearance>
              <IndexedTriangleSet index='0 1 2 1 0 3 1 3 4 4 3 5 4 5 6 5 3 7 7 3 8 8 3 9 10 6 5 11 2 1 12 13 14 13 12 15 16 17 18 17 16 19 20 21 22 21 20 23 24 25 26 25 24 27 28 29 30 29 28 31 32 33 34 33 32 35 36 37 38 37 36 39 40 41 42 41 40 43 44 45 46 45 44 47 48 49 50 49 48 51 52 53 54 53 52 55 56 57 58 57 56 59 60 61 62 63 64 65 64 63 66 67 68 66 68 67 69 68 69 70 66 68 61 66 61 71 71 61 60 66 71 64'>
                  <Coordinate DEF='ID47' point='1.4903864 0.25732303 0.038907442, 1.6296859 0.2463925 0.15454024, 1.7952756 0.25732303 0.038907442, 1.4903864 0.20691708 0.57214653, 1.6296859 0.2373822 0.24985917, 1.6296859 0.22645168 0.365492, 1.7862506 0.2373822 0.24985917, 1.6296859 0.2178476 0.45651373, 1.7952756 0.2178476 0.45651373, 1.7952756 0.20691708 0.57214653, 1.7862506 0.22645168 0.365492, 1.7952756 0.2463925 0.15454024, 1.7952756 0.25732303 0.038907442, 1.4903864 -0.3227682 -0.015927324, 1.4903864 0.25732303 0.038907442, 1.7952756 -0.3227682 -0.015927324, 1.4903864 0.20691708 0.57214653, 1.4903864 -0.3227682 -0.015927324, 1.4903864 -0.37317413 0.51731175, 1.4903864 0.25732303 0.038907442, 1.7952756 -0.37317413 0.51731175, 1.4903864 0.20691708 0.57214653, 1.4903864 -0.37317413 0.51731175, 1.7952756 0.20691708 0.57214653, 1.7952756 -0.36224362 0.40167898, 1.7952756 0.20691708 0.57214653, 1.7952756 -0.37317413 0.51731175, 1.7952756 0.2178476 0.45651373, 1.7952756 0.2178476 0.45651373, 1.6296859 -0.36224362 0.40167898, 1.6296859 0.2178476 0.45651373, 1.7952756 -0.36224362 0.40167898, 1.6296859 -0.35363954 0.3106572, 1.6296859 0.2178476 0.45651373, 1.6296859 -0.36224362 0.40167898, 1.6296859 0.22645168 0.365492, 1.7862506 -0.35363954 0.3106572, 1.6296859 0.22645168 0.365492, 1.6296859 -0.35363954 0.3106572, 1.7862506 0.22645168 0.365492, 1.7862506 -0.342709 0.19502442, 1.7862506 0.22645168 0.365492, 1.7862506 -0.35363954 0.3106572, 1.7862506 0.2373822 0.24985917, 1.7862506 0.2373822 0.24985917, 1.6296859 -0.342709 0.19502442, 1.6296859 0.2373822 0.24985917, 1.7862506 -0.342709 0.19502442, 1.6296859 -0.33369872 0.09970548, 1.6296859 0.2373822 0.24985917, 1.6296859 -0.342709 0.19502442, 1.6296859 0.2463925 0.15454024, 1.7952756 -0.33369872 0.09970548, 1.6296859 0.2463925 0.15454024, 1.6296859 -0.33369872 0.09970548, 1.7952756 0.2463925 0.15454024, 1.7952756 -0.3227682 -0.015927324, 1.7952756 0.2463925 0.15454024, 1.7952756 -0.33369872 0.09970548, 1.7952756 0.25732303 0.038907442, 1.7862506 -0.35363954 0.3106572, 1.6296859 -0.342709 0.19502442, 1.7862506 -0.342709 0.19502442, 1.7952756 -0.37317413 0.51731175, 1.6296859 -0.36224362 0.40167898, 1.7952756 -0.36224362 0.40167898, 1.4903864 -0.37317413 0.51731175, 1.4903864 -0.3227682 -0.015927324, 1.6296859 -0.33369872 0.09970548, 1.7952756 -0.3227682 -0.015927324, 1.7952756 -0.33369872 0.09970548, 1.6296859 -0.35363954 0.3106572'></Coordinate>
                  <Normal DEF='ID48' vector='2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17 0.99556196 0.09410831, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, -1.0 2.925767E-17 -1.4581571E-17, -1.0 2.925767E-17 -1.4581571E-17, -1.0 2.925767E-17 -1.4581571E-17, -1.0 2.925767E-17 -1.4581571E-17, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831'></Normal>
              </IndexedTriangleSet>
            </Shape>
            <Shape>
              <Appearance>
                  <Material USE='ID3'></Material>
              </Appearance>
              <IndexedTriangleSet index='0 1 2 1 0 3 4 5 6 5 4 7 8 9 10 9 8 11'>
                  <Coordinate DEF='ID53' point='-1.4474586 -0.036188878 0.38283834, -1.3897768 -1.1489516 0.1061995, -1.4474586 -1.165015 0.27613285, -1.3897768 -0.020125447 0.21290499, -1.3897768 -1.1489516 0.1061995, -1.5059252 -0.020125447 0.21290499, -1.5059252 -1.1489516 0.1061995, -1.3897768 -0.020125447 0.21290499, -1.5059252 -1.1489516 0.1061995, -1.4474586 -0.036188878 0.38283834, -1.4474586 -1.165015 0.27613285, -1.5059252 -0.020125447 0.21290499'></Coordinate>
                  <Normal DEF='ID54' vector='-0.9473685 0.030128326 -0.3187244, -0.9473685 0.030128326 -0.3187244, -0.9473685 0.030128326 -0.3187244, -0.9473685 0.030128326 -0.3187244, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, 0.9460412 0.030495452 -0.32260817, 0.9460412 0.030495452 -0.32260817, 0.9460412 0.030495452 -0.32260817, 0.9460412 0.030495452 -0.32260817'></Normal>
              </IndexedTriangleSet>
            </Shape>
            <Shape>
              <Appearance>
                  <Material USE='ID3'></Material>
              </Appearance>
              <IndexedTriangleSet index='0 1 2 1 0 3 4 5 6 5 4 7 8 9 10 9 8 11 12 13 14 13 12 15 16 17 18 17 16 19 20 21 22 21 20 23 24 25 26 25 24 27 28 29 30 29 28 31 26 32 33 32 26 25 30 34 35 34 30 29 36 37 38 37 36 39'>
                  <Coordinate DEF='ID59' point='-0.2833456 -0.03801866 0.40219542, -0.27812803 -0.9879897 0.28596917, -0.2833456 -0.99046576 0.31216267, -0.27812803 -0.03554265 0.37600192, -0.27812803 -0.03554265 0.37600192, -0.2833456 -0.9855045 0.25967804, -0.27812803 -0.9879897 0.28596917, -0.2833456 -0.033057403 0.3497108, -0.29899842 -0.04007145 0.42391166, -0.2833456 -0.99046576 0.31216267, -0.29899842 -0.99251854 0.3338789, -0.2833456 -0.03801866 0.40219542, -0.2833456 -0.033057403 0.3497108, -0.29899842 -0.983424 0.2376688, -0.2833456 -0.9855045 0.25967804, -0.29899842 -0.030976918 0.32770157, -0.29899842 -0.04007145 0.42391166, -0.32469556 -0.9938163 0.34760815, -0.32469556 -0.04136925 0.4376409, -0.29899842 -0.99251854 0.3338789, -0.29899842 -0.983424 0.2376688, -0.3244963 -0.02967912 0.3139723, -0.3244963 -0.9821262 0.22393954, -0.29899842 -0.030976918 0.32770157, -0.32469556 -0.04136925 0.4376409, -0.3624005 -0.9942489 0.3521846, -0.3624005 -0.041801848 0.44221735, -0.32469556 -0.9938163 0.34760815, -0.3244963 -0.9821262 0.22393954, -0.3624005 -0.02924652 0.30939588, -0.3624005 -0.9816936 0.21936312, -0.3244963 -0.02967912 0.3139723, -0.3883904 -0.9942489 0.3521846, -0.3883904 -0.041801848 0.44221735, -0.3883904 -0.02924652 0.30939588, -0.3883904 -0.9816936 0.21936312, -0.3883904 -0.9816936 0.21936312, -0.3883904 -0.041801848 0.44221735, -0.3883904 -0.9942489 0.3521846, -0.3883904 -0.02924652 0.30939588'></Coordinate>
                  <Normal DEF='ID60' vector='-0.9808981 0.018306175 -0.19365911, -0.9808981 0.018306175 -0.19365911, -0.9808981 0.018306175 -0.19365911, -0.9808981 0.018306175 -0.19365911, -0.9810357 -0.018240733 0.1929668, -0.9810357 -0.018240733 0.1929668, -0.9810357 -0.018240733 0.1929668, -0.9810357 -0.018240733 0.1929668, -0.8124624 0.054866426 -0.58042616, -0.8124624 0.054866426 -0.58042616, -0.8124624 0.054866426 -0.58042616, -0.8124624 0.054866426 -0.58042616, -0.816139 -0.054381017 0.5752911, -0.816139 -0.054381017 0.5752911, -0.816139 -0.054381017 0.5752911, -0.816139 -0.054381017 0.5752911, -0.47286448 0.082922146 -0.8772247, -0.47286448 0.082922146 -0.8772247, -0.47286448 0.082922146 -0.8772247, -0.47286448 0.082922146 -0.8772247, -0.47572604 -0.08277706 0.87568986, -0.47572604 -0.08277706 0.87568986, -0.47572604 -0.08277706 0.87568986, -0.47572604 -0.08277706 0.87568986, -0.12101946 0.09341663 -0.9882447, -0.060621224 0.09393524 -0.99373096, -0.060621224 0.09393524 -0.99373096, -0.12101946 0.09341663 -0.9882447, -0.12039251 -0.093423806 0.9883206, -0.060306016 -0.09393703 0.99375, -0.060306016 -0.09393703 0.99375, -0.12039251 -0.093423806 0.9883206, 1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17 0.09410831 -0.99556196, -1.7270247E-17 -0.09410831 0.99556196, -1.7270247E-17 -0.09410831 0.99556196, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17'></Normal>
              </IndexedTriangleSet>
             </Shape>
             </Shape>
        <!-- other shapes deleted -->
         </Transform>
         </Transform>
       </Transform>
       </Transform>
</Scene>
</Scene>
</X3D>
</X3D>
</source>
</source>


Line 292: Line 378:
* [http://www.web3d.org/x3d/content/X3dTooltips.html X3D Tooltips] (ok)
* [http://www.web3d.org/x3d/content/X3dTooltips.html X3D Tooltips] (ok)
* [http://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html X3D Scene Authoring Hints]
* [http://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html X3D Scene Authoring Hints]
== Credits and Copyright modificiation ==
{{copyrightalso|[http://creativecommons.org/licenses/by-nc-sa/3.0/ Attribution-Noncommercial-Share Alike 3.0 Unported], i.e. the same as EduTechWiki, but you also must cite the following sources from which most material is drawn:
* [http://x3dgraphics.com/slidesets/ X3D for Web Authors slidesets - 14 Chapters]. Over 1200 slides are provided in fifteen slidesets to support teaching and learning X3D for Web Authors. Main author: Don Brutzman
* [http://x3dgraphics.com/slidesets/ X3D Graphics for Web Authors, X3D Scene Graph Tutorial]. Main author: Don Brutzman
* [http://x3dgraphics.com/examples/X3dForWebAuthors/ X3D Graphics for Web Authors - Example Scenes]
You also should buy the [http://x3dgraphics.com/ 3D Graphics for Web Authors] book, by Don Brutzman and Leonard Daly, published by Morgan Kaufmann Publishers, Copyright 2007 Elsevier
}}

Latest revision as of 16:53, 28 January 2015

Draft

This article or section is currently under construction

In principle, someone is working on it and there should be a better version in a not so distant future.
If you want to modify this page, please discuss it with the person working on it (see the "history")

Introduction

This short tutorial introduced some basic X3D geometry modeling concepts plus some other concepts that needed to build simple scenes.

Prerequisites: X3D, X3D graphics principles and X3D shape and geometry

In X3D, 3D "things" are defined with shape nodes. Shape nodes can appear under any grouping node (including the Scene node). Usually, a geometry is included under at least a Transform node for positioning, rotation, etc.

A Shape node includes:

  • A mandatory geometry node, of which several exist
  • An optional (quasi-mandatory) Appearance node which in turn usually includes a Material node for coloring.

Here is an example fragment that would define a red ball with a radius of 0.9 (metres):

 <Shape>
    <!-- A sphere -->
    <Sphere radius='0.9'/>
    <Appearance>
      <Material diffuseColor='0 1 1'/>
    </Appearance>
 </Shape>

X3D includes several kinds of geometry nodes:

  1. Simple geometric primitives
  2. Points, lines and polygone nodes
  3. Geometric 2D nodes
  4. Triangle nodes

Advance topics: translations, color and reuse

In order to play with simple shapes, one ought to know how to position objects, how to color them and how to reuse them.

Finally, it often is useful to import nodes into a scene, either ones made by yourself in X3D or translated from another 3D format and/or found in a 3D repository.

Inlining

To include another XML scene use the Inline element:

Some example code:

  <!-- include nice coordinates arrows -->
  <Inline url="coordinates.x3d"/>

Translations and color

In order to position geometric shapes we need to use a so-called Transform node and in order to see a node in most clients we need to color it. Below we just introduce a minimal design pattern that you should use and understand before playing with geometry nodes. Otherwise, all your shapes will be in the same location and be rather invisible ...

The translation="2 0 0" attribute of the Transform node allows to position an object in the x,y and z axis. The code below will move the containing object two meters to the right along the x-axis.

The Appearence node allows to add various colors and textures to an objet. In our case we define a simple Material with a diffuseColor of red (RGB value = "1 0 0").

  <Transform translation='2 0 0'>
            <Shape>
		<!-- A single geometry node here -->
                <Box size="2 2 2"/>
		<!-- A simple RGB color for appearence, e.g. a 100% red cube -->
                <Appearance>
                    <Material diffuseColor="1.0 0 0"/>
                </Appearance>
            </Shape>
 </Transform>

For more information about so-called grouping nodes (e.g. Transform) read the X3D grouping and transforms tutorial. You also can have a look at X3D appearence.

DEF and USE

6 spikes made from a DEFed cylinder USEd two times

Often, a defined construct, e.g. a a geometry, a color or a full shape could be reused. In that case we can name it. Some folks argue that any created shape or even any node should have a named since this strategy improves documentation.

All names in X3D must start with letter, followed by letters, numbers and the underscore ("_"). Hyphens ("-") are forbidden like in most programming languages.

DEF names provide a label for any node including child nodes making up that subgraph. It can be seen as the equivalent of ID attributes in XML. In the same way, labels defined with DEF ought be unique.

USE labels reference a DEF node and can only be used after a DEF label was defined.

According to Don Bruzman, There are some conventions that should be used for naming:

  • Use CamelCaseNaming
  • Capitalize each individual word
  • Avoid abbreviations, since none are consistent and they don't help international readers
  • strive for clarity, be brief but complete

In addition, he points out, names are imporant since they do no just define a target for reuse, but also describe purpose and functionlity. They strongly influence how one thinks about a thing and provide explanatory documentation.

The following example builds six spikes of a wheel with three cylinders. We define a first cylinder like this:

<Shape  DEF="Spike" >
  <Cylinder  radius="0.5" height="5.0"/>
  <Appearance>
      <Material diffuseColor="1.0 0.0 0.0"/>
  </Appearance>
</Shape>

It then can be used like in the following way. We firstly define a rotation with the Transform node, then USE the spike node as child node inside.

<Transform  rotation="0.0 0.0 1.0  1.0472">
   <Shape  USE="Spike"/>
</Transform>

Below is the full source of the inter-rotation-2.x3d example that you can view in a X3D client.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.2//EN" "http://www.web3d.org/specifications/x3d-3.2.dtd">
<X3D profile='Immersive' version='3.2' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='http://www.web3d.org/specifications/x3d-3.2.xsd'>
    <head>
        <meta name="filename" content="inter-rotation-2.x3d"/>
        <meta content='primitives-list.x3d' name='title'/>
        <meta content='Simple DEF/USE/Transform Demo' name='description'/>
        <meta content='Daniel K. Schneider, TECFA, University of Geneva' name='creator'/>
        <meta content='october 4 2010' name='created'/>
        <meta content='1.0' name='version'/>
        <meta content='http://edutechwiki.unige.ch/en/X3D_shape_and_geometry' name='reference'/>
        <meta content='Any X3D client' name='requires'/>
        <meta content='http://creativecommons.org/licenses/by-nc-sa/3.0/' name='rights'/>
        <meta content='http://tecfa.unige.ch/guides/x3d/ex/basics/laurence-name.x3d' name='identifier'/>
        <meta content='X3D-Edit, https://savage.nps.edu/X3D-Edit' name='generator'/>
        <meta content='http://creativecommons.org/licenses/by-nc-sa/3.0/' name='license'/>
    </head>
    
    <Scene>
        <Shape  DEF="Spike" >
            <Cylinder  radius="0.5" height="5.0"/>
            <Appearance>
                <Material diffuseColor="1.0 0.0 0.0"/>
            </Appearance>
        </Shape>
        <Transform  rotation="0.0 0.0 1.0  1.0472">
            <Shape  USE="Spike"/>
        </Transform>
        <Transform  rotation="0.0 0.0 1.0  2.0944">
            <Shape  USE="Spike"/>
        </Transform>

        <!-- include nice coordinates arrows -->
        <Inline  bboxCenter="0.0 0.0 0.0" bboxSize="10.0 10.0 10.0" url="../common/coordinates.x3d"/>
    </Scene>
</X3D>

Geometric primitives

The five geometric primitives are most often used for hand coding, and implementation details (i.e. tessellation/polygon count) is left to the client.

Below is some example code that you can play with.

A HTML5/X3Dom version is here

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.2//EN" "http://www.web3d.org/specifications/x3d-3.2.dtd">
<X3D profile='Immersive' version='3.2' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='http://www.web3d.org/specifications/x3d-3.2.xsd'>
  <head>
    <meta content='primitives-list.x3d' name='title'/>
    <meta content='Exhibit of X3D primitive geometry nodes. Each one is positioned and colored differently' name='description'/>
    <meta content='Daniel K. Schneider, TECFA, University of Geneva' name='creator'/>
    <meta content='october 4 2010' name='created'/>
    <meta name='modified'/>
    <meta content='1.0' name='version'/>
    <meta content='http://edutechwiki.unige.ch/en/X3D_shape_and_geometry' name='reference'/>
    <meta content='Any X3D client' name='requires'/>
    <meta content='http://creativecommons.org/licenses/by-nc-sa/3.0/' name='rights'/>
    <meta content='http://tecfa.unige.ch/guides/x3d/ex/basics/primitives-list.x3d' name='identifier'/>
    <meta content='X3D-Edit, https://savage.nps.edu/X3D-Edit' name='generator'/>
    <meta content='http://creativecommons.org/licenses/by-nc-sa/3.0/' name='license'/>
  </head>
  <Scene>
    <!-- Positioning in the x, y, z axis -->
    <Transform translation='-4 0 0'>
      <Shape>
        <!-- A box -->
        <Box size='1.8 1.8 1.8'/>
        <Appearance>
          <Material diffuseColor='1.0 0 0'/>
        </Appearance>
      </Shape>
    </Transform>
    <!-- Positioning in the x, y, z axis -->
    <Transform translation='-2 0 0'>
      <Shape>
        <!-- A cone -->
        <Cone bottomRadius='0.9' height='1.8'/>
        <Appearance>
          <Material diffuseColor='1.0 1.0 0'/>
        </Appearance>
      </Shape>
    </Transform>
    <!-- Positioning in the x, y, z axis -->
    <Transform translation='0 0 0'>
      <Shape>
        <!-- A solid cylinder -->
        <Cylinder height='1.8' radius='0.9'/>
        <Appearance>
          <Material diffuseColor='0 0 1.0'/>
        </Appearance>
      </Shape>
    </Transform>
    <!-- Positioning in the x, y, z axis -->
    <Transform translation='2 0 0'>
      <Shape>
        <!-- A sphere -->
        <Sphere radius='0.9'/>
        <Appearance>
          <Material diffuseColor='0 1 1'/>
        </Appearance>
      </Shape>
    </Transform>
    <!-- Positioning in the x, y, z axis -->
    <Transform translation='3 0 0'>
      <Shape>
        <!-- Text -->
        <Text length='0' maxExtent='5' string='"hello"'/>
        <Appearance>
          <Material diffuseColor='1.0 0 1.0'/>
        </Appearance>
      </Shape>
    </Transform>
  </Scene>
</X3D>

The rendered scene may look like this (depending on your viewing position). Try to understand:

  • how we defined the dimensions of each object
  • (optionally) how we aligned the five objects and how we defined color for each.
An exhibit of primitive geometry nodes

Most of these nodes have additional attributes, e.g. a cylinder can be open. However, all positioning and rotation has to made through a Transform node.

Extrusions

(to be written)

Point, Line and FaceSets

If you use a modeling tool, it rarely will use X3D primitives, but produce descriptions of shape in terms of either points, lines or faces.

As explained in X3D graphics principles and the OpenScad beginners tutorial, and according to Don Brutzman, graphics software and hardware uses triangle geometry constructs. More complex shapes can always be reduced to triangles by the rendering software (known as tesselation)

Triangles used to defined a polygone are usually arranged in a way that only one side is visible, since that way only one side needs to be computed. By default objects created are only rendered on the outside. Geometry nodes can be parametrized to show the inside by setting solid='false,

  • solid='true' means do not render (draw) the inside
  • solid='false' means render both inside and outside

Let's have a look at an example that we made with Google sketchup using 2D letters and the extrusion tool. The scene is very simple, i.e. a list of 3D letters.

Example of IndexedTriangleSet (one for each letter)

Below is the wireframe, showing the triangles that compose the letters. As you can see rounded objects need many more triangles

Example of IndexedTriangleSet (one for each letter). Wireframe view

IndexedTriangleSets are very difficult to read as you can see in the following source code. However it is easy to position and scale such imported objects made with 3D modeling tools.

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.2//EN" "http://www.web3d.org/specifications/x3d-3.2.dtd">
<X3D profile='Interchange' version='3.2'>
<head>
    <meta content='primitives-list.x3d' name='title'/>
    <meta content='3D letters imported from .dae. Made with Google Sketchup. Illustration of IndexedTraingleSet.
                   I changed the color to yellow and had to multiply scales by 100 since I was using small units' name='description'/>
    <meta content='Daniel K. Schneider, TECFA, University of Geneva' name='creator'/>
    <meta content='october 4 2010' name='created'/>
    <meta name='modified'/>
    <meta content='1.0' name='version'/>
    <meta content='http://edutechwiki.unige.ch/en/X3D_shape_and_geometry' name='reference'/>
    <meta content='Any X3D client' name='requires'/>
    <meta content='http://creativecommons.org/licenses/by-nc-sa/3.0/' name='rights'/>
    <meta content='http://tecfa.unige.ch/guides/x3d/ex/basics/laurence-name.x3d' name='identifier'/>
    <meta content='X3D-Edit, https://savage.nps.edu/X3D-Edit' name='generator'/>
    <meta content='http://creativecommons.org/licenses/by-nc-sa/3.0/' name='license'/>
</head>
<Scene>
      <Transform DEF='COLLADA_UNITS' rotation='-1.0 0.0 0.0 1.570796' scale='2 2 2'>
         <Transform>

            <Shape>
               <Appearance>
                  <Material DEF='ID3' diffuseColor='1.0 1.0 0.0'></Material>
               </Appearance>
               <IndexedTriangleSet index='0 1 2 1 0 3 1 3 4 5 2 1 6 7 8 7 6 9 10
                             11 12 11 10 13 14 15 16 15 14 17 18 19 20 19 18 21 22 23 24 23 22 25
                             26 27 28 27 26 29 30 31 32 31 30 33 31 33 34 32 31 35'>
                 <Coordinate DEF='ID5' point='-2.0556674 0.32395512
                 0.04520603, -1.916368 0.3130246 0.16083883,
                 -1.7492087 0.32395512 0.04520603, -2.0556674
                 0.27354917 0.57844514, -1.916368 0.27354917
                 0.57844514, -1.7492087 0.3130246 0.16083883,
                 -1.7492087 0.32395512 0.04520603, -2.0556674
                 -0.6990436 -0.05149582, -2.0556674 0.32395512
                 0.04520603, -1.7492087 -0.6990436 -0.05149582,
                 -2.0556674 0.27354917 0.57844514, -2.0556674
                 -0.6990436 -0.05149582, -2.0556674 -0.74944955
                 0.48174328, -2.0556674 0.32395512 0.04520603,
                 -1.916368 -0.74944955 0.48174328, -2.0556674
                 0.27354917 0.57844514, -2.0556674 -0.74944955
                 0.48174328, -1.916368 0.27354917 0.57844514,
                 -1.916368 -0.7099741 0.06413698, -1.916368 0.27354917
                 0.57844514, -1.916368 -0.74944955 0.48174328,
                 -1.916368 0.3130246 0.16083883, -1.7492087 -0.7099741
                 0.06413698, -1.916368 0.3130246 0.16083883, -1.916368
                 -0.7099741 0.06413698, -1.7492087 0.3130246
                 0.16083883, -1.7492087 -0.6990436 -0.05149582,
                 -1.7492087 0.3130246 0.16083883, -1.7492087
                 -0.7099741 0.06413698, -1.7492087 0.32395512
                 0.04520603, -2.0556674 -0.6990436 -0.05149582,
                 -1.916368 -0.7099741 0.06413698, -2.0556674
                 -0.74944955 0.48174328, -1.7492087 -0.6990436
                 -0.05149582, -1.7492087 -0.7099741 0.06413698,
                 -1.916368 -0.74944955 0.48174328'>
                 </Coordinate>

                 <Normal DEF='ID6' vector='2.7755576E-17 0.99556196
                  0.09410831, 2.7755576E-17 0.99556196 0.09410831,
                  2.7755576E-17 0.99556196 0.09410831, 2.7755576E-17
                  0.99556196 0.09410831, 2.7755576E-17 0.99556196
                  0.09410831, 2.7755576E-17 0.99556196 0.09410831,
                  1.7270247E-17 0.09410831 -0.99556196, 1.7270247E-17
                  0.09410831 -0.99556196, 1.7270247E-17 0.09410831
                  -0.99556196, 1.7270247E-17 0.09410831 -0.99556196,
                  -1.0 2.925767E-17 -1.4581571E-17, -1.0 2.925767E-17
                  -1.4581571E-17, -1.0 2.925767E-17 -1.4581571E-17,
                  -1.0 2.925767E-17 -1.4581571E-17, -1.7270247E-17
                  -0.09410831 0.99556196, -1.7270247E-17 -0.09410831
                  0.99556196, -1.7270247E-17 -0.09410831 0.99556196,
                  -1.7270247E-17 -0.09410831 0.99556196, 1.0
                  -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17
                  1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0
                  -2.925767E-17 1.4581571E-17, -1.7270247E-17
                  -0.09410831 0.99556196, -1.7270247E-17 -0.09410831
                  0.99556196, -1.7270247E-17 -0.09410831 0.99556196,
                  -1.7270247E-17 -0.09410831 0.99556196, 1.0
                  -2.925767E-17 1.4581571E-17, 1.0 -2.925767E-17
                  1.4581571E-17, 1.0 -2.925767E-17 1.4581571E-17, 1.0
                  -2.925767E-17 1.4581571E-17, -2.7755576E-17
                  -0.99556196 -0.09410831, -2.7755576E-17 -0.99556196
                  -0.09410831, -2.7755576E-17 -0.99556196 -0.09410831,
                  -2.7755576E-17 -0.99556196 -0.09410831,
                  -2.7755576E-17 -0.99556196 -0.09410831,
                  -2.7755576E-17 -0.99556196 -0.09410831'>
                 </Normal>
               </IndexedTriangleSet>
            </Shape>

            <Shape>
               <Appearance>
                  <Material USE='ID3'></Material>
               </Appearance>
               <IndexedTriangleSet index='... deleted ....'>
                  <Coordinate DEF='ID11' point='.... deleted .....'></Coordinate>
                  <Normal DEF='ID12' vector=' .... deleted'></Normal>
               </IndexedTriangleSet>
            </Shape>

            <Shape>
              <!-- deleted -->
            </Shape>
         <!-- other shapes deleted -->
         </Transform>
      </Transform>
</Scene>
</X3D>


Links

Reference manuals

Credits and Copyright modificiation