4章 自由曲面を表現する
Download
Report
Transcript 4章 自由曲面を表現する
4章
自由曲面を表現する
形状モデリングにおいて,任意の自由曲面を定
義する必要のある場合がある.自由曲面の表現
法について説明する.
4.1 パラメトリック表現
パラメトリック曲線
直線
円
P P(t ) P0 tV
P P( ) P0 (r cos )U (r sin )V
y
y
x
P
P0
x
P0
z
V
方向ベクトル
U
P
z
V
U,V:円を含む平面上の直交ベクトル
4.1 パラメトリック表現
パラメトリック曲面
平面
P P(u, v) P0 uU vV
y
x f x (u , v )
x
z
V
P
U
任意の曲面上の点(x,y,z)は2個の
パラメータ(u,v)の関数ベクトルで
表現できる.
y f y (u , v )
z f z (u , v )
この表現法を曲面のパラメトリック表現という.
P0
法線ベクトル
P ( x, y , z )
f ( fx, fy , fz )
P f (u, v)
ベクトル表現
4.2 曲線セグメントと曲面パッチ
曲線 → セグメント → 曲線セグメント
曲面 → パッチ
→ 曲面パッチ
(1)形状を思い通りに制御できるか
(2)セグメントやパッチがどのような式で表されるか
(3)滑らかに接続できるか
制御点
曲線
制御多角形
このように点列で近似することが
考えられるが,(3)の条件が満た
されない.
曲面
4.3 制御点による曲線セグメントの生成
1.曲線セグメントの一般式
n個の制御点 qi (n=0,1,2・・・,n-1)
qn-1
q1
q2
n
P (t ) Fi (t )q i
i 0
n
q0
0 t 1
F
i 0
i
1
∵q0=・・・=qn-1=qとすると,P(t)=q
n
P(t ) q Fi (t )
i 0
Fi(t)の選び方によって,
ベジェ曲線,B-スプライン曲線
とよばれる曲線になる.
4.3 制御点による曲線セグメントの生成
2.ベジェ曲線
n
P (t ) Bi (t ) q i , 0 t 1
i 0
n
Bi (t ) n Ci (1 t ) t , Bi (t ) {(1 t ) t}n 1
n i
i
i 0
n Ci
n!
i !( n i ) !
n=3(3次ベジェ曲線)の場合,
P(0)=q0,P(1)=qnが成り立ち,
q0とqnを通る.
3
P(t ) 3 Ci (1 t )3i t i q i
i 0
3 C0 (1 t )3 q 0 3 C 1 (1 t ) 2 t q 1 3 C2 (1 t )t 2q 2 3 C3t 3q 3
(1 t )3 q 0 3(1 t ) 2 t q 1 3(1 t )t 2q 2 t 3q 3
4.3 制御点による曲線セグメントの生成
2.ベジェ曲線(例)
q1
q1
q2
q3
q0
q0
q3
q2
4.3 制御点による曲線セグメントの生成
2.ベジェ曲線(接続)
1q1
1q2
1P(t)の終点における接線と
接線
1q0
2P(t)の始点における接線が
一致させるためには,
1q2, 1q3(=2q0), 2q1を一直線上
に配置すればよい.
1q3=2q 0
2q3
2q1
2q2
4.3 制御点による曲線セグメントの生成
2.ベジェ曲線(例題1)
q0=(1,0,0),q1=(5,5,0),q2=(15,7,0),q3=(10,2,0)
基底関数の値
t=0
0.2
0.4
0.6
0.8
1.0
B0
1.00
0.51
0.22
0.06
0.01
0
B1
0
0.38
0.43
0.23
0.10
0
B2
0
0.10
0.23
0.43
0.38
0
B3
0
0.01
0.06
0.22
0.51
1.00
P (t ) ( x(t ), y (t ), z (t ))
B0 (t )(1,0,0) B1 (t )(5,5,0) B2 (t )(15,7,0) B3 (t )(10,2,0)
x(t ) B0 (t ) 5 B1 (t ) 15 B2 (t ) 10 B3 (t )
y (t ) 5 B1 (t ) 7 B2 (t ) 2 B3 (t )
z (t ) 0
4.3 制御点による曲線セグメントの生成
2.ベジェ曲線(例題2)
q0=(1,0,0),q1=(5,5,0),q2=(15,7,0)
t=0,0.3,0.6,1.0のとき,P(t)を求めよ.
4.3 制御点による曲線セグメントの生成
3.B-スプライン曲線
n
P(t ) N i (t ) q i
i 0
1
1
N 0 (t ) (1 t ) 3 (1 3t 3t 2 t 3 )
6
6
2
1
N1 (t ) t 3 t 2
3
2
1 3 1 2 1 1
N 2 (t ) t t t
2 6
2
2
1
N 3 (t ) t 3
6
3
N (t ) 1
i 0
i
4.3 制御点による曲線セグメントの生成
3.B-スプライン曲線
B-スプライン曲線の特徴
3
1
3
P(t ) N i (t )q i , P(t ) N i (t )q i 1
2
i 0
P1 (1) P 2 (0)
i 0
終点と始点が一致
d P1 (1) d P 2 (0)
dt
dt
d 2 P1 (1) d 2 P 2 (0)
2
dt
dt 2
接線が連続
曲率が連続
4.4 制御点による曲面パッチの生成
1.曲面パッチの一般式
曲線の議論を曲面に拡張
n
n
P (u , v) Fi (u ) F j (v)q ij , 0 u 1, 0 v 1
i 0 j 0
n
n
F (u ) 1, F (v) 1
i 0
i
j 0
j
P (u , v) ( x(u , v), y (u , v), z (u , v))
q ij ( xij , yij , zij )
4.4 制御点による曲面パッチの生成
2.ベジェ曲面
ベジェ曲面
2つの重み関数として,バーンスタイン基底関数を用いたもの
n
n
P(u, v) Bi (u) B j (v) qij , 0 u 1, 0 v 1
i 0 j 0
3次のベジェ曲面
3
3
P(u, v) Bi (u ) B j (v) q ij
i 0 j 0
B0 (u ){B0 (v)q 00 B1 (v)q 01 B2 (v)q 02 B3 (v)q 03}
B1 (u ){B0 (v)q10 B1 (v)q11 B2 (v)q12 B3 (v)q13}
B2 (u ){B0 (v)q 20 B1 (v)q 21 B2 (v)q 22 B3 (v)q 23}
B3 (u ){B0 (v)q 30 B1 (v)q 31 B2 (v)q 32 B3 (v)q 33}
4.4 制御点による曲面パッチの生成
2.ベジェ曲面(例)
q22
q23
q21
q12
q11
q01
q20
v
2次ベジェ曲面
q02
q01
u
v
q32
q22
q12
q03
q10
q00
q02
q03
q33
q11
q10
q31
q21
q20
u
q00
3次ベジェ曲面
q30
4.4 制御点による曲面パッチの生成
2.ベジェ曲面(例題)
次のような制御点の座標値が与えられたとき,3次ベジェ曲面
P(u,v)=(x(u,v),y(u,v),z(u,v))を求めよ.
q 00 (0,1,0), q 01 (1,2,0), q 02 (2,2,0), q 03 (3,1,0)
q10 (0,3,1), q11 (1,4,1), q12 (2,4,1), q13 (3,3,1)
q 20 (0,3,2), q 21 (1,4,2), q 22 (2,4,2), q 23 (3,3,2)
q 30 (0,1,3), q 31 (1,2,3), q 32 (2,2,3), q 33 (3,1,3)
さらに,u,v=0,0.2,0.4,0.6,0.8,1.0として,P(u,v)を作図
しなさい.