Государственное образовательное учреждение «Санкт-Петербургский городской Дворец творчества юных», отдел техники КОНСТРУИРОВАНИЕ ВИРТУАЛЬНОЙ МОДЕЛИ КОМПЬЮТЕРНОГО ЦЕНТРА ОТДЕЛА ТЕХНИКИ СПб ГДТЮ Авторы: Осминов Гаджи 8 класс, Козырева Дарья 11 класс Научный руководитель: Хайдаров Геннадий Гасимович, доцент, педагог дополнительного образования СПб ГДТЮ.
Современные компьютерные технологии позволяют визуализировать трехмерные модели и сцены. Данным направлением занимается «Компьютерная графика». Для решения поставленной задачи необходим комплекс знаний и навыков в областях школьной программы: черчения, математики и информатики (разделов программирования, геометрического моделирования).
Работа над созданием виртуальной модели велась по четырем направлениям: изготовление чертежей аудиторий компьютерного центра, программирование редактора для создания геометрической трехмерной модели, чтение и редактирование стандартных трехмерных графических форматов, изучение и программирование трехмерных управляемых сцен (так называемых «движков»).
Особенностью выполнения данной работы является переход от программирования на языке C++ (с большим объемом наработок в области трехмерной графики) к программированию на языке C# (CSharp), как к наиболее перспективному направлению развития программирования. Такая сложная и комплексная задача ставится впервые.
В данных тезиса обсуждается последовательность создания виртуальных моделей применительно к обучению обычных школьников без специальной математической подготовки. В этом случае задача разбивается на набор маленьких модулей, посильных для выполнения школьниками модулей.
Первым модулем является создание чертежа помещений, выполненных в масштабе в чертежном графическом редакторе «Компас 3D», разработанным Российской компанией «АСКОН». На сегодняшний день обучение школьников в «Компас 3D» входит в программу школьного обучения по черчению и в раздел графических редакторов по программе информатики. Чертеж выполняется после проведения измерений в учебных аудиториях.
Вторым модулем является программирование своего графического редактора для чтения изображения (картинки чертежа) для создания своего трехмерного формата данных трехмерной модели компьютерного центра. Такая сложная задача разбивается на ряд простых задач.
Принимается, что стены в помещении вертикальные и потолки одной высоты. Лепные украшения стен заменяем текстурированием. В зависимости от степени удобства работы было разработано несколько версий графического редактора.
Далее разработана загрузка в модель трехмерной модели стола из стандартного трехмерного формата.
Третьим модулем является программирование загрузки трехмерных графических форматов в виртуальную сцену. Это является наиболее сложной задачей с точки зрения программирования трехмерной сцены, так как необходимо удовлетворить сразу два противоречивых критерия: быстродействие управление трехмерной сцены и качественную детализацию предметов на сцене.
Однозначного решения этой задачи не существует. Имеются только специальные математические алгоритмы трехмерной графики, но выбор конкретного зависит от сцены и от опыта разработчика. Поэтому в своей работе мы ограничились наиболее простыми алгоритмами отсечения («clipping»).
Так как рассматривание более сложных не входит в школьную программу подготовки. Кроме того, в данном модуле необходимо использовать профессиональные возможности библиотеки OpenGL для работы со списками изображений.
Четвертым модулем является программирование графического «движка» для управления трехмерной сценой. Особенностью стен компьютерного центра является их дизайнерская распорись. Поэтому в нашей программе предусмотрено различное текстурирование стен, что усложняет работу по программированию при создании трехмерной модели, но дает большую реалистичность.
Дальнейшая работа над моделью компьютерного центра требует применения специальных математических методов, по оптимизации программы. Что возможно, но требует больших усилий от школьников.
Может показаться, что данную модель можно получить «бесплатно» в современных графических редакторах, не разрабатывая свои программы. Но современные редакторы требуют наличия лицензии на их использование. Кроме того, их применение не учитывает особенностей выполняемой задачи, поэтому невозможно получить оптимальное решение с точки зрения критериев: быстродействие и качество детализации.
И в заключении следует напомнить, что все современные трехмерные графические редакторы создавались изначально от идей вот таких программок работы с трехмерной графикой.