#VRML V2.0 utf8 #dieses Programm soll einen Sportler beschreiben # Funktioniert im gegensatz zu per4 , weil kein # FussL ### raetsel ## # Person # Programmierweise: linkes Bein- Huefte -linkes bein -und fumpf # WorldInfo { title "Sportler" info [ " Muenchen", "1997" ] } NavigationInfo { type "EXAMINE" } Transform { children [ Background { groundColor [ .14 .28 0, .09 .11 0 ] groundAngle [ .785 ] skyColor [ .02 0 .26, .02 0 .65 ] skyAngle [ .785 ] } ] } ###### Problem mehrere Viewpoints DEF Weit Viewpoint { fieldOfView 0.5 position -40 50 120 orientation -1 -0.8 0.6 0.5 description "weit weg" } DEF weiter Viewpoint { fieldOfView 0.5 position -160 200 500 orientation -2 -1 0 0.5 description "weiter weg" } DEF Normal Viewpoint { fieldOfView 1.5 position -10 10 10 orientation -0.5 -0.7 0 1 description "direkt am Knie" } DEF Seite Viewpoint { fieldOfView 1 position 40 10 0 orientation 0 1.0 0 1.57 description "Seitenansicht" } Group{ children [ DEF BodenC Transform { #der rotr Wurfkreis translation 0 -1 0 scale 1 1 1 children [ DEF Boden Shape { appearance DEF BodenA Appearance { material Material { diffuseColor 0.8 0.2 0 } } geometry Cylinder { radius 10 height 2 } } ] } # Stadionumgebung hinten DEF StadionH Transform { translation 0 -4 -50 scale 1 1 1 children [ DEF Gras Shape { appearance DEF GrasG Appearance { material Material { diffuseColor 0.3 0.9 0.3 } } geometry Cylinder { radius 50 height 4 } } ] } DEF StadionV Transform { translation 0 -4 50 children [ USE Gras ] } DEF StadionM Transform { translation 0 -4 0 scale 1 1 1 children [ DEF GrasM Shape { appearance USE GrasG geometry Box { size 100 4 100 } } ] } ] } #### # ende des stadion und bodenbaus ### ############################################################### Group { children [ DEF Sportler Group { children [ # Gesammtkoerperbew DEF Bew00 Transform { center 0 0 0 children [ # der linke Fuess als Anfang aller bewegungen DEF Bew01 Transform { center 2 1.5 0.5 children [ DEF FuL Transform { translation 2 0.5 0 scale 1 1 1 rotation 0 0 0 0 children [ DEF Fuss Shape { appearance DEF FussA Appearance { material Material { diffuseColor 1 1 0 } } geometry Box { size 1.5 1 3.75 } } ] }, # Fussgelenk rechts DEF FuGL Transform { translation 2 1 -1 scale 1 1 1 rotation 1 1 0 3.14 children [ DEF FussG Shape { appearance DEF FussGA Appearance { material Material { diffuseColor 0.7 0 0.5 } } geometry Cylinder { height 2 radius 0.75 } } ] } # der zweite teil der Unterschenkel DEF UnterLG Group { children [ DEF Bew02 Transform { # Unterschenkel center 2 1 -1 children [ DEF UnterSL Transform { translation 2 4.75 -1 scale 1 1 1 rotation 1 0 0 0.0 center 2 1 -1 children [ DEF UnterS Shape { appearance USE FussA geometry Cylinder { height 7.5 radius 1.25 } } ] }, # Knie links DEF KnieL Transform { translation 2 8.25 0 scale 1 1 1 rotation 1 1 0 3.14 children [ DEF Knie Shape { appearance USE FussGA geometry Cylinder { height 2.25 radius 1.76 } } ] } # Oberschenkel Links # Bewegung des linken Oberschenkels DEF OberLG Group { children [ DEF Bew03 Transform { # Oberschenkel center 2 8.5 0 children [ DEF OberSL Transform { translation 2 11.75 -1 scale 1 1 1 rotation -1 0 0 0.0 children [ DEF OberS Shape { appearance USE FussA geometry Cylinder { height 8.5 radius 1.75 } } ] } # Bewegung? # Huefte Links DEF HuefL Transform { translation 2.5 16.25 -1.4 scale 1 1 1 rotation 1 1 0 3.14 children [ DEF Huef Shape { appearance USE FussGA geometry Cylinder { height 4 radius 0.75 } } ] } ###### PO Links DEF PoL Transform { translation 1.75 15.25 -1.5 scale 1 1 1 children [ DEF Po Shape { appearance DEF PoA Appearance { material Material { diffuseColor 0.3 0.5 1 } } geometry Sphere { radius 2 } } ] } ############################################### # und jetzt das Becken mit Lendenwirbelsaeule DEF LWSG Group { children [ DEF Bew04 Transform { center 2.5 16.25 -1.4 children [ DEF LWST Transform { translation 0 18.25 -1 scale 1 1 1 center 0 8.5 0 children [ DEF Bec Shape { appearance USE FussA geometry Box { size 8 6 3 } } ] } DEF BrusG Group { children [ DEF Bew05 Transform { center 0 24.25 -1 children [ #### Und Dann die Brust mit dem Korb DEF BrusT Transform { translation 0 22.5 -1 scale 1 1 1 children [ DEF Brus Shape { appearance USE FussA geometry Box { size 8.5 9 3.25 } } ] } #### Schultern erst Links DEF ArmLG Group { children [ DEF Bew06 Transform { center 3.5 26 0.75 children [ DEF SchLT Transform { translation 4 26 -0.75 scale 1 1 1 children [ DEF Sch Shape { appearance USE PoA geometry Sphere { radius 2 } } ] } DEF OberAL Transform { translation 7.75 26 -0.5 scale 1 1 1 rotation 0 0 -1 1.57 children [ DEF OberA Shape { appearance USE FussA geometry Cylinder { height 5.5 radius 1 } } ] } DEF Bew07 Transform { center 10.25 26 0.75 children [ DEF UnterAL Transform { translation 13 26 -0.5 scale 1 1 1 rotation 0 0 -1 1.57 children [ DEF UnterA Shape { appearance USE FussA geometry Cylinder { height 4.5 radius 0.75 } } ] } DEF Bew08 Transform { center 13 26 0.75 children [ DEF HandL Transform { translation 17 26 -0.5 rotation 1 0 0 1.57 children [ DEF Hand Shape { appearance DEF HandA Appearance { material Material { emissiveColor 0.8 0.6 0 } } geometry Box { size 3.3 2 1 } } ] } ######Die Kugel des Stožers DEF Bew09 Transform { children [ DEF Kugel Transform { translation 17 28 -0.5 rotation 0 0 0 0 children [ DEF KugelS Shape { appearance DEF KugelA Appearance { material Material { emissiveColor 1.0 0.3 0.0 } } geometry Sphere { radius 2 } } ] } ] # Bew09 Kugel } # ] # Bew 08 } # ] # } #Bew07 ] # ArmL } # ] # ArmL } # Group ########ende Linker Arm #### Schultern dann Rechts DEF ArmRG Group { children [ DEF Bew06R Transform { center -3.5 26 0.75 children [ DEF SchRT Transform { translation -4 26 -0.75 scale 1 1 1 children USE Sch } DEF OberAR Transform { translation -8.25 26 -0.5 scale 1 1 1 rotation 0 0 1 1.57 children USE OberA } DEF Bew07R Transform { center -10.25 26 -0.5 children [ DEF UnterAR Transform { translation -13.25 26 -0.5 scale 1 1 1 rotation 0 0 1 1.57 children USE UnterA } DEF Bew08R Transform { center -13 26 0.75 children [ DEF HandR Transform { translation -17 26 -0.5 rotation 1 0 0 1.57 children USE Hand } ] # Bew08r } # ] # Bew07R } ] # ArmR ##### ende Rechter Arm } # ] }## ArmR Group #### Hals hat er Kopf noch nicht DEF Bew06M Transform { center 0 26 0.75 children [ DEF HalT Transform { translation 0 28 -0.5 scale 1 1 1 children [ DEF Sch Shape { appearance USE FussGA geometry Cylinder { radius 1.5 height 3.5 } } ] } DEF Kopf Transform { translation 0 31.5 0 scale 1 1.5 1.3 children [ DEF KopfS Shape { appearance DEF KopfA Appearance { material Material { diffuseColor 0.7 0.6 0.4 } } geometry Sphere { radius 2.1 } } ] } DEF Haar Transform { translation -0.2 32.9 0 rotation 0 0 0 1.57 scale 1 1 1.2 children [ DEF HaarS Shape { appearance DEF HaarA Appearance { material Material { diffuseColor 0.2 0.2 0.1 } } geometry Sphere { radius 2.2 } } ] } DEF Augen Transform { translation 1 31.6 2 rotation 0 0 0 1.57 scale 1 1 1.2 children [ DEF AugenS Shape { appearance DEF AugenA Appearance { material Material { diffuseColor 1 1 1 } } geometry Sphere { radius 0.5 } } ] } DEF Augen Transform { translation -1 31.6 2 rotation 0 0 0 1.57 scale 1 1 1.2 children USE AugenS } DEF Nase Transform { translation 0 31 3 rotation 0 0 0 1.57 scale 1 1 1.2 children [ DEF NaseS Shape { appearance DEF NaseA Appearance { material Material { emissiveColor 1 1 0.2 } } geometry Cone { bottomRadius 0.7 height 1 } } ] } DEF Mund Transform { translation 0 29.7 0.8 rotation 0 1 0 1.57 scale 1 1 1.2 children [ DEF MundS Shape { appearance DEF MundA Appearance { material Material { emissiveColor 1 0.1 0.1 } } geometry Cylinder { radius 1.4 height 0.2 } } ] } ] # Kopf } # ] # Brust } #Bew05 ] # brust } # group ####################################################### # die Rechte seite ##### Beine ########## DEF OberRG Group { children [ DEF Bew03R Transform { center -2.5 16.25 -1.4 children [ # die blaue Kugel der PO Rechts DEF PoR Transform { translation -1.75 15.25 -1.5 scale 1 1 1 children [ USE Po ] } # Hueftgelenk R DEF HuefR Transform { translation -2.5 16.25 -1.4 scale 1 1 1 rotation 1 1 0 3.14 children [ USE Huef ] } # Oberschenkel R DEF OberSR Transform { translation -2 11.75 -1 scale 1 1 1 center -2.5 16.25 -1.4 rotation 0 0 0 0 children [ USE OberS ] } # Knie R DEF KnieR Transform { translation -2 8.25 0 scale 1 1 1 rotation 1 1 0 3.14 children [ USE Knie ] } DEF UnterRG Group { children [ DEF Bew02R Transform { center -2.5 8.25 0 children [ # Unterschenkel R DEF UnterSR Transform { translation -2 4.75 -1 scale 1 1 1 rotation 0 0 0 0 children [ USE UnterS ] } # Fussgelenk R DEF FuGR Transform { translation -4 0 0 children [ USE FuGL ] } DEF FuRG Group { children [ DEF Bew01R Transform { center -2 1 -1 children [ DEF FuR Transform { translation -2 0.5 0 children [ USE Fuss ] } ######################################################## # Klammern ###### rechtes bein zu ]# Bew01R }# TR ] # FussRG } # ]# Bew02R }# ] # UnterRG } ] # Bew03R } # Beckenbew ] #OberRG } ######################## rechtes Bein zu ####### ] # Bew04 } # ] # LWSG } ####################### Oberkoerper zu ] # Bew03 } # ] #OberG } ] # Bew02 } # ] # Unter } ] # Bew01 } # ] # Bew00 Positioninterpolator } # ] # children } # sportler group ] # children } # group ####################################################### ################### Zeitmaschine ### DEF Clock TimeSensor { cycleInterval 10.0 loop TRUE } ############## Bewegungsinterpolatoren ########### # GesammtkoerperTranslation DEF PBew00 PositionInterpolator { key [ 0.0 0.25 0.5 0.75 1.0 ] keyValue [ 0 0 0 , 0 0 0 , 0 0 0 , 0 0 0 , 0 0 0 ] } # Bewegung Fuss Links DEF OBew01 OrientationInterpolator { key [ 0.0 0.2 0.4 0.6 0.8 1.0 ] keyValue [ 1 0 0 0 , 1 0 0 0.0 , 1 0 0 0.1 , 1 0 0 0.7 , 1 0 0 0.7 , 1 0 0 0 ] } # Bewegung Fuss rechts DEF OBew01R OrientationInterpolator { key [ 0.0 0.25 0.5 0.75 1.0 ] keyValue [ 1 0 0 0 , 1 0 0 0.4 , 1 0 0 0.7 , 1 0 0 0.4 , 1 0 0 0 ] } # Beugung im Sprunggelenk Links Unterschenkel DEF OBew02 OrientationInterpolator { key [ 0.0 0.2 0.4 0.6 0.8 1.0 ] keyValue [ 1 0 0 0 , 1 0 0 0.3 , 1 0 0 0.5 , 1 0 0 -0.2 , 1 0 0 -0.1 , 1 0 0 0 ] } # Unterschenkel Rechts DEF OBew02R OrientationInterpolator { key [ 0.0 0.33 0.66 1.0 ] keyValue [ 1 0 0 0 , 1 0 0 0.4 , 1 0 0 0.7 , 1 0 0 0 ] } ###### Bewegung Im Knie ( bewegung der Oberschenkel)Links DEF OBew03 OrientationInterpolator { key [ 0.0 0.2 0.4 0.6 0.8 1.0 ] keyValue [ 1 0 0 0.0 , -1 0 0 0.9 , -1 0 0 1.2 , -1 0 0 1.3 , -1 0 0 0.2 , 1 0 0 0.1 ] } ######## Rechter Oberschenkel entgegengesetzte bezugspunkte DEF OBew03R OrientationInterpolator { key [ 0.0 0.2 0.4 0.6 0.8 1.0 ] keyValue [ -1 0 0 0.1 , -1 1 -1 0.2 , -1 2 -2 0.3 , -1 2 -3 0.4 , 1 0 3 -1.2 , -1 0 0 0.0 ] } ### Bewegung des Beckens DEF OBew04 OrientationInterpolator { key [ 0.0 0.2 0.4 0.6 0.8 1.0 ] keyValue [ -1 0 0 0.1 , 1 0 -1 0.2 , 1 0 -2 0.3 , 1 0 -3 0.4 , 1 0 1 0.1 , -1 0 0 0.1 ] } ### Bewegung Oberkoerpers mit Brust DEF OBew05 OrientationInterpolator { key [ 0.0 0.2 0.4 0.6 0.8 1.0 ] keyValue [ -1 0 0 0.1 , 1 0 -1 0.2 , 1 0 -2 0.3 , 1 0 -3 0.4 , 1 0 1 0.1 , -1 0 0 0.1 ] } ### Linke Schulter DEF OBew06 OrientationInterpolator { key [ 0.0 0.2 0.4 0.6 0.8 1.0 ] keyValue [ -1 0 0 0.1 , 1 0 -0.9 1.57 , 1 -1 2 1.57 , 1 0 1.6 1.57 , 1 0 -5 0.1 , -1 0 0 0.1 ] } ### Rechte Schulter DEF OBew06R OrientationInterpolator { key [ 0.0 0.2 0.4 0.6 0.8 1.0 ] keyValue [ -1 0 0 0.1 , 1 0 -1 0.2 , 1 0 -2 0.3 , 1 0 -3 0.4 , 1 0 1 0.1 , -1 0 0 0.1 ] } ### Linker Unterarm DEF OBew07 OrientationInterpolator { key [ 0.0 0.2 0.4 0.6 0.8 1.0 ] keyValue [ -1 0 0 0.1 , 0 1 -1 0.2 , 1 1 2 0.3 , 1 1 1 0.57 , 1 0 1 0.1 , -1 0 0 0.1 ] } ### Rechte Unterarm DEF OBew07R OrientationInterpolator { key [ 0.0 0.2 0.4 0.6 0.8 1.0 ] keyValue [ -1 0 0 0.1 , 1 0 -1 0.2 , 1 0 -2 0.3 , 1 0 -3 0.4 , 1 0 1 0.1 , -1 0 0 0.1 ] } ### Linke Hand DEF OBew08 OrientationInterpolator { key [ 0.0 0.2 0.4 0.6 0.8 1.0 ] keyValue [ 0 0 0 0.1 , 0 0 0 1.57 , 0 0 0 1.57 , 0 0 0 1.57 , 0 0 0 1.57 , 0 0 0 0.1 ] } ### Rechte Hand DEF OBew08R OrientationInterpolator { key [ 0.0 0.2 0.4 0.6 0.8 1.0 ] keyValue [ -1 0 0 0.1 , 1 0 -1 0.2 , 1 0 -2 0.3 , 1 0 -3 0.4 , 1 0 1 0.1 , -1 0 0 0.1 ] } ### Kopf DEF OBew06M OrientationInterpolator { key [ 0.0 0.2 0.4 0.6 0.8 1.0 ] keyValue [ -1 0 0 0.1 , 1 0 -1 0.2 , 1 0 -2 0.3 , 1 0 -3 0.4 , 1 0 1 0.1 , -1 0 0 0.1 ] } # Kugel Translation DEF PBew09 PositionInterpolator { key [ 0.0 0.2 0.4 0.6 0.7 0.8 0.9 1.0 ] keyValue [ 0 0 0 , 0 0 0 , 0 0 0 , -100 140 0 , -175 -175 0 , 0 -400 0 , 30 10 0 , 0 0 0 ] } ##### Verkabelungen O steht fuer Orientation # Bewegung Positioninterpolator ROUTE Clock.fraction_changed TO PBew00.set_fraction ROUTE PBew00.value_changed TO Bew00.set_translation # Bewegung Fuss Links ROUTE Clock.fraction_changed TO OBew01.set_fraction ROUTE OBew01.value_changed TO Bew01.set_rotation # Bewegung Fuss Rechts ROUTE Clock.fraction_changed TO OBew01R.set_fraction ROUTE OBew01R.value_changed TO Bew01R.set_rotation # Unterschenkel Links ROUTE Clock.fraction_changed TO OBew02.set_fraction ROUTE OBew02.value_changed TO Bew02.set_rotation # Unterschenkel Rechts ROUTE Clock.fraction_changed TO OBew02R.set_fraction ROUTE OBew02R.value_changed TO Bew02R.set_rotation # Oberschenkel Links ROUTE Clock.fraction_changed TO OBew03.set_fraction ROUTE OBew03.value_changed TO Bew03.set_rotation # Oberschenkel Rechts ROUTE Clock.fraction_changed TO OBew03R.set_fraction ROUTE OBew03R.value_changed TO Bew03R.set_rotation # Becken ROUTE Clock.fraction_changed TO OBew04.set_fraction ROUTE OBew04.value_changed TO Bew04.set_rotation # Brust ROUTE Clock.fraction_changed TO OBew05.set_fraction ROUTE OBew05.value_changed TO Bew05.set_rotation # Schulter Links ROUTE Clock.fraction_changed TO OBew06.set_fraction ROUTE OBew06.value_changed TO Bew06.set_rotation # Unterarm Links ROUTE Clock.fraction_changed TO OBew07.set_fraction ROUTE OBew07.value_changed TO Bew07.set_rotation # Hand Links ROUTE Clock.fraction_changed TO OBew08.set_fraction ROUTE OBew08.value_changed TO Bew08.set_rotation # Schulter Rechts ROUTE Clock.fraction_changed TO OBew06R.set_fraction ROUTE OBew06R.value_changed TO Bew06R.set_rotation # Unterarm Rechts ROUTE Clock.fraction_changed TO OBew07R.set_fraction ROUTE OBew07R.value_changed TO Bew07R.set_rotation # Hand Rechts ROUTE Clock.fraction_changed TO OBew08R.set_fraction ROUTE OBew08R.value_changed TO Bew08R.set_rotation # Kopf eigentlich Hals ROUTE Clock.fraction_changed TO OBew06M.set_fraction ROUTE OBew06M.value_changed TO Bew06M.set_rotation # Bewegung Positioninterpolator Kugel ROUTE Clock.fraction_changed TO PBew09.set_fraction ROUTE PBew09.value_changed TO Bew09.set_translation # Ende