Если значения x и z не изменились, тогда расчет очень прост: просто используйте базовую тригонометрию.
Пусть точки будут (x, y1, z)
и (x, y2, z)
.Вы можете узнать угол, который вектор делает с плоскостью ZX.Пусть углы будут t1
и t2
соответственно.Тогда:
w = sqrt(x^2 + z^2)
tan(t1) = y1 / w
So t1 = atan(y1 / w)
Similarly t2 = atan(y2 / w)
The angle is (t2 - t1)
Есть одна ловушка: когда x и z равны нулю, tan
s не определены ... но такой тривиальный случай легко обрабатывается отдельно.
К сожалению, кажется, что нет способа избежать квадратного корня.