Trójkąt Sierpińskiego

Trójkąt i dywan Sierpińskiego - Informatyka - liceum klasa 2, zakres rozszerzony (Python)

**Trójkąt Sierpińskiego**: trójkąt równoboczny dzieli się na cztery mniejsze i wycina środkowy, a z trzema pozostałymi robi to samo. Rekurencyjnie: na poziomie 0 rysujemy trójkąt, a na wyższym - trzy kopie o połowę mniejsze: w lewym dolnym rogu, w prawym dolnym i u góry. Strzałka rysuje trójkąt, skręcając o 120° w lewo (`turn(-120)`).

arrow = Sprite()
arrow.image = 16
arrow.size = 10
world.add(arrow)
def jump(x, y, angle):
    arrow.pen.on = False
    arrow.position = (x, y)
    arrow.angle = angle
    arrow.pen.on = True


def triangle(x, y, size):
    jump(x, y, 90)
    for i in range(3):
        arrow.move(size)
        arrow.turn(-120)


def sierpinski(x, y, size, level):
    if level == 0:
        triangle(x, y, size)
        return
    half = size / 2
    sierpinski(x, y, half, level - 1)
    sierpinski(x + half, y, half, level - 1)
    sierpinski(x + half / 2, y + half * 3 ** 0.5 / 2, half, level - 1)

sierpinski(-90, -80, 180, 4)

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu Informatyka - liceum klasa 2, zakres rozszerzony·Zaloguj się, aby zapisać postęp na koncie.