Интерполяция точек в автокаде
Перейти к содержимому

Интерполяция точек в автокаде

  • автор:

Проект «Добро вернётся» Геодезия

Интерполяция между точками — получение промежуточной величины между точками.

Что-бы интерполировать две точки в Autocad GeoniCS заходим в меню Геоточки — создать геоточки — интерполировать, затем выбираем нужные нам две точки, в командной строке появится диалог Введите количество промежуточных точек, ставим нужное количество и жмём ENTER.

(кликабельно)

В нашем примере мы получили среднее значение между точками с высотами 97.46 и 97.83 и получили точку 97.64

Форумы GIS-Lab.info

Собственно, есть проблема, имеются точки, хочется получить намного больше точек, исходя из информации об же существующих, т.е. проинтерполировать новые точки.
Я знаю один способ, но он очень извращенный, так что интересно, кто сталкивался с подобными проблемами, что и как делать подскажите? Как интерполируете точки вы.
По поводу програмного обеспечения, если честно не имею представления в каком софте (кроме аркгиса) можно это осуществить, однако предлагайте любые варианты (интересно, может lisp какой есть для када).

Заранее благодарю за помощь!

JEY Активный участник
Сообщения: 228 Зарегистрирован: 17 июл 2008, 13:42
Репутация: 1

Re: Давайте поговорим про интерполяцию.

Сообщение JEY » 07 июл 2009, 13:00

В программных продуктах AutoCAD Civil 3D и GeoniCS есть функции интерполяции и экстраполяции точек внутри и за пределами триангуляционной сети.

Особенностями этой процедуры является то, что результатом является некоторая точка имеющая координаты X, Y и Z соответствующие сумме значений координат всех вершин грани и деленное на количество вершин этой грани. То есть никаких сверхестественных расчетов не выполняется.

Алгоритм получения новых точек посредством процедур интерполяции и экстраполяции я видел в книге «Алгоритмы и структуры данных ГИС».

WeMaN Завсегдатай
Сообщения: 310 Зарегистрирован: 16 фев 2009, 10:49
Репутация: 0

Re: Давайте поговорим про интерполяцию.

Сообщение WeMaN » 07 июл 2009, 13:03

А расскажите ка про AutoCAD Civil 3D поподробнее, имею данную программу, даже больше скажу в ней работаю я, так вот хотелось бы узнать, как там интерполяция делается??

JEY Активный участник
Сообщения: 228 Зарегистрирован: 17 июл 2008, 13:42
Репутация: 1

Re: Давайте поговорим про интерполяцию.

Сообщение JEY » 07 июл 2009, 13:59

В данный момент не имею установленного AutoCAD Civil 3D на компьютере, поэтому мне будет немного сложновато.

Зато на память могу сказать, как это делается в GeoniCS:

1. Изначально необходимо создать новую поверхность на базе имеющихся данных (данными является загруженная база геоточек).
2. Сделать эту поверхность текущей.
3. В меню «Геоточки» выбрать подменю «Редактирование геоточек», а затем «Интерполировать. » или «Экстраполировать».
4. И, наконец, указать координаты геоточки на экране в пределах триангуляционной сети или за ее пределами.

GeoniCS является аналогом AutoCAD Civil 3D, поэтому функцию интерполяции Вы сможете найти в меню «Points» или «Точки» (если AutoCAD Civil 3D русифицирован).

WeMaN Завсегдатай
Сообщения: 310 Зарегистрирован: 16 фев 2009, 10:49
Репутация: 0

Re: Давайте поговорим про интерполяцию.

Сообщение WeMaN » 07 июл 2009, 14:09

Спасибо, сейчас буду пробовать, а экстерполяция что такое есть?
Сообщения: 852 Зарегистрирован: 15 сен 2005, 13:19
Репутация: 6 Откуда: москва Контактная информация:

Re: Давайте поговорим про интерполяцию.

Сообщение geologic » 07 июл 2009, 14:52

WeMaN, экстра- и интерполяция функции не ГИС и даже не софта, а математики. Советую прочитать что-нибудь общее про это, а то нахватаетесь конкретики раньше времени. Например, вот неплохие тексты.

Последний раз редактировалось geologic 07 июл 2009, 15:15, всего редактировалось 1 раз.
JEY Активный участник
Сообщения: 228 Зарегистрирован: 17 июл 2008, 13:42
Репутация: 1

Re: Давайте поговорим про интерполяцию.

Сообщение JEY » 07 июл 2009, 14:54

Экстраполяция — это определение высотного и/или планового положения некоторой точки за пределами поверхности.

WeMaN Завсегдатай
Сообщения: 310 Зарегистрирован: 16 фев 2009, 10:49
Репутация: 0

Re: Давайте поговорим про интерполяцию.

Сообщение WeMaN » 07 июл 2009, 15:05

geologic Спасибо за совет, но как вы могли убедиться из текста выше, мне не столько нужна теория, сколько нужны способы того, как это можно сделать!! Ибо возникла задача интерполировать отметки!! Вот я и ищу методы

JEY У меня получилось создать интерполированную поверхность в Цивиле! Прикольно всё, только вот теперь задача как вершины треугольников превратить в точки с 3мя координатами?!

Сообщения: 852 Зарегистрирован: 15 сен 2005, 13:19
Репутация: 6 Откуда: москва Контактная информация:

Re: Давайте поговорим про интерполяцию.

Сообщение geologic » 07 июл 2009, 15:19

Если конкретно про модели местности, то вот.
Но это уже ГИС, а вас как я понял, крупный масштаб интересует, т.е. инженерка. Не буду мешать

JEY Активный участник
Сообщения: 228 Зарегистрирован: 17 июл 2008, 13:42
Репутация: 1

Re: Давайте поговорим про интерполяцию.

Сообщение JEY » 07 июл 2009, 15:27

А из каких объектов Вы создавали поверхность? По всем правилам AutoCAD Civil 3D, чтобы построить поверхность, нужно добавить группу точек в подразделе «Данные TIN» раздела «Поверхности».

WeMaN Завсегдатай
Сообщения: 310 Зарегистрирован: 16 фев 2009, 10:49
Репутация: 0

Re: Давайте поговорим про интерполяцию.

Сообщение WeMaN » 07 июл 2009, 16:04

geologic Почему именно инженерка? Вообще то у меня ГИС как таковой, но только на основе инженерки
Статью эту читал давно, нечто подобное я делал ещё в университете, однако из статьи почерпнул о возможности накладывать спутниковый снимок, получилось прикольно Но мы отвлеклись, при чём тут интерполяция?

JEY Не понимаю зачем вам такие подробности? Просто по точкам в Цивиле сделал поверхность, потом с ней произвёл интерполяцию и получилось что вместо сетки треугольников через 20 метров, у меня стала модель через метр, т.е. точки с интерполировались, теперь остаётся вопрос как треугольники преобразовать в точки.

JEY Активный участник
Сообщения: 228 Зарегистрирован: 17 июл 2008, 13:42
Репутация: 1

Re: Давайте поговорим про интерполяцию.

Сообщение JEY » 08 июл 2009, 07:15

Просто я не понимаю, зачем снова преобразовывать 3D-грани в точки. Достаточно открыть диалоговое окно списка точек, выделить все и добавить в чертеж одной командой из контекстного меню. Разве не это нужно?

WeMaN Завсегдатай
Сообщения: 310 Зарегистрирован: 16 фев 2009, 10:49
Репутация: 0

Re: Давайте поговорим про интерполяцию.

Сообщение WeMaN » 08 июл 2009, 07:49

Ладно буду подробен, наверное не так выражаюсь.
У меня есть набор точек с координатой z точки расположены друг от друга с шагом, допустим через 10 метров, мне надо с помощью интерполяции получиться дополнительно ещё точки, на основе уже существующих, но имующих шаг 10 м, т.е. из 10 метрового расстояния между точками получить точки с 1 метровым расстоянием. Мне нужный именно точки!
Что я для это делаю, я строю по своим точкам (которые с шагом 10 м) проверхность в Civile, получается треангуляционная сеть с шагом вершин треугольника через 10 м, ибо каждая вершина это точка по которой построена поверхность, с помощью меню интерполяции я преобразую поверхность с треугольниками в поверхность в которой вершинины треугольников идут через 1 метр, т.е. истинными являются вершины которые через 10 метров, а остальные вершины синтерполированны. Теперь мне нужно из этой поверхности получить вместо вершин треугольников точки с координатой z, которые соответсвуют всем вершинам интерполированной поверхности.
Понятно?

JEY Активный участник
Сообщения: 228 Зарегистрирован: 17 июл 2008, 13:42
Репутация: 1

Re: Давайте поговорим про интерполяцию.

Сообщение JEY » 08 июл 2009, 08:13

Вот теперь предельно понятно! Скажу сразу. Преобразовать 3D-грани в точки Вы не сможете. В AutoCAD Civil 3D такой команды нет. Я уже сталкивался с таким вопросом. Но тогда поверхность была построена посредством GeoniCS, что в принципе идентично Civil 3D.

Интерполяция была выполнена посредством добавления новых точек в режиме редактирования поверхности. То есть, в момент добавления новой точки поверхность автоматически перестраивалась в определенном участке, вместе с тем в список точек, каждый раз, добавлялась новая точка.

К чему веду? Полученные посредством интерполяции точки, были автоматически сохранены в проекте AutoCAD Civil 3D и Вы можете обнаружить их в списке точек. То есть не обязательно разбивать 3D-грани на составляющие!

Попробуйте внимательно проверить список точек. Скорее всего, результаты интерполяции Вы найдете там.

Интерполяция и экстрполяция в Автокаде

Всем привет.
В пиложенном файле есть полилинии с высотами-z и блок с текстом отметки. Как автоматизировать поцесс Интер/экстрполяции между двумя линиями для произвольной точки со встакой блока в нужное место с правильной отметкой?

DWG 2010 Contur.dwg (92.6 Кб, 82 просмотров)

Просмотров: 9647
Регистрация: 23.05.2012
Сообщений: 1,374

SlavaLu, не усложняйте себе жизнь. Civil 3D Вам в помощь. У Вас есть все данные для создания полноценной поверхности.

__________________
Как-то так.
Регистрация: 30.03.2016
Сообщений: 55
sertor,
К сожелению о Civil 3D могу только мечтать Руководство не желает расставаться с Автокадом
Регистрация: 18.12.2010
Сообщений: 5,047
Civil 3D и есть AutoCAD
Регистрация: 23.05.2012
Сообщений: 1,374
Сообщение от SlavaLu
К сожелению о Civil 3D могу только мечтать Руководство не желает расставаться с Автокадом
А как Вы себе представляете экстраполяцию без поверхности?
__________________
Как-то так.
Регистрация: 30.03.2016
Сообщений: 55

trir,
Но AutoCAD не Civil 3D

—— добавлено через ~1 мин. ——

Сообщение от sertor
А как Вы себе представляете экстраполяцию без поверхности?

Вы же Геодезист. Экстраполяцию применяли задолго до появления Civil 3D.

Так и быть раскрою секрет экстраполяции для поколения Айфонов:

1. Проводим 2 полилинии и назначаем им отметки (z).
2. Задаём точку снаружи.
3. Из этой точки восстанавливаем перпендикуляр к дальней линии. Перпендикуляр пересечёт и ближнюю.
4. Измеряем расстояние между точками пересечения и расстояние между заднной точкой и ближней линией.
5. Делим расстояние между точками пересечения на расстояние между заднной точкой и ближней линией.
6. Результат из пункта 5 умножаем на превышение — разность отметок (Z) по модулю полилиний из пункта 1
7. Результат из пункта 6 добавляем к отметке (Z) ближей полилинии.
8. Записываем полученное в атрибут блока и ставим его в заданную точку.

После того как первый раз разберёшся — сделать быстрей чем объяснять

Последний раз редактировалось SlavaLu, 24.03.2017 в 12:00 .
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588
Сообщение от SlavaLu

Как автоматизировать поцесс Интер/экстрполяции между двумя линиями для произвольной точки со встакой блока в нужное место с правильной отметкой?

Т.к. топик создан в разделе AutoCAD, то ответ только такой: штатными средствами автокада выполнить такого рода автоматизацию не представляется возможным.

Регистрация: 18.12.2010
Сообщений: 5,047
вы просто строите треугольник, проще сразу построить поверхность и не маятся
Регистрация: 30.03.2016
Сообщений: 55
Сообщение от Boxa

Т.к. топик создан в разделе AutoCAD, то ответ только такой: штатными средствами автокада выполнить такого рода автоматизацию не представляется возможным

Буквоедить то зачем. Вам дать ссылку на обсуждение не штатных средств в данном разделе? А может есть раздел обсуждения не штатных средств.

—— добавлено через ~9 мин. ——
trir,

Сообщение от trir
вы просто строите треугольник, проще сразу построить поверхность и не маятся

В посте номер 3 указанна причина невозможности данной операции в наших условиях хотя если я строю . ТРЕУГОЛЬНИК. тогда конешно нет проблемм

Регистрация: 18.12.2010
Сообщений: 5,047
Регистрация: 23.05.2012
Сообщений: 1,374
Сообщение от SlavaLu
Вы же Геодезист. Экстраполяцию применяли задолго до появления Civil 3D.

Судя по файлу, приложенному Вами (точки с высотами и горизонталями), Вы тоже какое-то отношение имеете к геодезии. Поэтому и вопрос был задан «как художник — художнику». Поверхность можно построить не только в Civil 3D ( к Вашему сведению, имеет полнофункциональный демо-режим), а практически в любой геодезической программе или вертикальных приложениях, в том числе и бесплатных. Так вот, с точки зрения геодезии, внутри поверхности — это интерполяция, а за пределами — экстраполяция.

__________________
Как-то так.
Регистрация: 05.11.2015
Сообщений: 585
Сообщение от SlavaLu
А может есть раздел обсуждения не штатных средств.

Есть такой раздел. Называется «Программирование». Полная автоматизация вашей задачи это, скорей всего, только там.
Но если не полная и не автоматизация и учитывая неприятие построения поверхностей в Акаде, то может быть графическое решение задачи, которое сократит хотя бы измерения и арифметику (пп. 4-8 из #6).
Сразу оговорюсь, все рассуждения чисто теоретические и вообще ни разу не геодезист.
Через точку (из п. 2) проводится вертикальная прямая.
ПСК переносится в плоскость образованную этим лучом и той линией, что была создана в п. 3. (может это невозможно, тогда еще раз)
Строится луч из «дальней» точки через ближнюю. На пересечении вертикальной прямой и последнего луча получится искомая координата Z.
Остается в эту точку поставить правильный блок, атрибут которого считает координату Z точки вставки блока.

Владимир_М
Посмотреть профиль
Найти ещё сообщения от Владимир_М

Регистрация: 30.03.2016
Сообщений: 55

sertor,
«как художник — художнику» вопрос а не слишком ли это-строить поверхность для одной точки?

Сообщение от Владимир_М
Есть такой раздел. Называется «Программирование

А программируем не штатными средствами? Это для програмистов не для любителей
Ход ваших рассуждений слишком тернист для меня и смысл ускальзывает.

Определение высот рельефа по близлежащим точкам

Передо мной открыта в автокаде, топосъемка с вертикальными отметками, нарисована трасса (инженетрные сети), естественно не попадает в отметки топосъемки, а для того чтобы начертить профиль нужна отметка высоты грунта именно в тех точках в которых проходит наша трасса.

1. Выбираем точки и отметки точек существующие
2. Выводим среднее апроксимированное значение в текстовом виде, согласно тем текстам которые были выделены.
3. Сам лисп общитывает полигон и с помощью тригонометрических функций находит высоту точки находящщейся в том полигоне выбранных точек который задал пользователь, чем больше точек тем точнее высота, но округлять до двух знаков после запятой, вместо запятой естественно должна быть точка

1. Укажите 1. точку
2. Укажите отметку 1й точки
3. Укажите 2ю точку
4. Укажите отметку 2й точки

n. Укажите точку встваки апроксимированной отметки

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

если чем могу помочь то помогу.

__________________
инженер проектировшик с опттом программа авто гад образование высшие
Просмотров: 21957
Регистрация: 11.10.2004
Сообщений: 755

Для подобных задач надо использовать специализированное ПО. Писать самодельный ЛИСП для каждой функции просто непродуктивно.

Регистрация: 22.09.2005
здесь могла быть ваша реклама
Сообщений: 1,280

Поскольку приходится работать на чужих компах и в разных местах, вырабатываю сам себе алгоритм работы без использования громоздких софтов. Стараюсь максимально использовать «голый» ACad. И минимизировать количество приложений.

Я бысделал так:
1) Просто поднять все точки на высоту (легче всего делать при помощи команд ToolPack, или просто вбить руками высоты в окне Properties).
2) Потом объединить все точки с известными высотами при помощи 3d_face (тоже можно сделать руками и без софта).
3) Потом останется только построить профиль. Опять же ToolPack.
Вот и всё.

Регистрация: 01.01.2007
Сообщений: 5,143
bernata, не непорядок, мне и так дают рельеф объемный, я от него сразу избавляюсь
__________________
инженер проектировшик с опттом программа авто гад образование высшие
Регистрация: 28.03.2007
Сообщений: 1,831

Вот к примеру у вас дуга (одна граница рельефа). Сама дуга в 2D. Текстом указана отметка ее начала и другим текстом — конца. напротив дуги — линия (вторая граница рельефа), в той же плоскости, то бишь, тоже 2D и тоже имеет текстовые отметки. Между этими двумя объектами находится поворот трассы, тоже 2 2D линии. Надо построить профиль по этой трассе.
Задаем дискретизацию (делим трассу на кучу точек), одинаковую для обеих границ рельефа. Определяем высоты для каждой точки границ. Из каждой n-ной точки одной границы проводим прямую к такой же точке другой границы и замеряем пересечение с трассой. В точках трассы делаем дополнительную разбивку границ рельефа так, чтобы прямые из точки на одной границе к другой проходили через точку на трассе.
Вычисляем высоты точек рельефа на трассе и вычерчиваем кривую профиля.

Ну это так, общие правила. Рисуете направление трассы (2D или 3D полилиния, рисуете одну границу рельефа, другую, включаете макрос, устанавливаете на границах рельефа отметки высот, указываете на линию направления и давите ентер.
Глубина или высота трассы определяется во втором этапе, когда вы уже видите сам профиль.

Последний раз редактировалось Supermax, 13.10.2008 в 18:18 .

LISP, C# (ACAD 200[9,12,13,14])

Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,810
> dextron3 : А потом мужественно преодолеваешь проблемы, созданные собственноручно

__________________
Моя библиотека lisp-функций

Обращение ко мне — на «ты».
Все, что сказано — личное мнение.

Кулик Алексей aka kpblc
Посмотреть профиль
Посетить домашнюю страницу Кулик Алексей aka kpblc
Найти ещё сообщения от Кулик Алексей aka kpblc

Регистрация: 01.01.2007
Сообщений: 5,143
Supermax, это алгоритм, уж больно сложный. я хотел чтонибудь простого и гениального.
__________________
инженер проектировшик с опттом программа авто гад образование высшие
Регистрация: 28.03.2007
Сообщений: 1,831
А ты хочешь сам написать прогу?
Регистрация: 15.10.2008
Санкт-Петербург
Сообщений: 2

Было похожее реализовано на лиспе. В те времена работали только с Кредо или в «голом» акаде. Вот в акаде и решили малехо автоматизировать. До сих пор пользуются. Наже кусочек описания меню.

____Интерполяция____ — заголовок группы команд

Отметка по 2 точкам – вычисление и отрисовка отметки точки методом интерполяции, лежащей между двумя точками с известными отметками

Отметка по 3 точкам – вычисление и отрисовка отметки точки методом интерполяции, лежащей в треугольнике тремя точками с известными отметками

По прямой – вычисление и отрисовка отметок точек с шагом 1см методом интерполяции, лежащих на прямой между двумя точками с известными отметками

По кривой c шагом 10см – вычисление и отрисовка отметок точек с шагом 10см методом интерполяции, лежащих на ломаной линии между двумя точками с известными отметками

По кривой – вычисление и отрисовка отметок точек с шагом 1см методом интерполяции, лежащих на ломаной линии между двумя точками с известными отметками

То же, вверх – вычисление и отрисовка отметок точек с шагом 1см методом интерполяции, лежащих на ломаной линии между двумя точками по отметке первой точки с запросом уклона ко второй точке. Отметки повышаются от первой точки ко второй. По запросу отрисовка уклона и расстояния.

То же, вниз – вычисление и отрисовка отметок точек с шагом 1см методом интерполяции, лежащих на ломаной линии между двумя точками по отметке первой точки с запросом уклона ко второй точке. Отметки понижаются от первой точки ко второй. По запросу отрисовка уклона и расстояния.

____Расчет___ — заголовок группы команд

На поперечнике — по h – расчет отметки второй точки и уклона на поперечнике в плане методом подбора по отметкам первой и второй точек. Применяется, если задана отметка первой точки и надо подобрать отметку второй точки, отслеживая при этом значение уклона.

На поперечнике — по i – расчет отметки второй точки и уклона на поперечнике в плане методом подбора по отметке первой точки и уклону ко второй. Применяется, если задана отметка первой точки и надо подобрать уклон ко второй точке, отслеживая при этом ее отметку.

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

Водораздел – расчет и отрисовка отметки водораздела между двумя точками лотка проезжей части (между дождеприемными колодцами) и уклонов к водоразделу с двух сторон.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *