определение координат плоскости по одной точке

0 голосов
спросил 24 Окт, 08 от tuman (1,120 баллов) в категории Программные продукты Esri
Здравствуйте! Может ли кто прокосультировать по следующему вопросу. Возможно ли построение плоскости по одной точке, если мы знаем ее координаты. (азимут падения и угол падения)?

37 Ответы

0 голосов
ответил 27 Окт, 08 от tuman (1,120 баллов)
Спасибо за советы! Тоже попробую еще что-нибудь поискать. может и люди добрые подскажут :)
0 голосов
ответил 27 Окт, 08 от AndreyL (5,420 баллов)
А если вычесть один слой из другого? А потом изолинию по 0.
0 голосов
ответил 27 Окт, 08 от geologic (39,860 баллов)
О, да, конечно, спасибо. Для GRID это и даёт пересечение. Понятно, оно будет приблизительным - но не более других ГИС-решений. Лучше иметь все же "настоящую" плоскость, и DTM как TIN - так геологи обычно предпочитают.
0 голосов
ответил 27 Окт, 08 от AndreyL (5,420 баллов)
Лучше иметь все же "настоящую" плоскость
А в чем проблема? Посмотрите, если я не накосячил, то уравнение этой плоскости известно (код писался под Вольфрамовскую Математику)
ClearAll[x, y, z, az, ug, a, b, c, d, X, Y, Z]
p1 = {x, y, z};
p2 = {x + Sin[az - Pi/2], y + Cos[az - Pi/2], z};
p3 = {x + Sin[az]*Cos[ug], y + Cos[az]*Cos[ug], z - Sin[ug]};
fu[vec_] := a vec[[1]] + b vec[[2]] + c vec[[3]] + d;
rez = Solve[{fu[p1] == 0, fu[p2] == 0, fu[p3] == 0,
     a^2 + b^2 + c^2 == 1}, {a, b, c, d}] // Simplify;
eq = (a X + b Y + c Z + d == 0) /. rez[[1]];
Solve[Evaluate[eq], Z] // Simplify
 
p1 - исходная точка
p2 - точка на простирании
p3 - точка на падении
результат
Z -> z + (y - Y) Cos[az] Tan[ug] + (x - X) Sin[az] Tan[ug]
По этому уравнению можно построить плоскость
0 голосов
ответил 28 Окт, 08 от AndreyL (5,420 баллов)
Я так думаю, что задача полностью может быть решена в АркГИС, если ДЕМ предварительно перевести в ТИН. Перевести все точки ТИНа в точечный слой и получить их координаты (все три), потом из высоты ТИНа вычесть высоту плоскости (формула плоскости есть) и по полученным значениям построить новый ТИН. Нулевая изолиния этого ТИНа даст пересечение плоскости с поверхностью, высоту этой линии можно снять с исходного ТИНа. А обрезав все точки, лежащие Выше поверхности, и добавив к ним линию пересечения, можно получить ТИН плоского слоя на глубине.
0 голосов
ответил 28 Окт, 08 от geologic (39,860 баллов)
Да, очень интересная идея! Неужели получится реализовать просто через манипуляции с шейпами и калькулятор, не прибегая к бейсику?.. +++++!!! DTM переводить не придется, геологи, как правило, и стоят сразу в TIN.

Однако вот примерно как выглядит нормальная трехмерная программа, где вычитание любых поверхностей и соответственный расчет объемов имеются на уровне базовой алгебры.
    
    
0 голосов
ответил 28 Окт, 08 от AndreyL (5,420 баллов)
Так, пока я писал ответ, Ваш пост исправлен. Тем не менее, никакого программирования не нужно, бейсик не причем. Получить точечный слой из узлов ТИНа можно штатными средствами, как и получить координаты точек этого слоя, добавить в таблицу два поля и заполнить их значениями, построить новый ТИН по точкам, сделать изолинию по этому ТИНу и сделать из линейного слоя 3Д-слой с высотами по исходному ТИНу - все только штатными средствами. Если не понятно, могу попробовать, ради хохмы, модель сварганить (если лицензий на 3Д хватит - не помню).
0 голосов
ответил 28 Окт, 08 от AndreyL (5,420 баллов)
Не, модель не получится - нет лицензии на 3D Analyst Tools, на 3D Analyst есть, а на Tools нет.
А по поводу 3Д программ - я так обыкновенный Сёрфер юзаю
0 голосов
ответил 29 Окт, 08 от tuman (1,120 баллов)
Линию пересечения можно получить, если вычесть в 3D аналисте, через инструмент насыпи выемки, эти две поверхности, нулевая линия и будет являться линией пересечения пласта и поверхности рельефа. Далее ее спокойно можно превести в шейп.
0 голосов
ответил 29 Окт, 08 от tuman (1,120 баллов)
за уравнение спасибо, но честно признаюсь, мало что понятно. в общем виде понимаю, а конкретно нет :)
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...