Справка DIGIMINE

Заполнение блочной модели углами поворота динамических эллипсоидов

Заполнение блочной модели углами поворота динамических эллипсоидов

Previous topic Next topic  

Заполнение блочной модели углами поворота динамических эллипсоидов

Previous topic Next topic  

 

 

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

 

Сначала программа формирует массив исходных точек с тремя взаимно перпендикулярными единичными векторами осей исходных эллипсоидов в каждой из этих исходных точек.

 

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

Алгоритм вычислений адаптирован к интерполяции тройки векторов, описывающих положение трех осей эллипсоида в пространстве.

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

 

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

 

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

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

 

 

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

 

 

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

 

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

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

 

 

Текстовые файлы для информации о заполнении блочной модели углами поворота для динамических эллипсоидов

 

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

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

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

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

 

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

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

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

 

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

 

Индексы блоков (по осям модели), для которых производить запись в файл с подробной информацией - если задано название файла для записи детальной информации, то задается область, для которой эта информация записывается в файл.

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

 

 

 

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

Одновременно можно задать несколько наборов параметров.

 

 

После нажатия кнопки > Добавить новый набор > диалог будет выглядеть следующим образом :

 

 

ФАЙЛ С МОДЕЛЯМИ ПОВЕРХНОСТЕЙ, ЗАДАЮЩИМИ ОРИЕНТАЦИЮ ИСХОДНЫХ ЭЛЛИПСОИДОВ

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

 

 

Наборы параметров

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

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

Наборы параметров обрабатываются в том порядке, в котором они перечислены в списке наборов параметров.

 

 

ИСПОЛЬЗОВАТЬ ТЕКУЩИЙ НАБОР ПАРАМЕТРОВ ДЛЯ РАСЧЕТА - если отмечено, то набор параметров будет принимать участие в расчете (активный набор параметров), если не отмечено - то набор параметров в процессе расчетов будет пропускаться.

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

Названия наборов параметров, предназначенных для расчетов в списке выводятся зеленым цветом, а временно неактивные наборы параметров - серым цветом.

 

Текущий набор параметров подсвечивается в списке, а его название дублируется в редактируемом управляющем элементе. Редактирование названия набора параметров в этом элементе диалога приводит к соответствующему изменению названия в списке.

 

 

 

Для работы со списком наборов параметров предусмотрены следующие кнопки:

 

- добавление в список нового пустого набора параметров с названием "Набор параметров N", где N - номер набора параметров.

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

- удаление текущего набора параметров из списка.

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

- запись в файл *.bld всех наборов параметров из списка.

- переместить текущий набор параметров вверх в списке.

- переместить текущий набор параметров вниз в списке.

 

 

- производится проверка текущего набора параметров.

Если в процессе проверки обнаруживается ошибка, то выводится сообщение об этом. Например :

Можно либо продолжить проверку, чтобы программа сообщила обо всех ошибках в текущем наборе параметров (ответить "Да"), либо перейти к исправлению параметров (ответить "Нет").

 

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

 

 

Объекты из файла с моделями поверхностей используемые при формировании векторов осей исходных эллипсоидов

 

а). Если отмечено только треугольники моделей поверхностей :

 

 

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

 

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

Красным цветом показана ось, лежащая в плоскости треугольника и расположенная горизонтально - это ось, направленная по простиранию плоскости треугольника.

Синим цветом показана ось, также лежащая в плоскости треугольника и направленная по падению плоскости треугольника.

Черным цветом показана ось, перпендикулярная плоскости треугольника.

 

 

 

 

 

б). Если отмечено полилинии и треугольники, по ребрам которых проходят эти полилинии :

 

 

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

 

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

Голубым цветом раскрашены полилинии, имеющиеся в модели поверхности.

Красным цветом показана ось, проходящая вдоль ребра с полилинией.

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

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

 

 

 

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

Если этот элемент оставлен пустым, т.е. тип полилинии не задан, то используются все полилинии, имеющиеся в моделях поверхностей.

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

 

 

Оси исходных эллипсоидов относительно ребер с полилиниями и треугольников

 

Производится выбор направлений для главной, средней и малой осей исходных эллипсоидов.

 

 

 

 

Параметры для расчета (по методу обратных квадратов расстояний)

 

Радиус шара, м - задается радиус шара поиска, м.

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

 

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

 

Максимальное количество точек с исходными эллипсоидами - если в шар поиска попадает точек больше, чем задано, то производится удаление наиболее далеких точек.

 

 

 

Столбцы блочной модели для записи углов поворота эллипсоидов (при отсутствии будут созданы автоматически)

 

 

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

 

Если столбцов с заданными названиями в блочной модели еще нет, то они будут созданы перед началом расчетов.

Тип (формат) автоматически создаваемых столбцов - двухбайтовые целые числа.

Углы поворота записываются в десятых долях градуса.

 

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

 

Для неповернутого эллипсоида главная ось совпадает с осью Y (у самолета - фюзеляж, положительное направление - вперед), средняя ось - с осью X (у самолета - крылья, положительное направление - от левого крыла к правому), малая ось - с осью Z.
 
 Для динамических эллипсоидов всегда используется следующая последовательность поворотов :
 - первый поворот - вокруг оси Z эллипсоида;
 - второй поворот - вокруг оси X эллипсоида;
 - третий поворот - вокруг оси Y эллипсоида.
 
 Если использовать "самолетную" терминологию, то первый поворот - это курс (азимут), второй поворот - тангаж (угол с плюсом - пикирование, с минусом - кабрирование), третий поворот - крен (угол с плюсом - крен влево, с минусом - крен вправо).
 

 

 

Занести название столбцов - нажатие на эту кнопку приведет к занесению в управляющие элементы следующих названий столбцов по умолчанию : "Поворот 1(Z)", "Поворот 2(X)" и "Поворот 3(Y)".

 

 

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

 

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

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

Значения по умолчанию задаются в десятых долях градуса.

Значением по умолчанию может быть задано и пустое значение.

 

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

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

 

 

 

Обработку производить с учетом принадлежности к домену (зоне) :

 

Группа элементов, при помощи которой можно задать следующие условия:

 

1. Какие модели поверхностей из файла с моделями поверхностей использовать для каждого из блоков блочной модели.

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

 

 

Рассмотрим каждый из этих пунктов подробнее

 

1. Какие модели поверхностей из файла с моделями поверхностей использовать для каждого из блоков блочной модели.

 

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

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

 

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

 

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

 

 

При настройке параметров для вычисления углов поворота задаем, что информация о домене записана в столбце блочной модели с названием Рудное тело, а в моделях поверхности информация о домене записана в столбце Название объекта :

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

 

 

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

 

 

Если в блочной модели имеются блоки, относящиеся к разным доменам (в рассматриваемом примере - к разным рудным телам), но требуется выполнить расчет только по одному из них, допустим РТ 13, то задаются следующие параметры:

 

 

 

 

 

Если требуется выполнить расчет только по одному домену, используя не все модели поверхностей, а только часть из них, то задаются следующие параметры:

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

 

 

 

См. также - Пример расчета ориентации динамических эллипсоидов.