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=2q0 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 ) 15B2 (t ) 10B3 (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-スプライン曲線の特徴 1 3 3 i 0 i 0 P(t ) N i (t )q i , 2 P(t ) Ni (t )q i 1 P1 (1) P 2 (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)を作図 しなさい.
© Copyright 2024 ExpyDoc