Автоматизация решения задач трехмерного моделирования как инструмент разработки учебных пособий и обучающих систем
Авторы: Карабчевский В.В., Кудимов М.И.
Источник: ИНФОРМАТИКА, УПРАВЛЯЮЩИЕ СИСТЕМЫ, МАТЕМАТИЧЕСКОЕ И КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ (ИУСМКМ – 2017) - 2017/ Сборник материалов VIII Международной научно-технической конференции в рамках III Международного Научного форума Донецкой Народной Республики. — Донецьк, ДонНТУ — 2017, c. 335-340. //URL
Аннотация
Карабчевский В.В., Кудимов М.И. Автоматизация решения задач трехмерного моделирования как инструмент разработки учебных пособий и обучающих систем. Поставлена задача получения иллюстраций и моделей для использования в методических материалах и обучающих системах. Для ее решения предложена разработка системы автоматического решения геометрических задач. Приведены примеры работы этой системы, предложено направление ее дальнейшего развития.
Ключевые слова: решение геометрических задач, геометрическое моделирование, геометрические фигуры, визуализация.
Постановка задачи
Существует множество учебников, пособий, и других методических материалов, описывающих решение базовых геометрических задач, как печатных, так и мультимедийных. Наиболее трудоемким этапом их разработки является создание качественных иллюстраций. В мультимедийных обучающих системах иллюстрации могут быть заменены трехмерными моделями, соответствующими как отдельным этапам построения, так и показывающими окончательный результат, что еще более трудоемко.
Существующие алгоритмы решения таких задач обеспечивают возможность автоматизации соответствующих построений как на комплексном чертеже, так и в пространстве, поэтому разработка системы, позволяющей решать некоторые классы задач при произвольных начальных условиях, является реальной и актуальной. Такая система должна обеспечивать возможность запоминания результатов построений на определенных заранее этапах, что позволит обучаемому просмотреть результат, а разработчику учебных материалов скопировать геометрическую модель в ее промежуточном состоянии.
Базовым инструментом геометрического моделирования может послужить AutoCAD, а средством реализации алгоритмов решения задач – язык AutoLISP.
Исследования
Разрабатываемая система предназначена для решения подмножества геометрических задач сечения линейчатых поверхностей, а именно сечения плоскостью прямого кругового цилиндра на комплексном чертеже и в пространстве в соответствии введенным данным пользователя. Секущая плоскость может пересекать основание фигуры.
Процесс построения разбивается на несколько шагов. Состояние модели на каждом шаге запоминается, что дает возможность просмотреть результаты построения и ознакомиться комментариями, которые были взяты из учебного пособия и несколько дополнены. Процесс построения соответствует алгоритму, описанному в [1], но разбит на большее число шагов для повышения наглядности и летальности изложения материала.
Приведем пример. На рисунках 1 и 2 приведены иллюстрации из пособия, соответствующие первому и второму шагам построения сечения цилиндра.

Рисунок 1 – Первый шаг построения. Построены проекции цилиндра и след фронтально-проецирующей плоскость Ф2.

Рисунок 2 – Второй шаг построения. Построены проекции большой оси и центра эллипса.
Сразу можно отметить недостаток рисунков, выполненных традиционно в безосной системе координат. Это усложняет понимание того, как расположен объект в текущей системе координат. В разрабатываемой на языке AutoLISP [2] системе этот недочет устранен. После её запуска оси координат автоматически настраиваются перед началом построения и устанавливаются соответствующие обозначения.
При разработке системы было принято решение разбить второй шаг, соответствующий рисунку 2, еще на две части. Первая часть, что станет в системе вторым шагом, будет описывать как использовать команду _OFFSET для получения отрезка параллельного фронтально проецирующей плоскости Ф. Вторая часть, что станет уже третьим шагом, расскажет о том, как при помощи команд _LINE и _PERPEND построить перпендикуляры от Ф2 и до осевой линии.
Примеры работы системы представлены на рисунках 3-5.

Рисунок 3 – Шаг 1. Исходные данные.

Рисунок 4 – Шаг 2. Результат применения команды _OFFSET.

Рисунок 5 – Шаг 3. Результат работы команд _LINE и _PERPEND.
На этих рисунках мы видим уже три шага построения, которые в пособии были представлены как два. Таким же образом были разбиты на несколько частей и другие шаги построения.
Приведем еще два рисунка демонстрирующие работу разрабатываемой системы. На рисунке 6 изображено уже конечное построение поверхностного сечения цилиндра на комплексном чертеже, а на рисунке 7 это же построение, но уже в пространстве

Рисунок 6 – Сечение цилиндра на комплексном чертеже.

Рисунок 7 – Сечение цилиндра в пространстве.
В учебном пособии только вкратце описано, что такое построение, как на рисунках 8 и 9, применяется в том случае, когда секущая плоскость пересекает основание фигуры. Подробное описание алгоритма решения такой задачи там не приводится. В разрабатываемой системе этот недостаток устранен. Студент получит решение задачи и на комплексном чертеже, и в пространстве, а также ему будет предоставлено подробное пояснение каждого шага построения.

Рисунок 8 – Эллиптическая дуга.

Рисунок 9 – Сечение в пространстве.
Выводы
Ограничение на объем вышеупомянутого учебного пособия не позволило достаточно полно проиллюстрировать процесс решения некоторых геометрических задач на комплексном чертеже. Построения в пространстве и некоторые частные случаи также целесообразно иллюстрировать более подробно.
Разрабатываемая система позволяет ускорить получение таких иллюстраций пока только для задач сечения плоскостью некоторых видов поверхностей. В дальнейшем система будет дорабатываться путем реализации возможностей работы с другими видами поверхностей и расширения набора решаемых геометрических задач.
Cписок литературы
- Карабчевский В.В. Методы компьютерной геометрии Донецк: ГВУЗ «ДонНТУ», Технопарк ДонНТУ «УНИТЕХ», 2010. – 178 с.
- АВТОЛИСП - язык графического программирования в системе AutoCAD [электронный ресурс] // ВВЕДЕНИЕ В ЯЗЫК АВТОЛИСП [сайт]. URL: http://kappasoft.narod.ru/info/acad/lisp/a_lisp.htm#2