Компьютерная графика, осень 2011: Кривые и поверхности в...

Preview:

Citation preview

CurvesCurves

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

1

Кривые и поверхностив компьютерной графике

URL: http://www.school30.spb.ru/cgsg/cgc/

E-mail: CGSG@yandex.ru

CurvesCurves

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

2Представления кривых на плоскости

• явный способ (explicit curves)

• неявный способ (implicit)

• Параметрический способ (parametric curves)

CurvesCurves

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

3Явные кривые

CurvesCurves

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

4Неявные кривые

CurvesCurves

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

5Параметрические кртвые

CurvesCurves

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

6Параболическая интерполяция

CurvesCurves

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

7Кривые Безье (Pierre Bézier): линейные

• Линейные кривые Безье• Линейная интерполяция между концевыми точками

CurvesCurves

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

8Кривые Безье: квадратичные

• Квадратичные кривые Безье• Композиция нескольких линейных кривых:

CurvesCurves

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

9Кривые Безье: кубические

• Кубические кривые Безье

CurvesCurves

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

10Кривые Безье: старшие степени

• В общем случае:

полином Бернштейна

число Сочетаний

CurvesCurves

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

11Кубические кривые Безье: матричная запись

CurvesCurves

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

12Сопряжение кривых Безье

R0

P0 R2

R3P1

P2 P3R1

P4 P5

P6

P7

CurvesCurves

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

13Интерполяция с помощью кривых Безье

• Сплайны Катмула-Рома:

P0

Q0 P2

P3Q1

Q2 Q3P1

Q4 Q5

Q6

Q7

CurvesCurves

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

14Рациональные кривые Безье (rational)

w=(1, 1, 1, 1) w=(1, 1, 10, 1) w=(1, 30, 30, 1) w=(1, 1000, 1, 1)

CurvesCurves

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

15B-сплайны (B-splines)

• Кокс и де Бур:

полагаем

- узловой вектор

CurvesCurves

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

16Примеры B-сплайнов (кривая Безье)

• Кубическая кривая Безье:

CurvesCurves

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

17Примеры B-сплайнов (uniform)

• Униформный кубический B-spline

CurvesCurves

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

18Примеры B-сплайнов (nonuniform rational)

• NURBS

CurvesCurves

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

19Поверхности (surfaces)

• явный способ

• неявный способ

• параметрический способ

CurvesCurves

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

20Повехности Безье: билинейные

P00

P01

P11

P10

R0

R1

CurvesCurves

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

21Поверхность Кунса

• Граничные кривые:

• Билинейно смешиваем (учитывая повторение угловых точек):

CurvesCurves

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

22Поверхности Безье (общий случай)

CurvesCurves

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

23Бикубическая поверхность Безье

CurvesCurves

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

24Бикубическая поверхность Безье: сопряжение

CurvesCurves

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

25Бикубическая поверхность Безье: пример

CurvesCurves

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

26Общий случай бикубических поверхностей

uniform B-spline cubic Bezier Catmull-Rom

CurvesCurves

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

27Трикубические пространства: Free Form Deformation

CurvesCurves

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

28

• Практические задания (до 13.11.2011)– Реализовать интерактивную среду демонстрации

параметрических кубических кривых (выполнять интерполяцию по нескольким точкам, использовать uniform B-spline и сплайн Катмула-Рома). Дополнительное задание: реализовать изменение весов точек и визуализацию рациональными кривыми.

– Реализовать интерактивную среду демонстрации FFD на плоскости для растрового изображения. Использовать биквадратную «сетку» (9 точек) Безье.

(

CurvesCurves

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

29Литература

• 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.

Recommended