X3D Model Documentation: DirtBike.x3d

  1  <?xml version="1.0" encoding="UTF-8"?>
  2 
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "https://www.web3d.org/specifications/x3d-3.0.dtd">
  3  <X3D profile='Immersive' version='3.0 xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.0.xsd'>
  4       <head>
  5            <meta name='titlecontent='DirtBike.x3d'/>
  6            <meta name='descriptioncontent='Simple dirt bike model.'/>
  7            <meta name=' TODO content=' Future work: why not make wheels rotate, as well as spokes? also need to make handle bars steerable. '/>
  8            <meta name='creatorcontent='Matthew Molmer'/>
  9            <meta name='createdcontent='25 February 2004'/>
 10            <meta name='modifiedcontent='7 April 2024'/>
 11            <meta name='identifiercontent='https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/DirtBike.x3d'/>
 12            <meta name='generatorcontent='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/>
 13            <meta name='licensecontent='../license.html'/>
 14       </head>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->

<!-- to top Index for DEF nodes: backWheelPost, center, chainAssembly, chainElement, Clock, Column, Column1, ColumnPath, frameGroup, frontForks, frontWheelPost, gooseNeck, handleBarPost, handleBars, handleBarsAssembly, handleGrips, inner, outer, pedalArm, pedalAssembly, pedals, piece_1, piece_10, piece_12, piece_2, piece_5, piece_6, piece_7, piece_8, piece_9, rotatingSpokes, rotatingSpokets, seat, seatAssembly, seatMount, seatPost, SPOKE, spoke, SPOKE_GROUP, spokeGroup, spoketAssembly, SURFACE, teeth, tireGroup, WHEEL

Index for Viewpoint nodes: Viewpoint_1, Viewpoint_2, Viewpoint_3
-->
 15       <Scene>
 16            <WorldInfo title='DirtBike.x3d'/>
 17            <Viewpoint description='Closeup Side Viewposition='.5 .2 1.5'/>
 18            <Viewpoint description='sprocket viewposition='.30 .08 .38'/>
 19            <Viewpoint description='far away side viewposition='0 0 5'/>
 20            <Group DEF='frameGroup'>
 21                 <Transform rotation='0 0 1 .1translation='.64 .34 0'>
 22                      <Transform rotation='0 0 1 1.57'>
 23                           <Shape DEF='piece_1'>
 24                                <Cylinder height='.64radius='.02'/>
 25                                <Appearance>
 26                                     <Material diffuseColor='1 0 0'/>
 27                                </Appearance>
 28                           </Shape>
 29                      </Transform>
 30                 </Transform>
 31                 <Transform rotation='0 0 1 .50translation='.68 .20 0'>
 32                      <Transform rotation='0 0 1 1.57'>
 33                           <Shape DEF='piece_2'>
 34                                <Cylinder height='.64radius='.02'/>
 35                                <Appearance>
 36                                     <Material diffuseColor='1 0 0'/>
 37                                </Appearance>
 38                           </Shape>
 39                      </Transform>
 40                 </Transform>
 41                 <Transform translation='.378 .030 0'>
 42                      <Transform rotation='1 0 0 1.57'>
 43                           <Shape DEF='piece_10'>
 44                                <Cylinder height='.10radius='.03'/>
 45                                <Appearance>
 46                                     <Material diffuseColor='1 0 0'/>
 47                                </Appearance>
 48                           </Shape>
 49                      </Transform>
 50                 </Transform>
 51                 <Transform rotation='0 1 0 .087translation='.19 .015 .045'>
 52                      <Transform rotation='0 0 1 1.65'>
 53                           <Shape DEF='piece_5'>
 54                                <Cylinder height='.38radius='.012'/>
 55                                <Appearance>
 56                                     <Material diffuseColor='1 0 0'/>
 57                                </Appearance>
 58                           </Shape>
 59                      </Transform>
 60                 </Transform>
 61                 <Transform rotation='0 1 0 -.087translation='.19 .015 -.045'>
 62                      <Transform rotation='0 0 1 1.65'>
 63                           <Shape DEF='piece_6'>
 64                                <Cylinder height='.38radius='.012'/>
 65                                <Appearance>
 66                                     <Material diffuseColor='1 0 0'/>
 67                                </Appearance>
 68                           </Shape>
 69                      </Transform>
 70                 </Transform>
 71                 <Transform translation='.35 .17 0'>
 72                      <Transform rotation='0 0 1 .175'>
 73                           <Shape DEF='piece_9'>
 74                                <Cylinder height='.32radius='.02'/>
 75                                <Appearance>
 76                                     <Material diffuseColor='1 0 0'/>
 77                                </Appearance>
 78                           </Shape>
 79                      </Transform>
 80                 </Transform>
 81                 <Transform>
 82                      <Transform rotation='1 0 0 1.57'>
 83                           <Shape DEF='backWheelPost'>
 84                                <Cylinder height='.14radius='.010'/>
 85                                <Appearance>
 86                                     <Material/>
 87                                </Appearance>
 88                           </Shape>
 89                      </Transform>
 90                 </Transform>
 91                 <Transform translation='1.046 .005 0'>
 92                      <Transform rotation='1 0 0 1.57'>
 93                           <Shape DEF='frontWheelPost'>
 94                                <Cylinder height='.14radius='.010'/>
 95                                <Appearance>
 96                                     <Material/>
 97                                </Appearance>
 98                           </Shape>
 99                      </Transform>
100                 </Transform>
101                 <Transform rotation='0 1 0 .16translation='.16 .16 .035'>
102                      <Transform rotation='0 0 1 -.82'>
103                           <Shape DEF='piece_7'>
104                                <Cylinder height='.45radius='.010'/>
105                                <Appearance>
106                                     <Material diffuseColor='1 0 0'/>
107                                </Appearance>
108                           </Shape>
109                      </Transform>
110                 </Transform>
111                 <Transform rotation='0 1 0 -.16translation='.16 .16 -.035'>
112                      <Transform rotation='0 0 1 -.82'>
113                           <Shape DEF='piece_8'>
114                                <Cylinder height='.45radius='.010'/>
115                                <Appearance>
116                                     <Material diffuseColor='1 0 0'/>
117                                </Appearance>
118                           </Shape>
119                      </Transform>
120                 </Transform>
121                 <Transform rotation='0 0 1 .175translation='.98 .372 0'>
122                      <Transform>
123                           <Shape DEF='piece_12'>
124                                <Cylinder height='.058radius='.025'/>
125                                <Appearance>
126                                     <Material diffuseColor='1 0 0'/>
127                                </Appearance>
128                           </Shape>
129                      </Transform>
130                 </Transform>
131            </Group>
132 
          <!-- Group rotatingSpokes is a DEF node that has 1 USE node: USE_1 -->
          <Group DEF='rotatingSpokes'>
133 
               <!-- ROUTE information for Column node:  [from ColumnPath.value_changed to set_rotation ] -->
               <Transform DEF='Column'>
134                      <Group DEF='spokeGroup'>
135                           <Transform>
136 
                              <!-- Shape spoke is a DEF node that has 18 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5, USE_6, USE_7, USE_8, USE_9, USE_10, USE_11, USE_12, USE_13, USE_14, USE_15, USE_16, USE_17, USE_18 -->
                              <Shape DEF='spoke'>
137                                     <Cylinder height='.48radius='0.003'/>
138                                     <Appearance>
139                                          <Material diffuseColor='.9 .8 .7'/>
140                                     </Appearance>
141                                </Shape>
142                           </Transform>
143                           <Transform rotation='1 1 0 3.14'>
144                                <Shape USE='spoke'/>
145                           </Transform>
146                           <Transform rotation='0 0 1 .78'>
147                                <Shape USE='spoke'/>
148                           </Transform>
149                           <Transform rotation='0 0 1 2.35'>
150                                <Shape USE='spoke'/>
151                           </Transform>
152                           <Transform rotation='0 0 1 .26'>
153                                <Shape USE='spoke'/>
154                           </Transform>
155                           <Transform rotation='0 0 1 .52'>
156                                <Shape USE='spoke'/>
157                           </Transform>
158                           <Transform rotation='0 0 1 1.30'>
159                                <Shape USE='spoke'/>
160                           </Transform>
161                           <Transform rotation='0 0 1 1.04'>
162                                <Shape USE='spoke'/>
163                           </Transform>
164                           <Transform rotation='0 0 1 1.57'>
165                                <Shape USE='spoke'/>
166                           </Transform>
167                           <Transform rotation='0 0 1 1.83'>
168                                <Shape USE='spoke'/>
169                           </Transform>
170                           <Transform rotation='0 0 1 2.61'>
171                                <Shape USE='spoke'/>
172                           </Transform>
173                           <Transform rotation='0 0 1 4.71'>
174                                <Shape USE='spoke'/>
175                           </Transform>
176                           <Transform rotation='0 0 1 4.45'>
177                                <Shape USE='spoke'/>
178                           </Transform>
179                           <Transform rotation='0 0 1 4.18'>
180                                <Shape USE='spoke'/>
181                           </Transform>
182                           <Transform rotation='0 0 1 3.92'>
183                                <Shape USE='spoke'/>
184                           </Transform>
185                           <Transform rotation='0 0 1 3.66'>
186                                <Shape USE='spoke'/>
187                           </Transform>
188                           <Transform rotation='0 0 1 3.40'>
189                                <Shape USE='spoke'/>
190                           </Transform>
191                           <Transform rotation='0 0 1 2.87'>
192                                <Shape USE='spoke'/>
193                           </Transform>
194                           <Transform rotation='0 0 1 2.09'>
195                                <Shape USE='spoke'/>
196                           </Transform>
197                      </Group>
198                 </Transform>
199 
               <!-- ROUTE information for Clock node:  [from fraction_changed to ColumnPath.set_fraction ] -->
               <TimeSensor DEF='ClockcycleInterval='4.0loop='true'/>
200 
               <!-- ROUTE information for ColumnPath node:  [from Clock.fraction_changed to set_fraction ] [from value_changed to Column.set_rotation ] -->
               <OrientationInterpolator DEF='ColumnPathkey='0.0 0.50 1.0keyValue='0.0 0.0 -1.0 0.0 0.0 0.0 -1.0 3.14 0.0 0.0 -1.0 6.28'/>
201                 < ROUTE  fromNode='Clock' fromField='fraction_changed' toNode='ColumnPath' toField='set_fraction'/>
202                 < ROUTE  fromNode='ColumnPath' fromField='value_changed' toNode='Column' toField='set_rotation'/>
203            </Group>
204            <Transform translation='1.044 0 0'>
205                 <Group USE='rotatingSpokes'/>
206            </Transform>
207            <Group DEF='handleBarsAssembly'>
208                 <Transform rotation='0 0 1 .175scale='.15 .15 .15translation='.86 .395 0'>
209                      <Shape DEF='handleBars'>
210                           <Extrusion creaseAngle='3.14crossSection='1.00 0.00 0.92 -0.38 0.71 -0.71 0.38 -0.92 0.00 -1.00 -0.38 -0.92 -0.71 -0.71 -0.92 -0.38 -1.00 -0.00 -0.92 0.38 -0.71 0.71 -0.38 0.92 0.00 1.00 0.38 0.92 0.71 0.71 0.92 0.38 1.00 0.00scale='.08 .08 .08 .08 .10 .10 .10 .10 .10 .10 .10 .10 .12 .12 .12 .12 .12 .12 .12 .12 .10 .10 .10 .10 .10 .10 .08 .08 .08 .08spine='.88 1.26 .96 .88 1.24 .52 .88 1.22 .50 .88 1.20 .48 1 .04 .42 1 .02 .40 1 0 .38 1 0 0 1 0 -.38 1 .02 -.40 1 .04 -.42 .88 1.20 -.48 .88 1.22 -.50 .88 1.24 -.52 .88 1.26 -.96'/>
211                           <Appearance>
212                                <Material/>
213                           </Appearance>
214                      </Shape>
215                 </Transform>
216                 <Transform rotation='0 0 1 .175translation='.98 .38 0'>
217                      <Transform>
218                           <Shape DEF='handleBarPost'>
219                                <Cylinder height='.12radius='.02'/>
220                                <Appearance>
221                                     <Material diffuseColor='0 0 0'/>
222                                </Appearance>
223                           </Shape>
224                      </Transform>
225                 </Transform>
226                 <Transform rotation='0 0 1 .175translation='.98 .418 0'>
227                      <Transform>
228                           <Shape DEF='gooseNeck'>
229                                <Box size='.10 .040 .07'/>
230                                <Appearance>
231                                     <Material diffuseColor='0 0 0'/>
232                                </Appearance>
233                           </Shape>
234                      </Transform>
235                 </Transform>
236                 <Transform rotation='0 0 1 .175scale='.175 .175 .175translation='.818 .30 0'>
237                      <Shape DEF='frontForks'>
238                           <Extrusion creaseAngle='3.14crossSection='1.00 0.00 0.92 -0.38 0.71 -0.71 0.38 -0.92 0.00 -1.00 -0.38 -0.92 -0.71 -0.71 -0.92 -0.38 -1.00 -0.00 -0.92 0.38 -0.71 0.71 -0.38 0.92 0.00 1.00 0.38 0.92 0.71 0.71 0.92 0.38 1.00 0.00scale='.10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .04 .10 .04 .10 .04spine='1 -1.96 .30 1 -1.86 .30 1 -1.66 .30 1 -1.76 .30 1 -1.56 .30 1 -1.46 .30 1 -1.36 .30 1 -1.22 .30 1 -1.20 .30 1 -.12 .30 1 -.10 .28 1 -.08 .26 1 -.08 0 1 -.08 -.26 1 -.10 -.28 1 -.12 -.30 1 -1.20 -.30 1 -1.22 -.30 1 -1.36 -.30 1 -1.46 -.30 1 -1.56 -.30 1 -1.66 -.30 1 -1.76 -.30 1 -1.86 -.30 1 -1.96 -.30'/>
239                           <Appearance>
240                                <Material diffuseColor='0 0 0'/>
241                           </Appearance>
242                      </Shape>
243                 </Transform>
244                 <Transform rotation='1 0 0 1.58translation='.955 .602 .12'>
245 
                    <!-- Shape handleGrips is a DEF node that has 1 USE node: USE_1 -->
                    <Shape DEF='handleGrips'>
246                           <Cylinder height='.08radius='.018'/>
247                           <Appearance>
248                                <Material diffuseColor='0 0 0'/>
249                           </Appearance>
250                      </Shape>
251                 </Transform>
252                 <Transform rotation='1 0 0 1.58translation='.955 .602 -.12'>
253                      <Shape USE='handleGrips'/>
254                 </Transform>
255            </Group>
256            <Group DEF='seatAssembly'>
257                 <Transform rotation='0 0 1 .25scale='.15 .15 .15translation='.16 .40 0'>
258                      <Shape DEF='seat'>
259                           <Extrusion creaseAngle='3.14crossSection='1.00 0.00 0.92 -0.38 0.71 -0.71 0.38 -0.92 0.00 -1.00 -0.38 -0.92 -0.71 -0.71 -0.92 -0.38 -1.00 -0.00 -0.92 0.38 -0.71 0.71 -0.38 0.92 0.00 1.00 0.38 0.92 0.71 0.71 0.92 0.38 1.00 0.00scale='.10 .38 .10 .40 .11 .42 .11 .44 .10 .42 .10 .36 .10 .32 .10 .26 .08 .22 .06 .20 .04 .18 .02 .16 .02 .12spine='.40 0 0 .42 0 0 .44 0 0 .54 0 0 .64 0 0 1 0 0 1.24 0 0 1.34 0 0 1.44 0 0 1.54 0 0 1.56 0 0 1.58 0 0 1.60 0 0'/>
260                           <Appearance>
261                                <Material diffuseColor='0 0 1'/>
262                           </Appearance>
263                      </Shape>
264                 </Transform>
265                 <Transform translation='.335 .25 0'>
266                      <Transform rotation='0 0 1 .175'>
267                           <Shape DEF='seatPost'>
268                                <Cylinder height='.34radius='.015'/>
269                                <Appearance>
270                                     <Material diffuseColor='0 0 0'/>
271                                </Appearance>
272                           </Shape>
273                      </Transform>
274                 </Transform>
275                 <Transform translation='.305 .42 0'>
276                      <Shape DEF='seatMount'>
277                           <Box size='.035 .02 .035'/>
278                           <Appearance>
279                                <Material/>
280                           </Appearance>
281                      </Shape>
282                 </Transform>
283            </Group>
284            <Group DEF='pedalAssembly'>
285                 <Transform DEF='pedalArmscale='.15 .15 .15translation='.228 .030 0'>
286                      <Shape>
287                           <Extrusion creaseAngle='3.14crossSection='1.00 0.00 0.92 -0.38 0.71 -0.71 0.38 -0.92 0.00 -1.00 -0.38 -0.92 -0.71 -0.71 -0.92 -0.38 -1.00 -0.00 -0.92 0.38 -0.71 0.71 -0.38 0.92 0.00 1.00 0.38 0.92 0.71 0.71 0.92 0.38 1.00 0.00scale='.08 .08 .08 .08 .08 .08 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .08 .08 .08 .08 .08 .08spine='1.10 -1.12 .52 1.10 -1.10 .50 1 -.04 .48 1 -.02 .46 1 0 .44 1 0 0 1 0 -.44 1 .02 -.46 1 .04 -.48 .88 1.10 -.50 .88 1.12 -.52'/>
288                           <Appearance>
289                                <Material/>
290                           </Appearance>
291                      </Shape>
292                 </Transform>
293                 <Transform translation='.39 -.136 .1'>
294 
                    <!-- Shape pedals is a DEF node that has 1 USE node: USE_1 -->
                    <Shape DEF='pedals'>
295                           <Box size='.05 .015 .06'/>
296                           <Appearance>
297                                <Material diffuseColor='0 0 0'/>
298                           </Appearance>
299                      </Shape>
300                 </Transform>
301                 <Transform translation='.36 .20 -.1'>
302                      <Shape USE='pedals'/>
303                 </Transform>
304            </Group>
305            <Group DEF='rotatingSpokets'>
306                 <Transform DEF='Column1scale='.06 .06 .06translation='.38 .030 .04'>
307 
                    <!-- Group spoketAssembly is a DEF node that has 1 USE node: USE_1 -->
                    <Group DEF='spoketAssembly'>
308                           <Transform DEF='WHEELrotation='1 0 0 1.57'>
309                                <Transform scale='1 .09 1translation='0 .20 0'>
310                                     <Shape DEF='center'>
311                                          <Sphere radius='.28'/>
312                                          <Appearance>
313                                               <Material diffuseColor='0 0 0'/>
314                                          </Appearance>
315                                     </Shape>
316                                </Transform>
317                                <Transform translation='0 .1 .3'/>
318                                <Transform>
319 
                                   <!-- Group SPOKE_GROUP is a DEF node that has 5 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5 -->
                                   <Group DEF='SPOKE_GROUP'>
320                                          <Transform DEF='SPOKEscale='.9 .09 .5translation='.6 .20 0'>
321                                               <Shape DEF='inner'>
322                                                    <Sphere radius='.5'/>
323                                                    <Appearance>
324                                                         <Material diffuseColor='0 0 0'/>
325                                                    </Appearance>
326                                               </Shape>
327                                          </Transform>
328 
                                        <!-- Group SURFACE is a DEF node that has 1 USE node: USE_1 -->
                                        <Group DEF='SURFACE'>
329                                               <Transform scale='.35 .09 .8translation='.95 .2 0'>
330                                                    <Shape DEF='outer'>
331                                                         <Sphere radius='.5'/>
332                                                         <Appearance>
333                                                              <Material diffuseColor='0 0 0'/>
334                                                         </Appearance>
335                                                    </Shape>
336                                               </Transform>
337                                               <Transform rotation='0 1 0 .785translation='1.025 .2 0'>
338                                                    <Shape DEF='teeth'>
339                                                         <Box size='.3 .08 .3'/>
340                                                         <Appearance>
341                                                              <Material diffuseColor='0 0 0'/>
342                                                         </Appearance>
343                                                    </Shape>
344                                               </Transform>
345                                          </Group>
346                                          <Transform rotation='0 1 0 .53'>
347                                               <Group USE='SURFACE'/>
348                                          </Transform>
349                                     </Group>
350                                     <Transform rotation='0 1 0 1.05'>
351                                          <Group USE='SPOKE_GROUP'/>
352                                          <Transform rotation='0 1 0 1.05'>
353                                               <Group USE='SPOKE_GROUP'/>
354                                               <Transform rotation='0 1 0 1.05'>
355                                                    <Group USE='SPOKE_GROUP'/>
356                                                    <Transform rotation='0 1 0 1.05'>
357                                                         <Group USE='SPOKE_GROUP'/>
358                                                         <Transform rotation='0 1 0 1.05'>
359                                                              <Group USE='SPOKE_GROUP'/>
360                                                         </Transform>
361                                                    </Transform>
362                                               </Transform>
363                                          </Transform>
364                                     </Transform>
365                                </Transform>
366                           </Transform>
367                      </Group>
368                 </Transform>
369                 <Transform scale='.03 .03 .03translation='0 0 .05'>
370                      <Group USE='spoketAssembly'/>
371                 </Transform>
372            </Group>
373 
          <!-- Group tireGroup is a DEF node that has 1 USE node: USE_1 -->
          <Group DEF='tireGroup'>
374                 <Transform rotation='1 0 0 1.57scale='.26 .26 .26'>
375                      <Shape>
376                           <Extrusion beginCap='falsecreaseAngle='3.14crossSection='1.00 0.00 0.92 -0.38 0.71 -0.71 0.38 -0.92 0.00 -1.00 -0.38 -0.92 -0.71 -0.71 -0.92 -0.38 -1.00 -0.00 -0.92 0.38 -0.71 0.71 -0.38 0.92 0.00 1.00 0.38 0.92 0.71 0.71 0.92 0.38 1.00 0.00endCap='falsescale='.96 .96 1.1 1.1solid='falsespine='0 .07 0 0 .07 0'/>
377                           <Appearance>
378                                <Material diffuseColor='0 0 0'/>
379                           </Appearance>
380                      </Shape>
381                      <Shape>
382                           <Extrusion beginCap='falsecreaseAngle='3.14crossSection='1.00 0.00 0.92 -0.38 0.71 -0.71 0.38 -0.92 0.00 -1.00 -0.38 -0.92 -0.71 -0.71 -0.92 -0.38 -1.00 -0.00 -0.92 0.38 -0.71 0.71 -0.38 0.92 0.00 1.00 0.38 0.92 0.71 0.71 0.92 0.38 1.00 0.00endCap='falsescale='.9 .9 .9 .9solid='falsespine='0 .07 0 0 -.07 0'/>
383                           <Appearance>
384                                <Material/>
385                           </Appearance>
386                      </Shape>
387                      <Shape>
388                           <Extrusion beginCap='falsecreaseAngle='3.14crossSection='1.00 0.00 0.92 -0.38 0.71 -0.71 0.38 -0.92 0.00 -1.00 -0.38 -0.92 -0.71 -0.71 -0.92 -0.38 -1.00 -0.00 -0.92 0.38 -0.71 0.71 -0.38 0.92 0.00 1.00 0.38 0.92 0.71 0.71 0.92 0.38 1.00 0.00endCap='falsescale='1.1 1.1 1.1 1.1solid='falsespine='0 .07 0 0 -.07 0'/>
389                           <Appearance>
390                                <Material diffuseColor='0 0 0'/>
391                           </Appearance>
392                      </Shape>
393                      <Shape>
394                           <Extrusion beginCap='falsecreaseAngle='3.14crossSection='1.00 0.00 0.92 -0.38 0.71 -0.71 0.38 -0.92 0.00 -1.00 -0.38 -0.92 -0.71 -0.71 -0.92 -0.38 -1.00 -0.00 -0.92 0.38 -0.71 0.71 -0.38 0.92 0.00 1.00 0.38 0.92 0.71 0.71 0.92 0.38 1.00 0.00endCap='falsescale='.96 .96 1.1 1.1solid='falsespine='0 -.07 0 0 -.07 0'/>
395                           <Appearance>
396                                <Material diffuseColor='0 0 0'/>
397                           </Appearance>
398                      </Shape>
399                      <Shape>
400                           <Extrusion beginCap='falsecreaseAngle='3.14crossSection='1.00 0.00 0.92 -0.38 0.71 -0.71 0.38 -0.92 0.00 -1.00 -0.38 -0.92 -0.71 -0.71 -0.92 -0.38 -1.00 -0.00 -0.92 0.38 -0.71 0.71 -0.38 0.92 0.00 1.00 0.38 0.92 0.71 0.71 0.92 0.38 1.00 0.00endCap='falsescale='.96 .96 .9 .9solid='falsespine='0 .07 0 0 .07 0'/>
401                           <Appearance>
402                                <Material/>
403                           </Appearance>
404                      </Shape>
405                      <Shape>
406                           <Extrusion beginCap='falsecreaseAngle='3.14crossSection='1.00 0.00 0.92 -0.38 0.71 -0.71 0.38 -0.92 0.00 -1.00 -0.38 -0.92 -0.71 -0.71 -0.92 -0.38 -1.00 -0.00 -0.92 0.38 -0.71 0.71 -0.38 0.92 0.00 1.00 0.38 0.92 0.71 0.71 0.92 0.38 1.00 0.00endCap='falsescale='.96 .96 .9 .9solid='falsespine='0 -.07 0 0 -.07 0'/>
407                           <Appearance>
408                                <Material/>
409                           </Appearance>
410                      </Shape>
411                 </Transform>
412            </Group>
413            <Transform translation='1.044 0 0'>
414                 <Group USE='tireGroup'/>
415            </Transform>
416            <Transform>
417                 <Transform rotation='0 0 1 .165translation='0 -.004 .046'>
418 
                    <!-- Group chainAssembly is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
                    <Group DEF='chainAssembly'>
419 
                         <!-- Transform chainElement is a DEF node that has 29 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5, USE_6, USE_7, USE_8, USE_9, USE_10, USE_11, USE_12, USE_13, USE_14, USE_15, USE_16, USE_17, USE_18, USE_19, USE_20, USE_21, USE_22, USE_23, USE_24, USE_25, USE_26, USE_27, USE_28, USE_29 -->
                         <Transform DEF='chainElementrotation='1 0 0 1.57scale='.04 .025 .04translation='.38 .042 .005'>
420                                <Transform translation='0 -.12 0'>
421                                     <Shape>
422                                          <Cylinder height='.05radius='.15'/>
423                                          <Appearance>
424                                               <Material diffuseColor='0 0 0'/>
425                                          </Appearance>
426                                     </Shape>
427                                </Transform>
428                                <Transform translation='0 .12 0'>
429                                     <Shape>
430                                          <Cylinder height='.05radius='.15'/>
431                                          <Appearance>
432                                               <Material diffuseColor='0 0 0'/>
433                                          </Appearance>
434                                     </Shape>
435                                </Transform>
436                                <Transform translation='.4 -.12 0'>
437                                     <Shape>
438                                          <Cylinder height='.05radius='.15'/>
439                                          <Appearance>
440                                               <Material diffuseColor='0 0 0'/>
441                                          </Appearance>
442                                     </Shape>
443                                </Transform>
444                                <Transform translation='.4 .12 0'>
445                                     <Shape>
446                                          <Cylinder height='.05radius='.15'/>
447                                          <Appearance>
448                                               <Material diffuseColor='0 0 0'/>
449                                          </Appearance>
450                                     </Shape>
451                                </Transform>
452                                <Shape>
453                                     <Cylinder height='.3radius='.1'/>
454                                     <Appearance>
455                                          <Material/>
456                                     </Appearance>
457                                </Shape>
458                                <Transform translation='.4 0 0'>
459                                     <Shape>
460                                          <Cylinder height='.3radius='.1'/>
461                                          <Appearance>
462                                               <Material/>
463                                          </Appearance>
464                                     </Shape>
465                                </Transform>
466                                <Transform translation='.25 .12 0'>
467                                     <Shape>
468                                          <Box size='.3 .05 .18'/>
469                                          <Appearance>
470                                               <Material diffuseColor='0 0 0'/>
471                                          </Appearance>
472                                     </Shape>
473                                </Transform>
474                                <Transform translation='.25 -.12 0'>
475                                     <Shape>
476                                          <Box size='.3 .05 .18'/>
477                                          <Appearance>
478                                               <Material diffuseColor='0 0 0'/>
479                                          </Appearance>
480                                     </Shape>
481                                </Transform>
482                           </Transform>
483                           <Transform>
484                                <Transform USE='chainElement'/>
485                           </Transform>
486                           <Transform translation='-.016 0 0'>
487                                <Transform USE='chainElement'/>
488                           </Transform>
489                           <Transform translation='-.032 0 0'>
490                                <Transform USE='chainElement'/>
491                           </Transform>
492                           <Transform translation='-.048 0 0'>
493                                <Transform USE='chainElement'/>
494                           </Transform>
495                           <Transform translation='-.064 0 0'>
496                                <Transform USE='chainElement'/>
497                           </Transform>
498                           <Transform translation='-.080 0 0'>
499                                <Transform USE='chainElement'/>
500                           </Transform>
501                           <Transform translation='-.096 0 0'>
502                                <Transform USE='chainElement'/>
503                           </Transform>
504                           <Transform translation='-.112 0 0'>
505                                <Transform USE='chainElement'/>
506                           </Transform>
507                           <Transform translation='-.128 0 0'>
508                                <Transform USE='chainElement'/>
509                           </Transform>
510                           <Transform translation='-.144 0 0'>
511                                <Transform USE='chainElement'/>
512                           </Transform>
513                           <Transform translation='-.160 0 0'>
514                                <Transform USE='chainElement'/>
515                           </Transform>
516                           <Transform translation='-.176 0 0'>
517                                <Transform USE='chainElement'/>
518                           </Transform>
519                           <Transform translation='-.192 0 0'>
520                                <Transform USE='chainElement'/>
521                           </Transform>
522                           <Transform translation='-.208 0 0'>
523                                <Transform USE='chainElement'/>
524                           </Transform>
525                      </Group>
526                      <Transform translation='-.192 0 0'>
527                           <Group USE='chainAssembly'/>
528                      </Transform>
529                 </Transform>
530                 <Transform translation='0 -.080 -.058'>
531                      <Transform translation='.006 0 -.0310'>
532                           <Transform translation='0 0 .135'>
533                                <Group USE='chainAssembly'/>
534                           </Transform>
535                           <Transform translation='-.192 0 .135'>
536                                <Group USE='chainAssembly'/>
537                           </Transform>
538                      </Transform>
539                 </Transform>
540                 <Transform>
541                      <Transform translation='.032 0 0'>
542                           <Transform rotation='0 0 1 -.175translation='-.029 .127 .046'>
543                                <Transform USE='chainElement'/>
544                           </Transform>
545                           <Transform rotation='0 0 1 -.250translation='-.010 .152 .046'>
546                                <Transform USE='chainElement'/>
547                           </Transform>
548                           <Transform rotation='0 0 1 -.600translation='.045 .275 .046'>
549                                <Transform USE='chainElement'/>
550                           </Transform>
551                           <Transform rotation='0 0 1 .600translation='.0815 -.286 .046'>
552                                <Transform USE='chainElement'/>
553                           </Transform>
554                           <Transform rotation='0 0 1 -.600translation='.053 .266 .046'>
555                                <Transform USE='chainElement'/>
556                           </Transform>
557                      </Transform>
558                      <Transform rotation='0 0 1 -1translation='.145 .34 0'>
559                           <Transform translation='.032 0 0'>
560                                <Transform rotation='0 0 1 -.175translation='-.029 .127 .046'>
561                                     <Transform USE='chainElement'/>
562                                </Transform>
563                                <Transform rotation='0 0 1 -.250translation='-.010 .152 .046'>
564                                     <Transform USE='chainElement'/>
565                                </Transform>
566                                <Transform rotation='0 0 1 -.600translation='.045 .275 .046'>
567                                     <Transform USE='chainElement'/>
568                                </Transform>
569                           </Transform>
570                      </Transform>
571                      <Transform rotation='0 0 1 -1.5translation='.319 .392 0'>
572                           <Transform translation='.032 0 0'>
573                                <Transform rotation='0 0 1 -.175translation='-.029 .127 .046'>
574                                     <Transform USE='chainElement'/>
575                                </Transform>
576                                <Transform rotation='0 0 1 -.600translation='.031 .279 .046'>
577                                     <Transform USE='chainElement'/>
578                                </Transform>
579                                <Transform rotation='0 0 1 2.2translation='.65 -.21 .046'>
580                                     <Transform USE='chainElement'/>
581                                </Transform>
582                           </Transform>
583                      </Transform>
584                 </Transform>
585                 <Transform rotation='0 0 1 .790translation='-.275 -.278 .046'>
586                      <Transform USE='chainElement'/>
587                 </Transform>
588                 <Transform rotation='0 0 1 1.57translation='.004 -.376 .046'>
589                      <Transform USE='chainElement'/>
590                 </Transform>
591                 <Transform rotation='0 0 1 -.790translation='-.324 .215 .046'>
592                      <Transform USE='chainElement'/>
593                 </Transform>
594                 <Transform rotation='0 0 1 -1.04translation='-.267 .300 .046'>
595                      <Transform USE='chainElement'/>
596                 </Transform>
597            </Transform>
598            <Background groundAngle='1.309 1.570796groundColor='.1 .2 0 .4 .26 .3 .6 .7 .7skyAngle='1.309 1.571skyColor='0 .2 .7 0 .5 1 1 1 1'/>
599            <PointLight location='0 1 0radius='25'/>
600       </Scene>
601  </X3D>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->

<!-- to top Index for DEF nodes: backWheelPost, center, chainAssembly, chainElement, Clock, Column, Column1, ColumnPath, frameGroup, frontForks, frontWheelPost, gooseNeck, handleBarPost, handleBars, handleBarsAssembly, handleGrips, inner, outer, pedalArm, pedalAssembly, pedals, piece_1, piece_10, piece_12, piece_2, piece_5, piece_6, piece_7, piece_8, piece_9, rotatingSpokes, rotatingSpokets, seat, seatAssembly, seatMount, seatPost, SPOKE, spoke, SPOKE_GROUP, spokeGroup, spoketAssembly, SURFACE, teeth, tireGroup, WHEEL

Index for Viewpoint nodes: Viewpoint_1, Viewpoint_2, Viewpoint_3
-->
X3D Tooltips element index: Appearance, Background, Box, Cylinder, Extrusion, Group, head, Material, meta, OrientationInterpolator, PointLight, ROUTE, Scene, Shape, Sphere, TimeSensor, Transform, Viewpoint, WorldInfo, X3D, accessType and type, XML data types, field types

Event Graph ROUTE Table with 2 ROUTE connections total, showing X3D event-model relationships for this scene.

Each row shows an event cascade that may occur during a single timestamp interval between frame renderings, as part of the X3D execution model.

Clock
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
ColumnPath
OrientationInterpolator
set_fraction
SFFloat
then
 
 
 
ColumnPath
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
Column
Transform
set_rotation
SFRotation
Additional guidance on X3D animation can be found in the 10-Step Animation Design Process and Event Tracing hint sheets. Have fun with X3D! 😀

-->
<!-- Online at
https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/DirtBikeIndex.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Basic/StudentProjects/DirtBike.x3d -->

<!-- Color legend: X3D terminology <X3dNode DEF='idName' field='value'/> matches XML terminology <XmlElement DEF='idName' attribute='value'/>
(Light-blue background: event-based behavior node or statement) (Grey background inside box: inserted documentation) (Magenta background: X3D Extensibility)
-->

to top <!-- For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints. -->