Untitled
unknown
plain_text
2 years ago
1.3 kB
4
Indexable
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()
Editor is loading...
Leave a Comment