Геометрическое моделирование/Геометрическое моделирование в САПР
Заказать
Лабораторные работы предназначены для закрепления лекционного ма-
териала. Задания на лабораторные работы заключаются в модификации про-
ектов-заготовок, с тем, чтобы придать им новые возможности. Проекты-
заготовки содержаться в одноименных RAR архивах. Для их модификации
архив необходимо распаковать на своем жестком диске, затем запустить
Visual C++ и открыть файл проекта с расширением MAK. Возможно, в более
поздних, чем 2.2, версиях Visual C++ будет предложено преобразовать проект
в более новый формат. Надо согласиться с таким преобразованием. После от-
крытия проекта-заготовки надо внести в него дополнения, которые описаны в
задании на лабораторную работу.
В первой лабораторной работе рассматривается две небольшие про-
граммки. Одна из которых демонстрирует создание минимального Windows-
приложения с помощью библиотеки MFC, а вторая является проектом Painter,
построенным на основе архитектуры Document-View и классов библиотеки MFC,
и реализует минимальные графические функции. Проект Painter будет модифи-
цироваться в ряде лабораторных, постепенно приобретая новые свойства. В по-
следних лабораторных работах рассматриваются многодокументный (MDI-
интерфейс) проект ShowBM, который осуществляет просмотр графических фай-
лов в формате BMP, и проект MMApp, основанный на интерфейсе диалогового
окна, и выполняющий просмотр видеоклипов в формате AVI.
Задание на лабораторную работу №1
Изучение работы Windows-приложения. Обработка сообщений. Вы-
вод графики на экран. Объектно-ориентированное программирование
графики.
Лабораторная работа основана на материале лекций №1 и №2.
1. Создать и изучить работу «минимальной MFC-программы». Для этого
выполнить команду File-New и в появившемся диалоге выбрать Project
(рис. 1).
Задать имя проекта «MFCApp» и тип проекта Application (рис. 2). После
нажатия кнопки Create будет предложено указать имена файлов, которые
будут использованы в проекте. В поле File Name ввести имя mfcapp.cpp и
нажать кнопку Add (рис. 3). Появиться предложение создать файл с таким
именем – ответить OK. Затем нажать Close. Открыть файл mfcapp.cpp и по-
местить в него текст «минимальной MFC-программы» (см. лекцию №1). За-
тем выполнить команду Project-Settings и указать, что в проекте будут ис-
пользоваться классы MFC (рис. 4). Откомпилировать программу – команда
Project-Build; запустить программу – команда Project-Run.
Рис. 1. Диалог выбора типа проекта
Рис. 2. Создание проекта программы MFCApp
Рис. 4. Задание свойств проекта
Рис. 3. Выбор файлов проекта
1. Добавить в «минимальную MFC-программу» обработку сообщения
WM_RBUTTONDOWN нажатия правой кнопки мыши. Выполняется анало-
гично добавлению обработчика нажатия левой кнопки мыши (см. главу 1).
2. Создать проект Painter (процесс создания приведен выше). Добавить в
него с помощью инструмента ClassWizard (см. главу 1) обработку нажатия
правой клавиши мыши: действие – отмена последней точки, введенной с по-
мощью левой клавиши.
1. Изучить работу программы Painter 2 (см. главу 2).
2. Запрограммировать классы фигуры в соответствии с вариантом зада-
ния (фигура может быть составной из нескольких примитивов).
3. Дополнить программу Painter 2 возможностью рисования новых фи-
гур.
Для реализации класса новой фигуры открыть файл Shapes.h и описать
интерфейс нового класса, порожденного от класса CBasePint. Переопределить
виртуальные функции Show и GetRegion. Реализацию данных функций помес-
тить в файл Shapes.cpp. Добавить кнопки в панель инструментов и описать
функции-обработчики сообщений их нажатия.
Варианты заданий.
1. Сегмент шара (функция Chord класса CDC) рис. 5, 1.
2. Сектор шара (функция Pie класса CDC) рис. 5, 2.
3. Эллипс (функция Ellipse класса CDC) рис. 5, 3.
4. Скругленный прямоугольник (функция RoundRect класса CDC) рис. 5, 4.
5. - 20. Составные фигуры рис. 5, 5-20 рисуются с помощью функций класса
CDC.
1) 2) 3) 4) 5) 6) 7) 8) 9) 10)
11) 12) 13) 14) 15) 16) 17) 18) 19) 20)
Рис. 5
Задание на контрольную работу №1
Реализация алгоритмов двумерных преобразований.
Работа основана на материале главы 3.
1. Реализовать в программе Painter функцию рисования полигонов.
2. Добавить в Painter команды поворота и переноса полигона.
Для выполнения первого пункта задания, иерархиею классов фигур на-
до дополнить классом полигона (см. главу 3). Операции поворота и переноса
можно реализовать, применив ко всем точкам графического объекта метод
Transform базового класса CBasePoint. Для реализации операций поворота и
переноса необходимо:
• Добавить в класс фигуры полигон функцию преобразования положе-
ния, которая в качестве аргументов будет принимать угол, на который надо
повернуть фигуру и сдвиги по x и y. В качестве точки, вокруг которой будет
осуществляться поворот, можно выбрать, например, первую или последнюю
точку полигона.
• Добавить в меню соответствующую команду, и обработчик этой ко-
манды, в котором должна вызываться функция преобразования положения
объекта-фигуры.
3. Запрограммировать функцию рисования фигуры с помощью полиго-
на. Варианты фигур приведены на рис. 6.
Задание на лабораторную работу №2
Построение сплайновых кривых.
Лабораторная работа основана на материале главы 7.
В лекции №7 изложены основы построения сплайновых кривых. Лабо-
раторная выполняется на базе проекта- заготовки Painter6 (архив Painter6.rar)
и программы Bezier (архив Bezier.rar).
В лабораторной работе требуется:
1) 2) 3) 4) 5) 6) 7) 8) 9) 10)
11) 12) 13) 14) 15) 16) 17) 18) 19) 20)
Рис. 6
1. Создать класс своей сплайновой фигуры на базе класса CSpline из
проекта Painter6 аналогично классу CSplineStar. Добавить в программу
Painter6 возможность рисования новых сплайновых фигур.
2. Написать функцию, выполняющее построение геометрически непре-
рывной составной сплайновой кривой Безье по произвольному числу базовых
точек. Для реализации функции можно использовать описанный в лекции №7
механизм введения вспомогательных точек, и функцию PolyBezier класса
CDC. За основу можно взять программу Bezier (архив Bezier.rar).
3. Запрограммировать функцию рисования фигуры с помощью непре-
рывной сплайновой кривой. В качестве вариантов базовых точек взять верши-
ны фигур, приведенных на рис. 6.
Задание на контрольную работу №2
Создание растровых ресурсов. Вывод растровых изображений.
Задания основаны на материале главы 8.
1. Реализовать в программе Painter класс для работы с растровыми ре-
сурсами.
2. Создать растровую картинку и обеспечить вывод ее на экран, анало-
гично другим графическим объектам в проекте Painter.
3. Создать свой растровый шаблон кисти и кисть на ее основе. Выпол-
нить заполнение какой-либо фигуры шаблонной кистью.
Приложение 1
ОБЩИЕ ТРЕБОВАНИЯ К СОДЕРЖАНИЮ КУРСОВЫХ
ПРОЕКТОВ, СВЯЗАННЫХ С РАЗРАБОТКОЙ
ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Пояснительная записка к курсовому проекту должна содержать:
1. Титульный лист.
2. Аннотацию.
3. Задание на проектирование.
4. Оглавление.
5. Введение (Общая информация, назначение программного продукта,
необходимость его разработки).
6. Постановку задачи.
7. Обзор литературы (Состояние проблемной области, наличие аналогов
разработки, существующие алгоритмы, средства разработки программ).
8. Анализ задания, выработка требований к программе, выбор средств
реализации.
9. Описание алгоритмов программы и используемых математических
моделей (формулы, схемы, общее описание алгоритмов).
10. Описание реализации программы (структурная схема программы,
структура и типы данных, иерархия и описание классов, основные процедуры,
их назначение и взаимосвязь, входные и выходные данные программы и от-
дельных процедур, смысл основных переменных программы, построение
файловой системы, используемые средства среды программирования).
11. Описание программы «для пользователя» (описание меню, порядок
работы с программой - может быть в виде инструкции для пользователя, и
пр.).
12. Тестирование программы (описание тестовых задач и результатов
тестирования).
13. Заключение (Основной итог работы, сопоставление желаемых и по-
лученных результатов, встретившиеся проблемы, целесообразность и воз-
можные направления дальнейшего совершенствования программы).
14. Список использованной литературы (обычно не менее 5 наименова-
ний).
15. Приложения (блок-схемы алгоритмов структурная схема и листинг
основных фрагментов программы, результаты тестирования и т.д.)
При оформлении пояснительных записок необходимо обратить внима-
ние на следующее:
141
1. Рисунки должны быть пронумерованы и подписаны, в тексте должны
бать ссылки на рисунки.
2. Таблицы должны быть пронумерованы и иметь заголовки.
3. Листы пояснительной записки должны иметь сквозную нумерацию (с
первого по последний лист, включая приложения). Номер на титульном листе
не ставится.
4. Приложения должны быть пронумерованы и иметь заголовки.
5. Текст программы должен детальные комментарии.
6. Список литературы должен соответствовать требованиям ГОСТа;
7. В тексте записки должны быть ссылки на используемую литературу.
Оценка за курсовую работу выставляется с учетом правильности
оформления пояснительной записки.
Для удобства наших клиентов, проходящих обучение на ФДО ТУСУРа, была создана данная форма заказа, с помощью которой Вы можете БЕСПЛАТНО УЗНАТЬ СТОИМОСТЬ оказания помощи в выполнении работ по тем дисциплинам, которые Вам необходимы. Если Вы хотите заказать ОПТОМ выполнение одного и более семестров, то мы предложим Вам выполнение работ под ключ по самым выгодным ценам. Пожалуйста свяжитесь с нами по следующим контактам