4 実装仕様
4.7 特殊のモデルの作成
4.7.3 掃引面
137
選択 選択 選択
選択したフィーチャしたフィーチャしたフィーチャしたフィーチャ 基点座標基点座標基点座標基点座標のののの指定指定指定指定 基点基点を基点基点ををを元元元元にににに頂点座標頂点座標頂点座標頂点座標をををを算出算出算出算出 選択選択選択選択したフィーチャとしたフィーチャとしたフィーチャと算出したフィーチャと算出算出した算出したしたした 頂点座標
頂点座標 頂点座標
頂点座標ををを結を結結結びびびび描画描画描画する描画するするする
押出面の描画の処理フローを次に示す.
本システムでは,まず,押出の対象となる曲線(曲面)をマウス操作で指定する.次に,
押し出し先をマウス操作で指定する.
押出面の描画方法は,まず,押出の対象となる曲線の頂点座標を算出する.次に,指定 した座標から押出の対象となる曲線(曲面)と平行になる曲線(曲面)を考えて頂点を生 成する.そして,生成した各頂点と押出の対象となる曲線(曲面)の頂点から面を作成し ていき,押出面を構成する.また,押出面の描画の際,ラバーバンド表示を行う.押出面 のラバーバンド表示では,押出の対象となる曲線(曲面)を指定後,高さと方向を指定す るまで,マウスの移動を検出し,マウスの 3 次元座標を算出する.そして,高さと方向か ら押出面を描画する.
138 幾何情報
掃引面の幾何情報を次に示す.
掃引線
掃引の対象フィーチャ
分割数
位相情報
本システムでは,掃引面の位相情報として,頂点,稜線と面に関する情報を保持する.
掃引面の位相情報を次に示す.
パラメータ パラメータ パラメータ
パラメータ 型型型型 説明説明説明説明
m_hFace Hashtable 面に関する情報
掃引面では,掃引の対象フィーチャが持つ位相情報と掃引を行って作成した立体の上面 の位相情報を基に掃引面の位相情報を設定する.掃引面の位相情報の例を次に示す.
x y z
139
a d
e h
a
b e
f
c
b g
f
c d
g h
① ③ ②
④
A
① ③ ②
④ B
C
D
H E
G
I F L
K
J
B F
I D
掃引面の面,稜線と頂点の対応を次に示す.
面番号面番号面番号
面番号 稜線稜線稜線稜線 頂点頂点頂点頂点
1 A,B,C,D a,b,f,e
2 E,F,G,B d,c,g,f
3 H,I,J,F c,d,h,g
4 K,D,L,I d,a,e,h
描画方法
掃引面の描画方法として,曲線(面)要素と掃引線を選択することで面を描画する.掃 引面の描画方法を次に示す.
140
X軸 Y軸
①曲線もしくはも曲 面を選択
Z軸
②掃引線を指定
X軸 Y軸
③掃引面を描画
Z軸
本システムにおける掃引面の描画方法は,選択したモデルと掃引線の頂点座標を算出す る.そして,それらの頂点座標を基に面を作成することで描画する.掃引面の描画方法を 次に示す.
掃引線
対象モデル
曲線(曲面)を折線に近似 各頂点で面を構成 掃引面の完成
掃引面の描画の処理フローを次に示す.
141
①:掃引の対象となる曲線の折線近似
③:①と②から面を構成する座標の算出
④:③の座標から面を作成
②:掃引線の折線近似
本システムでは,まず,掃引面となる曲線(曲面)と掃引線となる曲線をマウス操作で 指定する.次に,掃引線を折線に近似し,折線の各頂点の座標を算出する.そして,折線 の頂点と掃引面となる曲線(曲面)から構成される面を作成する.この処理をすべての近 似した折線の頂点で行うことで掃引面を描画する.