histats.com

Napisz Takie Komendy Aby żółw Narysował Następujące Figury


Napisz Takie Komendy Aby żółw Narysował Następujące Figury
import turtle

# Funkcje rysujące figury
def kwadrat(zolw, bok):
    for _ in range(4):
        zolw.forward(bok)
        zolw.left(90)

def trojkat_rownoboczny(zolw, bok):
    for _ in range(3):
        zolw.forward(bok)
        zolw.left(120)

def pieciokat(zolw, bok):
    for _ in range(5):
        zolw.forward(bok)
        zolw.left(72)

def szesciokat(zolw, bok):
    for _ in range(6):
        zolw.forward(bok)
        zolw.left(60)

def osmiokat(zolw, bok):
    for _ in range(8):
        zolw.forward(bok)
        zolw.left(45)

def gwiazda(zolw, bok, kat):
    for _ in range(5):
        zolw.forward(bok)
        zolw.right(kat)

def spirala(zolw, dlugosc_poczatkowa, przyrost, kat, ilosc_iteracji):
    dlugosc = dlugosc_poczatkowa
    for _ in range(ilosc_iteracji):
        zolw.forward(dlugosc)
        zolw.right(kat)
        dlugosc += przyrost

def kolo(zolw, promien):
    zolw.circle(promien)

def polkole(zolw, promien):
    zolw.circle(promien, 180)

def luk(zolw, promien, kat):
    zolw.circle(promien, kat)

def prostokat(zolw, dlugosc, szerokosc):
    for _ in range(2):
        zolw.forward(dlugosc)
        zolw.left(90)
        zolw.forward(szerokosc)
        zolw.left(90)

def romb(zolw, bok, kat_ostry):
    for _ in range(2):
        zolw.forward(bok)
        zolw.left(180 - kat_ostry)
        zolw.forward(bok)
        zolw.left(kat_ostry)

def trapez_rownoramienny(zolw, podstawa_dluzsza, podstawa_krotsza, ramie, kat_przy_podstawie):
    zolw.forward(podstawa_dluzsza)
    zolw.left(180 - kat_przy_podstawie)
    zolw.forward(ramie)
    zolw.left(kat_przy_podstawie)
    zolw.forward(podstawa_krotsza)
    zolw.left(180 - kat_przy_podstawie)
    zolw.forward(ramie)
    zolw.left(kat_przy_podstawie)

def spirala_kwadratow(zolw, bok_poczatkowy, przyrost, ilosc_iteracji):
    bok = bok_poczatkowy
    for _ in range(ilosc_iteracji):
        kwadrat(zolw, bok)
        zolw.forward(bok)
        zolw.right(90)
        bok += przyrost

def wielokat_foremny(zolw, bok, ilosc_bokow):
    kat = 360 / ilosc_bokow
    for _ in range(ilosc_bokow):
        zolw.forward(bok)
        zolw.left(kat)

def flaga_polski(zolw, szerokosc, wysokosc):
    # Biały pas
    zolw.fillcolor("white")
    zolw.begin_fill()
    prostokat(zolw, szerokosc, wysokosc / 2)
    zolw.end_fill()

    # Przesunięcie do początku czerwonego pasa
    zolw.penup()
    zolw.goto(0, -wysokosc / 2)
    zolw.pendown()

    # Czerwony pas
    zolw.fillcolor("red")
    zolw.begin_fill()
    prostokat(zolw, szerokosc, wysokosc / 2)
    zolw.end_fill()

def drzewo(zolw, dlugosc_galezi, skracanie, kat):
    if dlugosc_galezi > 5:
        zolw.forward(dlugosc_galezi)
        zolw.right(kat)
        drzewo(zolw, dlugosc_galezi - skracanie, skracanie, kat)
        zolw.left(2 * kat)
        drzewo(zolw, dlugosc_galezi - skracanie, skracanie, kat)
        zolw.right(kat)
        zolw.backward(dlugosc_galezi)

def platki_sniegu(zolw, bok, glebokosc):
    if glebokosc == 0:
        zolw.forward(bok)
        return

    bok /= 3.0
    platki_sniegu(zolw, bok, glebokosc - 1)
    zolw.left(60)
    platki_sniegu(zolw, bok, glebokosc - 1)
    zolw.right(120)
    platki_sniegu(zolw, bok, glebokosc - 1)
    zolw.left(60)
    platki_sniegu(zolw, bok, glebokosc - 1)

def krzywa_kocha(zolw, dlugosc, glebokosc):
  if glebokosc == 0:
    zolw.forward(dlugosc)
  else:
    dlugosc /= 3
    krzywa_kocha(zolw, dlugosc, glebokosc - 1)
    zolw.left(60)
    krzywa_kocha(zolw, dlugosc, glebokosc - 1)
    zolw.right(120)
    krzywa_kocha(zolw, dlugosc, glebokosc - 1)
    zolw.left(60)
    krzywa_kocha(zolw, dlugosc, glebokosc - 1)
# Koniec definicji funkcji

ekran = turtle.Screen()
ekran.bgcolor("lightgreen")
zolw = turtle.Turtle()
zolw.speed(0) # Najszybsza prędkość
zolw.color("blue")

# Przykładowe wywołania funkcji
kwadrat(zolw, 100)
zolw.penup()
zolw.goto(150, 0)
zolw.pendown()
trojkat_rownoboczny(zolw, 100)
zolw.penup()
zolw.goto(-150, -150)
zolw.pendown()
pieciokat(zolw, 75)
zolw.penup()
zolw.goto(0, -150)
zolw.pendown()
szesciokat(zolw, 50)
zolw.penup()
zolw.goto(150, -150)
zolw.pendown()
osmiokat(zolw, 35)

zolw.penup()
zolw.goto(-250, 100)
zolw.pendown()
gwiazda(zolw, 100, 144)

zolw.penup()
zolw.goto(-300, -200)
zolw.pendown()
spirala(zolw, 5, 5, 20, 50)

zolw.penup()
zolw.goto(200, 200)
zolw.pendown()
kolo(zolw, 50)

zolw.penup()
zolw.goto(200, -250)
zolw.pendown()
polkole(zolw, 50)

zolw.penup()
zolw.goto(-200, 250)
zolw.pendown()
luk(zolw, 50, 90)

zolw.penup()
zolw.goto(-100, 250)
zolw.pendown()
prostokat(zolw, 150, 75)

zolw.penup()
zolw.goto(-100, -50)
zolw.pendown()
romb(zolw, 100, 60)

zolw.penup()
zolw.goto(100, 50)
zolw.pendown()
trapez_rownoramienny(zolw, 150, 75, 50, 70)

zolw.penup()
zolw.goto(250, -50)
zolw.pendown()
spirala_kwadratow(zolw, 10, 5, 20)

zolw.penup()
zolw.goto(-400, -50)
zolw.pendown()
wielokat_foremny(zolw, 50, 7)

zolw.penup()
zolw.goto(-400, 200)
zolw.pendown()
flaga_polski(zolw, 150, 100)

zolw.penup()
zolw.goto(350, 100)
zolw.left(90)
zolw.pendown()
zolw.color("brown")
drzewo(zolw, 100, 15, 30)
zolw.color("blue")
zolw.right(90)

zolw.penup()
zolw.goto(-100, -300)
zolw.pendown()
zolw.color("black")
for i in range(3):
    platki_sniegu(zolw, 100, i)
    zolw.right(120)

zolw.penup()
zolw.goto(200, -300)
zolw.pendown()
zolw.color("purple")
krzywa_kocha(zolw, 200, 4)

<h2>Ustawienia początkowe i funkcje</h2>

Powyższy kod rozpoczyna się od zaimportowania modułu `turtle`, który jest podstawą do rysowania grafiki wektorowej. Następnie definiowane są funkcje, które przyjmują obiekt żółwia (`zolw`) jako argument, oraz parametry specyficzne dla danej figury (np. długość boku, promień, kąt).  Funkcje te wykorzystują metody obiektu żółwia takie jak `forward()`, `left()`, `right()`, `circle()`, `fillcolor()`, `begin_fill()`, `end_fill()`, `penup()`, `pendown()`, i `goto()` do wykonania rysunków.  Funkcja `speed(0)` ustawia żółwia na najszybszy tryb rysowania. Kolory są ustawiane za pomocą `color()`, a kolor wypełnienia za pomocą `fillcolor()`.

<h2>Rysowanie różnorodnych figur</h2>

Po zdefiniowaniu wszystkich funkcji, kod tworzy instancję ekranu (`ekran`) i żółwia (`zolw`).  Następnie, za pomocą serii wywołań funkcji, żółw rysuje różne figury na ekranie. Każde wywołanie funkcji jest poprzedzone poleceniami `penup()` i `goto()`, które podnoszą pióro żółwia i przenoszą go w nowe miejsce na ekranie bez rysowania. Pozycjonowanie żółwia jest kluczowe, aby figury nie nakładały się na siebie. Funkcje rysujące figury zawierają pętle `for`, które powtarzają ruchy żółwia, aby utworzyć kształt figury. Funkcja `begin_fill()` rozpoczyna wypełnianie figury kolorem, a `end_fill()` kończy wypełnianie.

Kod demonstruje, jak wykorzystać żółwia do tworzenia zarówno prostych (kwadrat, trójkąt) jak i bardziej złożonych figur (gwiazda, spirala).  Warto zwrócić uwagę na funkcję `spirala()`, która wykorzystuje zmienną `dlugosc` do kontrolowania długości każdego segmentu spirali, zwiększając ją o wartość `przyrost` w każdej iteracji. Podobnie, funkcja `spirala_kwadratow()` rysuje serię kwadratów, które spiralnie oddalają się od siebie. Funkcje `drzewo()` i `platki_sniegu()` wykorzystują rekurencję do rysowania skomplikowanych fraktali. Rekurencja polega na tym, że funkcja wywołuje samą siebie, tworząc hierarchiczną strukturę rysunku. Funkcja `drzewo()` rysuje gałęzie drzewa, skracając długość gałęzi i zmieniając kąt przy każdym wywołaniu rekurencyjnym. Funkcja `platki_sniegu()` rysuje fraktal Kocha, który składa się z serii linii i kątów.
Kod zawiera również funkcję rysującą flagę Polski, która demonstruje użycie funkcji `prostokat()` i kolorów do stworzenia złożonego rysunku.
Napisz Takie Komendy Aby żółw Narysował Następujące Figury Napisz takie komendy aby żółw narysował następujące figury - Brainly.pl
Napisz Takie Komendy Aby żółw Narysował Następujące Figury Napisz takie komendy, aby żłów narysował następujące figury : - Brainly.pl
Napisz Takie Komendy Aby żółw Narysował Następujące Figury Napisz takie komendy żeby żółw narysował następujące figury klasa 4
Napisz Takie Komendy Aby żółw Narysował Następujące Figury Tomek narysował cztery figury. Każda z nich składa się z czterech
Napisz Takie Komendy Aby żółw Narysował Następujące Figury 2. Napisz funkcję dywan (ile) odpowiedzialną za rysowanie takiego
Napisz Takie Komendy Aby żółw Narysował Następujące Figury Narysuj kwadrat o boku 4 cm i taką prostą k aby pole figury złożonej z
Napisz Takie Komendy Aby żółw Narysował Następujące Figury Jan narysował 4 figury zbudowane z trójkątów równobocznych. Długość
Napisz Takie Komendy Aby żółw Narysował Następujące Figury Figury geometryczne - obrazki, karty pracy • Złoty nauczyciel
Napisz Takie Komendy Aby żółw Narysował Następujące Figury Na rysunku przedstawiono tangram o wymiarach 12 cm na 12 cm w którym

Podobne artykuły, które mogą Cię zainteresować