4.2 – Fraktale w Scratchu i w Pythonie

Temat: Fraktale w Scratchu i w Pythonie

  • Czym jest fraktal?
  • Rysowanie drzew binarnych w Scratchu i w Pythonie

CZYM SĄ FRAKTALE
Fraktale to wymyślone przez matematyków figury geometryczne składające się z mniejszych elementów, które wyglądają tak samo jak cała figura. Ich ciekawe kształty i specyficzne własności sprawiły, że fraktale rozpowszechniły się w grafice komputerowej – przy zastosowaniu stosunkowo prostych programów opartych na rekurencji można szybko stworzyć modele drzew, liści czy płatków śniegu oraz całe krajobrazy.

DRZEWO BINARNE W SCRATCHU I PYTHONIE

Drzewo binarne

 

Skrypt drzewa binarnego w Scratchu

Skrypt drzewa binarnego w Scratchu
Efekt wizualny drzewa binarnego

Skrypt drzewa binarnego w Pythonie

 

from turtle import *
def drzewo (stopień, wielkość):
    if stopień==0:
        stamp()
        return
    width (1*stopień)
    fd(wielkość); lt(30)
    drzewo(stopień-1,wielkość/2)
    rt(60)
    drzewo(stopień-1,wielkość/2)
    lt(30); bk(wielkość)
def RysujDrzewo(stopień):
    pu(); home(); seth(90); bk(240); pd()
    pencolor('brown'); shape('circle');
    fillcolor('blue')
    drzewo(stopień, 240)
RysujDrzewo(5)

DRZEWO BINARNE LOSOWE

DRZEWO BINARNE LOSOWE
DRZEWO BINARNE LOSOWE – zielona flaga
Efekt wizualny drzewa binarnego losowego

 

Skrypt drzewa binarnego losowego w Pythonie

 

from turtle import *
from random import randint
def drzewoLos(n, a, k):
   if n==0:
       stamp()
       return
   width(2*n)
   fd(a); lt(k)
   drzewoLos(n-1,a/2+randint(int(-a/3),int(a/6)), 2*k/randint(1,3))
   rt(2*k)
   drzewoLos(n-1,a/2+randint(int(-a/3),int(a/6)), 2*k/randint(1,3))
   lt(k); bk(a)

def RysujDrzewoLos(stopień):
     pu(); home(); seth(90); bk(240); pd()
     pencolor('brown'); shape('circle'); fillcolor('green')
     drzewoLos(stopień, 240, 30)

RysujDrzewoLos(6)