ГОСУДАРСТВЕННЫЙ КОМИТЕТ РОССИЙСКОЙ ФЕДЕРАЦИИ ПО ВЫСШЕМУ ОБРАЗОВАНИЮ
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
С.М.АВДЕЕВА, А.В.КУРОВ
МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ КУРСОВОЙ РАБОТЫ ПО ДИСЦИПЛИНЕ «МАШИННАЯ ГРАФИКА»
Москва 1995
Стр.
1. Содержание курсовой работы
2. Требования к оформлению курсовой работы
3. Пример задания на выполнение курсовой работы .
4. Список рекомендуемых тем курсовых работ
Список литературы, используемой при выполнении
курсовой работы
6. Алгоритмы машинной графики, используемые при вы
полнении курсовой работы
6.1. Алгоритм Робертса
6.2. Алгоритм Варнока
6.3. Алгоритм Вейлера-Азертона
6.4. Алгоритм, использующий список приоритетов . .
6.5. Алгоритм, использующий 2-буфер
6.6. Алгоритм построчного сканирования
6.7. Алгоритм определения видимых поверхностей
путем трассировки лучей
6.8. Алгоритм создания реалистических изображений.
1. СОДЕРЖАНИЕ КУРСОВОЙ РАБОТЫ
Курсовая работа по дисциплине «Машинная графика» является первой курсовой работой, выполняемой студентами, обучающимися по специальности «Программное обеспечение вычислительной техни-ки и автоматизированных систем». При ее выполнении студент должен продемонстрировать умение применять теоретические знания и практические навыки при разработке законченного программного продукта.
Курсовая работа представляет собой комплексную работу и ее выполнение требует использования знаний, полученных не только в одной конкретной дисциплине, но и в ходе предшествующего изучения как фундаментальных и общеинженерных дисциплин («Высшая математика», «Физика», «Инженерная графика»), так и дисциплин специальности («Основы информатики», «Типы и структуры данных», «Программирование на языке Си», «Системное программирование», «Об»ектно-ориентированное программирование»).
Курсовая работа должна быть посвящена разработке законченного программного продукта, позволяющего моделировать трехмерные и/или реалистические изображения на экране дисплея. Такая направленность работы связана с тем, что алгоритмы нижнего уровня студенты достаточно глубоко и всесторонне изучают в ходе теоретических и практических занятий в течение предыдущего семестра. Алгоритмы верхнего уровня (предназначенные для изображения трехмерных и реалистических об»ектов) достаточно громоздки, программы, их реализующие, об»емны, что практически делает невозможным их разработку и отладку в ходе лабораторных работ.
В ходе выполнения курсовой работы студенты решают задачи, связанные с обоснованием и разработкой новых или модификацией
и использованием известных методов и алгоритмов представления об»ектов, выбора и обоснования структуры данных, а также технологические и эргономические вопросы.
На защиту должны быть представлены: комплекс программ, расчетно-пояснительная записка и графическая часть.
Комплекс программ представляет собой законченный программный продукт, который может настраиваться на конкретную прог-раммно-техническкую среду ЭВМ. Для взаимодействия пользователя с программной системой студент разрабатывает инткрфейс пользователя, включающий простое общепринятое меню, необходимые подсказки и помощь как по эксплуатации программы, так и для интерпретации получаемых результатов.
Расчетно-пояснительная записка должна иметь об»ем 30-40 листов рукописного (или машинописного) текста на листах формата А4. Записка должна содержать следующие разделы:
1)Введение
2)Конструкторский
3)Технологический
4)Экспериментально-исследовательский
5)3аключение
Кроме того, записка должна иметь содержание, список использованной литературы, а также в нее могут входить различные приложения.
Во введении дается обзор и анализ существующих программных систем в выбранном направлении, обосновывается необходимость разработки нового комплекса программ. Здесь же проводится анализ и краткое описание с указанием их характеристик известных алгоритмов решения стоящей задачи. Об»ем введения 3-5 листов.
В конструкторской части на основе сделанного во введении обзора проводится выбор и обоснование предлагаемого алгоритма. При использовании известного алгоритма следует более подробно продемонстрировать его преимущества в сравнении с другими известными алгоритмами, указать сложности, особенности его практической реализации, пути решения задач, возникающих в ходе программной реализации.
При разработке нового метода или алгоритма следует подробно изложить полученные самостоятельно (или недостаточно известные) математические соотношения, положенные в основу решения задачи, а также описать предлагаемый алгоритм. При этом следует четко выделить основные этапы работы алгоритма с указанием необходимых исходных данных для его работы и получаемых на каждом этапе результатов.
Как правило, выбор алгоритма тесно связан с используемой структурой данных. Поэтому конструкторская часть должна также содержать обоснование аппроксимации представляемых кривых, поверхностей тел, граней и т.д. Должны быть указаны исходные данные, с помощью которых задаются отображаемые об»екты, проведено сравнение с другими возможными способами их задания. При этом следует проанализировать избыточность выбранного способа описания об»ектов, показать преимущества или удобства при оперировании этими данными.
На основе выбранных данных для представления об»ектов студент осуществляет последующий выбор и обоснование используемых типов и структур для их машинного представления. При их выборе следует исходить из возможностей языка программирования для их представления, затрат памяти на хранение, времени на обработку,
размерности данных.
Выбор исходных данных и формы их представления должен увязываться с такой характеристикой, как их об»ем и удобства пользователя при вводе. В частности, ввод большого количества данных утомляет пользователя и увеличивает вероятность ввода ошибочных данных. В данной части записки могут выполняться расчеты для определения об»емов памяти, необходимой для хранения исходных данных, промежуточных и окончательных результатов, а также расчеты, позволяющие оценить время решения задачи на ЭВМ. Результаты таких расчетов должны использоваться при сравнении альтернативных вариантов алгоритмов, а также оценки возможности практической реализации стоящей задачи на имеющейся технической базе. Об»ем конструкторской части должен составлять 35-55% всего об»ема записки.
Технологический раздел должен содержать обоснование технологии изготовления комплекса программ: модульная или об»ект-но-ориентированная. Необходимо представить модульную структуру комплекса, обоснование выбранного принципа разбиения программ на модули, назначение, взаимосвязь с другими составными частями каждого модуля. В случае использования об»ектно-ориентированно-го программирования следует обосновать и описать введенные классы об»ектов. В этом же разделе решается вопрос с выбором и обоснованием языка программирования. Большое внимание здесь должно быть также уделено разработке интерфейса пользователя, выбору меню, которое бы в наилучшей степени отвечало характеру работы спроектированного комплекса программ и было удобным и понятным пользователю.
Данный раздел должен заканчиваться изложением руководства программиста, в котором излагаются требования к аппаратным средствам и программному обеспечению ЭВМ, а также излагается порядок работы с комплексом программ. Эта часть оформляется в соответствии с ГОСТ 19.504-79 и она должна содержать следующие разделы:
-назначение и условия применения программы;
-характеристики программы;
-обращение к программе;
-входные и выходные данные;
-сообщения.
В разделе «Назначение и условия применения программы» должны быть указаны назначение и функции, выполняемые программой, условия, необходимые для выполнения программы (объем оперативной памяти,требования к составу и параметрам периферийных устройств, требования к программному обеспечению).
В разделе «Характеристики программы» приводится описание основных характеристик и особенностей программы (временные, режим работы, средства контроля правильности выполнения и самовосстановления программы).
В разделе «Обращение к программе» должно быть приведено описание процедур вызова программы (способы передачи управления и параметров данных).
В разделе « Выходные данные» должно быть приведено описание используемой входной и выходной информации.
В разделе «Сообщения» должны быть указаны тексты сообщений, выдаваемых программой в ходе ее выполнения, описаны их содержание и действия, которые необходимо предпринять по этим сообщениям.
В приложениях к руководству программиста могут приводиться дополнительные материалы (примеры, иллюстрации, таблицы, графики).
Технологический раздел должен содержать разработанные тесты для проверки правильности работы комплекса программ, результаты тестирования на тестовых примерах. Об»ем этой части работы составляет 35-40%.
Исследовательско-экспериментальный раздел является рекомендуемой частью курсовой работы. Он должен содержать результаты теоретического или экспериментального исследования в ходе выполнения курсовой работы. В первом случае это могут быть результаты, полученные при исследовании математического метода, положенного в основу алгоритма. Во втором случае экспериментально исследуется разработанный комплекс программ с целью получения значений временных, об»емных и иных характеристик комплекса программ (алгоритма) в зависимости от количества изображаемых об»ектов, их сложности, точности представления (вида аппроксимации, количества граней, аппроксимирующих криволинейную поверхность и т.д.).