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

Нахождение дирекционного угла

08.12.2023, 13:48. Показов 797. Ответов 0

Author24 — интернет-сервис помощи студентам
Добрый день. Изучаю компьютерную графику, встала задача продемонстрировать зависимость элементов в матрице, что в целом получилось, только не получается отрисовать стрелки направления.
Нахождение дирекционного угла


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 turtle import *
from math import sin,cos,tan,atan,degrees,pi
from random import randint
 
 
R = 100 # радиус окружности построения кругов
r = 30 # радиус кругов в окружности
n = 4 # количество строк матрицы
Fi = 2*pi/n # угол смещения в радианах [1.5707963267948966]
p = [] # координаты кругов по оси x & y
matrix = [[randint(0,9) for _ in range(n)] for _ in range(n)] # генерация случайной двумерной матрицы
 
speed(10)
 
 
for i in range(n):
    """Вычисление координат x & y"""
    p += [[(R * cos(Fi * i)), (R * sin(Fi * i))]] 
 
 
# print(matrix)
# print(p)
 
for i in range(n):
    """Отрисовка кругов и их нумерация"""
    penup()
    goto(p[i % n][0], p[i % n][1] - r)
    pendown()
    circle(r)
    penup()
    goto(p[i % n][0], p[i % n][1] + r)
    pendown()
 
    write(i+1)
 
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:
            """Нахождение зависимостей элементов матрицы A & B"""
            penup()
            setpos(p[i][0], p[i][1]) # круг A
            pendown()
            goto(p[j][0], p[j][1]) # путь к B
 
            angle = tan((p[i][1] + 1 - p[j][1]) / (p[i][0] + 1 - p[j][0])) # вычисление угла наклона
            angle = atan(angle)
            angle = degrees(angle) # приведение из меридианы в градусы
 
            print(f"A: {i+1}, B: {j+1}, Градус черепашки: {heading()}, Дирекциональнный угол: {angle}")
            
            setheading(angle) # установка черепашки в заданом градусе
            stamp() # отрисовка стрелки
done()
Миниатюры
Нахождение дирекционного угла  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.12.2023, 13:48
Ответы с готовыми решениями:

Нахождение угла А
Около стены наклонно стоит палка длиной х м. Один ее конец находится на расстоянии у м от стены....

Нахождение угла
собственно программа должна исходя из заданных точек х1 х2 y1 y2 находить угол, но увы время от...

Нахождение угла треугольника
Нужно найти угол треугольника через гипотенузу "ПИ" и противолежащий угол "е". При чем не...

Нахождение внутреннего угла
Даны вершины треугольника a(-1, -2, -3), b(-4, -2, 0), c(3, -2, 1); найти его внутренний угол при...

Нахождение угла азимута
Есть точка на 10 градусах северной широты на гринвичском меридиане. Необходимо найти через проекцию...

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

Нахождение угла по векторам
Как найти угол зная вектор position и вектор указателя мыши с помощью libGDX?

Нахождение угла между прямыми
Добрый вечер! Можете помочь решить задачу по геометрии? Я уже весь вечер ломаю голову, но ничего в...

Нахождение угла по известным данным
Привет всем! Третий день решаю задачу, думал будет просто, но как-то застрял (см. рис.). Есть...

Нахождение угла в прямоугольном треугольнике
привет друзья! если известны катет b=5 и гипотенуза с=10 то а=b/c = 0.5 - это sin(30) как найти...

Нахождение cos,sin и tg угла
Требуется создание программы, которая вводе значения угла выводил cos, sin и tg этого угла....

Нахождение арктангенса угла в градусах
Мне необходимо в выражении tan gamma=z/q найти угол гамма в градусах z и q соответственно...


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

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