#VRML V2.0 utf8 #WorldInfo #{ # title "Dekany" # info # [ # "Author: Robert Walker- e-mail: vrml@rcwalker.freeserve.co.uk" # ] #} Background {skyColor 0 0 1} #substitution table used - this will be filled in after the search and replace, #idea is, could be helpful for future ref, if one wants to remake it from template again #substitutions used to make file names shown in square brackets #ratio0 r0 [z0] #ratio1 r1 [z1] #ratio2 r2 [z2] #ratio3 r3 [z3] #ratio4 r4 [z4] #ratio5 r5 [z5] #ratio6 r6 [z6] #ratio7 r7 [z7] #ratio8 r8 [z8] #ratio9 r9 [z9] #xvalue xx #Method for making VRML from template - replace all formulae including xx, then xx itself #to get any perspective view through 3D face to centre, with the central tetrahedron 3D faces #shown in red, and the other four in blue. (set it to 0.5 for non perspective view) #then replace r0, r1,... with the text you want to see at the vertices, #and z0, z1,... by versions of the same suitable for use as part of file names #for use as mnemonic so that you know what notes to use for the audio files. #midi files to make: #z5_z7.mid #z4_z7.mid #z0_z7.mid #z1_z8.mid #z3_z8.mid #z5_z8.mid #z0_z6.mid #z1_z6.mid #z2_z6.mid #z4_z9.mid #z3_z9.mid #z2_z9.mid #z8_z9.mid #z7_z9.mid #z7_z8.mid #z6_z8.mid #z6_z9.mid #z6_z7.mid #z0_z1.mid #z3_z4.mid #z0_z2.mid #z3_z5.mid #z1_z2.mid #z4_z5.mid #z0_z5.mid #z2_z3.mid #z1_z3.mid #z0_z4.mid #z1_z5.mid #z2_z4.mid #z6_z7_z9.mid #z7_z8_z9.mid #z6_z8_z9.mid #z6_z7_z8.mid #z0_z2_z6.mid #z1_z2_z6.mid #z0_z1_z6.mid #z0_z4_z7.mid #z4_z5_z7.mid #z0_z5_z7.mid #z1_z5_z8.mid #z1_z3_z8.mid #z3_z5_z8.mid #z2_z4_z9.mid #z3_z4_z9.mid #z2_z3_z9.mid #z4_z7_z9.mid #z1_z6_z8.mid #z2_z6_z9.mid #z3_z8_z9.mid #z5_z7_z8.mid #z0_z6_z7.mid #z2_z3_z4.mid #z0_z1_z2.mid #z3_z4_z5.mid #z0_z4_z5.mid #z1_z2_z3.mid #z0_z1_z5.mid #z1_z3_z5.mid #z0_z2_z4.mid #z0.mid #z1.mid #z2.mid #z3.mid #z4.mid #z5.mid #z6.mid #z7.mid #z8.mid #z9.mid #z0_z1_z2_z6.mid #z0_z4_z5_z7.mid #z1_z3_z5_z8.mid #z2_z3_z4_z9.mid #z6_z7_z8_z9.mid Viewpoint { description "r0" position 5 0 0 orientation 0 1 0 1.5708 fieldOfView 0.785398 } Viewpoint { position 0 0 5 description "r2" fieldOfView 0.785398 } Viewpoint { description "r3" position -5 0 0 orientation 0 1 0 -1.5708 fieldOfView 0.785398 } Viewpoint { description "r5" position 0 0 -5 orientation 0 1 0 -3.14159 fieldOfView 0.785398 } DirectionalLight { direction -0.5 -1 0 intensity 0.75 } DirectionalLight { direction 0.5 1 0 intensity 0.75 } Group { children [ Transform { translation 0 1.6 0 scale 0.3 0.3 0.3 children [ Billboard { children [ Shape { appearance Appearance { material Material {diffuseColor 1 1 1 } } # white text geometry Text { string "Dekany" fontStyle FontStyle{justify ["MIDDLE","MIDDLE"]} } } ] } ] } Transform { rotation 0 1 0.6 0.5 children [ #8 triads Viewpoint { description "r2 r0 r1" position 2.88675 2.88675 2.88675 orientation -0.590284 0.769274 0.244504 0.987861 fieldOfView 0.785398 } Viewpoint { description "r0 r5 r1" position 2.88675 2.88675 -2.88675 orientation -0.124491 0.945607 0.300549 2.39496 fieldOfView 0.785398 } Viewpoint { description "r0 r5 r4" position 2.88675 -2.88675 -2.88675 orientation 0.124491 0.945607 -0.300549 2.39496 fieldOfView 0.785398 } Viewpoint { description "r5 r3 r4" position -2.88675 -2.88675 -2.88675 orientation -0.124491 0.945607 -0.300549 -2.39496 fieldOfView 0.785398 } Viewpoint { description "r3 r5 r1" position -2.88675 2.88675 -2.88675 orientation 0.124491 0.945607 0.300549 -2.39496 fieldOfView 0.785398 } Viewpoint { description "r2 r3 r1" position -2.88675 2.88675 2.88675 orientation 0.590284 0.769274 0.244504 -0.987861 fieldOfView 0.785398 } Viewpoint { description "r2 r3 r4" position -2.88675 -2.88675 2.88675 orientation -0.590284 0.769274 -0.244504 -0.987861 fieldOfView 0.785398 } Viewpoint { description "r2 r0 r4" position 2.88675 -2.88675 2.88675 orientation 0.590284 0.769274 -0.244504 0.987861 fieldOfView 0.785398 } #4 viewpoints at location for text for vertices of inner tetrahedron. #because it gives good view of inner triads and tetrad Viewpoint { description "r6" position (1.1*xx) (1.1*xx) (1.1*xx) orientation -0.590284 0.769274 0.244504 0.987861 fieldOfView 0.785398 } Viewpoint { description "r7" position (1.1*xx) -(1.1*xx) -(1.1*xx) orientation 0.124491 0.945607 -0.300549 2.39496 fieldOfView 0.785398 } Viewpoint { description "r8" position -(1.1*xx) (1.1*xx) -(1.1*xx) orientation 0.124491 0.945607 0.300549 -2.39496 fieldOfView 0.785398 } Viewpoint { description "r9" position -(1.1*xx) -(1.1*xx) (1.1*xx) orientation -0.590284 0.769274 -0.244504 -0.987861 fieldOfView 0.785398 } #12 diads Viewpoint { description "r0 r1" position 3.53553 3.53553 0 orientation -0.357407 0.862856 0.357407 1.71777 fieldOfView 0.785398 } Viewpoint { description "r0 r4" position 3.53553 -3.53553 0 orientation 0.357407 0.862856 -0.357407 1.71777 fieldOfView 0.785398 } Viewpoint { description "r3 r4" position -3.53553 -3.53553 0 orientation -0.357407 0.862856 -0.357407 -1.71777 fieldOfView 0.785398 } Viewpoint { description "r3 r1" position -3.53553 3.53553 0 orientation 0.357407 0.862856 0.357407 -1.71777 fieldOfView 0.785398 } Viewpoint { description "r2 r3" position -3.53553 0 3.53553 orientation 0 1 0 -0.785398 fieldOfView 0.785398 } Viewpoint { description "r2 r0" position 3.53553 0 3.53553 orientation 0 1 0 0.785398 fieldOfView 0.785398 } Viewpoint { description "r0 r5" position 3.53553 0 -3.53553 orientation 0 1 0 2.35619 fieldOfView 0.785398 } Viewpoint { description "r3 r5" position -3.53553 0 -3.53553 orientation 0 1 0 -2.35619 fieldOfView 0.785398 } Viewpoint { description "r5 r4" position 0 -3.53553 -3.53553 orientation 0 0.92388 -0.382683 -3.14159 fieldOfView 0.785398 } Viewpoint { description "r5 r1" position 0 3.53553 -3.53553 orientation 0 0.92388 0.382683 -3.14159 fieldOfView 0.785398 } Viewpoint { description "r2 r1" position 0 3.53553 3.53553 orientation 1 0 0 -0.785398 fieldOfView 0.785398 } Viewpoint { description "r2 r4" position 0 -3.53553 3.53553 orientation 1 0 0 0.785398 fieldOfView 0.785398 } Transform { translation -(1.1*xx) -(1.1*xx) (1.1*xx) scale 0.2 0.2 0.2 children [ Billboard { children [ DEF Touch_z9 TouchSensor{} Shape { appearance Appearance { material Material {diffuseColor 1 1 1 } } # white text geometry Text { string "r9" fontStyle FontStyle{justify ["MIDDLE","MIDDLE"]} } } Shape { appearance Appearance { material Material {diffuseColor 1 1 0 transparency 1} } geometry Sphere{radius 0.5} } ] } ] } Transform { translation -(1.1*xx) (1.1*xx) -(1.1*xx) scale 0.2 0.2 0.2 children [ Billboard { children [ DEF Touch_z8 TouchSensor{} Shape { appearance Appearance { material Material {diffuseColor 1 1 1 } } # white text geometry Text { string "r8" fontStyle FontStyle{justify ["MIDDLE","MIDDLE"]} } } Shape { appearance Appearance { material Material {diffuseColor 1 1 0 transparency 1} } geometry Sphere{radius 0.5} } ] } ] } Transform { translation (1.1*xx) -(1.1*xx) -(1.1*xx) scale 0.2 0.2 0.2 children [ Billboard { children [ DEF Touch_z7 TouchSensor{} Shape { appearance Appearance { material Material {diffuseColor 1 1 1 } } # white text geometry Text { string "r7" fontStyle FontStyle{justify ["MIDDLE","MIDDLE"]} } } Shape { appearance Appearance { material Material {diffuseColor 1 1 0 transparency 1} } geometry Sphere{radius 0.5} } ] } ] } Transform { translation (1.1*xx) (1.1*xx) (1.1*xx) scale 0.2 0.2 0.2 children [ Billboard { children [ DEF Touch_z6 TouchSensor{} Shape { appearance Appearance { material Material {diffuseColor 1 1 1 } } # white text geometry Text { string "r6" fontStyle FontStyle{justify ["MIDDLE","MIDDLE"]} } } Shape { appearance Appearance { material Material {diffuseColor 1 1 0 transparency 1} } geometry Sphere{radius 0.5} } ] } ] } Transform { translation 1.1 0 0 scale 0.2 0.2 0.2 children [ Billboard { children [ DEF Touch_z0 TouchSensor{} Shape { appearance Appearance { material Material {diffuseColor 1 1 1 } } # white text geometry Text { string "r0" fontStyle FontStyle{justify ["MIDDLE","MIDDLE"]} } } Shape { appearance Appearance { material Material {diffuseColor 1 1 0 transparency 1} } geometry Sphere{radius 0.5} } ] } ] } Transform { translation -1.1 0 0 scale 0.2 0.2 0.2 children [ Billboard { children [ DEF Touch_z3 TouchSensor{} Shape { appearance Appearance { material Material {diffuseColor 1 1 1 } } # white text geometry Text { string "r3" fontStyle FontStyle{justify ["MIDDLE","MIDDLE"]} } } Shape { appearance Appearance { material Material {diffuseColor 1 1 0 transparency 1} } geometry Sphere{radius 0.5} } ] } ] } Transform { translation 0 1.1 0 scale 0.2 0.2 0.2 children [ Billboard { children [ DEF Touch_z1 TouchSensor{} Shape { appearance Appearance { material Material {diffuseColor 1 1 1 } } # white text geometry Text { string "r1" fontStyle FontStyle{justify ["MIDDLE","MIDDLE"]} } } Shape { appearance Appearance { material Material {diffuseColor 1 1 0 transparency 1} } geometry Sphere{radius 0.5} } ] } ] } Transform { translation 0 -1.1 0 scale 0.2 0.2 0.2 children [ Billboard { children [ DEF Touch_z4 TouchSensor{} Shape { appearance Appearance { material Material {diffuseColor 1 1 1 } } # white text geometry Text { string "r4" fontStyle FontStyle{justify ["MIDDLE","MIDDLE"]} } } Shape { appearance Appearance { material Material {diffuseColor 1 1 0 transparency 1} } geometry Sphere{radius 0.5} } ] } ] } Transform { translation 0 0 1.1 scale 0.2 0.2 0.2 children [ Billboard { children [ DEF Touch_z2 TouchSensor{} Shape { appearance Appearance { material Material {diffuseColor 1 1 1 } } # white text geometry Text { string "r2" fontStyle FontStyle{justify ["MIDDLE","MIDDLE"]} } } Shape { appearance Appearance { material Material {diffuseColor 1 1 0 transparency 1} } geometry Sphere{radius 0.5} } ] } ] } Transform { translation 0 0 -1.1 scale 0.2 0.2 0.2 children [ Billboard { children [ DEF Touch_z5 TouchSensor{} Shape { appearance Appearance { material Material {diffuseColor 1 1 1 } } # white text geometry Text { string "r5" fontStyle FontStyle{justify ["MIDDLE","MIDDLE"]} } } Shape { appearance Appearance { material Material {diffuseColor 1 1 0 transparency 1} } geometry Sphere{radius 0.5} } ] } ] } #diads Transform { translation xx/2 -xx/2 -(1+xx)/2 scale 0.14 0.14 0.14 children [ DEF Touch_z5_z7 TouchSensor{} DEF DiadSphere Shape { appearance Appearance { material Material {diffuseColor 0 1 1 transparency 0} } geometry Sphere{radius 0.3} } ] } Transform { translation xx/2 -(1+xx)/2 -xx/2 scale 0.14 0.14 0.14 children [ DEF Touch_z4_z7 TouchSensor{} USE DiadSphere ] } Transform { translation (1+xx)/2 -xx/2 -xx/2 scale 0.14 0.14 0.14 children [ DEF Touch_z0_z7 TouchSensor{} USE DiadSphere ] } Transform { translation -xx/2 (1+xx)/2 -xx/2 scale 0.14 0.14 0.14 children [ DEF Touch_z1_z8 TouchSensor{} USE DiadSphere ] } Transform { translation -(1+xx)/2 xx/2 -xx/2 scale 0.14 0.14 0.14 children [ DEF Touch_z3_z8 TouchSensor{} USE DiadSphere ] } Transform { translation -xx/2 xx/2 -(1+xx)/2 scale 0.14 0.14 0.14 children [ DEF Touch_z5_z8 TouchSensor{} USE DiadSphere ] } Transform { translation (1+xx)/2 xx/2 xx/2 scale 0.14 0.14 0.14 children [ DEF Touch_z0_z6 TouchSensor{} USE DiadSphere ] } Transform { translation xx/2 (1+xx)/2 xx/2 scale 0.14 0.14 0.14 children [ DEF Touch_z1_z6 TouchSensor{} USE DiadSphere ] } Transform { translation xx/2 xx/2 (1+xx)/2 scale 0.14 0.14 0.14 children [ DEF Touch_z2_z6 TouchSensor{} USE DiadSphere ] } Transform { translation -xx/2 -(1+xx)/2 xx/2 scale 0.14 0.14 0.14 children [ DEF Touch_z4_z9 TouchSensor{} USE DiadSphere ] } Transform { translation -(1+xx)/2 -xx/2 xx/2 scale 0.14 0.14 0.14 children [ DEF Touch_z3_z9 TouchSensor{} USE DiadSphere ] } Transform { translation -xx/2 -xx/2 (1+xx)/2 scale 0.14 0.14 0.14 children [ DEF Touch_z2_z9 TouchSensor{} USE DiadSphere ] } Transform { translation -xx 0 0 scale 0.14 0.14 0.14 children [ DEF Touch_z8_z9 TouchSensor{} USE DiadSphere ] } Transform { translation 0 -xx 0 scale 0.14 0.14 0.14 children [ DEF Touch_z7_z9 TouchSensor{} USE DiadSphere ] } Transform { translation 0 0 -xx scale 0.14 0.14 0.14 children [ DEF Touch_z7_z8 TouchSensor{} USE DiadSphere ] } Transform { translation 0 xx 0 scale 0.14 0.14 0.14 children [ DEF Touch_z6_z8 TouchSensor{} USE DiadSphere ] } Transform { translation 0 0 xx scale 0.14 0.14 0.14 children [ DEF Touch_z6_z9 TouchSensor{} USE DiadSphere ] } Transform { translation xx 0 0 scale 0.14 0.14 0.14 children [ DEF Touch_z6_z7 TouchSensor{} USE DiadSphere ] } Transform { translation 0.5 0.5 0 scale 0.14 0.14 0.14 children [ DEF Touch_z0_z1 TouchSensor{} USE DiadSphere ] } Transform { translation -0.5 -0.5 0 scale 0.14 0.14 0.14 children [ DEF Touch_z3_z4 TouchSensor{} USE DiadSphere ] } Transform { translation 0.5 0 0.5 scale 0.14 0.14 0.14 children [ DEF Touch_z0_z2 TouchSensor{} USE DiadSphere ] } Transform { translation -0.5 0 -0.5 scale 0.14 0.14 0.14 children [ DEF Touch_z3_z5 TouchSensor{} USE DiadSphere ] } Transform { translation 0 0.5 0.5 scale 0.14 0.14 0.14 children [ DEF Touch_z1_z2 TouchSensor{} USE DiadSphere ] } Transform { translation 0 -0.5 -0.5 scale 0.14 0.14 0.14 children [ DEF Touch_z4_z5 TouchSensor{} USE DiadSphere ] } Transform { translation 0.5 0 -0.5 scale 0.14 0.14 0.14 children [ DEF Touch_z0_z5 TouchSensor{} USE DiadSphere ] } Transform { translation -0.5 0 0.5 scale 0.14 0.14 0.14 children [ DEF Touch_z2_z3 TouchSensor{} USE DiadSphere ] } Transform { translation -0.5 0.5 0 scale 0.14 0.14 0.14 children [ DEF Touch_z1_z3 TouchSensor{} USE DiadSphere ] } Transform { translation 0.5 -0.5 0 scale 0.14 0.14 0.14 children [ DEF Touch_z0_z4 TouchSensor{} USE DiadSphere ] } Transform { translation 0 0.5 -0.5 scale 0.14 0.14 0.14 children [ DEF Touch_z1_z5 TouchSensor{} USE DiadSphere ] } Transform { translation 0 -0.5 0.5 scale 0.14 0.14 0.14 children [ DEF Touch_z2_z4 TouchSensor{} USE DiadSphere ] } #triads Transform { translation xx/3 -xx/3 xx/3 scale 0.2 0.2 0.2 children [ DEF Touch_z6_z7_z9 TouchSensor{} DEF TriadSphere1 Shape { appearance Appearance { material Material {diffuseColor 0 0 0.6 transparency 0} } geometry Sphere{radius 0.3} } ] } Transform { translation -xx/3 -xx/3 -xx/3 scale 0.2 0.2 0.2 children [ DEF Touch_z7_z8_z9 TouchSensor{} USE TriadSphere1 ] } Transform { translation -xx/3 xx/3 xx/3 scale 0.2 0.2 0.2 children [ DEF Touch_z6_z8_z9 TouchSensor{} USE TriadSphere1 ] } Transform { translation xx/3 xx/3 -xx/3 scale 0.2 0.2 0.2 children [ DEF Touch_z6_z7_z8 TouchSensor{} USE TriadSphere1 ] } Transform { translation (1+xx)/3 xx/3 (1+xx)/3 scale 0.2 0.2 0.2 children [ DEF Touch_z0_z2_z6 TouchSensor{} DEF TriadSphere2 Shape { appearance Appearance { material Material {diffuseColor 1 1 0 transparency 0} } geometry Sphere{radius 0.3} } ] } Transform { translation xx/3 (1+xx)/3 (1+xx)/3 scale 0.2 0.2 0.2 children [ DEF Touch_z1_z2_z6 TouchSensor{} USE TriadSphere2 ] } Transform { translation (1+xx)/3 (1+xx)/3 xx/3 scale 0.2 0.2 0.2 children [ DEF Touch_z0_z1_z6 TouchSensor{} USE TriadSphere2 ] } Transform { translation (1+xx)/3 -(1+xx)/3 -xx/3 scale 0.2 0.2 0.2 children [ DEF Touch_z0_z4_z7 TouchSensor{} USE TriadSphere2 ] } Transform { translation xx/3 -(1+xx)/3 -(1+xx)/3 scale 0.2 0.2 0.2 children [ DEF Touch_z4_z5_z7 TouchSensor{} USE TriadSphere2 ] } Transform { translation (1+xx)/3 -xx/3 -(1+xx)/3 scale 0.2 0.2 0.2 children [ DEF Touch_z0_z5_z7 TouchSensor{} USE TriadSphere2 ] } Transform { translation -xx/3 (1+xx)/3 -(1+xx)/3 scale 0.2 0.2 0.2 children [ DEF Touch_z1_z5_z8 TouchSensor{} USE TriadSphere2 ] } Transform { translation -(1+xx)/3 (1+xx)/3 -xx/3 scale 0.2 0.2 0.2 children [ DEF Touch_z1_z3_z8 TouchSensor{} USE TriadSphere2 ] } Transform { translation -(1+xx)/3 xx/3 -(1+xx)/3 scale 0.2 0.2 0.2 children [ DEF Touch_z3_z5_z8 TouchSensor{} USE TriadSphere2 ] } Transform { translation -xx/3 -(1+xx)/3 (1+xx)/3 scale 0.2 0.2 0.2 children [ DEF Touch_z2_z4_z9 TouchSensor{} USE TriadSphere2 ] } Transform { translation -(1+xx)/3 -(1+xx)/3 xx/3 scale 0.2 0.2 0.2 children [ DEF Touch_z3_z4_z9 TouchSensor{} USE TriadSphere2 ] } Transform { translation -(1+xx)/3 -xx/3 (1+xx)/3 scale 0.2 0.2 0.2 children [ DEF Touch_z2_z3_z9 TouchSensor{} USE TriadSphere2 ] } Transform { translation 0.5 0.5 0.5 scale 0.2 0.2 0.2 children [ DEF Touch_z0_z1_z2 TouchSensor{} DEF TriadSphere3 Shape { appearance Appearance { material Material {diffuseColor 1 0 0 transparency 0} } geometry Sphere{radius 0.3} } ] } Transform { translation 0.5 -0.5 -0.5 scale 0.2 0.2 0.2 children [ DEF Touch_z0_z4_z5 TouchSensor{} USE TriadSphere3 ] } Transform { translation -0.5 -0.5 0.5 scale 0.2 0.2 0.2 children [ DEF Touch_z2_z3_z4 TouchSensor{} USE TriadSphere3 ] } Transform { translation -0.5 0.5 -0.5 scale 0.2 0.2 0.2 children [ DEF Touch_z1_z3_z5 TouchSensor{} USE TriadSphere3 ] } Transform { translation 0.41 -0.41 -0.41 children [ DEF Touch_z0_z4_z5_z7 TouchSensor{} DEF TetradSphere Shape { appearance Appearance { material Material {diffuseColor 0.8 0.8 0.8 transparency 0.1} } geometry Sphere{radius 0.1} } ] } Transform { translation -0.41 -0.41 0.41 children [ DEF Touch_z2_z3_z4_z9 TouchSensor{} USE TetradSphere ] } Transform { translation -0.41 0.41 -0.41 children [ DEF Touch_z1_z3_z5_z8 TouchSensor{} USE TetradSphere ] } Transform { translation 0 0 0 children [ DEF Touch_z6_z7_z8_z9 TouchSensor{} USE TetradSphere ] } Transform { translation 0.41 0.41 0.41 children [ DEF Touch_z0_z1_z2_z6 TouchSensor{} USE TetradSphere ] } Shape { appearance Appearance { material Material {diffuseColor 0 0 0.8 transparency 0} } geometry DEF Octahedron IndexedFaceSet { solid FALSE coord DEF OctahedronVertices Coordinate { point [ 1 0 0, #0 0 1 0, #1 0 0 1, #2 -1 0 0, #3 0 -1 0, #4 0 0 -1, #5 xx xx xx #6 xx -xx -xx #7 -xx xx -xx #8 -xx -xx xx #9 ] } coordIndex [ # 0,1,2,-1, #complete list of outer octahedron faces, for ref. # 1,3,2,-1, # 3,4,2,-1, # 4,0,2,-1, # 0,1,5,-1, # 1,3,5,-1, # 3,4,5,-1, # 4,0,5,-1, ] } } Transform { children [ DEF Touch_z3_z4_z5 TouchSensor{} Shape { appearance Appearance { material Material {diffuseColor 0 0 0.8 transparency 0} } geometry IndexedFaceSet { solid FALSE coord USE OctahedronVertices coordIndex [ 3,4,5,-1, ] } } ] } Transform { children [ DEF Touch_z0_z1_z5 TouchSensor{} Shape { appearance Appearance { material Material {diffuseColor 0 0 0.8 transparency 0} } geometry IndexedFaceSet { solid FALSE coord USE OctahedronVertices coordIndex [ 0,1,5,-1, ] } } ] } Transform { children [ DEF Touch_z0_z2_z4 TouchSensor{} Shape { appearance Appearance { material Material {diffuseColor 0 0 0.8 transparency 0} } geometry IndexedFaceSet { solid FALSE coord USE OctahedronVertices coordIndex [ 0,2,4,-1, ] } } ] } Transform { children [ DEF Touch_z1_z2_z3 TouchSensor{} Shape { appearance Appearance { material Material {diffuseColor 0 0 0.8 transparency 0} } geometry IndexedFaceSet { solid FALSE coord USE OctahedronVertices coordIndex [ 1,2,3,-1, ] } } ] } Transform { children [ DEF Touch_z0_z6_z7 TouchSensor{} Shape { appearance Appearance { material Material {diffuseColor 1 0 0 transparency 0} } geometry IndexedFaceSet { solid FALSE coord USE OctahedronVertices coordIndex [ 0,6,7,-1, ] } } ] } Transform { children [ DEF Touch_z5_z7_z8 TouchSensor{} Shape { appearance Appearance { material Material {diffuseColor 1 0 0 transparency 0} } geometry IndexedFaceSet { solid FALSE coord USE OctahedronVertices coordIndex [ 7,8,5,-1, ] } } ] } Transform { children [ DEF Touch_z3_z8_z9 TouchSensor{} Shape { appearance Appearance { material Material {diffuseColor 1 0 0 transparency 0} } geometry IndexedFaceSet { solid FALSE coord USE OctahedronVertices coordIndex [ 3,8,9,-1, ] } } ] } Transform { children [ DEF Touch_z2_z6_z9 TouchSensor{} Shape { appearance Appearance { material Material {diffuseColor 1 0 0 transparency 0} } geometry IndexedFaceSet { solid FALSE coord USE OctahedronVertices coordIndex [ 2,6,9,-1, ] } } ] } Transform { children [ DEF Touch_z1_z6_z8 TouchSensor{} Shape { appearance Appearance { material Material {diffuseColor 1 0 0 transparency 0} } geometry IndexedFaceSet { solid FALSE coord USE OctahedronVertices coordIndex [ 1,6,8,-1, ] } } ] } Transform { children [ DEF Touch_z4_z7_z9 TouchSensor{} Shape { appearance Appearance { material Material {diffuseColor 1 0 0 transparency 0} } geometry IndexedFaceSet { solid FALSE coord USE OctahedronVertices coordIndex [ 4,7,9,-1, ] } } ] } Shape { appearance Appearance { material Material {emissiveColor 1 1 0} } geometry DEF ThisPolysLines IndexedLineSet { coord USE OctahedronVertices coordIndex [ 6,7,-1, #6,7,0, 7,0,-1, 0,6,-1, 7,8,-1, #7,8,5, 8,5,-1, 5,7,-1, 8,9,-1, #8,9,3, 9,3,-1, 3,8,-1, 9,6,-1, #9,6,2, 6,2,-1, 2,9,-1, 6,8,-1, #6,8,1, 8,1,-1, 1,6,-1, 7,9,-1, #7,9,4, 9,4,-1, 4,7,-1, 2,1,-1, 2,3,-1, 2,4,-1, 2,0,-1, 1,3,-1, 3,4,-1, 4,0,-1, 0,1,-1, 5,0,-1, 5,1,-1, 5,3,-1, 5,4,-1, ] } } ] } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z0 AudioClip {url "z0.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z1 AudioClip {url "z1.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z2 AudioClip {url "z2.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z3 AudioClip {url "z3.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z4 AudioClip {url "z4.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z5 AudioClip {url "z5.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z6 AudioClip {url "z6.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z7 AudioClip {url "z7.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z8 AudioClip {url "z8.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z9 AudioClip {url "z9.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z5_z7 AudioClip {url "z5_z7.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z4_z7 AudioClip {url "z4_z7.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z0_z7 AudioClip {url "z0_z7.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z1_z8 AudioClip {url "z1_z8.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z3_z8 AudioClip {url "z3_z8.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z5_z8 AudioClip {url "z5_z8.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z0_z6 AudioClip {url "z0_z6.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z1_z6 AudioClip {url "z1_z6.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z2_z6 AudioClip {url "z2_z6.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z4_z9 AudioClip {url "z4_z9.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z3_z9 AudioClip {url "z3_z9.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z2_z9 AudioClip {url "z2_z9.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z8_z9 AudioClip {url "z8_z9.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z7_z9 AudioClip {url "z7_z9.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z7_z8 AudioClip {url "z7_z8.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z6_z8 AudioClip {url "z6_z8.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z6_z9 AudioClip {url "z6_z9.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z6_z7 AudioClip {url "z6_z7.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z0_z1 AudioClip {url "z0_z1.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z3_z4 AudioClip {url "z3_z4.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z0_z2 AudioClip {url "z0_z2.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z3_z5 AudioClip {url "z3_z5.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z1_z2 AudioClip {url "z1_z2.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z4_z5 AudioClip {url "z4_z5.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z0_z5 AudioClip {url "z0_z5.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z2_z3 AudioClip {url "z2_z3.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z1_z3 AudioClip {url "z1_z3.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z0_z4 AudioClip {url "z0_z4.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z1_z5 AudioClip {url "z1_z5.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z2_z4 AudioClip {url "z2_z4.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z6_z7_z9 AudioClip {url "z6_z7_z9.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z7_z8_z9 AudioClip {url "z7_z8_z9.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z6_z8_z9 AudioClip {url "z6_z8_z9.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z6_z7_z8 AudioClip {url "z6_z7_z8.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z0_z2_z6 AudioClip {url "z0_z2_z6.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z1_z2_z6 AudioClip {url "z1_z2_z6.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z0_z1_z6 AudioClip {url "z0_z1_z6.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z0_z4_z7 AudioClip {url "z0_z4_z7.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z4_z5_z7 AudioClip {url "z4_z5_z7.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z0_z5_z7 AudioClip {url "z0_z5_z7.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z1_z5_z8 AudioClip {url "z1_z5_z8.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z1_z3_z8 AudioClip {url "z1_z3_z8.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z3_z5_z8 AudioClip {url "z3_z5_z8.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z2_z4_z9 AudioClip {url "z2_z4_z9.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z3_z4_z9 AudioClip {url "z3_z4_z9.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z2_z3_z9 AudioClip {url "z2_z3_z9.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z4_z7_z9 AudioClip {url "z4_z7_z9.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z1_z6_z8 AudioClip {url "z1_z6_z8.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z2_z6_z9 AudioClip {url "z2_z6_z9.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z3_z8_z9 AudioClip {url "z3_z8_z9.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z5_z7_z8 AudioClip {url "z5_z7_z8.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z0_z6_z7 AudioClip {url "z0_z6_z7.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z2_z3_z4 AudioClip {url "z2_z3_z4.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z0_z1_z2 AudioClip {url "z0_z1_z2.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z3_z4_z5 AudioClip {url "z3_z4_z5.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z0_z4_z5 AudioClip {url "z0_z4_z5.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z1_z2_z3 AudioClip {url "z1_z2_z3.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z0_z1_z5 AudioClip {url "z0_z1_z5.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z1_z3_z5 AudioClip {url "z1_z3_z5.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z0_z2_z4 AudioClip {url "z0_z2_z4.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z0_z1_z2_z6 AudioClip {url "z0_z1_z2_z6.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z0_z4_z5_z7 AudioClip {url "z0_z4_z5_z7.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z1_z3_z5_z8 AudioClip {url "z1_z3_z5_z8.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z2_z3_z4_z9 AudioClip {url "z2_z3_z4_z9.mid" description "MIDI clip" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_z6_z7_z8_z9 AudioClip {url "z6_z7_z8_z9.mid" description "MIDI clip" description "MIDI clip"} } ] ROUTE Touch_z0.touchTime TO Audio_z0.startTime ROUTE Touch_z1.touchTime TO Audio_z1.startTime ROUTE Touch_z2.touchTime TO Audio_z2.startTime ROUTE Touch_z3.touchTime TO Audio_z3.startTime ROUTE Touch_z4.touchTime TO Audio_z4.startTime ROUTE Touch_z5.touchTime TO Audio_z5.startTime ROUTE Touch_z6.touchTime TO Audio_z6.startTime ROUTE Touch_z7.touchTime TO Audio_z7.startTime ROUTE Touch_z8.touchTime TO Audio_z8.startTime ROUTE Touch_z9.touchTime TO Audio_z9.startTime ROUTE Touch_z5_z7.touchTime TO Audio_z5_z7.startTime ROUTE Touch_z4_z7.touchTime TO Audio_z4_z7.startTime ROUTE Touch_z0_z7.touchTime TO Audio_z0_z7.startTime ROUTE Touch_z1_z8.touchTime TO Audio_z1_z8.startTime ROUTE Touch_z3_z8.touchTime TO Audio_z3_z8.startTime ROUTE Touch_z5_z8.touchTime TO Audio_z5_z8.startTime ROUTE Touch_z0_z6.touchTime TO Audio_z0_z6.startTime ROUTE Touch_z1_z6.touchTime TO Audio_z1_z6.startTime ROUTE Touch_z2_z6.touchTime TO Audio_z2_z6.startTime ROUTE Touch_z4_z9.touchTime TO Audio_z4_z9.startTime ROUTE Touch_z3_z9.touchTime TO Audio_z3_z9.startTime ROUTE Touch_z2_z9.touchTime TO Audio_z2_z9.startTime ROUTE Touch_z8_z9.touchTime TO Audio_z8_z9.startTime ROUTE Touch_z7_z9.touchTime TO Audio_z7_z9.startTime ROUTE Touch_z7_z8.touchTime TO Audio_z7_z8.startTime ROUTE Touch_z6_z8.touchTime TO Audio_z6_z8.startTime ROUTE Touch_z6_z9.touchTime TO Audio_z6_z9.startTime ROUTE Touch_z6_z7.touchTime TO Audio_z6_z7.startTime ROUTE Touch_z0_z1.touchTime TO Audio_z0_z1.startTime ROUTE Touch_z3_z4.touchTime TO Audio_z3_z4.startTime ROUTE Touch_z0_z2.touchTime TO Audio_z0_z2.startTime ROUTE Touch_z3_z5.touchTime TO Audio_z3_z5.startTime ROUTE Touch_z1_z2.touchTime TO Audio_z1_z2.startTime ROUTE Touch_z4_z5.touchTime TO Audio_z4_z5.startTime ROUTE Touch_z0_z5.touchTime TO Audio_z0_z5.startTime ROUTE Touch_z2_z3.touchTime TO Audio_z2_z3.startTime ROUTE Touch_z1_z3.touchTime TO Audio_z1_z3.startTime ROUTE Touch_z0_z4.touchTime TO Audio_z0_z4.startTime ROUTE Touch_z1_z5.touchTime TO Audio_z1_z5.startTime ROUTE Touch_z2_z4.touchTime TO Audio_z2_z4.startTime ROUTE Touch_z6_z7_z9.touchTime TO Audio_z6_z7_z9.startTime ROUTE Touch_z7_z8_z9.touchTime TO Audio_z7_z8_z9.startTime ROUTE Touch_z6_z8_z9.touchTime TO Audio_z6_z8_z9.startTime ROUTE Touch_z6_z7_z8.touchTime TO Audio_z6_z7_z8.startTime ROUTE Touch_z0_z2_z6.touchTime TO Audio_z0_z2_z6.startTime ROUTE Touch_z1_z2_z6.touchTime TO Audio_z1_z2_z6.startTime ROUTE Touch_z0_z1_z6.touchTime TO Audio_z0_z1_z6.startTime ROUTE Touch_z0_z4_z7.touchTime TO Audio_z0_z4_z7.startTime ROUTE Touch_z4_z5_z7.touchTime TO Audio_z4_z5_z7.startTime ROUTE Touch_z0_z5_z7.touchTime TO Audio_z0_z5_z7.startTime ROUTE Touch_z1_z5_z8.touchTime TO Audio_z1_z5_z8.startTime ROUTE Touch_z1_z3_z8.touchTime TO Audio_z1_z3_z8.startTime ROUTE Touch_z3_z5_z8.touchTime TO Audio_z3_z5_z8.startTime ROUTE Touch_z2_z4_z9.touchTime TO Audio_z2_z4_z9.startTime ROUTE Touch_z3_z4_z9.touchTime TO Audio_z3_z4_z9.startTime ROUTE Touch_z2_z3_z9.touchTime TO Audio_z2_z3_z9.startTime ROUTE Touch_z4_z7_z9.touchTime TO Audio_z4_z7_z9.startTime ROUTE Touch_z1_z6_z8.touchTime TO Audio_z1_z6_z8.startTime ROUTE Touch_z2_z6_z9.touchTime TO Audio_z2_z6_z9.startTime ROUTE Touch_z3_z8_z9.touchTime TO Audio_z3_z8_z9.startTime ROUTE Touch_z5_z7_z8.touchTime TO Audio_z5_z7_z8.startTime ROUTE Touch_z0_z6_z7.touchTime TO Audio_z0_z6_z7.startTime ROUTE Touch_z2_z3_z4.touchTime TO Audio_z2_z3_z4.startTime ROUTE Touch_z0_z1_z2.touchTime TO Audio_z0_z1_z2.startTime ROUTE Touch_z3_z4_z5.touchTime TO Audio_z3_z4_z5.startTime ROUTE Touch_z0_z4_z5.touchTime TO Audio_z0_z4_z5.startTime ROUTE Touch_z1_z2_z3.touchTime TO Audio_z1_z2_z3.startTime ROUTE Touch_z0_z1_z5.touchTime TO Audio_z0_z1_z5.startTime ROUTE Touch_z1_z3_z5.touchTime TO Audio_z1_z3_z5.startTime ROUTE Touch_z0_z2_z4.touchTime TO Audio_z0_z2_z4.startTime ROUTE Touch_z0_z1_z2_z6.touchTime TO Audio_z0_z1_z2_z6.startTime ROUTE Touch_z0_z4_z5_z7.touchTime TO Audio_z0_z4_z5_z7.startTime ROUTE Touch_z1_z3_z5_z8.touchTime TO Audio_z1_z3_z5_z8.startTime ROUTE Touch_z2_z3_z4_z9.touchTime TO Audio_z2_z3_z4_z9.startTime ROUTE Touch_z6_z7_z8_z9.touchTime TO Audio_z6_z7_z8_z9.startTime }