66
Design Theory 村松 政策・メディア研究科 後期博士課程3年目 X-Design Program 山中デザイン研究室 第10回 2012 6/20

SFC Design theory 2012 6/20

Embed Size (px)

DESCRIPTION

慶應義塾大学SFC大学院授業「デザインセオリー」第10回の講義資料です

Citation preview

Page 1: SFC Design theory 2012 6/20

Design Theory

村松 充政策・メディア研究科 後期博士課程3年目X-Design Program 山中デザイン研究室

第10回 2012 6/20

Page 2: SFC Design theory 2012 6/20

Lecture Theme

CAXD -Computer Aided X-Design-

■3DCG基礎 ー3次元表現のための数学基礎■滑らかな形の科学 ー3D CAD による形状表現■自然、物理学と形■コンピューターによるX-Design ー動きのデザイン、シミュレーション ーアルゴリズムによる形状生成

Page 3: SFC Design theory 2012 6/20

Lecture Theme

CAXD -Computer Aided X-Design-

■3DCG基礎 ー3次元表現のための数学基礎■滑らかな形の科学 ー3D CAD による形状表現■自然、物理学と形■コンピューターによるX-Design ー動きのデザイン、シミュレーション ーアルゴリズムによる形状生成

Page 4: SFC Design theory 2012 6/20

Lecture 3

CADによる曲線表現CADにおいて、滑らかな曲線を描くために用いられる曲線の表現形式を学ぶ

Page 5: SFC Design theory 2012 6/20

Computer Aided Design

Bezier Curve

Adobe Illustrator等で用いられている曲線表現n次のBezier曲線は以下の式で表される(制御点は、P0, P1... Pn)

Page 6: SFC Design theory 2012 6/20

Computer Aided Design

Bezier Curve

3次のベジェ曲線の式を展開すると

tでまとめると

Page 7: SFC Design theory 2012 6/20

Computer Aided Design

Bezier Curve

3次のベジェ曲線をtについて整理すると

Page 8: SFC Design theory 2012 6/20

Computer Aided Design

微分する(A,B,C,Dは定数とみなせる)一階微分

二階微分

Bezier Curve

Page 9: SFC Design theory 2012 6/20

Computer Aided Design

Bezier Curve

3次のベジェ曲線3次のベジェ曲線は、曲線上すべての点で曲率が連続している。(G2連続である)

n次のベジェ曲線n次のベジェ曲線は、曲線上すべての点でG(n-1)連続になる。(展開するとtのn次方程式になる)

Page 10: SFC Design theory 2012 6/20

Computer Aided Design

Bezier Curve

ベジェ曲線で複雑な曲線を表現するには?

Page 11: SFC Design theory 2012 6/20

Computer Aided Design

Bezier Curve

方法1:次数を上げるベジェ曲線で複雑な曲線を表現するには?

Page 12: SFC Design theory 2012 6/20

Computer Aided Design

Bezier Curve

次数を上げるhttp://www.openprocessing.org/sketch/64329

Page 13: SFC Design theory 2012 6/20

Computer Aided Design

Bezier Curve

方法2:複数の曲線で表現するベジェ曲線で複雑な曲線を表現するには?

Page 14: SFC Design theory 2012 6/20

Computer Aided Design

Bezier Curve

方法2:複数の曲線で表現するベジェ曲線で複雑な曲線を表現するには?

ベジェ曲線を複数連続した場合接続部分の連続性はどうなるか?

Page 15: SFC Design theory 2012 6/20

Computer Aided Design

Bezier Curve

ベジェ曲線の接続 -3次のBezier曲線同士の接続-

PA0

PA1

PA2

PA3PB0

PB1

PB2

PB3

PA3 = PB0

であれば、位置連続(C0連続)(曲線は接続されている)

Page 16: SFC Design theory 2012 6/20

Computer Aided Design

Bezier Curve

ベジェ曲線の接続 -3次のBezier曲線同士の接続-接線連続で接続する条件Ba(1)と Bb(0) での接線(微分)が等しければ、2曲線は接線連続になる。

Page 17: SFC Design theory 2012 6/20

Computer Aided Design

Bezier Curve

ベジェ曲線の接続 -3次のBezier曲線同士の接続-接線連続で接続する条件

Page 18: SFC Design theory 2012 6/20

Computer Aided Design

Bezier Curve

ベジェ曲線の接続 -3次のBezier曲線同士の接続-接線連続で接続する条件

PA3 - PA2

PB1 - PB0

PA2からPA3へのベクトル PA0からPA1へのベクトル

ベクトルの大きさが等しい場合C0連続ベクトルの向きのみが等しい場合G0連続

Page 19: SFC Design theory 2012 6/20

Computer Aided Design

Bezier Curve

http://www.openprocessing.org/sketch/64334

ベジェ曲線の接続連続性の確認

Page 20: SFC Design theory 2012 6/20

Computer Aided Design

Bezier Curve

3次のベジェ曲線の接続曲率連続で接続する条件Ba(1)と Bb(0) での曲率(二階微分)が等しければ、2曲線は曲率連続になる。

Page 21: SFC Design theory 2012 6/20

Computer Aided Design

Bezier Curve

3次のベジェ曲線の接続曲率連続で接続する条件

Page 22: SFC Design theory 2012 6/20

Computer Aided Design

Bezier Curve

3次のベジェ曲線の接続曲率連続で接続する条件

Page 23: SFC Design theory 2012 6/20

Computer Aided Design

Bezier Curve

3次のベジェ曲線の接続曲率連続で接続する条件

PA3 - PA2

PB1 - PB0

PA1 - PA2

PB2 - PB1

Page 24: SFC Design theory 2012 6/20

Computer Aided Design

Bezier Curve

http://www.openprocessing.org/sketch/64335

ベジェ曲線の曲率連続性の確認

Page 25: SFC Design theory 2012 6/20

Computer Aided Design

Bezier Curve

3次のベジェ曲線の接続

3次のベジェ曲線を接線連続性を確保したうえで曲率連続で接続しようとすると

制御点操作の自由度が低くなり自由な曲線を描くことが出来ない。

Page 26: SFC Design theory 2012 6/20

Computer Aided Design

B-Spline

ベジェ曲線よりも曲線同士の接続の連続性の確保がしやすい曲線の表現方法

B-スプライン曲線

Page 27: SFC Design theory 2012 6/20

Computer Aided Design

B-Spline

B-スプライン曲線

Page 28: SFC Design theory 2012 6/20

Computer Aided Design

B-Spline

B-スプライン曲線式を展開してみましょう。m:ノットの数 6つn:次数     2次

t = [0,1,2,3,4,5]ノットベクトル

Page 29: SFC Design theory 2012 6/20

Computer Aided Design

B-Spline

B-スプライン曲線

m:ノットの数 6つn:次数     2次t = [0,1,2,3,4,5]

Page 30: SFC Design theory 2012 6/20

Computer Aided Design

B-Spline

B-スプライン曲線

m:ノットの数 6つn:次数     2次制御点の数   3つt = [0,1,2,3,4,5]

Page 31: SFC Design theory 2012 6/20

Computer Aided Design

B-Spline

bi,2

bi,1

bi+1,1

bi,0

bi+1,0

bi+1,0

bi+2,0

t - ti

ti+2 - ti

ti+3 - t

ti+3 - ti+1

t - ti

ti+1 - ti

ti+2 - tti+2 - ti+1

t - ti+1

ti+2 - ti+1

ti+3 - tti+3 - ti+2

t = [0,1,2,3,4,5]ノットは1ずつ単純増加

Page 32: SFC Design theory 2012 6/20

Computer Aided Design

B-Spline

bi,2

bi,1

bi+1,1

bi,0

bi+1,0

bi+1,0

bi+2,0

t - ti

2

ti+3 - t

2

t - ti

ti+2 - t

t - ti+1

ti+3 - t

Page 33: SFC Design theory 2012 6/20

Computer Aided Design

B-Spline

b0,2

bi,1

bi+1,1

b0,0

b1,0

b1,0

b2,0

t

2

3 - t

2

t

2 - t

t - 1

3 - t

i=0のとき

Page 34: SFC Design theory 2012 6/20

Computer Aided Design

B-Spline

b0,2

bi,1

bi+1,1

b0,0

b1,0

b1,0

b2,0

t

2

3 - t

2

t

2 - t

t - 1

3 - t

i=0 0≦t<1のとき t

2

2

Page 35: SFC Design theory 2012 6/20

Computer Aided Design

B-Spline

b0,2

bi,1

bi+1,1

b0,0

b1,0

b1,0

b2,0

t

2

3 - t

2

t

2 - t

t - 1

3 - t

i=0 1≦t<2のとき

3

2-t 2 + 3t -

Page 36: SFC Design theory 2012 6/20

Computer Aided Design

B-Spline

b0,2

bi,1

bi+1,1

b0,0

b1,0

b1,0

b2,0

t

2

3 - t

2

t

2 - t

t - 1

3 - t

i=0 2≦t<3のとき

t

2

2 - 6t + 9

Page 37: SFC Design theory 2012 6/20

Computer Aided Design

B-Spline

i=0 のとき

Page 38: SFC Design theory 2012 6/20

Computer Aided Design

B-Spline

i=0 のとき

0 0.5 1 1.5 2 2.5 3

0.5

1

Page 39: SFC Design theory 2012 6/20

Computer Aided Design

B-Spline

i=0,...,2 のとき

* *

*

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

0.25

0.5

0.75

1

t = [0,1,2,3,4,5]

P0 P1 P2

Page 40: SFC Design theory 2012 6/20

Computer Aided Design

B-Spline

制御点3点の2次B-splineをプログラムで確認http://www.openprocessing.org/sketch/64341

Page 41: SFC Design theory 2012 6/20

Computer Aided Design

B-Spline

制御点を増やしてみる

m:ノットの数 7つn:次数     2次制御点の数   4つt = [0,1,2,3,4,5,6]

Page 42: SFC Design theory 2012 6/20

Computer Aided Design

B-Spline

i=0,...,3 のとき t = [0,1,2,3,4,5,6]

0 0.4 0.8 1.2 1.6 2 2.4 2.8 3.2 3.6 4 4.4 4.8 5.2 5.6 6

0.25

0.5

0.75

1

P0 P1 P2 P3

Page 43: SFC Design theory 2012 6/20

Computer Aided Design

B-Spline

制御点4点の2次B-splineをプログラムで確認http://www.openprocessing.org/sketch/64342

Page 44: SFC Design theory 2012 6/20

Computer Aided Design

Bezier

ちなみに、2次のベジェ曲線は

0 0.25 0.5 0.75 1 1.25 1.5 1.75 2 2.25

-0.25

0.25

0.5

0.75

1

P0

P1

P2

P3

P4

Page 45: SFC Design theory 2012 6/20

Computer Aided Design

Cubic B-Spline

3次のB-スプライン曲線を考えてみる

Page 46: SFC Design theory 2012 6/20

Computer Aided Design

Cubic B-Splinebi,2

bi,1

bi+1,1

bi,0

bi+1,0

bi+1,0

bi+2,0

t - ti

ti+2 - ti

ti+3 - tti+3 - ti+1

t - ti

ti+1 - ti

ti+2 - tti+2 - ti+1

t - ti+1

ti+2 - ti+1

ti+3 - tti+3 - ti+2

t - ti

ti+3 - t

ti+4 - tti+4 - ti+1

bi+1,2

bi+1,1

bi+2,1

bi+1,0

bi+2,0

bi+2,0

bi+3,0

t - ti+1

ti+3 - ti+1

ti+4 - tti+4 - ti+2

t - ti

ti+2 - ti

ti+3 - tti+3 - ti+2

t - ti+2

ti+3 - ti+2

ti+4 - tti+4 - ti+3

bi,3

Page 47: SFC Design theory 2012 6/20

Computer Aided Design

i=0 のときCubic B-Spline

Page 48: SFC Design theory 2012 6/20

Computer Aided Design

0 0.5 1 1.5 2 2.5 3 3.5 4

0.25

0.5

0.75

1

Cubic B-Spline

Page 49: SFC Design theory 2012 6/20

Computer Aided Design

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7

0.25

0.5

0.75

1

P0 P1 P2 P3

t = [0,1,2,3,4,5,6,7]Cubic B-Spline

Page 50: SFC Design theory 2012 6/20

0 0.8 1.6 2.4 3.2 4 4.8 5.6 6.4 7.2 8

0.25

0.5

0.75

1

Computer Aided Design

P0 P1 P2 P3

t = [0,1,2,3,4,5,6,7,8]

P4

Cubic B-Spline

Page 51: SFC Design theory 2012 6/20

0 0.25 0.5 0.75 1 1.25 1.5 1.75 2

0.25

0.5

0.75

1

Computer Aided Design

Cubic Bezier

P0

P1 P2

P3

P4 P5

P6

Page 52: SFC Design theory 2012 6/20

Computer Aided Design

B-Spline

n次(n=1~6)のB-Splineをプログラムで確認http://www.openprocessing.org/sketch/64344

Page 53: SFC Design theory 2012 6/20

Computer Aided Design

B-Spline

n次のB-splineは、セグメントの接続点(ノット)でCn-1連続性を持つ

3次以上のB-splineを用いれば、曲率連続の自由曲線を描くことが出来る

Page 54: SFC Design theory 2012 6/20

Computer Aided Design

B-Spline

しかし、B-splineは制御点を通らないため扱いにくい端点を指定出来た方がCADにおいて扱いやすい

Page 55: SFC Design theory 2012 6/20

Computer Aided Design

B-Spline

非一様Bスプライン曲線

ノットベクトルを非一様に増加する値にし、ノットを多重化させる事で制御点から始まる曲線や制御点を通る曲線、制御点で折れる線等の指定を可能にした曲線の表現形式

Page 56: SFC Design theory 2012 6/20

Computer Aided Design

B-Spline

非一様Bスプライン曲線

n次のB-Splineの場合、n+1個ノットを重ねればセグメントの端点を制御点に一致させることが出来る

2次の場合、t=[0,0,0,1,2,3,4,5,5,5]など。3次の場合、t=[0,0,0,0,1,2,3,4,4,4,4]など。

Page 57: SFC Design theory 2012 6/20

Computer Aided Design

B-Spline

n次(n=1~6)の始点と終点にノットを重ねた非一様なB-Splineをプログラムで確認http://www.openprocessing.org/sketch/64345

Page 58: SFC Design theory 2012 6/20

Computer Aided Design

B-Spline

CADソフトウェア上で曲線の連続性を確認

Page 59: SFC Design theory 2012 6/20

Computer Aided Design

B-Spline

両端を多重ノットにした1セグメントのBスプライン曲線とベジェ曲線の比較http://www.openprocessing.org/sketch/64347

Page 60: SFC Design theory 2012 6/20

Computer Aided Design

B-Spline

両端を多重ノットにした1セグメントのBスプライン曲線は、同じ次数のベジェ曲線と等しい

ex) ノットベクトル=[0,0,0,0,1,2,3,3,3,3]の3次B-Splineは、3次Bezier曲線と等しい

Page 61: SFC Design theory 2012 6/20

Computer Aided Design

B-Spline

多重ノットにした端点は最初の制御点と一致するが、その点において他のB-Spline曲線と接続しても連続性は保証されない。(Bezierと同様)

連続性を保って接続したい場合は注意が必要

Page 62: SFC Design theory 2012 6/20

Computer Aided Design

NURBS

非一様有理Bスプライン曲線(NURBS)

Page 63: SFC Design theory 2012 6/20

Computer Aided Design

NURBS

非一様有理Bスプライン曲線(NURBS)

各制御点に重みを与えて、制御点毎に影響の強さを変える→1制御点レベルでの細かい調整が可能になる

Page 64: SFC Design theory 2012 6/20

Computer Aided Design

NURBS

非一様有理Bスプライン曲線(NURBS)

* *

*

Page 65: SFC Design theory 2012 6/20

Computer Aided Design

NURBS

非一様有理Bスプライン曲線(NURBS)

有理曲線ではないベジェ曲線、B-Splineでは厳密な円弧を描画することが出来ない

円弧等の円錐曲線を数学的に正しく描画するために有理曲線が使われる

Page 66: SFC Design theory 2012 6/20

Computer Aided Design

NURBS

NURBSをプログラムで確認http://www.openprocessing.org/sketch/64350