Доброго времени суток, возникла проблема с построением перпендикуляров в акаде. Что имею: Набор из множества линий по 2 разным осям, каждая из линий имеет свои начальные и конечные отметки z (у всех в пределах одной оси они разные). (скринщот 1) Необходимо построить перпендикуляр от первой оси ко второй, соотвественно имеется ввиду с каждой опорной точки 1 оси на 2 ось, попытался сделать это с перпендикулярной привязкой, и получилось как на (2 скриншоте), то есть, 90 градусов было относительно 2ой оси, а я хотел чтобы 90 было именно относительно 1 ой оси, как на (3 скриншоте) Подумал не проблема, так как есть множество способов как можно построить перпендикуляр относительно линии, и как видно я его построил успешно как мне и надо было. И вот тут появляется главная проблема, из-за которой я и обращаюсь. Проблема заключается в том, что мне нужно еще и определить отметку z опущенного мною перпендикуляра на его конце, который в плане привязался ко 2 оси, но в пространстве он не привязывается. К сожалению его отметка не меняется, то есть этот перпендикуляр строится только как прямая в пространстве, а мне нужно, чтобы она именно привязалась к этой линии в пространстве, то есть и отметка z в конце перпендикуляра должна тоже поменяться. Загвоздка в том, что при построении перпендикуляра с привязкой (когда 90 градусов получается именно относительно 2ой оси, 2 скриншот) эта привязка работает, и я получаю интерполированную отметку z между началом этой прямой и концом. Так вот вопрос, как мне при построении такого перпендикуляра привязать этот самый перпендикуляр к этой линии с пространственной привязкой, чтобы также получить отметку z, желательно конечно без дополнительных построений. Вот так это выглядит в пространстве, то есть мой перпендикуляр это просто прямая на одной плоскости, а мне именно нужно чтобы она привязалась ко 2 линии под тем же углом 90 градусов и получила на конце ее интерполированную z отметку. Постарался объяснить как мог, задача вроде не кажется сложной, но тем не менее до меня не доходит как это можно быстро решить, буду благодарен за помощь в решении проблемы.
Эта тема про скрещивающиеся кривые в пространстве. Вам придется разбирать, лежат ли внутри отрезков точки перпендикуляра, соединяющего соответствующие скрещивающиеся кривые, проходящие через эти отрезки.
UPD: написл "кривые" )) Прямые, конечно же ))) Через отрезки проходят прямые. Они, в данном случае, не лежат в одной плоскости -> значит, они не параллельны, то есть они скрещиваются в пространстве. Есть формула вычисления кратчайшего расстояния между ними, то есть перпендикуляра. Возможны 2 случая: 1) отрезки находятся "друг над другом", тогда конечные точки перпендикуляра лежат на отрезках; 2) отрезки находятся "в стороне друг от друга", тогда конечные точки перпендикуляра не лежат на отрезках, а лежат на прямых. В случае 1) вам удастся построить перпендикуляр, т.е. углы будут 90 градусов к обоим отрезкам, что вы и хотите получить. Надо отметить, скорее всего концы перпендикуляра будут лежать где-то внутри отрезков, а не на их концах. В случае 2) кратчайшим расстоянием между отрезками будет какой-либо из отрезков, проведенных из вершины одного из них по нормали (90 градусов) к другому. Очевидно, в этом случае угол 90 градусов будет только к одному из них.
Типа такого? перпендикуляр от точки к 3д полилинии через утилиту МенюГео, на выходе получается отрезок с вершиной точки в начале и конечной интерполированной отметкой в точке сопряжения 3д полилинии. Но быстрее так посчитать наверное, чем через костыли