Untitled

mail@pastecode.io avatar
unknown
plain_text
a month ago
1.3 kB
1
Indexable
Never
import turtle
import numpy as np

def draw_square(vertices):
    turtle.penup()
    turtle.goto(vertices[0])
    turtle.pendown()
    for vertex in vertices[1:]:
        turtle.goto(vertex)
    turtle.goto(vertices[0])

def scale_square(vertices, k):
    new_vertices = []
    for i in range(len(vertices)):
        start = vertices[i]
        end = vertices[(i + 1) % len(vertices)]
        new_point = (k * start[0] + (1 - k) * end[0], k * start[1] + (1 - k) * end[1])
        new_vertices.append(new_point)
    return new_vertices

# Начальные вершины квадрата
vertices = [(0, 0), (0, 100), (100, 100), (100, 0)]

# Вводим коэффициент масштабирования и количество повторений
k = float(input("Введите коэффициент масштабирования k (<1): "))
n = int(input("Введите количество повторений n: "))

# Устанавливаем скорость черепахи
turtle.speed(0)

# Рисуем начальный квадрат
draw_square(vertices)

# Производим масштабирование и рисуем новые квадраты
for _ in range(n):
    vertices = scale_square(vertices, k)
    draw_square(vertices)

turtle.done()
Leave a Comment