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.