26 lines
745 B
Python
26 lines
745 B
Python
import pygame, math
|
|
|
|
pygame.init()
|
|
window = pygame.display.set_mode((600, 600))
|
|
pygame.display.set_caption("Fractal Tree")
|
|
screen = pygame.display.get_surface()
|
|
|
|
def drawTree(x1, y1, angle, depth):
|
|
fork_angle = 20
|
|
base_len = 10.0
|
|
if depth > 0:
|
|
x2 = x1 + int(math.cos(math.radians(angle)) * depth * base_len)
|
|
y2 = y1 + int(math.sin(math.radians(angle)) * depth * base_len)
|
|
pygame.draw.line(screen, (255,255,255), (x1, y1), (x2, y2), 2)
|
|
drawTree(x2, y2, angle - fork_angle, depth - 1)
|
|
drawTree(x2, y2, angle + fork_angle, depth - 1)
|
|
|
|
def input(event):
|
|
if event.type == pygame.QUIT:
|
|
exit(0)
|
|
|
|
drawTree(300, 550, -90, 9)
|
|
pygame.display.flip()
|
|
while True:
|
|
input(pygame.event.wait())
|