20111023 computer graphics_galinsky_lecture06_curves

28
1 Curves Curves Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group Кривые и поверхности в компьютерной графике URL: http://www.school30.spb.ru/cgsg/cgc/ E-mail: [email protected]

Upload: computer-science-club

Post on 16-Jun-2015

500 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 20111023 computer graphics_galinsky_lecture06_curves

1

CurvesCurves

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

Computer Graphics Support Group

Кривые и поверхности

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

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

E-mail: [email protected]

Page 2: 20111023 computer graphics_galinsky_lecture06_curves

2

CurvesCurves

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

Computer Graphics Support Group

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

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

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

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

Page 3: 20111023 computer graphics_galinsky_lecture06_curves

3

CurvesCurves

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

Computer Graphics Support Group

Явные кривые

Page 4: 20111023 computer graphics_galinsky_lecture06_curves

4

CurvesCurves

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

Computer Graphics Support Group

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

Page 5: 20111023 computer graphics_galinsky_lecture06_curves

5

CurvesCurves

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

Computer Graphics Support Group

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

Page 6: 20111023 computer graphics_galinsky_lecture06_curves

7

CurvesCurves

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

Computer Graphics Support Group

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

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

Page 7: 20111023 computer graphics_galinsky_lecture06_curves

8

CurvesCurves

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

Computer Graphics Support Group

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

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

Page 8: 20111023 computer graphics_galinsky_lecture06_curves

9

CurvesCurves

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

Computer Graphics Support Group

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

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

Page 9: 20111023 computer graphics_galinsky_lecture06_curves

10

CurvesCurves

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

Computer Graphics Support Group

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

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

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

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

Page 10: 20111023 computer graphics_galinsky_lecture06_curves

11

CurvesCurves

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

Computer Graphics Support Group

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

Page 11: 20111023 computer graphics_galinsky_lecture06_curves

12

CurvesCurves

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

Computer Graphics Support Group

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

R0

P0 R2

R3

P1

P2 P3R1

P4 P5

P6

P7

Page 12: 20111023 computer graphics_galinsky_lecture06_curves

13

CurvesCurves

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

Computer Graphics Support Group

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

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

P0

Q0 P2

P3

Q1

Q2 Q3P1

Q4 Q5

Q6

Q7

Page 13: 20111023 computer graphics_galinsky_lecture06_curves

14

CurvesCurves

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

Computer Graphics Support Group

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

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

Page 14: 20111023 computer graphics_galinsky_lecture06_curves

15

CurvesCurves

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

Computer Graphics Support Group

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

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

полагаем

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

Page 15: 20111023 computer graphics_galinsky_lecture06_curves

16

CurvesCurves

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

Computer Graphics Support Group

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

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

Page 16: 20111023 computer graphics_galinsky_lecture06_curves

17

CurvesCurves

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

Computer Graphics Support Group

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

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

Page 17: 20111023 computer graphics_galinsky_lecture06_curves

18

CurvesCurves

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

Computer Graphics Support Group

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

• NURBS

Page 18: 20111023 computer graphics_galinsky_lecture06_curves

19

CurvesCurves

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

Computer Graphics Support Group

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

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

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

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

Page 19: 20111023 computer graphics_galinsky_lecture06_curves

20

CurvesCurves

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

Computer Graphics Support Group

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

P00

P01

P11

P10

R0

R1

Page 20: 20111023 computer graphics_galinsky_lecture06_curves

21

CurvesCurves

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

Computer Graphics Support Group

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

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

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

Page 21: 20111023 computer graphics_galinsky_lecture06_curves

22

CurvesCurves

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

Computer Graphics Support Group

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

Page 22: 20111023 computer graphics_galinsky_lecture06_curves

23

CurvesCurves

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

Computer Graphics Support Group

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

Page 23: 20111023 computer graphics_galinsky_lecture06_curves

24

CurvesCurves

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

Computer Graphics Support Group

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

Page 24: 20111023 computer graphics_galinsky_lecture06_curves

25

CurvesCurves

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

Computer Graphics Support Group

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

Page 25: 20111023 computer graphics_galinsky_lecture06_curves

26

CurvesCurves

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

Computer Graphics Support Group

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

uniform B-spline cubic Bezier Catmull-Rom

Page 26: 20111023 computer graphics_galinsky_lecture06_curves

27

CurvesCurves

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

Computer Graphics Support Group

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

Page 27: 20111023 computer graphics_galinsky_lecture06_curves

28

CurvesCurves

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

Computer Graphics Support Group

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

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

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

(

Page 28: 20111023 computer graphics_galinsky_lecture06_curves

29

CurvesCurves

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

Computer Graphics Support Group

Литература

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