GHL Version 3.4.4 機能一覧
以下は GHL 3.4.4 が含んでいる機能の一覧です。
目次
GHL 3.4.4 は、以下の形状をサポートしています。
Pnt	点				Pln	平面
Vec	ベクトル			Sph	球面
Axp	局所座標系			Cyl	円柱面
Lin	直線				Con	円錐面
Lsg	ポリライン			Bzs	ベジエ曲面(多項式/有理)
Cir	円				Bss	Bスプライン曲面(多項式/有理)
Ell	楕円				Les	柱面
Par	放物線				Rvs	回転面
Hyp	双曲線				Rts	矩形有限曲面
Bzc	ベジエ曲線(多項式/有理)		Cbs	曲線境界曲面
Bsc	Bスプライン曲線(多項式/有理)	GS	Sパッチ
Trc	トリム曲線
Cmc	複合曲線
GHL 3.4.4 は、これらの要素を扱うモジュールを組み合わた、
「2Dサブセット」あるいは「フルセット」のいずれかで御利用頂くことができます。
サブセット名	対象要素
--------------------------------------------------------------------------
2Dサブセット	2次元要素(点/ベクトル/局所座標/曲線) + ユーティリティ
フルセット	2Dサブセット + 3次元要素(点/ベクトル/局所座標/曲線/曲面)
ある要素の様々な幾何特性を得る
- 	あるパラメータ値 (t) における曲線の幾何特性(位置、接ベクトル、曲率、レイ率)を得る
- 	あるパラメータ値 ((u, v)) における曲面の幾何特性(位置、偏導関数、主曲率)を得る
- 	曲線の長さを得る
- 	曲線の面積を得る
- 	曲線の存在領域(矩形)を得る
- 	曲線の尖点を得る
- 	自由曲線の特異点を得る
- 	自由曲線の変曲点を得る
- 	自由曲線、ラインセグメントの自己交差点を得る(2D)
二曲線間の交点を得る
	Lin	Cir	Ell	Par	Hyp	Bzc	Bsc	Lsg	Trc	Cmc
Lin	○	−	−	−	−	−	−	−	−	−
Cir	○	○	−	−	−	−	−	−	−	−
Ell	○	○	○	−	−	−	−	−	−	−
Par	○	○	○	○	−	−	−	−	−	−
Hyp	○	○	○	○	○	−	−	−	−	−
Bzc	○	○	○	○	○	○	−	−	−	−
Bsc	○	○	○	○	○	○	○	−	−	−
Lsg	○	○	○	○	○	○	○	○	−	−
Trc	○	○	○	○	○	○	○	○	○	−
Cmc	○	○	○	○	○	○	○	○	○	○
曲線と曲面の交点を得る
   	Lin	Cir	Ell	Par	Hyp	Bzc	Bsc	Trc	Cmc
Pln	○	○	○	○	○	○	○	○	○
Sph	○	○	○	○	○	○	○	○	○
Cyl	○	○	○	○	○	○	○	○	○
Con	○	○	○	○	○	○	○	○	○
Bzs	○	○	○	○	○	○	○	○	○
Bss	○	○	○	○	○	○	○	○	○
Les	○	○	○	○	○	○	○	○	○
Rvs	○	○	○	○	○	○	○	○	○
Cbs	○	○	○	○	○	○	○	○	○
二曲面間の交線を得る
	Pln	Sph	Cyl	Con	Bzs	Bss	Les	Rvs	Cbs
Pln	○	−	−	−	−	−	−	−	−
Sph	○	○	−	−	−	−	−	−	−
Cyl	○	○	○	−	−	−	−	−	−
Con	○	○	○	○	−	−	−	−	−
Bzs	○	○	○	○	○	−	−	−	−
Bss	○	○	○	○	○	○	−	−	−
Les	○	○	○	○	○	○	○	−	−
Rvs	○	○	○	○	○	○	○	○	−
Cbs	○	○	○	○	○	○	○	○	○
二曲線間の干渉を得る
	Bzc	Bsc	Lsg	Trc	Cmc
Bzc	○	−	−	-	-
Bsc	○	○	−	-	-
Lsg	−	−	○	-	-
Trc	-	-	-	○	-
Cmc	-	-	-	-	○
3次元については Lsg vs. Lsg だけがあります。
二曲面間の干渉を得る
	Pln	Bzs	Bss
Pln	−	−	−
Bzs	○	○	−
Bss	○	○	○
角度(2D/3D)
二要素のなす角度を得る
	Lin	Pln
Lin	○	−
Pln	○	○
距離(2D/3D)
二要素間の距離を得る
	Pnt	Lin
Pnt	○	−
Lin	○	○
点と曲線間の最短距離を得る
- 曲線:Lin/Cir/Ell/Par/Hyp/Bzc/Bsc/Lsg/Trc/Cmc
二曲線間の最短距離を得る
	Lin	Cir	Ell	Par	Hyp	Bzc	Bsc	Lsg	Trc	Cmc
Lin	○	−	−	−	−	−	−	−	−	−
Cir	○	○	−	−	−	−	−	−	−	−
Ell	○	○	○	−	−	−	−	−	−	−
Par	○	○	○	○	−	−	−	−	−	−
Hyp	○	○	○	○	○	−	−	−	−	−
Bzc	○	○	○	○	○	○	−	−	−	−
Bsc	○	○	○	○	○	○	○	−	−	−
Lsg	○	○	○	○	○	○	○	○	−	−
Trc	○	○	○	○	○	○	○	○	○	−
Cmc	○	○	○	○	○	○	○	○	○	○
ある点が他の要素上にあるかどうかを調べる
- 点/曲線:Pnt/Lin/Cir/Ell/Par/Hyp/Bzc/Bsc/Lsg/Trc/Cmc
- 曲面:Pln/Sph/Cyl/Con/Bzs/Bss/RBzs/RBss/Les/Rvs/Rts/Cbs
ある点が曲線の左右どちら側にあるかを調べる
- 曲線:Lin/Cir/Ell/Par/Hyp/Bzc/Bsc/Trc/Cmc
Bzc, Bsc, Trc, Cmc については2次元のみです。
投影(2D/3D)
ある点から曲線/曲面への垂線の足を得る
- 曲線:Lin/Cir/Ell/Par/Hyp/Bzc/Bsc/Trc/Cmc
- 曲面:Pln/Sph/Cyl/Con/Bzs/Bss/Les/Rvs/Cbs
ある曲線を平面に投影する
- 曲線:Lin/Cir/Ell/Par/Hyp/Bzc/Bsc/Lsg/Trc/Cmc
二曲線間の共通法線を得る
	Lin	Cir	Ell	Par	Hyp	Bzc	Bsc	Lsg	Trc	Cmc
Lin	○	−	−	−	−	−	−	−	−	−
Cir	○	○	−	−	−	−	−	−	−	−
Ell	○	○	○	−	−	−	−	−	−	−
Par	○	○	○	○	−	−	−	−	−	−
Hyp	○	○	○	○	○	−	−	−	−	−
Bzc	○	○	○	○	○	○	−	−	−	−
Bsc	○	○	○	○	○	○	○	−	−	−
Lsg	○	○	○	○	○	○	○	○	−	−
Trc	○	○	○	○	○	○	○	○	○	−
Cmc	○	○	○	○	○	○	○	○	○	○
3次元については Lin vs. Lin だけがあります。
ある点から曲線への接線を得る
- 曲線:Lin/Cir/Ell/Par/Hyp/Bzc/Bsc/Trc/Cmc
二曲線間の共通接線を得る
	Lin	Cir	Ell	Par	Hyp	Bzc	Bsc	Trc	Cmc
Lin	○	−	−	−	−	−	−	−	−
Cir	○	○	−	−	−	−	−	−	−
Ell	○	○	○	−	−	−	−	−	−
Par	○	○	○	○	−	−	−	−	−
Hyp	○	○	○	○	○	−	−	−	−
Bzc	○	○	○	○	○	○	−	−	−
Bsc	○	○	○	○	○	○	○	−	−
Trc	○	○	○	○	○	○	○	○	−
Cmc	○	○	○	○	○	○	○	○	○
- 	与えられた2点を通過する直線を得る
- 	与えられた点を通過する円錐曲線 (Cir/Ell/Par/Hyp) を得る
- 	3要素(点/直線/円)に接する円を得る(2D)
- 	与えられた点列を補間する自由曲線 (Bsc) を得る
- 	与えられた点列を近似する自由曲線 (Bzc/Bsc) を得る (次数/セグメント指定)
- 	与えられた点列を近似する自由曲線 (Bzc/Bsc) を得る (精度指定)
- 	与えられた点網を補間する自由曲面 (Bss) を得る
- 	与えられた境界を補間する自由曲面 (Bss) を得る
- 	与えられた点網を近似する自由曲面 (Bzs/Bss) を得る (次数/セグメント指定)
- 	与えられた点網を近似する自由曲面 (Bzs/Bss) を得る (精度指定)
- 	与えられた曲線を直線近似する点列を得る
- 	与えられた曲線を再現する有理自由曲線 (Bzc/Bsc) を得る
- 	与えられた曲面を再現する有理自由曲面 (Bzs/Bss) を得る
- 	与えられた曲面の等パラメータ曲線を得る
- 	与えられた曲面を平面近似する三角形群を得る
- 	与えられた自由曲面 (Bzs/Bss) を指定の精度で再現する格子点を得る
- 	与えられたBスプライン曲面 (Bss) のセグメント数を減らす
2次元形状要素間にフィレットを挿入する
	Pnt	Lin	Cir	Ell	Par	Hyp	Bzc	Bsc	Trc
Pnt	○	−	−	−	−	−	−	−	−
Lin	○	○	−	−	−	−	−	−	−
Cir	○	○	○	−	−	−	−	−	−
Ell	○	○	○	○	−	−	−	−	−
Par	○	○	○	○	○	−	−	−	−
Hyp	○	○	○	○	○	○	−	−	−
Bzc	○	○	○	○	○	○	○	−	−
Bsc	○	○	○	○	○	○	○	○	−
Trc	○	○	○	○	○	○	○	○	○
3次元形状要素間にフィレットを挿入する
	Pnt	Lin	Cir	Ell	Par	Hyp	Bzc	Bsc
Pnt	○	−	−	−	−	−	−	−
Lin	○	○	−	−	−	−	−	−
Cir	○	○	○	−	−	−	−	−
Ell	○	○	○	○	−	−	−	−
Par	○	○	○	○	○	−	−	−
Hyp	○	○	○	○	○	○	−	−
Bzc	○	○	○	○	○	○	○	−
Bsc	○	○	○	○	○	○	○	○
	Pnt	Lin	Cir	Ell	Par	Hyp	Bzc	Bsc
Pln	○	○	○	○	○	○	○	○
Sph	○	○	○	○	○	○	○	○
Cyl	○	○	○	○	○	○	○	○
Con	○	○	○	○	○	○	○	○
Bzs	○	○	○	○	○	○	○	○
Bss	○	○	○	○	○	○	○	○
Les	○	○	○	○	○	○	○	○
Rvs	○	○	○	○	○	○	○	○
Cbs	○	○	○	○	○	○	○	○
	Pln	Sph	Cyl	Con	Bzs	Bss	Les	Rvs	Cbs
Pln	○	−	−	−	−	−	−	−	−
Sph	○	○	−	−	−	−	−	−	−
Cyl	○	○	○	−	−	−	−	−	−
Con	○	○	○	○	−	−	−	−	−
Bzs	○	○	○	○	○	−	−	−	−
Bss	○	○	○	○	○	○	−	−	−
Les	○	○	○	○	○	○	○	−	−
Rvs	○	○	○	○	○	○	○	○	−
Cbs	○	○	○	○	○	○	○	○	○
ある形状をオフセットする
- 2次元要素:Pnt/Lin/Cir/Ell/Par/Hyp/Bzc/Bsc/Trc/Cmc
- 3次元要素:Pnt/Lin/Cir/Ell/Par/Hyp/Bzc/Bsc/Trc/Pln/Sph/Cyl/Con/Bzs/Bss/Les/Rvs/Cbs
2次元要素のオフセット結果は線、
3次元要素のオフセット結果は面になります。
スイーピング
ある曲線A (プロファイル) を別の曲線B (スイープパス) に沿って
掃引した軌跡を表す曲面を生成します。
- 入力要素:Bsc,RBsc
- 出力要素:Bss,RBss
スキニング
複数の曲線の間を補間するような曲面を生成します。
- 入力要素:Bsc,RBsc
- 出力要素:Bss,RBss
- ラインセグメントを分割する
- ラインセグメントの前後を切断する
- ラインセグメントの向きを逆にする
- 閉じたラインセグメントの向きを判定する
- 	Bzc/Bzs の次数を増加させる
- 	Bzc/Bzs を分割する
- 	Bzc を多項式表現に変換する
- 	Bernstein 関数を評価する
- 	Bsc/Bss の次数を増加させる
- 	Bsc/Bss に新たなノットを挿入する
- 	Bsc/Bss を分割する
- 	Bsc/Bss を Bzc/Bzs 群に変換する
- 	Bsc のあるセグメントを多項式表現に変換する
- 	Bspline 関数を評価する
- 	あるパラメータ値に対応する Bspline のセグメント番号を得る
- 	Bspline の n 番目のノット値を得る
- 	ブロッサミング
- 	Bzs が平面状であるか否かを判定する
- 	等々
- 	複合曲線の最後尾にトリム曲線を追加する
- 	複合曲線を構成するトリム曲線の数を返す
- 	複合曲線を構成する i 番目のトリム曲線を返す
- 	複合曲線の任意の箇所にトリム曲線を追加する
- 	複合曲線のセグメント区間を得る
- 	閉じた複合曲線の自己干渉除去(2D)
- 	閉じた複合曲線の集合演算(2D)
- 	等々
- 	疑似埋め込みグラフに頂点/辺/面を生成する
- 	疑似埋め込みグラフから頂点/辺/面を削除する
- 	疑似埋め込みグラフの各頂点/辺/面に対して任意のデータを付加する
- 	疑似埋め込みグラフの各頂点/辺/面に対して指定の関数を呼び出す
- 	等々
- 	ある点群に対するボロノイ図/ドロネー図を生成する
- 	ボロノイ図/ドロネー図の各頂点/辺/面に対して任意のデータを付加する
- 	等々
- 	ある点群に対する三角形分割を生成する
- 	三角形分割の各頂点/辺/面に対して任意のデータを付加する
- 	三角形分割の各頂点/辺/面に対して指定の関数を呼び出す
- 	等々
- 	ある点群の多角形に対する内外判定
- 	多角形の向き(左回り/右回り)を判定する
- 	多角形同士の集合演算(和、積)
- 	等々
Sパッチとは、任意の数の辺を境界とする曲面パッチです。
- 	Sパッチの初期化
- 	Sパッチを解放する
- 	Sパッチをベジエ曲面で近似する
- 	Sパッチを三角形群に変換する
- 	Sパッチの幾何特性評価
- 	Gregory Sパッチを生成する
- 	Sパッチの次数上げ
- 	Sパッチの法線ベクトルを求める
-     文字列プリント関数の設定/獲得
- 	実数値の小数点以下の桁数の設定/獲得
- 	要素タイプのプリント
- 	要素の定義情報のプリント
- 	ある点(またはベクトル)を一段階上位の座標系に変換する
- 	ある点(またはベクトル)を一段階下位の座標系に変換する
GHL が扱う座標系は今のところユークリッド右手直交座標系のみです。
- 	あるベクトルのノルムを得る
- 	あるベクトルを単位化する
- 	二つベクトルの(和/差/内積/外積)を得る
- 	複数ベクトルの重み付き総和を得る
- 	あるベクトルに直交するベクトルを得る
- 	2次方程式の解を得る(実数解、複素解)
- 	n次代数方程式のすべての解を得る(複素数)
- 	n次代数方程式のある一つの解を得る(実数解、複素解)
- 	多変数の非線形連立方程式を解く(実数解)
- 	ある関数について区間 ([a, b]) の定積分を得る
- 	ベクトル多項式の位置ベクトルと一階微分の外積式を得る
- 	ベクトル多項式の一階微分と二階微分の外積式を得る
- 	実数多項式の値を得る
- 	複素多項式の値を得る
- 	二多項式の積の多項式を得る
- 	ベクトル多項式のパラメータ区間を変換する
- 	ある行列をLU分解する
- 	連立一次方程式を解く
- 	線形最小自乗問題を解く
- 	実数配列処理
- 	リストデータ処理
- 	2分木/n分木データ処理
- 	許容誤差の外部変数にデフォルト値を設定する
- 	点群が共線かどうかを調べる
- 	点群が共面かどうかを調べる
- 	ある形状を平行移動させる
- 	ある形状を回転させる
- 	ある形状を拡大/縮小させる
- 	2次元のベクトルを角度に変換する
- 	角度を0から2πの間に正規化する
- 	引数内の最大値/最小値を返す
- 	パスカルの三角形
- 	最大公約数、最小公倍数
- 	等々
Copyright (c) 2000 Precision Modeling Laboratory,Inc., Tokyo, Japan. All Rights Reserved.