A Python nyelv egyik leglátványosabb és legegyszerűbben használható eszköze a teknőcgrafika (Turtle modul), amellyel kiválóan rajzolhatók rekurzív geometriai fraktálok. Az alábbi kód egy klasszikus Koch-hópelyhet (más néven Koch-görbét) rajzol ki.
-----------
import turtle
def koch_curve(t, length, depth):
"""Rekurzív függvény egyetlen Koch-vonal szakasz megrajzolásához."""
if depth == 0:
t.forward(length)
else:
length /= 3
koch_curve(t, length, depth - 1)
t.left(60)
koch_curve(t, length, depth - 1)
t.right(120)
koch_curve(t, length, depth - 1)
t.left(60)
koch_curve(t, length, depth - 1)
def draw_snowflake(t, length, depth):
"""Kirajzolja a három oldalból álló Koch-hópelyhet."""
for _ in range(3):
koch_curve(t, length, depth)
t.right(120)
# Ablak beállítása
screen = turtle.Screen()
screen.bgcolor("black")
screen.title("Koch-hópehely fraktál")
# A teknőc (rajzoló) beállítása
snowflake_turtle = turtle.Turtle()
snowflake_turtle.speed(0) # 0 a leggyorsabb sebesség
snowflake_turtle.color("cyan")
snowflake_turtle.pensize(1)
# Kezdőpozíció beállítása
snowflake_turtle.penup()
snowflake_turtle.backward(150)
snowflake_turtle.pendown()
# Fraktál rajzolása 3-as rekurziós mélységgel
draw_snowflake(snowflake_turtle, 300, 3)
# Ablak bezárásáig nyitva tartása
turtle.done()
----------
Nincsenek megjegyzések:
Megjegyzés küldése