X3D Model Documentation: DirtBike.x3d go to online X3D Example Archives model page

  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='https://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.0.xsd'>
  4       <head>
  5            <meta name='title' content=' DirtBike.x3d '/>
  6            <meta name='description' content='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='creator' content='Matthew Molmer'/>
  9            <meta name='created' content='25 February 2004'/>
 10            <meta name='modified' content='7 April 2024'/>
 11            <meta name='identifier' content=' https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/DirtBike.x3d '/>
 12            <meta name='generator' content='X3D-Edit 3.3, https://www.web3d.org/x3d/tools/X3D-Edit'/>
 13            <meta name='license' content='../license.html'/>
 14       </head>
<!--

Event Graph ROUTE Table shows event connections.

--> <!-- to top DEF nodes index: 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 View' position='.5 .2 1.5'/>
 18            <Viewpoint description='sprocket view' position='.30 .08 .38'/>
 19            <Viewpoint description='far away side view' position='0 0 5'/>
 20            <Group DEF='frameGroup'>
 21                 <Transform rotation='0 0 1 .1' translation='.64 .34 0'>
 22                      <Transform rotation='0 0 1 1.57'>
 23                           <Shape DEF='piece_1'>
 24                                <Cylinder height='.64' radius='.02'/>
 25                                <Appearance>
 26                                     <Material diffuseColor='1 0 0'/>
 27                                </Appearance>
 28                           </Shape>
 29                      </Transform>
 30                 </Transform>
 31                 <Transform rotation='0 0 1 .50' translation='.68 .20 0'>
 32                      <Transform rotation='0 0 1 1.57'>
 33                           <Shape DEF='piece_2'>
 34                                <Cylinder height='.64' radius='.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='.10' radius='.03'/>
 45                                <Appearance>
 46                                     <Material diffuseColor='1 0 0'/>
 47                                </Appearance>
 48                           </Shape>
 49                      </Transform>
 50                 </Transform>
 51                 <Transform rotation='0 1 0 .087' translation='.19 .015 .045'>
 52                      <Transform rotation='0 0 1 1.65'>
 53                           <Shape DEF='piece_5'>
 54                                <Cylinder height='.38' radius='.012'/>
 55                                <Appearance>
 56                                     <Material diffuseColor='1 0 0'/>
 57                                </Appearance>
 58                           </Shape>
 59                      </Transform>
 60                 </Transform>
 61                 <Transform rotation='0 1 0 -.087' translation='.19 .015 -.045'>
 62                      <Transform rotation='0 0 1 1.65'>
 63                           <Shape DEF='piece_6'>
 64                                <Cylinder height='.38' radius='.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='.32' radius='.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='.14' radius='.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='.14' radius='.010'/>
 95                                <Appearance>
 96                                     <Material/>
 97                                </Appearance>
 98                           </Shape>
 99                      </Transform>
100                 </Transform>
101                 <Transform rotation='0 1 0 .16' translation='.16 .16 .035'>
102                      <Transform rotation='0 0 1 -.82'>
103                           <Shape DEF='piece_7'>
104                                <Cylinder height='.45' radius='.010'/>
105                                <Appearance>
106                                     <Material diffuseColor='1 0 0'/>
107                                </Appearance>
108                           </Shape>
109                      </Transform>
110                 </Transform>
111                 <Transform rotation='0 1 0 -.16' translation='.16 .16 -.035'>
112                      <Transform rotation='0 0 1 -.82'>
113                           <Shape DEF='piece_8'>
114                                <Cylinder height='.45' radius='.010'/>
115                                <Appearance>
116                                     <Material diffuseColor='1 0 0'/>
117                                </Appearance>
118                           </Shape>
119                      </Transform>
120                 </Transform>
121                 <Transform rotation='0 0 1 .175' translation='.98 .372 0'>
122                      <Transform>
123                           <Shape DEF='piece_12'>
124                                <Cylinder height='.058' radius='.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='.48' radius='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='Clock' cycleInterval='4.0' loop='true' enabled='true'/>
200 
               <!-- ROUTE information for ColumnPath node:  [from Clock.fraction_changed to set_fraction ] [from value_changed to Column.set_rotation ] -->
               <OrientationInterpolator DEF='ColumnPath' key='0.0 0.50 1.0' keyValue='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 .175' scale='.15 .15 .15' translation='.86 .395 0'>
209                      <Shape DEF='handleBars'>
210                           <Extrusion creaseAngle='3.14' crossSection='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.00' scale='.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 .08' spine='.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 .175' translation='.98 .38 0'>
217                      <Transform>
218                           <Shape DEF='handleBarPost'>
219                                <Cylinder height='.12' radius='.02'/>
220                                <Appearance>
221                                     <Material diffuseColor='0 0 0'/>
222                                </Appearance>
223                           </Shape>
224                      </Transform>
225                 </Transform>
226                 <Transform rotation='0 0 1 .175' translation='.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 .175' scale='.175 .175 .175' translation='.818 .30 0'>
237                      <Shape DEF='frontForks'>
238                           <Extrusion creaseAngle='3.14' crossSection='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.00' scale='.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 .04' spine='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.58' translation='.955 .602 .12'>
245 
                    <!-- Shape handleGrips is a DEF node that has 1 USE node: USE_1 -->
                    <Shape DEF='handleGrips'>
246                           <Cylinder height='.08' radius='.018'/>
247                           <Appearance>
248                                <Material diffuseColor='0 0 0'/>
249                           </Appearance>
250                      </Shape>
251                 </Transform>
252                 <Transform rotation='1 0 0 1.58' translation='.955 .602 -.12'>
253                      <Shape USE='handleGrips'/>
254                 </Transform>
255            </Group>
256            <Group DEF='seatAssembly'>
257                 <Transform rotation='0 0 1 .25' scale='.15 .15 .15' translation='.16 .40 0'>
258                      <Shape DEF='seat'>
259                           <Extrusion creaseAngle='3.14' crossSection='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.00' scale='.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 .12' spine='.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='.34' radius='.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='pedalArm' scale='.15 .15 .15' translation='.228 .030 0'>
286                      <Shape>
287                           <Extrusion creaseAngle='3.14' crossSection='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.00' scale='.08 .08 .08 .08 .08 .08 .10 .10 .10 .10 .10 .10 .10 .10 .10 .10 .08 .08 .08 .08 .08 .08' spine='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='Column1' scale='.06 .06 .06' translation='.38 .030 .04'>
307 
                    <!-- Group spoketAssembly is a DEF node that has 1 USE node: USE_1 -->
                    <Group DEF='spoketAssembly'>
308                           <Transform DEF='WHEEL' rotation='1 0 0 1.57'>
309                                <Transform scale='1 .09 1' translation='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='SPOKE' scale='.9 .09 .5' translation='.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 .8' translation='.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 .785' translation='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 .03' translation='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.57' scale='.26 .26 .26'>
375                      <Shape>
376                           <Extrusion beginCap='false' creaseAngle='3.14' crossSection='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.00' endCap='false' scale='.96 .96 1.1 1.1' solid='false' spine='0 .07 0 0 .07 0'/>
377                           <Appearance>
378                                <Material diffuseColor='0 0 0'/>
379                           </Appearance>
380                      </Shape>
381                      <Shape>
382                           <Extrusion beginCap='false' creaseAngle='3.14' crossSection='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.00' endCap='false' scale='.9 .9 .9 .9' solid='false' spine='0 .07 0 0 -.07 0'/>
383                           <Appearance>
384                                <Material/>
385                           </Appearance>
386                      </Shape>
387                      <Shape>
388                           <Extrusion beginCap='false' creaseAngle='3.14' crossSection='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.00' endCap='false' scale='1.1 1.1 1.1 1.1' solid='false' spine='0 .07 0 0 -.07 0'/>
389                           <Appearance>
390                                <Material diffuseColor='0 0 0'/>
391                           </Appearance>
392                      </Shape>
393                      <Shape>
394                           <Extrusion beginCap='false' creaseAngle='3.14' crossSection='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.00' endCap='false' scale='.96 .96 1.1 1.1' solid='false' spine='0 -.07 0 0 -.07 0'/>
395                           <Appearance>
396                                <Material diffuseColor='0 0 0'/>
397                           </Appearance>
398                      </Shape>
399                      <Shape>
400                           <Extrusion beginCap='false' creaseAngle='3.14' crossSection='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.00' endCap='false' scale='.96 .96 .9 .9' solid='false' spine='0 .07 0 0 .07 0'/>
401                           <Appearance>
402                                <Material/>
403                           </Appearance>
404                      </Shape>
405                      <Shape>
406                           <Extrusion beginCap='false' creaseAngle='3.14' crossSection='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.00' endCap='false' scale='.96 .96 .9 .9' solid='false' spine='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 .165' translation='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='chainElement' rotation='1 0 0 1.57' scale='.04 .025 .04' translation='.38 .042 .005'>
420                                <Transform translation='0 -.12 0'>
421                                     <Shape>
422                                          <Cylinder height='.05' radius='.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='.05' radius='.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='.05' radius='.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='.05' radius='.15'/>
447                                          <Appearance>
448                                               <Material diffuseColor='0 0 0'/>
449                                          </Appearance>
450                                     </Shape>
451                                </Transform>
452                                <Shape>
453                                     <Cylinder height='.3' radius='.1'/>
454                                     <Appearance>
455                                          <Material/>
456                                     </Appearance>
457                                </Shape>
458                                <Transform translation='.4 0 0'>
459                                     <Shape>
460                                          <Cylinder height='.3' radius='.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 -.175' translation='-.029 .127 .046'>
543                                <Transform USE='chainElement'/>
544                           </Transform>
545                           <Transform rotation='0 0 1 -.250' translation='-.010 .152 .046'>
546                                <Transform USE='chainElement'/>
547                           </Transform>
548                           <Transform rotation='0 0 1 -.600' translation='.045 .275 .046'>
549                                <Transform USE='chainElement'/>
550                           </Transform>
551                           <Transform rotation='0 0 1 .600' translation='.0815 -.286 .046'>
552                                <Transform USE='chainElement'/>
553                           </Transform>
554                           <Transform rotation='0 0 1 -.600' translation='.053 .266 .046'>
555                                <Transform USE='chainElement'/>
556                           </Transform>
557                      </Transform>
558                      <Transform rotation='0 0 1 -1' translation='.145 .34 0'>
559                           <Transform translation='.032 0 0'>
560                                <Transform rotation='0 0 1 -.175' translation='-.029 .127 .046'>
561                                     <Transform USE='chainElement'/>
562                                </Transform>
563                                <Transform rotation='0 0 1 -.250' translation='-.010 .152 .046'>
564                                     <Transform USE='chainElement'/>
565                                </Transform>
566                                <Transform rotation='0 0 1 -.600' translation='.045 .275 .046'>
567                                     <Transform USE='chainElement'/>
568                                </Transform>
569                           </Transform>
570                      </Transform>
571                      <Transform rotation='0 0 1 -1.5' translation='.319 .392 0'>
572                           <Transform translation='.032 0 0'>
573                                <Transform rotation='0 0 1 -.175' translation='-.029 .127 .046'>
574                                     <Transform USE='chainElement'/>
575                                </Transform>
576                                <Transform rotation='0 0 1 -.600' translation='.031 .279 .046'>
577                                     <Transform USE='chainElement'/>
578                                </Transform>
579                                <Transform rotation='0 0 1 2.2' translation='.65 -.21 .046'>
580                                     <Transform USE='chainElement'/>
581                                </Transform>
582                           </Transform>
583                      </Transform>
584                 </Transform>
585                 <Transform rotation='0 0 1 .790' translation='-.275 -.278 .046'>
586                      <Transform USE='chainElement'/>
587                 </Transform>
588                 <Transform rotation='0 0 1 1.57' translation='.004 -.376 .046'>
589                      <Transform USE='chainElement'/>
590                 </Transform>
591                 <Transform rotation='0 0 1 -.790' translation='-.324 .215 .046'>
592                      <Transform USE='chainElement'/>
593                 </Transform>
594                 <Transform rotation='0 0 1 -1.04' translation='-.267 .300 .046'>
595                      <Transform USE='chainElement'/>
596                 </Transform>
597            </Transform>
598            <Background groundAngle='1.309 1.570796' groundColor='.1 .2 0 .4 .26 .3 .6 .7 .7' skyAngle='1.309 1.571' skyColor='0 .2 .7 0 .5 1 1 1 1'/>
599            <PointLight location='0 1 0' radius='25'/>
600       </Scene>
601  </X3D>
<!--

Event Graph ROUTE Table shows event connections.

--> <!-- to top DEF nodes index: 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: to top Appearance, Background, Box, Cylinder, Extrusion, Group, head, Material, meta, OrientationInterpolator, PointLight, ROUTE, Scene, Shape, Sphere, TimeSensor, Transform, Viewpoint, WorldInfo, X3D,
plus documentation for accessType definitions, type definitions, XML data types, and field types

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

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

Clock
TimeSensor
fraction_changed
SFFloat
→
ROUTE
event to
(1)
ColumnPath
OrientationInterpolator
set_fraction
SFFloat
then
from
same
node
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! 😀

-->
go to online X3D Example Archives model page <!-- Online at
https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/DirtBikeIndex.html -->
<!-- SourceForge version control Version control at    
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Basic/StudentProjects/DirtBike.x3d -->

<!-- Color-coding 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. -->