Измерить вертикальный и горизонтальный угол

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Измерить вертикальный и горизонтальный угол

Сообщение Programmator21 31 окт 2018, 17:39

Уважаемое коммЮнити, помогите решить задачу. Есть камера (она является точкой C), она управляется мышкой. Есть две точки A и B. Когда мы наводим камеру на точку А, пускаем raycast, записываем в переменную _mA, потом наводимся на точку B и пускаем новый raycast, записываем в _mB.
Необходимо считать и выводить два угла: Вертикальный(k); Горизонтальный(h). Эти углы показаны на картинке ниже.
Координаты всех трех точек известны, так что думаю можно как то считать через них. А можно считать через вращение камеры.
Пожалуйста, напишите конкретный пример рабочего кода, который выполняет поставленную задачу. (c#)
Изображение
Programmator21
UNец
 
Сообщения: 11
Зарегистрирован: 24 окт 2018, 00:53

Re: Измерить вертикальный и горизонтальный угол

Сообщение 1max1 31 окт 2018, 17:54

Синтаксис:
Используется csharp
Vector3 CB = B - C;
Vector3 projCB = CB;
projCB.y = 0.0f;
float k = Vector3.Angle(CB, projCB);
Vector3 CA = A - C;
float h = Vector3.Angle(CA, projCB);
 
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Измерить вертикальный и горизонтальный угол

Сообщение Programmator21 31 окт 2018, 19:12

1max1 писал(а):
Синтаксис:
Используется csharp
Vector3 CB = B - C;
Vector3 projCB = CB;
projCB.y = 0.0f;
float k = Vector3.Angle(CB, projCB);
Vector3 CA = A - C;
float h = Vector3.Angle(CA, projCB);
 



Гениально! Большое спасибо)) :ymparty: ^:)^
Programmator21
UNец
 
Сообщения: 11
Зарегистрирован: 24 окт 2018, 00:53


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 25