Малюємо багатокутники

Для малювання багатокутників пригадаємо, що сума внутрішніх кутів багатокутника (n>=4) дорівнює 360 градусів. Отже, щоб дізнатися кут багатокутника потрібно 360/n -(кількість кутів).

Вводимо кількість кутів з клавіатури

n=int(input("n="))

for i in range(n):

forward(100)

right(360/n)

for i in range(4):

forward(90)

right(90)

for i in range(5):

forward(90)

right(72)

for i in range(6):

forward(90)

right(6)

for i in range(8):

forward(90)

right(45)

Малюємо зірки

Зірки, які мають більше, ніж 6 кутів можуть мати більше як одну зірчасту форму(вигляд). Для побудови зірки кути розраховуються за формулами:

1) 720/n, n- кількість вершин зірки. Формула підходить для n=5, 7,9, 11.

2) 180*(n-2)/n Формула підходить для n=8, 12, 16, 20 ( при n=14 вийде 7-кутна зірка за цією формулою).

Зірки інших зірчастих форм тут не представлені.

Зірки першої зірчастої форми

n=int(input("n="))

for i in range(n):

forward(100)

left(720/n)

for i in range(5):

forward(90)

right(144)

for i in range(7):

forward(90)

left(720/7)

for i in range(9):

forward(90)

left(80)

for i in range(11):

forward(90)

left(720/11)

Зірки другої зірчастої форми

n=int(input("n="))

k=180*(n-2)/n

for i in range (n*2):

fd(100)

left(k)

for i in range(8):

forward(90)

left(225)

for i in range (12):

fd(100)

left(150)

for i in range (16):

fd(100)

left(157.5)

for i in range (7):

fd(100)

left(154.2)

Малюємо контури зірок

for i in range (4):

forward(50)

left(144)

forward(50)

right(56)

for i in range (5):

forward(80)

left(144)

forward(80)

right(72)

for i in range (6):

forward(50)

left(120)

forward(50)

right(60)

for i in range (6):

forward(50)

left(120)

forward(95)

right(60)

for i in range (8):

forward(50)

left(225)

forward(50)

right(270)

for i in range (8):

forward(50)

left(45)

forward(50)

right(90)

Завдання 1. Створити зображення

Завдання 2. Створити зображення

Завдання 3. Створити зображення

Завдання 4. Створити зображення

Малюємо кола

color("blue")

pensize(4)

for i in range(4):

circle(90)

right(90)

color("black","blue")

pensize(4)

for i in range(4):

begin_fill()

circle(100)

end_fill()

right(90)

for i in range(10):

circle(100)

right(36)

k=['red','yellow', 'green','blue']

for i in range(10):

color(k[i% 4])

circle(100)

right(36)

Малюємо спіралі

1.Квадратна спіраль

Квадратна спіраль будується так, як і квадрат. Але кожна наступна сторона квадрата більша за попередню.

for x in range(100):

forward(x)

left(90)

for x in range(40):

forward(x+x*10)

left(90)

colors =['red','yellow','green','blue']

for x in range(100) :

color(colors[x% 4])

forward(x)

left(90)


colors =['red','yellow','green','blue']

for x in range(100) :

color(colors[x% 4])

width(x/10+1)

forward(x+x*10)

left(90)

2.Кругла спіраль

Кругла спіраль будується так, як і багатокутник. Але початкове значення першої сторони дуже мале, а кожна наступна сторона більша за попередню. Чим швидше змінюється величина кута, тим закрученіою буде спіраль.

t=0.1

kut=2

for i in range(760):

left(kut)

forward(t)

t=t+0.01

t=0.1

kut=2

for i in range(760):

left(kut*2)

forward(t)

t=t+0.01

for j in range(1,50):

forward(j*3)

backward(j*2)

right(20)

colors =['red','yellow','green','blue']

width(5)

for j in range(1,50):

color(colors[j%4])

forward(j*3)

backward(j*4)

right(20)

3. Кругова спіраль

for x in range(100):

width(x/100)

circle(x)

left(91)

colors=['red','green','orange','blue']

for x in range(300):

color(colors[x%4])

width(x/100)

circle(x)

left(90)

for x in range(200):

color(colors[x%4])

width(x/100)

circle(x/2)

left(46)

for x in range(300):

color(colors[x%4])

width(x/100)

circle(x)

left(45)

4.Багатокутні спіралі

Багатокутні спіралі будуються так, як і багатокутники. Але кожна наступна сторона багатокутника більша за попередню.

for i in range(50):

width(i/10)

forward(i*3)

right(72)

for i in range(60):

fd(i*10)

right(144)

for i in range(60):

fd(i*10)

right(225)

for i in range(60):

fd(i*2)

right(225)

fd(i*2)

left(270)

5.Перекручені спіралі

Перекручені спіралі будуються так само, як і багатокутні спіралі, але кут на один градус менший (більший) за кут відповідного багатокутника.

for x in range(200):

color(colors[x%3])

forward(2*x)

width(x*3/200)

left(121)

for x in range(150):

width(x/100)

forward(x)

left(91)

colors=['red','purple','blue']

for x in range(150):

pencolor(colors[x%3])

width(x/100+1)

forward(x)

left(59)

colors=['red','orange','yellow','green','olive','blue','fuchsia' ,'purple']

for x in range(30,150):

pencolor(colors[x%8])

width(x/100+1)

forward(x)

left(44)



from turtle import *

t=pen()

color("red", "yellow")

pensize(3)

begin_fill()

forward(200)

while abs(pos())>1:

left(170)

forward(200)