Links und Funktionen
Sprachumschaltung

Navigationspfad
Sie sind hier: Startseite / Probestudium / 2010 / WS I: 3D-Programmierung / HighEnergy.py


Inhaltsbereich

HighEnergy.py

HighEnergy.py — text/python-source, 35 KB (36702 bytes)

Dateiinhalt

from visual import *
from visual.text import *
import time

#3D: scene.stereo='redcyan'

scene.lights=scene.lights[1]
scene.center = [600,-200,1]
scene.forward = [-0.857782, 0.186936, -0.478816]
scene.fullscreen = False
scene.width=1920
scene.height=1080

"""Setting cameradistance"""
DISTANCE=sphere(pos=(0,-1615,0),
             radius=400,
             color=(0,0,0.5),
             opacity=0)
scene.autoscale=False

"""Class for the Scenery"""
class Scenery:
    def __init__ (self):
        GROUND=box(pos=(0,-1615,0),
                   length=30000,
                   width=30000,
                   height=1000,
                   color=(0.2,0.2,0.2))
        SKY=sphere(pos=(0,-1615,0),
                   radius=15000,
                   color=(0,0,0.5))
        PLATFORM=box(pos=(0,-1075,0),
                     length=1000,
                     width=1000,
                     height=80,
                     color=(0.8,0.8,0.8))
        PILLAR_1=box(pos=(310,-660,-230),
                     length=30,
                     width=30,
                     height=1500,
                     color=(0.8,0.8,0.8),
                     material=materials.emissive)
        PILLAR_2=box(pos=(310,-660,230),
                     length=30,
                     width=30,
                     height=1500,
                     color=(0.8,0.8,0.8),
                     material=materials.emissive)
        PILLAR_3=box(pos=(-340,-700,0),
                     length=35,
                     width=55,
                     height=1500,
                     color=(0.8,0.8,0.8),
                     material=materials.emissive)
        CENTERLINE=cylinder(pos=(-125,0,0),
                            axis=(1,0,0),
                            radius=35,
                            length=250,
                            color=(1,0.8,0),
                            material=materials.emissive,
                            opacity=0.8)
        CENTERLINE_B=cylinder(pos=(-125,0,0),
                              axis=(1,0,0),
                              radius=35,
                              length=250,
                              color=(0,0,0))
        DECOR_1=cylinder(pos=(-480,-900,0),
                           axis=(1,0,0),
                           radius=250,
                           length=50,
                           color=(1,0.8,0),
                           material=materials.emissive)
        DECOR_2=cylinder(pos=(-480,-900,250),
                         axis=(1,0,0),
                         radius=180,
                         length=20,
                         color=(1,0.4,0),
                         material=materials.emissive)
        DECOR_3=cylinder(pos=(-480,-900,-250),
                         axis=(1,0,0),
                         radius=180,
                         length=20,
                         color=(1,0.4,0),
                         material=materials.emissive)
        DECOR_4=cylinder(pos=(-480,-900,0),
                         axis=(1,0,0),
                         radius=150,
                         length=54,
                         color=(1,0.4,0),
                         material=materials.emissive)
        DECOR_5=cylinder(pos=(-480,-900,250),
                         axis=(1,0,0),
                         radius=80,
                         length=24,
                         color=(1,0.8,0),
                         material=materials.emissive)
        DECOR_6=cylinder(pos=(-480,-900,-250),
                         axis=(1,0,0),
                         radius=80,
                         length=24,
                         color=(1,0.8,0),
                         material=materials.emissive)
        DECOR_1_B=cylinder(pos=(-481,-900,0),
                           axis=(1,0,0),
                           radius=220,
                           length=52,
                           color=(0,0,0))
        DECOR_2_B=cylinder(pos=(-481,-900,250),
                           axis=(1,0,0),
                           radius=150,
                           length=22,
                           color=(0,0,0))
        DECOR_3_B=cylinder(pos=(-481,-900,-250),
                           axis=(1,0,0),
                           radius=150,
                           length=22,
                           color=(0,0,0))
        DECOR_4_B=cylinder(pos=(-481,-900,0),
                           axis=(1,0,0),
                           radius=120,
                           length=56,
                           color=(0,0,0))
        DECOR_5_B=cylinder(pos=(-481,-900,250),
                           axis=(1,0,0),
                           radius=50,
                           length=26,
                           color=(0,0,0))
        DECOR_6_B=cylinder(pos=(-481,-900,-250),
                           axis=(1,0,0),
                           radius=50,
                           length=26,
                           color=(0,0,0))
        BACK_WALL=cylinder(pos=(-500,-1075,0),
                           length=20,
                           radius=480,
                           material=materials.emissive,
                           color=(1,1,1))
        BACK_WALL_B=cylinder(pos=(-500,-1075,0),
                             length=10,
                             radius=500)
        PILLAR_1.rotate(angle=pi/10,axis=(1,0,0))
        PILLAR_1.rotate(angle=pi/10,axis=(0,0,1))
        PILLAR_2.rotate(angle=-pi/10,axis=(1,0,0))
        PILLAR_2.rotate(angle=pi/10,axis=(0,0,1))
        PILLAR_3.rotate(angle=-pi/10,axis=(0,0,1))
    
"""Class for the text 'High Energy' """
class Name:
    def __init__ (self):
        TEXT_HOLDER_1=box(pos=(240,-500,0),
                          length=330,
                          height=10,
                          width=10,
                          axis=(0,0,-10),
                          color=color.red,
                          material=materials.emissive)
        TEXT_HOLDER_2=box(pos=(270,-600,0),
                          length=400,
                          height=10,
                          width=10,
                          axis=(0,0,-10),
                          color=color.red,
                          material=materials.emissive)
        TEXT_HOLDER_3=box(pos=(290,-650,10),
                          length=425,
                          height=10,
                          width=10,
                          axis=(0,0,-10),
                          color=(1,1,1),
                          material=materials.emissive)
        TEXT_HOLDER_4=box(pos=(340,-770,0),
                          length=500,
                          height=10,
                          width=10,
                          axis=(0,0,-10),
                          color=color.red,
                          material=materials.emissive)

        TEXT_H=text(pos=(280,-600,100),
                    string='H',
                    color=(0.82,0.41,0.11),
                    depth=0.4,
                    justify='center',
                    axis=(0,5,-10),
                    height=90)
        TEXT_I=text(pos=(280,-600,50),
                    string='I',
                    color=(1,1,0),
                    depth=0.4,
                    justify='center',
                    axis=(0,0,-10))
        TEXT_G=text(pos=(280,-600,-25),
                    string='G',
                    color=(0.82,0.41,0.11),
                    depth=0.4,
                    justify='center',
                    height=90,
                    axis=(0,0,-10))
        TEXT_H=text(pos=(280,-610,-125),
                    string='H',
                    color=(1,1,0),
                    depth=0.4,
                    justify='center',
                    height=90,
                    axis=(0,-5,-10))
        TEXT_E=text(pos=(340,-760,180),
                    string='E',
                    color=(0.82,0.41,0.11),
                    justify='center',
                    height=70,
                    axis=(0,5,-10))
        TEXT_N=text(pos=(340,-750,100),
                    string='N',
                    color=(0.82,0.41,0.11),
                    depth=0.4,
                    justify='center',
                    height=70,
                    axis=(0,3,-10))
        TEXT_R=text(pos=(340,-750,-10),
                    string='ER',
                    color=(0.82,0.41,0.11),
                    depth=0.4,
                    justify='center',
                    height=70,
                    axis=(0,0,-10))
        TEXT_G=text(pos=(340,-750,-120),
                    string='G',
                    color=(0.82,0.41,0.11),
                    depth=0.4,
                    justify='center',
                    height=70,
                    axis=(0,-3,-10))
        TEXT_Y=text(pos=(340,-760,-180),
                    string='Y',
                    color=(0.82,0.41,0.11),
                    depth=0.4,
                    justify='center',
                    height=70,
                    axis=(0,-5,-10))

"""Class for the Stairs"""
class Stair:
    def __init__ (self):
        Stair=list()
        for x in range(17):
            Stair.append(box(pos=(600-(x*5),-1112,0),
                             length=200-(x*10),
                             width=1000-(x*0.1),
                             height=0+(x*10),
                             color=(1,0+(x*0.07),0)))
    
        STAIR_1=box(pos=(600,-1112,0),
                    length=200,
                    width=1000,
                    height=4,
                    color=color.black)

"""Class for the Railings"""
class Railing:
    def __init__ (self,a):
        Railing=list()
        for x in range(9):
            Railing.append(curve(pos=[(720-(x*20),(-1112+9)+(x*10),a),
                                      (700-(x*20),(-1112+19)+(x*10),a),
                                      (700-(x*20),(-1112+0)+(x*10),a),
                                      (700-(x*20),(-1112+19)+(x*10),a),
                                      (680-(x*20),(-1112+29)+(x*10),a)],
                                 radius=2,
                                 material=materials.emissive,
                                 color=(0.8,0.8,0.8)))
        Railing_2=curve(pos=[(520,-1112+109,a),
                             (520,-1112+80,a),
                             (520,-1112+109,a),
                             (510,-1112+109,a)],
                        radius=2,
                        color=(0.6,0.6,0.6))
        g=list()

"""Building the cashpoints"""
class Cashpoint (object):
    def __init__ (self,x,y,z):
        WALL_1=box(pos=(0+x,0+y,0+z),
                   length=120,
                   width=120,
                   height=5,
                   material=materials.wood)
        WALL_2=box(pos=(0+x,85+y,60+z),
                   length=120,
                   width=5,
                   height=175,
                   material=materials.wood)
        WALL_3=box(pos=(0+x,85+y,-60+z),
                   length=120,
                   width=5,
                   height=175,
                   material=materials.wood)
        WALL_4=box(pos=(-60+x,85+y,0+z),
                   length=5,
                   width=120,
                   height=175,
                   material=materials.wood)
        WALL_5=box(pos=(60+x,37.5+y,0+z),
                   length=5,
                   width=120,
                   height=75,
                   material=materials.wood)
        WALL_6=box(pos=(60+x,112.5+y,0+z),
                   length=5,
                   width=120,
                   height=75,
                   opacity=0.4)
        WALL_7=box(pos=(60+x,160+y,0+z),
                   length=5,
                   width=120,
                   height=25,
                   material=materials.wood)
        ROOF=pyramid(pos=(0+x,170+y,0+z),
                     length=50,
                     width=140,
                     height=140,
                     axis=(0,1,0),)
        BAR=curve(pos=[(60+x,75+y,+30+z),
                       (60+x,80+y,30+z),
                       (60+x,80+y,-30+z),
                       (60+x,75+y,-30+z)],
                  color=color.black)
        LIGHT=box(pos=(0+x,85+y,0+z),
                  length=110,
                  width=110,
                  height=170,
                  material=materials.emissive,
                  color=(1,0.85,0),
                  opacity=0.8)
        
bench_1=frame()
Bench = list()
for x in range(5):
    Bench.append(box(pos=(140+x*40,-945,30),
                     length=30,
                     width=30,
                     height=5,
                     color=(0.5,0.5,0.5),
                     frame=bench_1))
    Bench.append(box(pos=(140+x*40,-925,15),
                     length=30,
                     width=5,
                     height=40,
                     color=(0.5,0.5,0.5),
                     frame=bench_1))
    Bench.append(curve(pos=[(130+x*40,-910,15),
                            (130+x*40,-910,40),
                            (130+x*40,-935,40),
                            (150+x*40,-935,40),
                            (150+x*40,-910,40),
                            (150+x*40,-910,15)],
                       radius=3,
                       color=(0.3,0.3,0.3),
                       frame=bench_1))
    Bench.append(box(pos=(140+x*40,-925,15),
                     length=20,
                     width=7,
                     height=30,
                     color=(1,0.8,0),
                     material=materials.emissive,
                     frame=bench_1))
    Bench.append(box(pos=(140+x*40,-945,30),
                     length=20,
                     width=20,
                     height=7,
                     color=(1,0.8,0),
                     material=materials.emissive,
                     frame=bench_1))
Lights = list()
for x in range(10):
    Lights.append(ring(pos=(50+x*26.5,-945,0),
                       axis=(1,0,0),
                       radius=15.8,
                       thickness=3,
                       color=(1,0.3,0),
                       material=materials.emissive,
                       frame=bench_1))
SUSPENSION=cylinder(pos=(0,-945,0),
                    length=330,
                    radius=15,
                    color=(1,0.7,0),
                    frame=bench_1)

bench_2=frame()
Bench = list()
for x in range(5):
    Bench.append(box(pos=(140+x*40,-945,30),
                     length=30,
                     width=30,
                     height=5,
                     color=(0.5,0.5,0.5),
                     frame=bench_2))
    Bench.append(box(pos=(140+x*40,-925,15),
                     length=30,
                     width=5,
                     height=40,
                     color=(0.5,0.5,0.5),
                     frame=bench_2))
    Bench.append(curve(pos=[(130+x*40,-910,15),
                            (130+x*40,-910,40),
                            (130+x*40,-935,40),
                            (150+x*40,-935,40),
                            (150+x*40,-910,40),
                            (150+x*40,-910,15)],
                       radius=3,
                       color=(0.3,0.3,0.3),
                       frame=bench_2))
    Bench.append(box(pos=(140+x*40,-925,15),
                     length=20,
                     width=7,
                     height=30,
                     color=(1,0.8,0),
                     material=materials.emissive,
                     frame=bench_2))
    Bench.append(box(pos=(140+x*40,-945,30),
                     length=20,
                     width=20,
                     height=7,
                     color=(1,0.8,0),
                     material=materials.emissive,
                     frame=bench_2))
Lights = list()
for x in range(10):
    Lights.append(ring(pos=(50+x*26.5,-945,0),
                       axis=(1,0,0),
                       radius=15.8,
                       thickness=3,
                       color=(1,0.3,0),
                       material=materials.emissive,
                       frame=bench_2))
SUSPENSION=cylinder(pos=(0,-945,0),
                    length=330,
                    radius=15,
                    color=(1,0.7,0),
                    frame=bench_2)


bench_3=frame()
Bench = list()
for x in range(5):
    Bench.append(box(pos=(140+x*40,-945,30),
                     length=30,
                     width=30,
                     height=5,
                     color=(0.5,0.5,0.5),
                     frame=bench_3))
    Bench.append(box(pos=(140+x*40,-925,15),
                     length=30,
                     width=5,
                     height=40,
                     color=(0.5,0.5,0.5),
                     frame=bench_3))
    Bench.append(curve(pos=[(130+x*40,-910,15),
                            (130+x*40,-910,40),
                            (130+x*40,-935,40),
                            (150+x*40,-935,40),
                            (150+x*40,-910,40),
                            (150+x*40,-910,15)],
                       radius=3,
                       color=(0.3,0.3,0.3),
                       frame=bench_3))
    Bench.append(box(pos=(140+x*40,-925,15),
                     length=20,
                     width=7,
                     height=30,
                     color=(1,0.8,0),
                     material=materials.emissive,
                     frame=bench_3))
    Bench.append(box(pos=(140+x*40,-945,30),
                     length=20,
                     width=20,
                     height=7,
                     color=(1,0.8,0),
                     material=materials.emissive,
                     frame=bench_3))
Lights = list()
for x in range(10):
    Lights.append(ring(pos=(50+x*26.5,-945,0),
                       axis=(1,0,0),
                       radius=15.8,
                       thickness=3,
                       color=(1,0.3,0),
                       material=materials.emissive,
                       frame=bench_3))
SUSPENSION=cylinder(pos=(0,-945,0),
                    length=330,
                    radius=15,
                    color=(1,0.7,0),
                    frame=bench_3)

bench_4=frame()
Bench = list()
for x in range(5):
    Bench.append(box(pos=(140+x*40,-945,30),
                     length=30,
                     width=30,
                     height=5,
                     color=(0.5,0.5,0.5),
                     frame=bench_4))
    Bench.append(box(pos=(140+x*40,-925,15),
                     length=30,
                     width=5,
                     height=40,
                     color=(0.5,0.5,0.5),
                     frame=bench_4))
    Bench.append(curve(pos=[(130+x*40,-910,15),
                            (130+x*40,-910,40),
                            (130+x*40,-935,40),
                            (150+x*40,-935,40),
                            (150+x*40,-910,40),
                            (150+x*40,-910,15)],
                       radius=3,
                       color=(0.3,0.3,0.3),
                       frame=bench_4))
    Bench.append(box(pos=(140+x*40,-925,15),
                     length=20,
                     width=7,
                     height=30,
                     color=(1,0.8,0),
                     material=materials.emissive,
                     frame=bench_4))
    Bench.append(box(pos=(140+x*40,-945,30),
                     length=20,
                     width=20,
                     height=7,
                     color=(1,0.8,0),
                     material=materials.emissive,
                     frame=bench_4))
Lights = list()
for x in range(10):
    Lights.append(ring(pos=(50+x*26.5,-945,0),
                       axis=(1,0,0),
                       radius=15.8,
                       thickness=3,
                       color=(1,0.3,0),
                       material=materials.emissive,
                       frame=bench_4))
SUSPENSION=cylinder(pos=(0,-945,0),
                    length=330,
                    radius=15,
                    color=(1,0.7,0),
                    frame=bench_4)

bench_5=frame()
Bench = list()
for x in range(5):
    Bench.append(box(pos=(140+x*40,-945,30),
                     length=30,
                     width=30,
                     height=5,
                     color=(0.5,0.5,0.5),
                     frame=bench_5))
    Bench.append(box(pos=(140+x*40,-925,15),
                     length=30,
                     width=5,
                     height=40,
                     color=(0.5,0.5,0.5),
                     frame=bench_5))
    Bench.append(curve(pos=[(130+x*40,-910,15),
                            (130+x*40,-910,40),
                            (130+x*40,-935,40),
                            (150+x*40,-935,40),
                            (150+x*40,-910,40),
                            (150+x*40,-910,15)],
                       radius=3,
                       color=(0.3,0.3,0.3),
                       frame=bench_5))
    Bench.append(box(pos=(140+x*40,-925,15),
                     length=20,
                     width=7,
                     height=30,
                     color=(1,0.8,0),
                     material=materials.emissive,
                     frame=bench_5))
    Bench.append(box(pos=(140+x*40,-945,30),
                     length=20,
                     width=20,
                     height=7,
                     color=(1,0.8,0),
                     material=materials.emissive,
                     frame=bench_5))
Lights = list()
for x in range(10):
    Lights.append(ring(pos=(50+x*26.5,-945,0),
                       axis=(1,0,0),
                       radius=15.8,
                       thickness=3,
                       color=(1,0.3,0),
                       material=materials.emissive,
                       frame=bench_5))
SUSPENSION=cylinder(pos=(0,-945,0),
                    length=330,
                    radius=15,
                    color=(1,0.7,0),
                    frame=bench_5)

bench_6=frame()
Bench = list()
for x in range(5):
    Bench.append(box(pos=(140+x*40,-945,30),
                     length=30,
                     width=30,
                     height=5,
                     color=(0.5,0.5,0.5),
                     frame=bench_6))
    Bench.append(box(pos=(140+x*40,-925,15),
                     length=30,
                     width=5,
                     height=40,
                     color=(0.5,0.5,0.5),
                     frame=bench_6))
    Bench.append(curve(pos=[(130+x*40,-910,15),
                            (130+x*40,-910,40),
                            (130+x*40,-935,40),
                            (150+x*40,-935,40),
                            (150+x*40,-910,40),
                            (150+x*40,-910,15)],
                       radius=3,
                       color=(0.3,0.3,0.3),
                       frame=bench_6))
    Bench.append(box(pos=(140+x*40,-925,15),
                     length=20,
                     width=7,
                     height=30,
                     color=(1,0.8,0),
                     material=materials.emissive,
                     frame=bench_6))
    Bench.append(box(pos=(140+x*40,-945,30),
                     length=20,
                     width=20,
                     height=7,
                     color=(1,0.8,0),
                     material=materials.emissive,
                     frame=bench_6))
Lightring = list()
for x in range(10):
    Lightring.append(ring(pos=(50+x*26.5,-945,0),
                          axis=(1,0,0),
                          radius=15.8,
                          thickness=3,
                          color=(1,0.3,0),
                          material=materials.emissive,
                          frame=bench_6))
SUSPENSION=cylinder(pos=(0,-945,0),
                    length=330,
                    radius=15,
                    color=(1,0.7,0),
                    frame=bench_6)

"""Rotation if the benches"""
bench_1.rotate(angle=0*pi/3,axis=(0,1,0))
bench_2.rotate(angle=1*pi/3,axis=(0,1,0))
bench_3.rotate(angle=2*pi/3,axis=(0,1,0))
bench_4.rotate(angle=3*pi/3,axis=(0,1,0))
bench_5.rotate(angle=4*pi/3,axis=(0,1,0))
bench_6.rotate(angle=5*pi/3,axis=(0,1,0))

"""Adding the benches to the frame 'spider' """
spider=frame()
bench_1.frame=spider
bench_2.frame=spider
bench_3.frame=spider
bench_4.frame=spider
bench_5.frame=spider
bench_6.frame=spider

rotor=frame()

"""Objects of the main rotor"""
class Rotor:
    def __init__ (self):
        ROTOR=ellipsoid(pos=(0,0,0),
                        length=150,
                        height=150,
                        width=2000,
                        axis=(0,1,0),
                        color=(1,0,0),
                        opacity=0.7,
                        material=materials.emissive,
                        frame=rotor)
        ROTOR_INNER=ellipsoid(pos=(0,0,0),
                              length=149,
                              height=149,
                              width=1999,
                              axis=(0,1,0),
                              color=(0,0,0),
                              frame=rotor)
        SPHERE=sphere(pos=(0,910,0),
                      radius=90,
                      color=(1,0,0),
                      material=materials.emissive,
                      opacity=0.7,
                      frame=rotor)
        SPHERE_INNER=sphere(pos=(0,911,0),
                            radius=80,
                            color=(0,0,0),
                            frame=rotor)
        RAINBOW_1=cylinder(pos=(0,-175,0),
                           axis=(0,1,0),
                           radius=85,
                           length=350,
                           color=(0.8,0.8,0.8),
                           material=materials.emissive,
                           frame=rotor)
        RAINBOW_2=cylinder(pos=(0,-250,0),
                           axis=(0,1,0),
                           radius=75,
                           length=500,
                           color=(1,1,0.5),
                           opacity=0.9,
                           material=materials.emissive,
                           frame=rotor)
        RAINBOW_3=cylinder(pos=(0,-325,0),
                           axis=(0,1,0),
                           radius=73,
                           length=650,
                           color=(1,1,0),
                           opacity=0.8,
                           material=materials.emissive,
                           frame=rotor)
        RAINBOW_4=cylinder(pos=(0,-400,0),
                           axis=(0,1,0),
                           radius=70,
                           length=800,
                           color=(1,0.8,0),
                           opacity=0.7,
                           material=materials.emissive,
                           frame=rotor)
        RAINBOW_5=cylinder(pos=(0,-475,0),
                           axis=(0,1,0),
                           radius=68,
                           length=950,
                           color=(1,0.65,0),
                           opacity=0.7,
                           material=materials.emissive,
                           frame=rotor)
        RAINBOW_6=cylinder(pos=(0,-560,0),
                           axis=(0,1,0),
                           radius=66,
                           length=1100,
                           color=(1,0.5,0),
                           opacity=0.7,
                           material=materials.emissive,
                           frame=rotor)
        RAINBOW_7=cylinder(pos=(0,-625,0),
                           axis=(0,1,0),
                           radius=63,
                           length=1250,
                           color=(0.8,0.2,0),
                           opacity=0.7,
                           material=materials.emissive,
                           frame=rotor)
        RAINBOW_CENTER_1=cylinder(pos=(0,-175,0),
                           axis=(0,1,0),
                           radius=100,
                           length=50,
                           color=(0.8,0.8,0.8),
                           material=materials.emissive,
                           frame=rotor)
        RAINBOW_CENTER_2=cylinder(pos=(0,125,0),
                           axis=(0,1,0),
                           radius=100,
                           length=50,
                           color=(0.8,0.8,0.8),
                           material=materials.emissive,
                           frame=rotor)
        SPIDER_CENTER=cylinder(pos=(0,-990,0),
                               axis=(0,1,0),
                               radius=35,
                               length=100,
                               color=(1,0.3,0),
                               frame=rotor)
        LIGHTBAR_1=box(pos=(80,0,0),
                       length=5,
                       width=10,
                       height=1000,
                       frame=rotor,
                       material=materials.emissive)
        LIGHTBAR_2=box(pos=(-80,0,0),
                       length=5,
                       width=10,
                       height=1000,
                       frame=rotor,
                       material=materials.emissive)
        LIGHTBAR_3=box(pos=(0,0,80),
                       length=10,
                       width=5,
                       height=1000,
                       frame=rotor,
                       material=materials.emissive)
        LIGHTBAR_4=box(pos=(0,0,-80),
                       length=10,
                       width=5,
                       height=1000,
                       frame=rotor,
                       material=materials.emissive)
        LIGHTBAR_5=box(pos=(55,0,55),
                       length=5,
                       width=10,
                       height=600,
                       frame=rotor,
                       material=materials.emissive)
        LIGHTBAR_6=box(pos=(55,0,-55),
                       length=5,
                       width=10,
                       height=600,
                       frame=rotor,
                       material=materials.emissive)
        LIGHTBAR_7=box(pos=(-55,0,55),
                       length=10,
                       width=5,
                       height=600,
                       frame=rotor,
                       material=materials.emissive)
        LIGHTBAR_8=box(pos=(-55,0,-55),
                       length=10,
                       width=5,
                       height=600,
                       frame=rotor,
                       material=materials.emissive)
        RING_1=ring(pos=(0,951,0),
                    radius=80,
                    thickness=6,
                    material=materials.emissive,
                    color=(1,0.7,0),
                    frame=rotor)
        RING_2=ring(pos=(0,870,0),
                    radius=80,
                    thickness=6,
                    material=materials.emissive,
                    color=(1,0.7,0),
                    frame=rotor)

        """Rotation of the rotor-objects"""
        ROTOR.rotate(angle=pi/2,axis=(1,0,0))
        ROTOR_INNER.rotate(angle=pi/2,axis=(1,0,0))
        LIGHTBAR_5.rotate(angle=-pi/4,axis=(0,1,0))
        LIGHTBAR_6.rotate(angle=pi/4,axis=(0,1,0))
        LIGHTBAR_7.rotate(angle=-pi/4,axis=(0,1,0))
        LIGHTBAR_8.rotate(angle=pi/4,axis=(0,1,0))
        RING_1.rotate(angle=pi/2,axis=(0,0,1))
        RING_2.rotate(angle=pi/2,axis=(0,0,1))

spider.frame=rotor
    
"""Parts of the motion"""
def move_spider(x,z):
    for i in range (x):
        rate(200)
        spider.rotate(angle=radians(z),
                      axis=(0,1,0),
                      origin=(0,0,0))
def move_rotor(x,y):
    for i in range (x):
        rate(200)
        spider.rotate(angle=radians(3),
                      axis=(0,1,0),
                      origin=(0,0,0))
        rotor.rotate(angle=radians(y),
                     axis=(-1,0,0),
                     origin=(0,2.5,0))    
def move_full(x,y):
    for i in range (x):
        rate(200)
        spider.rotate(angle=radians(3),
                      axis=(0,1,0),
                      origin=(0,0,0))
        rotor.rotate(angle=radians(y),
                     axis=(-1,0,0),
                     origin=(0,2.5,0))
        bench_1.rotate(angle=radians(5),
                       axis=(1,0,0),
                       origin=(0,-945,0))
        bench_2.rotate(angle=radians(-5.2),
                       axis=(-0.5,0,0.866),
                       origin=(0,-945,0))
        bench_3.rotate(angle=radians(-4.9),
                       axis=(0.5,0,0.866),
                       origin=(0,-945,0))
        bench_4.rotate(angle=radians(-5.1),
                       axis=(1,0,0),
                       origin=(0,-945,0))
        bench_5.rotate(angle=radians(-4.8),
                       axis=(0.5,0,-0.866),
                       origin=(0,-945,0))
        bench_6.rotate(angle=radians(-5.3),
                       axis=(-0.5,0,-0.866),
                       origin=(0,-945,0))

ROTOR=Rotor()
SCENERY=Scenery()
NAME=Name()
STAIR=Stair()
CASHPOINT_1=Cashpoint(400,-1040,425)
CASHPOINT_2=Cashpoint(400,-1040,-425)
for x in range(6):
        Railing(-500+(x*200))
    
"""Motion"""
while True:
    time.sleep(5)
    move_spider(1,0.1)
    move_spider(2,0.2)
    move_spider(3,0.3)
    move_spider(4,0.4)
    move_spider(5,0.5)
    move_spider(5,0.75)
    move_spider(5,1)
    move_spider(5,1.25)
    move_spider(5,1.5)
    move_spider(5,1.75)
    move_spider(5,2)
    move_spider(5,2.25)
    move_spider(5,2.5)
    move_spider(5,2.75)
    move_spider(30,3)
    move_rotor(10,0.1)
    move_rotor(25,0.2)
    move_rotor(35,0.3)
    move_rotor(25,0.2)
    move_rotor(10,0.1)
    move_rotor(10,0)
    move_rotor(10,-0.1)
    move_rotor(25,-0.2)
    move_rotor(35,-0.3)
    move_rotor(45,-0.4)
    move_rotor(55,-0.5)
    move_rotor(45,-0.4)
    move_rotor(35,-0.3)
    move_rotor(25,-0.2)
    move_rotor(10,-0.1)
    move_rotor(10,0)
    move_full(10,0.1)
    move_full(25,0.2)
    move_full(30,0.3)
    move_full(35,0.4)
    move_full(40,0.5)
    move_full(45,0.6)
    move_full(50,0.7)
    move_full(45,0.6)
    move_full(40,0.5)
    move_full(35,0.4)
    move_full(30,0.3)
    move_full(25,0.2)
    move_full(10,0.1)
    move_full(10,0)
    move_full(10,-0.1)
    move_full(25,-0.2)
    move_full(30,-0.3)
    move_full(35,-0.4)
    move_full(40,-0.5)
    move_full(45,-0.6)
    move_full(50,-0.7)
    move_full(538,-0.8)
    move_full(50,-0.7)
    move_full(45,-0.6)
    move_full(40,-0.5)
    move_full(35,-0.4)
    move_full(30,-0.3)
    move_full(25,-0.2)
    move_full(10,-0.1)
    move_spider(90,3)
    move_full(10,0.1)
    move_full(25,0.2)
    move_full(30,0.3)
    move_full(35,0.4)
    move_full(40,0.5)
    move_full(45,0.6)
    move_full(50,0.7)
    move_full(538,0.8)
    move_full(50,0.7)
    move_full(45,0.6)
    move_full(40,0.5)
    move_full(35,0.4)
    move_full(30,0.3)
    move_full(25,0.2)
    move_full(10,0.1)
    move_full(10,0)
    move_full(10,-0.1)
    move_full(25,-0.2)
    move_full(30,-0.3)
    move_full(35,-0.4)
    move_full(40,-0.5)
    move_full(45,-0.6)
    move_full(50,-0.7)
    move_full(45,-0.6)
    move_full(40,-0.5)
    move_full(35,-0.4)
    move_full(30,-0.3)
    move_full(25,-0.2)
    move_full(10,-0.1)
    move_rotor(10,0)
    move_rotor(10,0.1)
    move_rotor(25,0.2)
    move_rotor(35,0.3)
    move_rotor(45,0.4)
    move_rotor(55,0.5)
    move_rotor(45,0.4)
    move_rotor(35,0.3)
    move_rotor(25,0.2)
    move_rotor(10,0.1)
    move_rotor(10,0)
    move_rotor(10,-0.1)
    move_rotor(25,-0.2)
    move_rotor(35,-0.3)
    move_rotor(25,-0.2)
    move_rotor(10,-0.1)
    time.sleep(10)

Funktionsleiste