База даних геометричних об’єктів/фігур
База даних Shape слугує загальнодоступним локальним сховищем 3D CAD-моделей. Записи в базі даних Shape зберігаються у вигляді 3D-сіток (або об’єктів) і можуть представляти, наприклад, нерівну поверхню матеріалу, отриманого в результаті вимірювань за допомогою атомно-силової мікроскопії, складну гексагональну структуру на великій площі пристрою (див. ??) або періодичні стовпчики фотонного кристала. Об’єкти визначаються за допомогою трикутних сіток. Вікно бази даних Shape містить інструменти для створення нових 3D CAD-моделей на основі 2D-зображень, а також для імпорту зовнішніх сіток із файлів Wavefront OBJ. Важливо, що всі об’єкти в цій базі даних постійно зберігаються на диску та призначені для представлення більш складних геометричних форм, ніж ті, що створюються редактором сіток, який зосереджується на простих геометричних примітивах, таких як куби, труби та сфери (див. CAD Meshes).
Отримання доступу до бази даних
Фігури зберігаються в базі даних фігур, до якої можна отримати доступ за допомогою вкладки «База даних», натиснувши на піктограму «Фігури» (див. ??). Натискання на піктограму бази даних фігур відкриває вікно бази даних фігур (??).
Спробуйте відкрити деякі з цих об’єктів, щоб їх оглянути. Ви побачите вікно, подібне до того, що зображено на ??. На цьому прикладі показано структуру контакту у вигляді стільникової решітки сонячної батареї. Зліва зображено тривимірну модель, а справа – двовимірне зображення, яке використовується для її створення. На двовимірне зображення накладено проєкцію zx тривимірної сітки. Ви можете вмикати та вимикати відображення цієї двовимірної сітки, перемикаючи кнопку «Показати сітку» у верхній панелі інструментів.
Створення сітки.
Після відкриття вікна «База даних фігур» ви можете переглядати та редагувати будь-яку збережену фігуру. Багато фігур у базі даних спочатку були створені на основі двовимірних зображень за допомогою вбудованих інструментів дискретизації. У цьому розділі пояснюється, як працює цей процес. Відкрийте morphology/1 у «Базі даних фігур». Ви побачите вікно, схоже на ??. Ліва панель відображає отриману тривимірну триангульовану сітку, а права панель показує оригінальне двовимірне зображення, на основі якого було створено сітку. Кнопка «Показати сітку» на стрічці «Файл» активує або деактивує накладання сітки на двовимірне зображення, дозволяючи вам перевірити, як триангуляція відповідає основним елементам зображення.
Щоб змінити спосіб перетворення зображення на тривимірну сітку, натисніть «Редагувати сітку» на стрічці інструментів «Файл». Відкриється діалогове вікно налаштування сітки (??), яке дозволить вам регулювати рівень дискретизації.
Основні параметри:
- x-трикутники — максимальна кількість трикутників у горизонтальному напрямку.
- y-трикутники — максимальна кількість трикутників у вертикальному напрямку
- Метод — визначає спосіб створення сітки.
- Мінімально допустимий кут — запобігає утворенню надто вузьких і нестійких трикутників.
Наприклад, зменште кількість трикутників, орієнтованих за віссю X, і трикутників, орієнтованих за віссю Y, до значення 40, а потім натисніть кнопку «Створити сітку». У результаті сітка міститиме меншу кількість трикутників і, отже, матиме меншу деталізацію, але з нею буде швидше працювати. Це зменшення одразу видно у попередньому перегляді у 2D та 3D.
Налаштування «Метод» визначає спосіб, яким генеруються трикутники:
- Без зменшення: створює рівномірну, регулярну трикутну сітку. Це забезпечує найточнішу геометрію, але призводить до великої кількості трикутників.
- Зменшення кількості вузлів: починається зі звичайної сітки, а потім видаляються непотрібні точки, щоб зменшити кількість трикутників, зберігаючи при цьому загальну форму.
Перехід до режиму «Без зменшення» та перебудова сітки замінять адаптивну сітку на повну, регулярну 70 × 70 триангуляцію. Це забезпечує більшу точність, але також потребує більшого обсягу пам’яті для зберігання та моделювання. Кожен додатковий трикутник у сітці збільшує обчислювальне навантаження під час моделювання. Тому, під час створення сітки, метою є відображення форми з використанням якомога меншої кількості трикутників. Якщо можна описати всю поверхню відносно невеликою кількістю трикутників, зазвичай це варто зробити. Однак, для дуже правильних форм, застосування функції «Зменшення вузлів» для зменшення кількості трикутників може не дати жодної користі або дати незначну користь; у таких випадках проста регулярна сітка може бути не менш ефективною. На практиці часто потрібно експериментувати з різними налаштуваннями та методами, щоб знайти сітку, яка забезпечує прийнятний баланс між точністю та обчислювальними витратами.
Інструменти для створення та обробки двовимірних зображень.
Окрім можливості завантаження зображень із файлів, редактор фігур містить набір інструментів для створення нових двовимірних шаблонів, які можна перетворити на тривимірні сітки. Ці інструменти розташовані на вкладці «Двовимірне зображення» та включають генератори для широкого спектру структур:
- Стільникові візерунки для розміщення пікселів або електродних сіток.
- Фотонні кристалічні ґратки з можливістю регулювання періодичності
- Об’єктиви, визначені як карти висот.
- Гауссові профілі для нерівностей, заглиблень або поверхонь із поступовим переходом.
- Функції, що визначають висоту хвиль (приклад наведено нижче).
- Шахові візерунки для калібрування та тестування
- Шум Перліна для створення реалістичної текстури поверхні.
Кожен генератор пропонує власні параметри конфігурації, що дає змогу налаштувати геометрію перед перетворенням її на сітку. Ці зображення використовуються як карти висот або маски, на основі яких редактор форми створює відповідну тривимірну структуру.
Після створення або завантаження зображення, на вкладці «Фільтри» стають доступними інструменти для його редагування перед створенням сітки. До них належать:
- Розмиття — згладжує шум або різкі переходи.
- Нормалізувати (x, y, z) — змінює масштаб зображення в кожному напрямку.
- Порогове значення — перетворює зображення на бінарну маску (приклад наведено вище).
- Повернути — повертає візерунок на фіксований або довільний кут.
- «Межа» — підкреслює або виділяє межі на зображенні.
Ці інструменти дають змогу вдосконалювати карти висот, очищати зображення від шумів або змінювати візерунки перед створенням остаточної трикутної сітки. Поєднання генераторів зображень і фільтрів забезпечує гнучкий процес створення складних, індивідуальних тривимірних об’єктів безпосередньо в OghmaNano.
Імпорт із файлів CAD.
Окрім створення об’єктів на основі двовимірних зображень, редактор об’єктів також дозволяє імпортувати зовнішні тривимірні моделі за допомогою кнопки «Імпорт CAD-файлу», показаної на ??. OghmaNano підтримує формат Wavefront OBJ, який широко використовується для зберігання триангульованих сіток поверхонь. У базі даних об’єктів ви також знайдете приклад імпортованої CAD-моделі: класичний Чайник Юти, показаний на ??. Ця модель демонструє, як зовнішні триангульовані моделі виглядають після імпорту в редактор.
Під час імпорту CAD-моделей важливо переконатися, що сітка утворює замкнуту поверхню. Замкнута поверхня – це така, в якій кожна лінія належить рівно двом трикутникам, утворюючи повністю герметичний об’єм. Відкриті поверхні, відсутні грані або тріщини призводять до невизначеності при визначенні, чи знаходяться точки всередині об’єкта чи зовні, що робить їх непридатними для моделювання.
CAD-моделі зазвичай розробляються для механічної обробки та виробництва, а не для чисельного моделювання. Як наслідок, вони часто містять значно більшу кількість трикутників, ніж потрібно для оптичного або фізичного моделювання. Велика кількість трикутників значно збільшує час обчислень під час трасування променів та в інших обчислювальних алгоритмах.
Для досягнення найкращих результатів переконайтеся, що імпортовані тривимірні моделі:
- утворюють повністю замкнуту, герметичну поверхню.
- містить лише ту кількість трикутників, яка необхідна для відображення геометрії, і
- необхідно видалити зайві дрібні деталі або сліди обробки.
Дотримання цих рекомендацій допоможе забезпечити ефективну роботу імпортованих CAD-моделей у програмі OghmaNano.
Формат файлу векторних даних.
Фігура має утворювати повністю замкнутий об’єм. Якщо ви використовуєте вбудований інструмент для розбиття фігури на частини, ця умова виконується автоматично. Однак, якщо ви створюєте фігури вручну, ви повинні переконатися, що об’єм замкнутий.
У кожній папці з фігурами містяться такі файли:
| Назва файлу | Опис | |
|---|---|---|
| \(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). Коли об’єкт додається до сцени, він повторно нормалізується до бажаного фізичного розміру об’єкта на пристрої.
shape.inp. Кожен трикутник визначається чотирма z, x, y точками, і його можна безпосередньо відобразити за допомогою gnuplot.👉 Наступний крок: щоб ознайомитися з прикладом створення фігур, перегляньте навчальний матеріал про базу даних фігур і про те, як створювати тривимірні фігури з зображень за посиланням тут.