Как я могу переключать цвета, используя модуль черепахи в python? - PullRequest
0 голосов
/ 10 февраля 2019

Я пытаюсь сделать прямую линию радуги, но не могу понять, как значения RGB в turtle.pencolor() должны меняться со временем ...

Я пытался использовать шестнадцатеричное приращение от 000000 до FFFFFF, но я получил черную или зеленую петлю до получения недопустимого значения цвета.

1 Ответ

0 голосов
/ 11 февраля 2019

Полагаю, что основанные на RGB цвета черепахи Python - это неправильная модель для легкого создания линии радуги.К счастью, вы можете import colorsys работать с более подходящей моделью, такой как HSV, и конвертировать эти значения в RGB:

from turtle import Screen, Turtle
from colorsys import hsv_to_rgb

RADIUS = 300
WIDTH = 100

screen = Screen()

turtle = Turtle(visible=False)
turtle.speed('fastest')  # because I have no patience
turtle.width(WIDTH)

turtle.penup()
turtle.sety(-RADIUS)
turtle.pendown()

for angle in range(360):
    turtle.pencolor(hsv_to_rgb(angle / 360, 0.75, 0.75))
    turtle.circle(RADIUS, 1)

screen.exitonclick()

Здесь мы просто настраиваем оттенок в зависимости от угла и значения насыщенности и константы:

enter image description here

...