Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
20071227_Chumak_MU.doc
Скачиваний:
5
Добавлен:
09.11.2019
Размер:
694 Кб
Скачать
☆

3.2 Лабораторна робота BresCirc на тему "Виведення дуг кола за алгоритмом Брезенхема".

Мета.Студент повинен навчитись створювати геометричнi структури з декiлькома графiчними примiтивами для двовимiрних моделей типу замкнених контурiв ("лiтер") у представленнi "ланцюга послiдовних примiтивiв", здiйснювати органiзацiю вхiдного файлу з наявнiстю контурiв, що заданi такими примiтивами, вводити двовимiрнi моделi з заокруглюваннями вершин, здiйснювати виведення контурiв таких "лiтер" за допомогою алгоритмiв Брезенхема виведення як окремих вiдрiзкiв, так i чвертей кола.

Завдання. Створити текстовий вхiдний файл з "лiтер", що утворюються наступними примiтивами "L Xs Ys Xf Yf" (вiдрiзок, з початком у точцi з координатами {Xs, Ys} i кiнцем у точцi з координатами {Xf, Yf}) i "C Xc Yc R n" (n-та чверть кола з центром у точцi з координатами {Xc, Yc}, радiусом R", n=1,2,3,4). Ввести вхiднi данi i накреслити на формi отриманi "лiтери" скориставшись алгоритмами Брезенхема креслення вiдрiзкiв та дуг кола.

Хiд виконання. За одержаними у викладача "лiтерами":

1. Накреслити цi "лiтери" на аркушi паперу у клiтинку таким чином, щоб кожний контур "лiтери" складався з вiдрiзкiв та чвертей кола з цiлочисельними вiдносними координатами (власнi для кожної окремої "лiтери") у системi локальних математичних координат.

2. Розробити структуру вхiдного текстового файлу для введення таких "лiтер". Записати на листi паперу вхiдний файл для отриманих "лiтер" i затвердити його у викладача.

3. Розробити представлення "лiтер", написати програму введення даних з вхiдного файлу i здiйснити виведення контурiв "лiтер" на полотно форми з використанням алгоритму Брезенхема виведення вiдрiзкiв та дуг кола.

4. Оформити звiт з лабораторної роботи i провести її захист.

Питання до лабораторної роботи

1. Алгоритм Брезенхема будування дуги кола у першому квадрантi. Переваги та недолiки методу.

2. Цiлочисельний алгоритм Брезенхема розкладу в растр дуги кола у будь-якому квадрантi. Переваги та недолiки методу.

3.3 Лабораторна робота BresEllips на тему "Виведення елiпсiв за алгоритмом Брезенхема".

Мета. Студент повинен навчитись створювати геометричнi структури з декiлькома графiчними примiтивами для двовимiрних моделей типу замкнених контурiв ("лiтер") у представленнi "ланцюга послiдовних примiтивiв", здiйснювати органiзацiю вхiдного файлу з наявнiстю контурiв, що заданi такими примiтивами, вводити двовимiрнi моделi з елiптичними заокруглюваннями вершин, здiйснювати виведення контурiв таких "лiтер" за допомогою алгоритмiв Брезенхема виведення як окремих вiдрiзкiв, так и дуг елiпсiв.

Завдання. Створити текстовий вхiдний файл з "лiтер", що утворюються наступними примiтивами "L Xs Ys Xf Yf" (вiдрiзок, з початком у точцi з координатами {Xs, Ys} i кiнцем у точцi з координатами {Xf, Yf}) i "E Xc Yc a b n" (n-та чверть елiпса з центром у точцi з координатами {Xc, Yc}, пiвосями a i b, n=1,2,3,4). Ввести вхiднi данi i накреслити на формi отриманi "лiтери" скориставшись алгоритмами типа Брезенхема креслення вiдрiзкiв та дуг елiпса.

Хiд виконання. За одержаними у викладача "лiтерами":

1. Накреслити цi "лiтери" на аркушi паперу у клiтинку таким чином, щоб кожний контур "лiтери" складався з вiдрiзкiв та чвертей елiпсiв з цiлочисельними вiдносними координатами (власно для кожної окремої "лiтери") у системi локальних математичних координат.

2. Розробити структуру вхiдного текстового файлу для введення таких "лiтер". Записати на листi паперу вхiдний файл для отриманих "лiтер" i затвердити його у викладача.

3. Розробити представлення "лiтер", написати програму введення даних з вхiдного файлу i здiйснити виведення контурiв "лiтер" на полотно форми з використанням алгоритму Брезенхема виведення вiдрiзкiв та дуг елiпсiв.

4. Оформити звiт з лабораторної роботи i провести її захист.

Питання до лабораторної роботи

1. Канонiчне рiвняння елiпса. Загальне рiвняння елiпса i зведене рiвняння елiпса з центром i пiвосями, якi паралельнi загальній системi координат.

2. Алгоритм Брезенхема побудови дуги елiпса у першому квадрантi. Переваги та недолiки методу.

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

Приклад органiзацiї вхiдного файла BresCirc.inp

-1 8

1 L 0 0 0 10

2 L 0 10 5 10

3 C 6 11 1 4

4 L 6 11 6 9

5 C 5 9 1 4

6 L 5 8 2 8

7 L 2 8 2 0

8 L 2 0 0 0

-2 22

1 L 0 2 0 8

2 C 2 8 2 2

3 L 2 10 4 10

4 C 4 8 2 1

5 L 6 8 6 6

6 C 4 6 2 4

7 L 4 4 2 4

8 C 4 4 2 3

9 L 4 2 6 2

10 C 6 0 2 4

11 L 4 0 2 0

12 C 2 2 2 3

13 C 5 7 1 1

14 C 5 7 1 2

15 C 5 7 1 3

16 C 5 7 1 4

17 C 2 11 1 2

18 L 2 12 2 11

19 L 2 11 1 11

20 C 4 11 1 1

21 L 5 11 4 11

22 L 4 11 4 12

15 10 20

Тут записано також двi лiтери. Код лiтери завжди вiд'ємне число (першої -1, другої -2). Далi, при кодi лiтери, вказанi число примiтивiв у контурах (перша лiтера має 8 примiтивiв, друга -- 22). Кожен контур складається або з вiдрiзку "L Xпочатку Yпочатку Xкiнця Yкiнця", або чвертi кола "С Xцентру Yцентру Радiус N", де N - номер чвертi кола при обходi його у сторону, протилежну до стрiлки годинника.

До цiєї iнформацiї також додаються числа x, y, b (див. приклад вхuiдного файла до лаб. Роботи BresLine). Тому у кiнцi файла BresСirс.inp наведено вiдповiдний рядок 15 10 20 тобто, x=15, y=10, b=20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]