улучши import turtle
import random
import math

# Настройки экрана и кисти
turtle.setup(width=800, height=800)
turtle.bgcolor("midnightblue")
screen = turtle.Screen()
screen.title("Turtle Art by ChatGPT")

# Функция для создания звезды
def draw_star(t, x, y, length, color):
    t.penup()
    t.goto(x, y)
    t.setheading(random.randint(0, 360))
    t.pendown()
    t.color(color)
    t.begin_fill()
    for _ in range(5):
        t.forward(length)
        t.right(144)
    t.end_fill()

# Функция для создания множества звезд
def draw_starfield(t, num_stars):
    for _ in range(num_stars):
        x = random.randint(-390, 390)
        y = random.randint(-390, 390)
        length = random.randint(5, 20)
        color = random.choice(["white", "lightyellow", "lightblue", "lavender"])
        draw_star(t, x, y, length, color)

# Функция для рисования круга из точек
def draw_circle_of_dots(t, radius, num_dots):
    t.penup()
    for i in range(num_dots):
        angle = i * (360 / num_dots)
        x = radius * math.cos(math.radians(angle))
        y = radius * math.sin(math.radians(angle))
        t.goto(x, y)
        t.dot(10, random.choice(["cyan", "magenta", "yellow", "lime"]))

# Функция для рисования спирали
def draw_spiral(t, radius, angle_increment, color):
    t.penup()
    t.goto(0, 0)
    t.pendown()
    t.color(color)
    t.speed(0)
    for _ in range(100):
        t.forward(radius)
        t.right(angle_increment)
        radius += 2

# Функция для рисования концентрических кругов
def draw_concentric_circles(t, num_circles):
    for i in range(num_circles):
        t.penup()
        t.goto(0, -i * 20)
        t.pendown()
        t.color(random.choice(["white", "skyblue", "pink", "purple", "lightgreen"]))
        t.circle(i * 20)

# Функция для рисования линий с эффектом градиента
def draw_gradient_lines(t, num_lines):
    for i in range(num_lines):
        t.penup()
        t.goto(0, 0)
        t.setheading(i * (360 / num_lines))
        t.pendown()
        r = (i * 2) % 256
        g = (128 + i * 5) % 256
        b = (255 - i * 2) % 256
        t.pencolor((r, g, b))
        t.forward(400)

# Функция для рисования орбиты с шарами
def draw_orbiting_balls(t, num_balls, radius):
    for i in range(num_balls):
        angle = i * (360 / num_balls)
        x = radius * math.cos(math.radians(angle))
        y = radius * math.sin(math.radians(angle))
        t.penup()
        t.goto(x, y)
        t.pendown()
        t.dot(20, random.choice(["yellow", "red", "orange", "green"]))

# Функция для рисования волнистой линии
def draw_wave_line(t, length, wave_height, num_waves):
    t.penup()
    t.goto(-length // 2, 0)
    t.pendown()
    t.setheading(0)
    for _ in range(num_waves):
        t.circle(wave_height, 90)
        t.circle(-wave_height, 90)

# Инициализация черепашки
t = turtle.Turtle()
t.speed(0)
t.width(2)
t.hideturtle()

# Рисуем звездное поле
draw_starfield(t, 50)

# Рисуем концентрические круги
draw_concentric_circles(t, 10)

# Рисуем круг из точек
draw_circle_of_dots(t, 150, 36)

# Рисуем спираль
draw_spiral(t, 2, 45, "white")

# Рисуем линии с эффектом градиента
draw_gradient_lines(t, 36)

# Рисуем орбиту с шарами
draw_orbiting_balls(t, 12, 250)

# Рисуем волнистую линию
draw_wave_line(t, 600, 50, 15)

# Подписываем результат
t.penup()
t.goto(0, -380)
t.color("lightyellow")
t.write("Turtle Art by ChatGPT", align="center", font=("Arial", 16, "bold"))

# Завершение программы
turtle.done()