Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГСК_Мет_к_самост работе.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.14 Mб
Скачать

1.4. Лабораторная работа № 2

Тема: «Сплайны»

Цель работы – практическое знакомство со способами задания сплайнов и методами их визуализации.

Программное обеспечение. Для выполнения лабораторной работы на компьютере должен быть установлен пакет программ Microsoft Visual Studio.

Задание

Требуется разработать программу для интерактивного задания и визуализации кубических сплайнов и кривых Безье. При подготовке к лабораторной работе и разработке программы следует руководствоваться материалами разд. 1.2 методических указаний к лабораторным работам и курсовому проектированию [3].

Для контроля правильности построения кубического сплайна должны быть предусмотрены два режима вывода: визуализация сплайна с касательными векторами в начальной и конечной точках и визуализация только сплайна.

Кривую Безье также необходимо выводить в режимах с визуализацией и без визуализации начальных условий. При визуализации опорных точек кривой желательно соединять их друг с другом отрезками в порядке построения.

После завершения разработки программы произвести ее тестирование, а также исследовать влияние начальных условий на геометрию сплайна.

Порядок проведения работы

Создание нового проекта Windows-приложения и размещение на форме панели и элемента PictureBox выполнить также как в лабораторной работе № 1. Так же, как и там, на форме нужно создать элемент выбора цвета рисования с обработчиком выбора и кнопку очистки области вывода со своим обработчиком.

Поскольку заданием предусмотрено задание и построение двух типов файлов на форме следует также создать элемент выбора типа сплайна comboBoxType со своим обработчиком. Результат проектирования формы приложения показан на рис. 1.6.

Задание поверхности для графики можно задать в классе Form1.

public partial class Form1 : Form

{

. . .

Graphics g;

. . .

comboBoxType

Рис. 1.6

В методе Form1() следует выполнить инициализацию поверхности рисования в pictureBoxSpline.

public Form1()

{

InitializeComponent();

g = pictureBoxSpline.CreateGraphics(); //инициализация графики

}

По аналогии с действиями на рис. 1.3 в свойствах элемента comboBoxType нужно задать коллекцию значений

Кубический сплайн

Кривая Безье

Обработчик выбора типа сплайна comboBoxType_SelectedIndexChanged должен возвращать значение

SplineType = comboBoxType.SelectedIndex;

которое в дальнейшем можно использовать для выбора варианта обработки ввода с помощью мыши начальных условий для выбранного типа сплайна, а также для выбора процедуры визуализации в соответствии с выбранным типом сплайна после завершения ввода начальных условий.

Алгоритм визуализации кубического сплайна разработать самостоятельно. Алгоритм визуализации кривой Безье дан в разделе 1.2 методических указаний [3].

1.5.Оформление отчета по лабораторной работе № 2

Титульный лист отчета оформить в соответствии с Приложением 1. В начале отчета необходимо указать цель лабораторной работы и задание.

Далее необходимо представить алгоритм визуализации кубического сплайна на псевдокоде или в виде схемы алгоритма. Эту часть отчета следует завершить текстом разработанной самостоятельно процедуры визуализации сплайна и пояснениями к нему.

По разработке процедуры визуализации кривой Безье следует привести ее текст с пояснениями теоретического характера.

Итогом в оформлении отчета должны быть скриншоты, с результатами тестирования процедур визуализации кубических сплайнов и кривых Безье. В частности в отчете должны быть отражены результаты тестирования влияния начальных условий на форму кривых. Пример скриншота для кубического сплайна показан на рис. 1.7.

Рис. 1.7

Скриншоты необходимо дополнять пояснениями и выводами.