Справка DIGIMINE

Общие сведения о триангулированных моделях поверхности

Общие сведения о триангулированных моделях поверхности

Previous topic Next topic  

Общие сведения о триангулированных моделях поверхности

Previous topic Next topic  

 

Основные элементы модели поверхности

 

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

 

Фактически в модели поверхности имеется два основных набора данных:

 

1. Точки, каждая из которых имеет порядковый номер;

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

 

 

Стороны треугольников модели поверхности называются ребрами.

 

По каждому ребру у треугольника может быть либо один соседний треугольник, либо ни одного (для "крайнего" треугольника).

Ребра, по которым у треугольника нет соседних треугольников называются 'открытыми' ребрами.

 

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

 

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

 

 

 

Замкнутые и незамкнутые модели поверхности

 

Если в модели поверхности есть треугольники, не имеющие соседних треугольников, то модель является НЕЗАМКНУТОЙ и, наоборот,

если каждый из треугольников модели поверхности по каждому из трех своих ребер имеет соседний треугольник, то модель поверхности является ЗАМКНУТОЙ.

 

Для ЗАМКНУТЫХ моделей поверхности может быть вычислен объем.

 

 

 

Порядок точек в треугольниках, внешняя и внутренняя сторона модели поверхности.

 

Для корректного выполнения большинства операций с моделями поверхностей требуется, чтобы у всех треугольников был одинаковый порядок точек - по часовой стрелке или против часовой стрелки.

 

 

У НЕЗАМКНУТОЙ модели поверхности "верхом" (внешней стороной) считается сторона, на которой точки треугольников расположены против часовой стрелки, а "низом"  (внутренней стороной) считается сторона, на которой точки треугольников расположены по часовой стрелке.

 

НЕЗАМКНУТЫЕ модели поверхности зачастую располагаются так, что их треугольники можно спроецировать на плоскость XY без взаимных пересечений.
Однако, в общем случае, это не так - потому что незамкнутые модели поверхности могут быть произвольно ориентированы в пространстве, а также не всегда могут быть спроецированы на какую-либо плоскость без взаимных пересечений ребер треугольников.
 
Поэтому понятия "верха" и "низа" моделей поверхностей не имеют ничего общего с направлением оси Z, а определяются исходя из направления точек в треугольниках моделей поверхностей.

 

 

Подобным же образом направление точек треугольников трактуется и для ЗАМКНУТЫХ моделей поверхностей.

 

Если точки треугольников ЗАМКНУТОЙ  модели поверхности, при взгляде на нее снаружи, расположены против часовой стрелки, то считается, что мы видим внешнюю сторону и это "положительная" фигура, а объем, вычисленный для нее, будет больше нуля.

Если же точки треугольников , при взгляде на них снаружи, будут расположены по часовой стрелке, то считается, что это "дырка" и ее объем будет отрицательным. В этом случае "внешняя", с точки зрения наблюдателя, сторона, логически считается "внутренней" стороной.

 

 

 

Порядок точек в треугольниках моделей поверхностей играет существенную роль при выполнении операций по пересечению моделей поверхностей.

 

 

 

Визуально (в 3D окне) определить "верхнюю" (внешнюю) или "нижнюю" (внутреннюю) сторону модели поверхности можно определить несколькими способами.

 

а). По прозрачности треугольников. Если задана прозрачность [внешних сторон] треугольников, а прозрачность внутренних сторон не задана или достаточно существенно отличается, то заливка треугольников с внешней стороны  будет отличаться от заливки треугольников с внутренней стороны.

 

б). По цвету ребер. Если задана отрисовка ребер, то на "верхней" (внешней) стороне ребра рисуются тем цветом, который задан для ребер этой модели поверхности, а на "нижней" (внутренней) - всегда рисуются темно серым цветом.

 

в). По наличию ребер на внутренней стороне. Если отрисовка ребер не задана, но задана отдельная отрисовка только на внутренней стороне, то на "верхней" (внешней) стороне ребра не рисуются, а на "нижней" (внутренней) - рисуются тем цветом, который задан для ребер модели поверхности.

 

 

 

 

Нормаль треугольника, нормали точек треугольника

 

В процессе работы с моделями поверхностей программа вычисляет для каждого треугольника вектор, перпендикулярный плоскости треугольника (обычно этот вектор нормализуется, т.е. приводится к единичному вектору, длиной 1.0).

Такой вектор называется нормалью треугольника ( или нормалью к треугольнику).

Нормаль треугольника направлена в ту сторону, с которой точки треугольника расположены против часовой стрелки.

 

Кроме того, используется понятие нормали в точке (нормали к точке модели поверхности). Нормаль в точке получается в результате вычисления средневзвешенной нормали из нормалей всех треугольников, сходящихся в эту точку.

Нормаль к конкретному треугольнику и нормали в его точках можно узнать в режиме Получение информации о треугольнике (если выбрать треугольник при помощи Shift+пр.кл.).

 

 

 

 

 

Фрагменты модели поверхности

 

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

 

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

 

Например, в одной модели поверхности может быть один фрагмент, описывающий ЗАМКНУТУЮ "положительную" фигуру и второй фрагмент, представляющий собой ЗАМКНУТУЮ "дырку" внутри "положительной" фигуры.

 

 

По возможности желательно избегать фрагментированности моделей поверхностей, так как многие операции выполняются только применительно к модели поверхности в целом.
Например, внешний вид треугольников и ребер, включение/ выключение видимости, задается для всей модели поверхности, т.е. в этих случаях нельзя оперировать с фрагментами моделей поверхностей.
 
В то же время в процессе редактирования появление фрагментов вполне логично. Встречаются и некоторые другие случаи, когда использование фрагментов моделей поверхностей является целесообразным.
В частности, это замкнутые положительные фигуры, имеющие [замкнутые] "дырки" внутри. Выполнять операции с такими моделями поверхностей при пересечениях моделей поверхностей или при подсчете запасов в них удобнее, чем при раздельной обработке положительных объемов и "дырок".

 

 

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

 

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

 

 

 

 

 

Множество моделей поверхностей в одном файле

 

В одном файле *.dgs может быть записано произвольное количество моделей поверхностей.

 

Ниже приводится пример фрагмента таблицы со списком моделей поверхностей одного файла *.dgs.

В каждой строке таблицы приведена информация об одной модели поверхности:

 

 

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

 

 

 

 

Нумерация моделей поверхностей, текущая модель поверхности в файле

 

Для каждой модели поверхности имеется порядковый номер в списке поверхностей файла, который выводится в столбце "№ поверхности в файле". Клетки этого столбца имеют зеленый фон.

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

 

Активная строка в таблице со списком моделей поверхностей в файле *.dgs определяет порядковый номер текущей модели поверхности для этого файла.

В приведенном выше примере активной является строка №5, в которой записана информация для поверхности, имеющей порядковый номер в файле 7, следовательно текущая модель поверхности для этого файла имеет номер 7.

 

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

 

При выполнении многих операций запись результата производится в текущую модель поверхности.

 

 

В графическом меню (для группы режимов Работа с триангулированными моделями поверхностей) выводится порядковый номер текущей модели поверхности для текущего основного файла с моделями поверхностей.

 

При нажатии на кнопку со стрелкой, расположенной правее номера текущей поверхности, появляется список с моделями поверхностей текущего основного файла. Порядок моделей поверхностей в этом списке соответствует порядку поверхностей в файле и может не совпадать с порядком в [отсортированном] списке поверхностей в таблице.

Выбирая модель поверхности в появившемся списке можно изменить номер текущей модели поверхности :

 

 

Кроме того, при помощи кнопок в графическом меню можно увеличить или уменьшить номер текущей модели поверхности на 1.

 

 

 

 

 

Группировка моделей поверхностей в объекты

 

Модели поверхности логически могут быть объединены в группы (объекты).

 

Все модели поверхности, у которых имеется одинаковые Номер объекта и Название объекта считаются принадлежащим одному объекту.

Например, в приведенном выше примере таблицы со списком выработок имеются 3 модели поверхности (№№ 2, 3 и 4), которые относятся к объекту №2 с названием "Рудное тело 6":

 

Отметим, что все поверхности, имеющие одинаковый номер объекта должны иметь и одинаковое название. Программа отслеживает это и не допускает противоречий при редактировании информации в столбцах с номерами или названиями объектов.

 

Может возникнуть вопрос - для чего используется избыточная информация, ведь можно было использовать либо номер, либо название объекта ?

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

 

Отнесение модели поверхности к тому или иному объекту производится путем соответствующего редактирования столбцов Номер объекта и Название объекта.

Имеются следующие особенности редактирования номеров и названий объектов:

1. Редактирование номера объекта.

    1а. Введенный номер объекта совпадает с уже имеющимся номером объекта - название объекта для редактируемой модели поверхности будет сделано программой таким же, как у другой модели поверхности с таким же номером объекта.

    1б. Введенный номер объекта не совпадает с уже имеющимися номерами объектов - название объекта будет изменено путем добавления к имеющемуся названию объекта числа в скобках, для того, чтобы не было объектов с разными номерами, но одинаковыми названиями объектов.

2. Редактирование названия объекта - всем моделям поверхностей, имеющим номер объекта, как у редактируемой модели поверхности, будет присвоено введенное название объекта.

 

 

Если к одному объекту относится более одной модели поверхности, то программой заполняется и столбец № пов-сти в объекте. Если же к объекту относится только одна модель поверхности, то в столбце № пов-сти в объекте будет записано пустое значение.

 

 

 

 

 

Суммируя вышесказанное, отметим следующую иерархию элементов для триангулированных моделей поверхностей:

 

Треугольник - минимальный элемент модели поверхности.

 

Фрагмент модели поверхности - состоит из соединенных между собой треугольников.

 

Модель поверхности - состоит из одного или нескольких фрагментов моделей поверхности.

 

Объект - группа логически объединенных моделей поверхностей.

 

Файл с моделями поверхностей - состоит из одной или нескольких моделей поверхностей.

 

Загруженные файлы с моделями поверхностей - набор файлов моделей поверхностей, используемых в текущем сеансе работы. Один из этих файлов является текущим основным файлом. Одна из моделей поверхностей текущего основного файла является текущей моделью поверхности.

 

 

 

 

 

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

 

Кроме того, имеется возможность записи в каждую модель поверхности дополнительных атрибутов (столбцов в таблицу) - при работе с таблицей с моделями поверхностей можно добавлять произвольное количество дополнительных столбцов, включая и расчетные столбцы.