Создание изображения звезд на языке Python и с использованием библиотеки tkinter
Оценка 4.6

Создание изображения звезд на языке Python и с использованием библиотеки tkinter

Оценка 4.6
Исследовательские работы
docx
информатика
9 кл—11 кл +1
22.09.2021
Создание изображения звезд на языке Python и с использованием библиотеки tkinter
В работе приведены примеры создания изображения звезд на экране ПК на языке Python и с использованием библиотеки tkinter
Графика Python - создание звезды с разным количеством лучей.docx

Графика на Python

С помощью языка программирования Python и графической билиотеки tkinter можно создавать красивые графические объекты. В данных двух примерах рассматриваются возможности создания звезд с количеством лучей, устанавливаемом разработчиком. В первом примере будет создана звезда, в которой на экране будут видны только контуры лучей. Во втором примере на экране можно создать звезду, на которой лучи звезды можно окрасить в любой цвет (заполнить контуры).

 

Пример 1. Создание звезды с разным количеством лучей не заполненная

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

 

18

 

19

20

21

import tkinter

import math

master = tkinter.Tk()

canvas = tkinter.Canvas(master, bg='white', height=600, width=600)

canvas.pack()

 

r = 100

 

n = int(input('Количество лучей:'))

 

for k in range(n):

    if n % 2 == 0:

        k1 = (k + n / 2 - 1) % n

    else:

        k1 = (k + (n - 1) / 2) % n

 

    p1 = (300 + r * math.cos(2 * 3.14 * k / n), 300 + r * math.sin(2 * 3.14 * k / n))

    p2 = (300 + r * math.cos(2 * 3.14 * k1 / n), 300 + r * math.sin(2 * 3.14 * k1 / n))

    canvas.create_line(p1, p2, fill = 'red')

 

master.mainloop()

 

 

 

 

 

Пример 2. Создание звезды с разным количеством лучей заполненная

 

 

 

1

2

3

4

 

5

6

7

8

9

10

11

 

12

13

14

15

16

17

import tkinter
from math import pi, cos, sin
master = tkinter.Tk()
canvas = tkinter.Canvas(master
, bg='white', height=600, width=600)
canvas.pack()
r = 200
offset=(300,300)
n = int(input(
'Vertex number:'))
angle=2*pi/n
k=(n-1)//2 # star-like polygon, n/k type, example: 5/2, 6/2, 7/3, 8/3
vertex_by_order=[i*k%n
for i in range(n+1)]
connected_components=n//len(set(vertex_by_order)) # CC is 2 for  n  is even number
for j in range(connected_components):
    coords=[(offset[0]+r*cos((j+v)*angle), offset[1]+r*sin((j+v)*angle))
for v in vertex_by_order]
    points=[x
for t in coords for x in t]
    canvas.create_polygon(points,
fill = 'red')
master.mainloop()

 


 

Графика на Python С помощью языка программирования

Графика на Python С помощью языка программирования

Пример 2. Создание звезды с разным количеством лучей заполненная 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16…

Пример 2. Создание звезды с разным количеством лучей заполненная 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16…
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.
22.09.2021