Головна Приклади Знімки екрана Інструкція користувача Логотип Bluesky. YouTube ☰
OghmaNano Мультифізична платформа для моделювання оптоелектронних пристроїв і фотонних систем. ЗАВАНТАЖИТИ Короткий посібник зі швидкого старту

База даних геометричних об’єктів/фігур

База даних Shape слугує загальнодоступним локальним сховищем 3D CAD-моделей. Записи в базі даних Shape зберігаються у вигляді 3D-сіток (або об’єктів) і можуть представляти, наприклад, нерівну поверхню матеріалу, отриманого в результаті вимірювань за допомогою атомно-силової мікроскопії, складну гексагональну структуру на великій площі пристрою (див. ??) або періодичні стовпчики фотонного кристала. Об’єкти визначаються за допомогою трикутних сіток. Вікно бази даних Shape містить інструменти для створення нових 3D CAD-моделей на основі 2D-зображень, а також для імпорту зовнішніх сіток із файлів Wavefront OBJ. Важливо, що всі об’єкти в цій базі даних постійно зберігаються на диску та призначені для представлення більш складних геометричних форм, ніж ті, що створюються редактором сіток, який зосереджується на простих геометричних примітивах, таких як куби, труби та сфери (див. CAD Meshes).

Отримання доступу до бази даних

Фігури зберігаються в базі даних фігур, до якої можна отримати доступ за допомогою вкладки «База даних», натиснувши на піктограму «Фігури» (див. ??). Натискання на піктограму бази даних фігур відкриває вікно бази даних фігур (??).

Database ribbon showing the Shapes icon.
Відкрийте базу даних фігур на вкладці «База даних».
The Shape Database window listing available shapes.
Вікно «База даних фігур», в якому відображається перелік доступних фігур.

Спробуйте відкрити деякі з цих об’єктів, щоб їх оглянути. Ви побачите вікно, подібне до того, що зображено на ??. На цьому прикладі показано структуру контакту у вигляді стільникової решітки сонячної батареї. Зліва зображено тривимірну модель, а справа – двовимірне зображення, яке використовується для її створення. На двовимірне зображення накладено проєкцію zx тривимірної сітки. Ви можете вмикати та вимикати відображення цієї двовимірної сітки, перемикаючи кнопку «Показати сітку» у верхній панелі інструментів.

Example of a shape generated from a 2D PNG image.
Наведено приклад форми, отриманої з двовимірного зображення у форматі PNG. Зліва показано тривимірну гексагональну контактну структуру, а справа – оригінальне двовимірне зображення з проєкцією сітки на площину zx.

Створення сітки.

Після відкриття вікна «База даних фігур» ви можете переглядати та редагувати будь-яку збережену фігуру. Багато фігур у базі даних спочатку були створені на основі двовимірних зображень за допомогою вбудованих інструментів дискретизації. У цьому розділі пояснюється, як працює цей процес. Відкрийте morphology/1 у «Базі даних фігур». Ви побачите вікно, схоже на ??. Ліва панель відображає отриману тривимірну триангульовану сітку, а права панель показує оригінальне двовимірне зображення, на основі якого було створено сітку. Кнопка «Показати сітку» на стрічці «Файл» активує або деактивує накладання сітки на двовимірне зображення, дозволяючи вам перевірити, як триангуляція відповідає основним елементам зображення.

Morphology shape with mesh overlay.
Форма морфології з увімкненим накладенням сітки.
Morphology shape after adjusting mesh settings.
Морфологія залишається незмінною після зміни параметрів сітки та повторного створення моделі.

Щоб змінити спосіб перетворення зображення на тривимірну сітку, натисніть «Редагувати сітку» на стрічці інструментів «Файл». Відкриється діалогове вікно налаштування сітки (??), яке дозволить вам регулювати рівень дискретизації.

Основні параметри:

Mesh configuration window.
Вікно налаштування параметрів мережі.

Наприклад, зменште кількість трикутників, орієнтованих за віссю X, і трикутників, орієнтованих за віссю Y, до значення 40, а потім натисніть кнопку «Створити сітку». У результаті сітка міститиме меншу кількість трикутників і, отже, матиме меншу деталізацію, але з нею буде швидше працювати. Це зменшення одразу видно у попередньому перегляді у 2D та 3D.

Налаштування «Метод» визначає спосіб, яким генеруються трикутники:

Перехід до режиму «Без зменшення» та перебудова сітки замінять адаптивну сітку на повну, регулярну 70 × 70 триангуляцію. Це забезпечує більшу точність, але також потребує більшого обсягу пам’яті для зберігання та моделювання. Кожен додатковий трикутник у сітці збільшує обчислювальне навантаження під час моделювання. Тому, під час створення сітки, метою є відображення форми з використанням якомога меншої кількості трикутників. Якщо можна описати всю поверхню відносно невеликою кількістю трикутників, зазвичай це варто зробити. Однак, для дуже правильних форм, застосування функції «Зменшення вузлів» для зменшення кількості трикутників може не дати жодної користі або дати незначну користь; у таких випадках проста регулярна сітка може бути не менш ефективною. На практиці часто потрібно експериментувати з різними налаштуваннями та методами, щоб знайти сітку, яка забезпечує прийнятний баланс між точністю та обчислювальними витратами.

Інструменти для створення та обробки двовимірних зображень.

Окрім можливості завантаження зображень із файлів, редактор фігур містить набір інструментів для створення нових двовимірних шаблонів, які можна перетворити на тривимірні сітки. Ці інструменти розташовані на вкладці «Двовимірне зображення» та включають генератори для широкого спектру структур:

Кожен генератор пропонує власні параметри конфігурації, що дає змогу налаштувати геометрію перед перетворенням її на сітку. Ці зображення використовуються як карти висот або маски, на основі яких редактор форми створює відповідну тривимірну структуру.

Saw-wave generated using the 2D image tools.
Зображення у вигляді пілоподібної хвилі, створене за допомогою інструментів для роботи з двовимірними зображеннями.
Saw-wave image after applying thresholding.
Те саме зображення у вигляді пилкоподібної хвилі після застосування фільтра порогу.

Після створення або завантаження зображення, на вкладці «Фільтри» стають доступними інструменти для його редагування перед створенням сітки. До них належать:

Ці інструменти дають змогу вдосконалювати карти висот, очищати зображення від шумів або змінювати візерунки перед створенням остаточної трикутної сітки. Поєднання генераторів зображень і фільтрів забезпечує гнучкий процес створення складних, індивідуальних тривимірних об’єктів безпосередньо в OghmaNano.

Імпорт із файлів CAD.

Окрім створення об’єктів на основі двовимірних зображень, редактор об’єктів також дозволяє імпортувати зовнішні тривимірні моделі за допомогою кнопки «Імпорт CAD-файлу», показаної на ??. OghmaNano підтримує формат Wavefront OBJ, який широко використовується для зберігання триангульованих сіток поверхонь. У базі даних об’єктів ви також знайдете приклад імпортованої CAD-моделі: класичний Чайник Юти, показаний на ??. Ця модель демонструє, як зовнішні триангульовані моделі виглядають після імпорту в редактор.

Import CAD file button in the Shape Editor.
Кнопка «Імпортувати CAD-файл» використовується для завантаження зовнішніх сіток у форматі Wavefront OBJ.
Imported Utah teapot CAD mesh rendered in the Shape Editor.
Класичний чайник штату Юта, імпортований у форматі CAD-сітки. Це приклад використання функції імпорту CAD.

Під час імпорту CAD-моделей важливо переконатися, що сітка утворює замкнуту поверхню. Замкнута поверхня – це така, в якій кожна лінія належить рівно двом трикутникам, утворюючи повністю герметичний об’єм. Відкриті поверхні, відсутні грані або тріщини призводять до невизначеності при визначенні, чи знаходяться точки всередині об’єкта чи зовні, що робить їх непридатними для моделювання.

CAD-моделі зазвичай розробляються для механічної обробки та виробництва, а не для чисельного моделювання. Як наслідок, вони часто містять значно більшу кількість трикутників, ніж потрібно для оптичного або фізичного моделювання. Велика кількість трикутників значно збільшує час обчислень під час трасування променів та в інших обчислювальних алгоритмах.

Для досягнення найкращих результатів переконайтеся, що імпортовані тривимірні моделі:

Дотримання цих рекомендацій допоможе забезпечити ефективну роботу імпортованих CAD-моделей у програмі OghmaNano.

Формат файлу векторних даних.

Фігура має утворювати повністю замкнутий об’єм. Якщо ви використовуєте вбудований інструмент для розбиття фігури на частини, ця умова виконується автоматично. Однак, якщо ви створюєте фігури вручну, ви повинні переконатися, що об’єм замкнутий.

У кожній папці з фігурами містяться такі файли:

Files within a shape directory
Назва файлу Опис
\(data.json\) Дані конфігурації для заданої форми.
\(image\_original.png\) Створення резервної копії імпортованого зображення.
\(image\_out.png\) Остаточне оброблене зображення.
\(image.png\) Робоча копія імпортованого зображення.
\(shape.inp\) Дискретизована тривимірна сітка об’єкта.

Файли у форматі PNG відображають зображення на різних етапах обробки. Файл data.json містить налаштування редактора фігур, а файл shape.inp – тривимірну структуру об’єкта.

Приклад файлу shape.inp показано на ??. Формат розроблено таким чином, щоб gnuplot міг відкрити його безпосередньо за допомогою команди splot. Кожен трикутник описується чотирма точками z, x, y: перші три рядки визначають трикутник, а четвертий повторює першу точку, щоб gnuplot міг створити замкнутий контур. Кількість трикутників у файлі визначається в рядку, що починається з #y.

Точні значення z, x, y не мають значення. Щойно об’єкт завантажується, усі значення нормалізуються таким чином, щоб мінімальна точка об’єкта знаходилася в точці (0, 0, 0), а максимальна – в точці (1, 1, 1). Коли об’єкт додається до сцени, він повторно нормалізується до бажаного фізичного розміру об’єкта на пристрої.

Example of a shape.inp file that defines the 3D mesh using z, x, y coordinates.
Приклад файлу shape.inp. Кожен трикутник визначається чотирма z, x, y точками, і його можна безпосередньо відобразити за допомогою gnuplot.

👉 Наступний крок: щоб ознайомитися з прикладом створення фігур, перегляньте навчальний матеріал про базу даних фігур і про те, як створювати тривимірні фігури з зображень за посиланням тут.