furas.pl
# prywatne notatki - Python, Linux, Machine Learning, etc.

Rysowanie kolorowego okręgu z turtle w Pythonie

Oto rysowanie okręgu za pomocą wycinków o różnych kolorach.

turtle.circle(promień, wielkość_wycinka_w_stopniach)
python turtle - żółwik rysuje kolorowy okrąg
import turtle

# kolory kolejnych wycinków okręgu

colors = [
    "#880000", "#884400", "#888800", "#008800",
    "#008888", "#000088", "#440088", "#880088"
]

# wyliczenie jaki wycinek okręgu (w stopniach) będzie zajmował każdy kolor.
# (okrąg ma 360 stopni a ilość kolorów jest `len(colors)`)

angle = 360/len(colors)

# grubość rysowanej kreski

turtle.width(10)

# rysowanie kolejnych odcinków okręgu

for color in colors:

    # zmiana koloru

    turtle.color(color)

    # rysowanie wycinka koła o promieniu 100 i zadanym kącie

    turtle.circle(100, angle)

# obsługa zdarzeń (aby dało się zamknąć okienko)

turtle.mainloop()

Użycie grubszej kreski i powtórzenie pierwszego koloru na końcu pozwala uzyskać nakładanie się odcinków.

python turtle - żółwik rysuje kolorowy okrąg
import turtle

# kolory kolejnych wycinków okręgu

colors = [
    "#880000", "#884400", "#888800", "#008800",
    "#008888", "#000088", "#440088", "#880088"
]

# wyliczenie jaki kąt (wycinek okręgu) będzie zajmował każdy kolor
# (okrąg ma 360 stopni a ilość kolorów jest `len(colors)`)

angle = 360/len(colors)

# grubość rysowanej kreski

turtle.width(50)

# rysowanie kolejnych odcinków okręgu

for color in colors:

    # zmiana koloru

    turtle.color(color)

    # rysowanie wycinka koła o promieniu 100 i zadanym kącie

    turtle.circle(100, angle)

# zmiana na początkowy kolor

turtle.color(colors[0])

# rysowanie bardzo małego wycinka aby uzyskać efekt
# nałożenia pierwszego wycinka na ostatni

turtle.circle(100, 1)

# obsługa zdarzeń (aby dało się zamknąć okienko)

turtle.mainloop()

Podobne wpisy

Starsze:

Nowsze:

Wpisy jeszcze nie gotowe:

Figury

Turtle i Tkinter

Internet

Inne

SPIS (czyli powyższe linki na osobnej stronie)

Książki: python-dla-kazdego-podstawy-programowania python-wprowadzenie python-leksykon-kieszonkowy python-receptury python-programuj-szybko-i-wydajnie python-projekty-do-wykorzystania black-hat-python-jezyk-python-dla-hackerow-i-pentesterow efektywny-python-59-sposobow-na-lepszy-kod tdd-w-praktyce-niezawodny-kod-w-jezyku-python aplikacje-internetowe-z-django-najlepsze-receptury