Лекция апреля 2002 г. Прямые Кривые Поверхности
23 апреля 2002 г.Компьютерная графика2 Алгоритм Брезенхема (1) (прямая) Отрезок, соединяющий P(x1, y1) и Q(x2, y2)
23 апреля 2002 г.Компьютерная графика3 Алгоритм Брезенхема (2) (прямая) F(x,y) = 0 -- точка на отрезке F(x,y) < 0 -- точка выше F(x,y) > 0 -- точка ниже Точка P определена, тогда координаты срединной точки и значение функции в этой точке
23 апреля 2002 г.Компьютерная графика4 Алгоритм Брезенхема (3) (прямая) Если d < 0, то выбирается Е и Если d 0, то выбирается NE В начальной точке
23 апреля 2002 г.Компьютерная графика5 Алгоритм Брезенхема (4) (прямая) Одна неприятность -- деление на 2 Чтобы избежать вещественной арифметики, сделаем преобразование
23 апреля 2002 г.Компьютерная графика6 Алгоритм Брезенхема (5) (окружность) Неявное и явное представление Параметрическое представление
23 апреля 2002 г.Компьютерная графика7 Алгоритм Брезенхема (6) (окружность)
23 апреля 2002 г.Компьютерная графика8 Алгоритм Брезенхема (7) (окружность) Для точки P c коорд. Для пиксела Е: Для пиксела SE:
23 апреля 2002 г.Компьютерная графика9 Алгоритм Брезенхема (8) (окружность) В начальной точке (0, R) И опять нужно исключить вещественные операции. Сделав замену h = d-1/4, получим h = 1-R. Тогда необходимо сравнивать h с -1/4, но так как приращения d – целые числа, то сравнивать можно с нулем.
23 апреля 2002 г.Компьютерная графика10 Обнаружение прямых линий
23 апреля 2002 г.Компьютерная графика11 Преобразование Хоха (1) (The Hough Transform) y i = ax i +b b = -x i a + y i
23 апреля 2002 г.Компьютерная графика12 Преобразование Хоха (2) (The Hough Transform) x cos + y sin =
23 апреля 2002 г.Компьютерная графика13 Преобразование Хоха (3) (The Hough Transform) Прямая x cos j + y sin j = i Окружность (x - c 1 ) 2 + (y - c 2 ) 2 = c 3 2
23 апреля 2002 г.Компьютерная графика14 Преобразование Хоха (4) (The Hough Transform)
23 апреля 2002 г.Компьютерная графика15 Цепное кодирование (Freemans chain code)
23 апреля 2002 г.Компьютерная графика16 Resampling (Изменение дискретизации)
23 апреля 2002 г.Компьютерная графика17 4-х и 8-ми связное кодирование
23 апреля 2002 г.Компьютерная графика18 Срезаем углы
23 апреля 2002 г.Компьютерная графика19 {P 0, P 1, …, P n } {Q 0, R 0, Q 1, R 1, …, Q n-1, R n-1 } Q i = P i = 2n новых точек рассматриваются как новая управляющая ломаная
23 апреля 2002 г.Компьютерная графика20
23 апреля 2002 г.Компьютерная графика21
23 апреля 2002 г.Компьютерная графика22
23 апреля 2002 г.Компьютерная графика23
23 апреля 2002 г.Компьютерная графика24
23 апреля 2002 г.Компьютерная графика25
23 апреля 2002 г.Компьютерная графика26
23 апреля 2002 г.Компьютерная графика27 Кривые Безье
23 апреля 2002 г.Компьютерная графика28
23 апреля 2002 г.Компьютерная графика29
23 апреля 2002 г.Компьютерная графика30 Полиномы Бернштейна P(t) = 3 i=0 P i B i,3 (t)
23 апреля 2002 г.Компьютерная графика31 Кривые Эрмита G H = [P 1, P 4, R 1, R 4 ] T x(t) = T A H = T M H G H T = [t 3 t 2 t 1] x(0) = P 1x = [ ] M H G Hx x(1) = P 4x = [ ] M H G Hx x'(0) = R 1x = [ ] M H G Hx x'(1) = R 4x = [ ] M H G Hx
23 апреля 2002 г.Компьютерная графика32 P(t) = T M G x(t) = T M G x y(t) = T M G y z(t) = T M G z G H = B H A H A H = (B H ) -1 G H x(t) = T A H = T (B H ) -1 G H = T M H G H
23 апреля 2002 г.Компьютерная графика33 Смешивающие функции Эрмита (Hermite blending functions) [ ] M H = [ ] [ ] [ ] f 1 (t) = 2t 3 - 3t f 2 (t) = -2t 3 + 3t 2 f 3 (t) = t 3 - 2t 2 + t f 4 (t) = t 3 - t 2
23 апреля 2002 г.Компьютерная графика34
23 апреля 2002 г.Компьютерная графика35 P(t) = T M H G H = B H G H = = (2t 3 - 3t 2 + 1)P 1 +(-2t 3 +3t 2 )P 4 + (t 3 - 2t 2 +t)R 1 + (t 3 - t 2 )R 4
23 апреля 2002 г.Компьютерная графика36
23 апреля 2002 г.Компьютерная графика37 G 0, G 1 - геометрическая непрерывность
23 апреля 2002 г.Компьютерная графика38
23 апреля 2002 г.Компьютерная графика39 Связь кривых Эрмита и Безье
23 апреля 2002 г.Компьютерная графика40 Поверхности Безье
23 апреля 2002 г.Компьютерная графика41 Чайник Юта (1)
23 апреля 2002 г.Компьютерная графика42 Чайник Юта (2)