Для создания трехмерных моделей (архитектурных элементов, зданий, местности и др.) используют специализированные программы. Некоторые из них строят 3D-модель на основе компьютерного кода, однако, для его написания нужны знания программирования. Ученые Пермского Политеха протестировали искусственный интеллект ChatGPT для написания таких кодов, чтобы выяснить, возможно ли с его помощью создавать трехмерные модели без специальных навыков.
Исследование опубликовано в материалах VI Международной научно-практической конференции: Новые информационные технологии в архитектуре и строительстве, 2023.
ChatGPT — это искусственный интеллект, обученный на обширных данных из Интернета. Он ведет диалог как человек, отвечает на вопросы, учитывает предыдущую переписку, поддерживает общение на нескольких языках, знает синтаксис языков программирования. Ученые ПНИПУ протестировали еще одну его способность — генерировать программные коды для создания трехмерных моделей на основе словесного запроса.
Исследователи Пермского Политеха писали в ChatGPT запросы создать код для трехмерной модели, начиная с простых геометрических форм, архитектурных элементов и заканчивая сложными математическими фигурами. Всего политехники провели около 20 тестов. Полученные результаты (коды) загружали в программы Blender и OpenSCAD, которые формируют трехмерные модели на основе программного кода.
В первых тестах создавались 3D-модели для простых геометрических форм. Например, ученые ПНИПУ сформулировали задание в ChatGPT: «Напиши код на Python для Blender для создания куба». В ответ получали часть программного кода и комментарий о его работе от искусственного интеллекта (ИИ). Полученный код копировали и вставляли в специальное окно программы Blender (Scripting). В результате получили нужную фигуру.
После успешного опыта аналогичным способом ученые ПНИПУ попытались создать целые здания, например, православный храм. Код выполнен без замечаний компилятора (программа переводит текст на языке программирования в набор машинных кодов), но получившаяся фигура не соответствовала запросу и представляла собой набор кубов разных размеров. Неточности при ответе искусственного интеллекта называют «галлюцинациями». Чаще всего такое явление возникает, когда ИИ не хватает данных для точного ответа на конкретный вопрос.
Далее ученые Пермского Политеха предприняли еще несколько попыток. В качестве объектов в запросах выбрали более сложные математические формы, например, фрактальное дерево.
Фрактал — это геометрическая фигура, обладающая свойством самоподобия, т.е. из нее можно выделить части, подобные целой фигуре. Фрактальное дерево строится по следующему правилу: ветвь через определенное расстояние делится на две ветви, каждая из которых делится еще на две ветви и так далее. Такого рода структуры используют для моделирования природных явлений (лесного, горного ландшафта, поверхности морей и др.).
В ChatGPT отправили запрос «напиши код на Python для Blender, чтобы создать фрактальное дерево». Получена трехмерная параметрическая модель. Это значит, что, меняя значение в одной строке, вся 3D-модель перестраивается. У ChatGPT можно попросить выделить конкретный параметр в отдельную строку. В коде для фрактального дерева, например, такой блок позволял регулировать количество итераций (повторений), длину первой ветви, угол отклонения ветвей и другие.
— Для создания качественных моделей важно указать, какой язык программирования используется в программе 3D-моделирования, какие именно параметры должны быть изменяемыми. Для простых фигур — высота, ширина, длина. Для сложных, например, количество витков, амплитуда волн и другие, которые зависят от конкретной фигуры. Стоит попросить ChatGPT написать подробные комментарии по работе кода, чтобы было легче понять, как он действует, — объясняет ассистент кафедры архитектуры и урбанистики ПНИПУ Александр Любимов.
Разработанный учеными Пермского Политеха подход позволит создать трехмерные модели, которые могут быть импортированы в архитектурные программы. А уже в них проведен расчет прочности, стоимости, выбор материала, разработка узлов сопряжения и т.д.
На данном этапе ChatGPT хорошо генерирует код для 3D-моделирования фигур. Однако трехмерные модели не всегда оправдывают ожидания. Исполнение кода сильно зависит от количества информации по данной тематике в открытом доступе. Нейросеть самообучается, со временем недостаток знаний в области программирования перестанет быть препятствием для проектировщиков и архитекторов. С другой стороны, необходимо правильно формулировать запрос, чтобы получить качественный результат.