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

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

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

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



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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.12.2023, 20:02
Ответы с готовыми решениями:

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

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

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

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.12.2023, 20:02
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru