posts | comments
27Mar

Математичне завдання прямій на площині

No comments
« Аффінноє перетворення і його матричне уявлення   |   Поворот площини за допомогою миші »


Завдання прямій по двох точках

Будь-яка пряма однозначно визначається двома різними крапками. Хай імєєются точки p1(x1, x2) і p2(x2, y2). Розглянемо, як по ним отримати рівняння прямої.

Ax1 + By1 + C = 0

Ax2 + By2 + C = 0

Віднімаючи, отримуємо

A(x1 - x2)+ B(y1 - y2)= 0

Видно, що A = (y1 - y2) і B = -(x1 - x2) задовольняють цьому рівнянню:

(y1 - y2) (x1 - x2) - (x1 - x2)(y1 - y2) = 0

Т.о. A і В знайдені. C виходить з першого рівняння:

C = -(y1 - y2) x1 + (x1 - x2)y1

Існує простіша форма запису для запам’ятовування, який дає аналогічний результат (з точністю до знаку):

x - x1 = у - y1

x2 - x1 y2 - y1

Наборы доктора игры попуган узнайте здесь.

Геометричний сенс вектора (A, B) це вектор нормалі до даної прямої. Даний факт легко перевірити, якщо скалярний помножити n(A, B) на направляючий вектор l(x2 - x1, y2 - y1), який задає напрям уподовж прямої.

Рівняння прямої з кутовим коефіцієнтом

Відмітимо, що у разі, коли коефіцієнт B не рівний 0 на нього можна розділити:

у = -(A / B) x - (C / B)

або

у = kx + b

При побудові прямих ця форма запису зручніша, ніж попередня. Вона дозволяє явно показати соотвествіє між x і у. Але, на відміну від математики, ми використовуватимемо і варіант:

x = kxy + bx

При растерізациі важливо, щоб коефіцієнт до (kx) був менше одиниці. Тоді при зміні аргументу на 1 функція міняється не більше ніж на одиницю. Тим самим забезпечуватиметься зв′язність.

Приклад, коли вибраний до > 1:

2D теорія - Математичне завдання прямій на площині

Залишаються два випадки горизонтальною і вертикальною прямих. Вони розглядаються окремо і для них алгоритми растерізациі очевидні.


Tags: , , , , , , , ,

2D теорія


Схожі записи

Categories: 2D теорія

Friday, March 27th, 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.