Получение высоты объекта
Есть данные: все координаты объекта в пространстве(кроме высоты), дистанция до объекта, все собственные координаты и угол наклона к объекту, как получить эту самую высоту объекта? я слишком плох в геометрии чтобы понять это
Примерный рисунок для ясности (Есть информация: x объекта, z объекта, a(угол наклона от меня до объекта), дистанция от меня до объекта и собственные координаты x y z, как найти y объекта?)
Ответы (2 шт):
Если я правильно понял:
dist^2 = dx^2+dy^2+dz^2
|dy| = sqrt(dist^2 - dx^2 - dz^2)
где dx
- разность X-координат объекта и наблюдателя и так далее.
Угол (между направлением на объект и чем?) поможет уточнить знак разности y-координат
Все, чтобы определить координаты вашего объекта у вас есть. Если мы говорим о Декартовых координатах, то можно определиться со следующими исходными данными:
- Координаты наблюдателя (т.е. вас) в общей системе координаты x1, y1, z1.
- Расстояние от точки наблюдения до объекта - dist
- Угол от плоскости x1Oy1 (скажем так, это плоскость параллельная общей системы координат xOy) - alpha.
- Угол по горизонтали (если я правильно понимаю, что вы имели ввиду) - beta - угол между АС и координатной прямой Ox1 (она параллельна Ох). Решение. Итак ваш объект, это вершина В с координатами x2, y2, z2 которые мы должны выяснить. Треугольник АВС является прямоуогольным (плоскость х1Оу1 параллельна плоскости хОу, а т.С является проекцией точки В на плоскость х1Оу1. sin(alpha) = BC/AB = (z2-z1)/dist ,вы знаете угол, значит z2 = sin(alpha)*dist + z1; sin(beta) = СС1/AC = CC1/(cos(alpha) * AB) = (y2 - y1)/(cos(alpha) * dist), отсюда у2= sin(beta) * cos (alpha) * dist + y1; А уж как найти теперь х2, есть "33 варианта" Можно так: dist^2 = (x2-x1)^2 + (y2-y1)^2 + (z2-z1)^2. Тут неизвестно только x2-x1. х2 = х1 + sqrt(dist^2 - (y2-y1)^2 - (z2-z1)^2). По поводу знаков, тут смотрите сами. Но на знаки вам укажут градусы углов.