1 Curves Кривые и поверхности в компьютерной графике URL: http://www.school30.spb.ru/cgsg/cgc/ E-mail: [email protected] Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 2 Представления кривых на плоскости Curves • явный способ (explicit curves) • неявный способ (implicit) • Параметрический способ (parametric curves) Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 3 Явные кривые Curves Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 4 Неявные кривые Curves Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 5 Параметрические кртвые Curves Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 7 Кривые Безье (Pierre Bézier): линейные Curves • Линейные кривые Безье • Линейная интерполяция между концевыми точками Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 8 Кривые Безье: квадратичные Curves • Квадратичные кривые Безье • Композиция нескольких линейных кривых: Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 9 Кривые Безье: кубические Curves • Кубические кривые Безье Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 10 Кривые Безье: старшие степени Curves • В общем случае: полином Бернштейна число Сочетаний Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group Кубические кривые Безье: матричная запись Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 11 Curves 12 Сопряжение кривых Безье P0 P4 R0 R2 Curves P5 P6 P1 R3 P2 R1 P3 P7 Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 13 Интерполяция с помощью кривых Безье Q0 Q4 P0 P2 Curves Q5 Q6 Q1 P3 Q2 P1 Q3 Q7 • Сплайны Катмула-Рома: Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 14 Рациональные кривые Безье (rational) w=(1, 1, 1, 1) w=(1, 1, 10, 1) w=(1, 30, 30, 1) Curves w=(1, 1000, 1, 1) Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 15 B-сплайны (B-splines) Curves • Кокс и де Бур: полагаем - узловой вектор Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 16 Примеры B-сплайнов (кривая Безье) Curves • Кубическая кривая Безье: Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 17 Примеры B-сплайнов (uniform) Curves • Униформный кубический B-spline Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group Примеры B-сплайнов (nonuniform rational) • NURBS Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 18 Curves 19 Поверхности (surfaces) Curves • явный способ • неявный способ • параметрический способ Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 20 Повехности Безье: билинейные Curves P00 R0 P01 P11 R1 P10 Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 21 Поверхность Кунса Curves • Граничные кривые: • Билинейно смешиваем (учитывая повторение угловых точек): Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 22 Поверхности Безье (общий случай) Curves Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 23 Бикубическая поверхность Безье Curves Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group Бикубическая поверхность Безье: сопряжение Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 24 Curves Бикубическая поверхность Безье: пример Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 25 Curves Общий случай бикубических поверхностей uniform B-spline cubic Bezier Catmull-Rom Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 26 Curves Трикубические пространства: Free Form Deformation Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 27 Curves 28 Curves • Практические задания (до 13.11.2011) – Реализовать интерактивную среду демонстрации параметрических кубических кривых (выполнять интерполяцию по нескольким точкам, использовать uniform B-spline и сплайн Катмула-Рома). Дополнительное задание: реализовать изменение весов точек и визуализацию рациональными кривыми. – Реализовать интерактивную среду демонстрации FFD на ( плоскости для растрового изображения. Использовать биквадратную «сетку» (9 точек) Безье. Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 29 Литература Curves • David F. Rodgers, J. van Adams. "Mathematical Elements for Computer Graphics", 2nd ed., McGraw-Hill Publishing Company, 1990. • Alan Watt, Mark Watt. "Advanced Animation and Rendering Techniques. Theory and Practice", ACM Press, Addison-Wesley Longman Limited, 1992. • Е.Шикин, А.Плис. "Кривые и поверхности на экране компьютера". Москва: Диалог-МИФИ, 1996. • Е.В.Шикин, М.М.Франк-Каменецкий. "Кривые на плоскости и в пространстве". Москва: "ФАЗИС", 1997. Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group