Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pygame
- from pygame.locals import *
- import numpy as np
- def Fibonacci():
- array = [0,10]
- for i in range(2,20):
- array.append( array[i-1]+array[i-2])
- return array
- def compute_bezier_points():
- global boolean
- result = []
- b0x = koordinaten[0][0]
- b0y = koordinaten[0][1]
- if boolean:
- b1x = koordinaten[3][0]
- b1y = koordinaten[3][1]
- boolean = False
- else:
- b1x = koordinaten[1][0]
- b1y = koordinaten[1][1]
- boolean = True
- b2x = koordinaten[2][0]
- b2y = koordinaten[2][1]
- for t in np.arange(0, 1, 0.01):
- point = ((1-t)**2 *b0x + 2*(1-t)*t*b1x + t**2 *b2x, (1-t)**2 *b0y+ 2*(1-t)*t*b1y + t**2 *b2y)
- result.append((point))
- return result
- def Quadrat():
- global orientierung, array, zaehler, koordinaten
- zaehler += 1
- koordinaten[0], koordinaten[2] = koordinaten[2], koordinaten[0]
- if orientierung == 1:
- orientierung = 2
- koordinaten[1] = [koordinaten[0] [0], koordinaten[0] [1]- array[zaehler]]
- koordinaten[2] = [koordinaten[1] [0] + array[zaehler], koordinaten[1] [1]]
- koordinaten[3] = [koordinaten[2] [0], koordinaten[0] [1]]
- elif orientierung == 2:
- orientierung = 3
- koordinaten[1] = [koordinaten[0] [0], koordinaten[0] [1]- array[zaehler]]
- koordinaten[2] = [koordinaten[1] [0] - array[zaehler], koordinaten[1] [1]]
- koordinaten[3] = [koordinaten[2] [0], koordinaten[0] [1]]
- elif orientierung == 3:
- orientierung = 4
- koordinaten[1] = [koordinaten[0] [0], koordinaten[0] [1]+ array[zaehler]]
- koordinaten[2] = [koordinaten[1] [0] - array[zaehler], koordinaten[1] [1]]
- koordinaten[3] = [koordinaten[2] [0], koordinaten[0] [1]]
- else:
- orientierung = 1
- koordinaten[1] = [koordinaten[0] [0], koordinaten[0] [1]+ array[zaehler]]
- koordinaten[2] = [koordinaten[1] [0] + array[zaehler], koordinaten[1] [1]]
- koordinaten[3] = [koordinaten[2] [0], koordinaten[0] [1]]
- #Schritte zum zeichnen der Koordinaten
- zaehler = 0
- orientierung = 1
- array = Fibonacci()
- running = True
- boolean = True
- aufloesung = (800,800)
- #Koordinaten der Quadrate
- koordinaten = [[400,400],[400,400],[400,400],[400,400]]
- white = (255,255,255)
- GUI = pygame.display.set_mode(aufloesung)
- GUI.fill(white)
- while (running):
- for event in pygame.event.get():
- if event.type in (QUIT,KEYDOWN):
- running = False
- clock = pygame.time.Clock()
- clock.tick(60)
- Quadrat()
- pygame.draw.circle(GUI,(0,255,0),(400,400),3)
- pygame.draw.line(GUI,(255,0,0),(koordinaten[0] [0], koordinaten[0] [1]),(koordinaten[1] [0], koordinaten[1] [1]))
- pygame.draw.line(GUI,(255,0,0),(koordinaten[1] [0], koordinaten[1] [1]),(koordinaten[2] [0], koordinaten[2] [1]))
- pygame.draw.line(GUI,(255,0,0),(koordinaten[2] [0], koordinaten[2] [1]),(koordinaten[3] [0], koordinaten[3] [1]))
- pygame.draw.line(GUI,(255,0,0),(koordinaten[3] [0], koordinaten[3] [1]),(koordinaten[0] [0], koordinaten[0] [1]))
- b_points = compute_bezier_points()
- for i in range(len(b_points)-1):
- pygame.draw.line(GUI, pygame.Color("blue"), b_points[i],b_points[i+1], 2)
- pygame.display.update()
- pygame.time.wait(5)
- pygame.display.update()
Add Comment
Please, Sign In to add comment