1. Želví grafika

Čísla

Proměnné

Opakování

Funkce

Matematická knihovna

Želví grafika

Pokud budete knihovnu turtle využívat mimo online prostředí cvičebnice, je potřeba ukončit kreslení funkcí done:

from turtle import Turtle, done
julie = Turtle()
# kresleni ...
done()

1.1. Rozcvička

1.1.1. Jednoduché obrázky

Nejprve si zkuste nakreslit nějaký jednoduchý obrázek, třeba trojúhelník, nebo domeček.

from turtle import Turtle
julie = Turtle()

# TODO: trojuhelnik / domecek / cokoliv

1.1.2. Čtverec

Využijte for cyklus pro nakreslení čtverce o délce strany 100 pixelů.

from turtle import Turtle
julie = Turtle()

# TODO: vykresleni ctverce

1.1.3. Obecný čtverec

Napište funkci pro vykreslení čtverce s danou délkou strany.

from turtle import Turtle
julie = Turtle()

def square(side):
    # nahradte "pass" vykreslenim ctverce o delce strany 'side'
    pass

square(100)

Poznámka: příkaz pass nic nedělá, pouze zastupuje tělo zatím neimplementované funkce (díky tomu je program syntakticky správně).

1.1.4. Obecný pětiúhelník

Napište funkci pro vykreslení pravidelného pětiúhelníku s danou délkou strany.

_images/petiuhelnik.png
from turtle import Turtle
julie = Turtle()

def pentagon(side):
    pass

pentagon(100)

1.1.5. N-nožka

Napište funkci, která nakreslí stonožku se zadaným počtem článků.

_images/centipede.png
from turtle import Turtle
julie = Turtle()

def centipede(n):
    pass

centipede(7)

1.2. Pokročilé kreslení

1.2.1. Mnohoúhelníky

Napište obecnou funkci pro vykreslení libovolného pravidelného n-úhelníku.

_images/mnohouhelniky.png
from turtle import Turtle
julie = Turtle()

def polygon(n, side):
    pass

polygon(3, 180)
polygon(5, 100)

1.2.2. Hvězdy

Napište obecnou funkci pro vykreslení hvězdy. Hvězda je zobecněním pravidelného n-úhelníka, kde želva nenavštěvuje bezprostředně sousední vrcholy, ale „přeskakuje“. Délka skoku je daná parametrem step, ten je např. pro pro první, pěticípou hvězdu roven 2 a pro druhou, sedmicípou hvězdu roven 3. Při step = 1 půjde o n-úhelník.

_images/hvezdy.png
from turtle import Turtle
julie = Turtle()

def star(n, step, side):
    pass

star(5, 2, 100)

Vypočítat správnou velikost úhlu zatáčení není jednoduché. Použijte tužku a papír.

_images/xkcd_drawing_stars.png

(zdroj: XKCD)

1.2.3. Diamant

Napište funkci pro vykreslení diamantu.

_images/diamant.png
from turtle import Turtle
julie = Turtle()

def diamant(n, side):
    pass

diamant(12, 30)

1.2.4. Spirála

Napište funkci pro vykreslení spirály.

_images/spirala.png
from turtle import Turtle
julie = Turtle()

def spiral(n, angle, step):
    pass

spiral(100, 61, 1)

1.2.5. Kružnice

Pomocí funkce pro mnohoúhelníky zkuste vykreslit kružnici. Pak napište funkci pro vykresleni kružnice o zadaném poloměru. (Nápověda: využijte porovnání obvodů kružnice a pravidelného n-úhelníku).

from math import pi
from turtle import Turtle
julie = Turtle()
julie.speed(10)

def circle(r):
    pass

circle(90)

1.2.6. Kytky

Napište funkci pro vykreslení kytky. Může být užitečné si nejprve napsat pomocnou funkci pro vykreslení oblouku (kruhové výseče) o zadaném poloměru a úhlu.

_images/kytky.png
from math import pi
from turtle import Turtle
julie = Turtle()
julie.speed(10)

def flower(radius, angle, leaves):
    pass

flower(100, 80, 9)

1.2.7. Čtvercová spirála

Napište funkci pro vykreslení čtvercové spirály.

_images/square_spiral.png
from turtle import Turtle
from math import atan, sqrt, degrees
julie = Turtle()

def square_spiral(n, size):
    pass

square_spiral(10, 100)
Next Section - 2. Základní struktury