Русский   English
ДонНТУ   Портал магістрів

Реферат з теми випускної роботи

Вступ

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

Агломерат (англ. agglomerate) – сукупність часток, міцно утримуваних між собою.

1. Загальні поняття

Частинки в агломерату пов'язані між собою більш сильними взаємодіями, ніж в агрегатах. Агломерати можуть розглядатися як "вторинні» частинки, що володіють внутрішньою поверхнею, тобто у багатьох випадках внутрішня площа поверхні набагато більше зовнішньої. При цьому агломерати можуть володіти структурованої пористої системою. Прикладами агломератів є піщаник, силікагель і т. п. Чіткої межі між поняттями "агрегат" і "агломерат" не існує, і іноді вони використовуються для опису однотипних об'єктів. У ряді випадків (наприклад, для опису технології пігментів та ін) склалася термінологія, коли терміни " агрегат" і " агломерат" мають значення, суперечать рекомендаціям Міжнародного союзу теоретичної і прикладної хімії (IUPAC). У зв'язку з цим при вживанні понять "агрегат" або "агломерат" часто вказують, сильні або слабкі взаємодії присутні між первинними частками [1].

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

2. Опис програми

Процес написання програми був розбитий умовно на 6 частин:

  1. Читання координат об'єкту з файлу.
  2. Створення процедури пошуку об'єму об'єкта.
  3. Знаходження крайніх точок об'єкта.
  4. Знаходження обсягу паралелепіпеда з координатами кутів, відповідними крайнім точкам об'єкта.
  5. Створення перевірки процедури попадання атома в межа об'єкта.
  6. Заповнення обсягу атомами.

Виконано 5 з 6 пунктів щодо заповнення 3Д-об'єкта невизначеної форми сферами при використанні мови програмування С++ і файлів з розширенням. stl.

STL (від англ. stereolithography) – формат файлу, широко [3][4] використовується для зберігання тривимірних моделей об'єктів для використання в технологіях швидкого прототипування, зазвичай, методом стереолітографії. Інформація про об'єкт зберігається як список трикутних граней, які описують його поверхню, і їх нормалей. STL-файл може битьтекстовим (ASCII) або двійковим [2].

Нормалі граней – У двійковій і ASCII версіях STL, нормаль грані повинен бути одиничний вектор, спрямований від об'єкта. У більшості програм він може бути встановлений в (0,0,0), і програма автоматично розрахує нормаль на основі порядку вершин трикутника використовуючи правило правої руки. Деякі STL завантажувачі (наприклад, плагін STL для Art of Illusion), звіряють нормалі у файлі з розрахованими за правилом правої руки і попереджають прі не збіг. Інше ПЗ може ігнорувати і використовувати тільки правило правої руки [2].

    3. Рішення завдання і результати досліджень

  1. Читання координат об'єкту з файлу

    Вихідними даними програми є координати трикутників, що утворюють агломерат. Файл, з якого вони беруться, має розширення. Stl і має так само координати нормалей для кожного з трикутників. Ці нормалі зчитуються разом з трикутниками, до яких вони належать.

    Рисунок 1, розміри: 364*254, розмір: 51,2 Kбайт
  2. Створення процедури пошуку об'єму об'єкта

    З довільної точки опускаються прямі до кожного з трикутників і розраховується обсяг отриманої піраміди і залежно від напряму нормалі встановлюється позитивний або негативний знак. Потім всі отримані значення складаються і результатом є обсяг всього об'єкта.

  3. Знаходження крайніх точок об'єкта

    Тут простим перебором координат трикутників знаходяться позитивні і негативні екстремуми по трьох осях X, Y, Z. Вони і запам'ятовуються як крайні точки об'єкта.

  4. Знаходження обсягу паралелепіпеда з координатами кутів, відповідними крайнім точкам об'єкта

    Використовуючи дані, отримані в попередньому пункті, створюється паралелепіпед. Мета даної дії буде пояснена далі.

  5. Створення перевірки процедури попадання атома в межа об'єкта

    Найменший атом – це атом гелію, що має радіус 32 пм, а найбільший – атом цезію (225 пм). Ці розміри в тисячі разів менше довжини хвилі видимого світла (400–700 нм), тому атоми не можна побачити в оптичний мікроскоп. Так як атоми дуже малі, то в процесі візуалізації вони зображаються сферами. Для наочності так само для прикладу скажемо, що розмір молекули білка становить 43*10 –8 см.

  6. У кожного з атомів є своя координата і радіус. З цієї координати в кути паралелепіпеда проводяться прямі і перевіряється кількість перетинів з трикутниками, що утворюють об'єкт. Якщо кількість перетинів кожної прямої з трикутниками непарне, то атом знаходиться всередині об'єкта.

  7. Заповнення обсягу 3Д-об'кта атомами.

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

    Рисунок 2, розміри: 413*404, розмір: 79.1 Kбайт

    Підсумок

    При виконанні роботи використовувалися довідкові матеріали з С++, математичних формул для розрахунку обсягу тел в 3Д-просторі.

При написанні даного реферату магістерська робота ще не завершена. Остаточне завершення: грудень 2014 року. Повний текст роботи та матеріали по темі можуть бути отримані у автора або його керівника після зазначеної дати.

Список літератури

1. Агломерат (химия). Інтернет-ресурс. Режим доступу: http://ru.wikipedia.org/wiki/%D0%90%D0%B3%D0%BB%D0%BE%D0
2. STL (формат файла). Інтернет-ресурс. Режим доступу: http://ru.wikipedia.org/wiki/STL
3. Photogrammetry getting more out of the 3x3 rules. Інтернет-ресурс. Режим доступу: http://billboyheritagesurvey.wordpress.com/
4. Molecule mass. Інтернет-ресурс. Режим доступу:: http://av-physics.narod.ru/molecule/molecule-mass.htm
5. Атом. Інтернет-ресурс. Режим доступу:http://ru.wikipedia.org/wiki/Атом
6. Пересечение прямой с плоскостью. Інтернет-ресурс. Режим доступу: http://www.gamedev.ru/code/faq/?id=3629 — пересечение прямой с плоскостью.
7. A method to calculate the centre of mass. Інтернет-ресурс. Режим доступу:http://stackoverflow.com/questions/2083771/a-method-to-calculate-the-centre-of — A method to calculate the centre of mass
8. Determining Whether A Point Is Inside A Complex Polygon. Інтернет-ресурс. Режим доступу:http://alienryderflex.com/polygon/ — Determining Whether A Point Is Inside A Complex Polygon.
9. Пересечение луча и треугольника. Інтернет-ресурс. Режим доступу:http://www.gamedev.ru/code/forum/?id=64824&page=1 — пересечение луча и треугольника.