Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 18.01.2023
Сообщений: 15
1

Python Turtle. Черепашья графика. Указатели "стрелочки" направления вектора

09.12.2023, 20:02. Показов 752. Ответов 0

Author24 — интернет-сервис помощи студентам
Добрый вечер. Подскажите пожалуйста, как расположить стрелки по направлению вектора?

Python Turtle. Черепашья графика. Указатели "стрелочки" направления вектора


Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
from math import sin, cos, tan, atan, degrees, pi
from random import randint
 
 
import turtle
 
 
R = 100 # радиус окружности построения кругов
r = 25 # радиус кругов в окружности
n = 4 # количество строк матрицы
Fi = 2*pi/n # угол смещения в радианах [1.5707963267948966]
p = [] # координаты кругов по оси x & y
matrix = [[randint(0,9) for _ in range(n)] for _ in range(n)] # генерация случайной двумерной матрицы
 
 
win = turtle
win.setup(400,400)
win.title("Зависимость элементов матрицы")
 
for i in range(n):
    """Вычисление координат расположения окружностей."""
    p += [[(R * cos(Fi * i)), (R * sin(Fi * i))]] 
 
 
for i in range(n):
    """Отрисовка окружностей и их нумерация."""
    win.speed(10)
    win.teleport(p[i % n][0], p[i % n][1] - r)
    win.circle(r)
    win.teleport(p[i % n][0], p[i % n][1])
    win.dot(5)
    win.teleport(p[i % n][0], p[i % n][1] + r)
    win.write(i+1)
 
 
win.speed(1)
for i in range(n):
    for j in range(n):
        if matrix[i][0] != 0 and matrix[i][j] != 0 and i != j:
            """Нахождение зависимостей элементов матрицы"""
            angle = tan((p[i][1] - p[j][1]) / (p[i][0] - p[j][0])) # вычмсление тангенса угла наклона 
            angle = atan(angle) # вычисление катангенса
            angle = degrees(angle) # перевод из меридианы в градусы
        
            print(f"Точка {i+1}: X, Y: {p[i][0], p[i][1]}\nТочка {j+1}: X, Y: {p[j][0], p[j][1]}\nУгол направления черепашки: {win.heading()}, Дирекциональнный угол: {angle}\n\n")
            
            win.teleport(p[i][0], p[i][1]) # устанавливаем черепашку в начало вектора
            win.goto(p[j][0], p[j][1]) # рисуем вектор
 
            
            win.setheading(angle + 180) # поворачиваем стрелку соотвественно углу наклона вектора
            win.stamp() # отпечатываем стрелку на канвасе
 
 
win.done()
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.12.2023, 20:02
Ответы с готовыми решениями:

Черепашья графика
Язык Лого, особенно популярный среди пользователей персональных компьютеров, сделал знаменитой...

Черепашья графика
Полистал тут Дейтелов, пятое большое издание и нашёл простенькую задачку, но код получился черезчур...

Черепашья графика
Как это сделать через процедуры? Составить процедуры построения фигур: а) квадрата по известной...

Черепашья графика на С (Си)
Черепаха несет перо, которое может находится в одной из 2х позиций – нижней или верхней. Если перо...

0
09.12.2023, 20:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.12.2023, 20:02
Помогаю со студенческими работами здесь

Черепашья графика
Текст задачи из учебника Дейтела: Язык Лого, особенно популярный среди пользователей...

Черепашья графика
Добрый день, не могу понять почему ничего не отображается на форме. Задание приведено с учебника...

Черепашья графика
Многоугольник (не обязательно выпуклый) задан след. образом: длина очередной стороны, угол поворота...

Черепашья графика в консоли на C
Привет. Для меня сложная задача. Бьюсь над ней долго. Условие задачи: Есть поле 50х50...

Черепашья графика (язык Лого)
Хочу смоделировать перемещение черепахи по полю. У черепахи есть перо. Если оно опущено, то на поле...

Черепашья графика, как реализовать?
Здравствуйте! Заметил, что у нас в КмЛ нету приемлемой системы черепашьей графики. Хочу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru