0

угол между двумя прямыми

Yuri 1 year ago in Micromine / General updated 1 year ago 7

Всем здравствуйте!

Подскажите пожалуйста, БОГИ СТЕРЕОМЕТРИИ, с помощью какой формулы можно вычислить угол между прямой и линией.

У линии известны обе точки: X1, Y1, Z1 и X2, Y2, Z2.

А у прямой только направление (азимут) и угол относительно горизонта (вниз - минус, плюс - вверх)

Добрый день. Попробуйте построить по координатам и по азимуту и по  углу горизонта 2 стринга или же точки (DAT файл) в ММ ну а потом с помошью инструментов ММ измерить угол.

Спасибо за подсказку. Но мне нужна формула. Никаких построений в Визексе. 

При этом, само собой, прямая пересекается с линией

Добрый.

Угол между прямыми в пространстве определяется с помощь формулы:


При этом две прямые должны быть заданы каноническими уравнениями:


Для линии:

a1 = x2 – x1

a2 = y2 – y1

a3 = z2 – z1

Для прямой можно взять первую точку, совпадающую с точкой на линии (x1,y1,z1).

Координаты второй (произвольной) точки, лежащей на прямой можно вычислить по формулам:

x2 = x1 + cos(α)

y2 = y1 + sin(α)

z2 = z1 + tan(β)

где α – направление (азимут), β – угол относительно горизонта

Осталось свести все в одну монструозную формулу:

Извините, сейчас нет возможности проверить формулу замерами. Удивлюсь, если учел все правильно с первого раза. К ночи уточню.

Несколько частных случаев показали, что формула корректная.

Но есть нюанс. Это формула угла между прямыми, которые не имеют направлений. Соответственно она всегда возвращает острый угол, без учета направлений линии и прямой.

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

Благодарю Илья!