Страница 1 из 1

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

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

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

СообщениеДобавлено: 31 окт 2018, 17:54
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);
 

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

СообщениеДобавлено: 31 окт 2018, 19:12
Programmator21
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: ^:)^