@tyxeo
дальний знакомый Мурыча

Как найти все углы относительно заданного?

658d7cc3d3b32085378698.png

массив_углов = получить_все_углы( основной_угол_рад,  количество_углов )

есть тело повернутое в определенном направлении в 2д пространстве - на схеме это черный вектор
этот угол постоянно меняется и известен

и дано количество векторов, которые надо направить из центра тела
которые должны быть распределены равномерно по окружности относительно основного вектора
надо получить все углы зная первый и количество углов

на схеме дан некий угол (черный вектор) количество векторов = 6
  • Вопрос задан
  • 165 просмотров
Решения вопроса 1
hint000
@hint000
у админа три руки
псевдокод:
n=6
phi[0]=90
phi[i]=phi[0]+i*360/n
if phi[i]>=360 then phi[i]=phi[i]-360
i=1..(n-1)
(для углов в градусах)

или

n=6
phi[0]=Pi/2
phi[i]=phi[0]+i*2*Pi/n
if phi[i]>=2*Pi then phi[i]=phi[i]-2*Pi
i=1..(n-1)
(для углов в радианах)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
GavriKos
@GavriKos
есть точка и основной вектор исходящий из нее, то есть угол (в градусах или радианах)

Так вектор или угол? Это разные вещи.

Если угол между всеми векторами должен быть одинаковым - то тут пофиг на первый вектор, важно только количество векторов. 360/(количество векторов -1) - вот и будет ваш один угол. Но зачем первый вектор - непонятно.
Ответ написан
@My1Name
Интересная задача.
Похожа на закон сохранения импульса
Как найти все углы относительно заданного?

Сумма всех углов есть величина постоянная == 360 делить на количество векторов... Угол меняется относительно системы отсчёта. То есть, вам нужно задать начало координат. Таким образом, если вектор тела равен углу 90°, то один из 6 векторов будет иметь отрицательное значение.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы