ВІЗУАЛІЗАЦІЯ ГЕОМЕТРИЧНИХ ОБЛАСТЕЙ СКЛАДНОЇ ФОРМИ В ПАРАЛЕЛЬНИХ ОБЧИСЛЮВАЛЬНИХ СИСТЕМАХ ЗІ СПІЛЬНОЮ ПАМ’ЯТТЮ
Анотація
Практичне застосування чисельних методів для розв’язання крайових задач потребує створення дискретних моделей геометричних областей складної форми. Проблему генерації сіткової моделі можна розбити на дві окремі задачі: 1) створення формального опису вихідної геометричної області та 2) побудову її дискретної моделі на основі цього опису.
Найбільш складним є перший етап особливо для геометричних областей нестандартної форми. Універсальним способом параметричного опису геометричної області будь-якої складності є використання апарату R-функцій, які дозволяють за допомогою логічних операцій інверсії, кон’юнкції та диз’юнкції над елементарними математичними співвідношеннями будувати неявні функції, що однозначно описують границю геометричного об’єкта довільної форми.
Практичне застосування R-функцій є досить складним в силу їх неявної природи. Для візуалізації геометричних областей, описаних за допомогою неявних функцій, необхідно найперше побудувати набір опорних точок, які належать границі вихідної області, а потім для цього набору згенерувати воксельну або гранично-елементну модель. Задача ефективного пошуку точок, що належать границі геометричної області, описаної за допомогою неявної R-функції, на сьогодні є актуальною й вимагає розробки відповідних підходів і алгоритмів.
У статті описується запропонований паралельний алгоритм побудови та візуалізації геометричних моделей областей, описаних неявними функціями, в обчислювальних системах із загальною пам’яттю. Цей алгоритм було реалізовано із застосуванням Стандартної бібліотеки мови програмування C++ (C++11). Було створено відповідне програмне забезпечення й проведено ряд обчислювальних експериментів, які показали ефективність запропонованого алгоритму на комп’ютерах з різними типами процесорів.
Посилання
2. Чопоров С. В., Гоменюк С. И., Алатамнех Х. Х., Оспищев К. С. Методы построения дискретных моделей: структурированные и блочно-структурированные сетки. Вісник Запорізького національного університету. Фізико-математичні науки. 2016. № 1. С. 272–284.
3. Чопоров С. В., Лисняк А. А., Борисовская Ю. А., Козлова О. С., Снежкова Л. С. Методы построения дискретных моделей: неструктурированные сетки. Вісник Запорізького наці-онального університету. Фізико-математичні науки. 2016. № 2. С. 237–250.
4. Голованов Н. Н. Геометрическое моделирование. Москва: Из-во физ.-мат. лит., 2002. 472 с.
5. Рвачев В. Л. Теория R-функций и некоторые ее приложения. Киев: Наук. думка, 1982. 106 с.
6. Pasko A., Adzhiev V., Sourin A. Savchenko V. Function representation in geometric modeling: concepts, implementation and applications. The visual computer. 1995. Vol. 11. P. 429–446.
7. Мыльцев А. М., Толок А. В. Математическая модель визуализации динамического массива данных при построении трёхмерных сцен. Вісник Запорізького державного університету. Фізико-математичні науки. 2003. № 3. С. 1–6.
8. Максименко-Шейко К. В., Мацевитый А. М., Шейко Т. И. Конструктивные средства метода R-функций для построения примитивов в 3D. Проблемы машиностроения. 2005. Т. 8. № 1.
С. 59–65.
9. Толок А. В. Функционально-воксельный метод в компьютерном моделировании. Москва: ФИЗМАТЛИТ, 2016. 112 с.
10. Гоменюк С. І., Чопоров С. В., Аль-Атамнех Б. Г. М. Математичне моделювання геометричних об’єктів у паралельних комп’ютерних системах: монографія. Херсон: Вид-чий дім «Гельветика», 2018. 112 с.
11. Чопоров С. В., Гоменюк С. И. Параллельный способ построения сеток треугольных эле-ментов при функциональном. Вестник Херсонского национального технического университета. 2015. № 3(54). С. 511–517.
12. Чопоров С. В. Использование технологий параллельных вычислений в методе конечных элементов. Радіоелектроніка, інформатика, управління. 2013. № 2(29). С. 88–94.
13. Flynn M. J. Some computer organizations and their effectiveness. IEEE Transactions on Computers. 1972. Vol 21 (9). P. 948–960.
14. Xu Z., Hwang K. Scalable Parallel Computing Technology, Architecture, Programming. McGraw-Hill Science/Engineering/Math, 1998. 832 p.
15. Таненбаум Э., Стеен М. Распределенные системы. Принципы и парадигмы. Санкт–Петербург: Питер, 2003. 877 с.
16. Таненбаум Э., Остин Т. Архитектура компьютера. 6-е изд. Санкт–Петербург: Питер, 2013. 816 с.
17. Малышкин В. Э., Корнеев В. Д. Параллельное программирование мультикомпьютеров. Новосибирск: НГУ, 2006. 439 с.
18. Кормен Т., Лейзерсон Ч., Ривест Р., Штайн К. Алгоритмы: построение и анализ. Москва: Вильямс, 2005. 1296 с.
19. Макконнелл Дж. Основы современных алгоритмов. Москва: Техносфера, 2004. 368 с.
20. William E. L., Harvey E. C. Marching Cubes: A high resolution 3D surface construction algorithm. Computer Graphics. 1987. Vol. 21 (4). P. 163–169.
21. C++11 Overview. URL: https://isocpp.org/wiki/faq/cpp11#cpp11-specific-goals.