posts | comments
24Mar

Введення Звязність Відсікання Перехід до віконних координат

No comments
« Програмне забезпечення для роботи з графікою   |   Логічна система координат »

Поняття зв′язності, введене вище, дозволяє обійти вимогу на цілочисельність координат всіх точок. За допомогою цього поняття можна судити про зв′язність дискретної лінії. Інша проблема полягає в тому, що область висновку завжди має обмежені розміри. Область форми, на яку робився висновок в попередніх розділах, має форму прямокутника.
Таким чином з’являється завдання відсікання геометричних примітивів, що виводяться, по межі деякої області. Алгоритми отчесенія будуть розглянуті нижче.

Перехід до віконних координат

В попередньому розділі не акцентувалася увага, де саме варто перейти з логічних координат у віконні. Дискретність сітки, на яку виводиться зображення, має певні переваги. А саме, за рахунок цілочисельності коорднат пікселів можна створити алгоритми, які також працюватимуть тільки з цілими числами.
Більш того, у багатьох випадках основний цикл з числа арифметичних операцій містить тільки складання!

Стає ясно, що перехід до віконних коодінатам потрібно здійснити до початку роботи основного алгоритму. У загальному випадку схема роботи виглядатиме таким чином:

/*

У функцію передаються крапки з логічними координатами.

*/

void DrawLine(_Point p1, _Point p2){

// перетворюємо у віконні координати

p1 = viewport->T(p1);

p2 = viewport->T(p2);

// робимо відсікання

ClipLine(p1, p2);

// основний алгоритм

// …

}

Це те, що стосується базових понять. У подальших статтях будуть розглянуті математичні основи завдання графічних примітивів і алгоритми їх побудови (растерізациі).

Джерело: compgraphics.info


Tags: , , , , , , ,

2D теорія


Схожі записи

Categories: 2D теорія

Tuesday, March 24th, 2009 at 09:15 and is filed under 2D теорія. You can follow any responses to this entry through the feed. Both comments and pings are currently closed.