本ドキュメントでは、 GHL の 3.2.1 から 3.2.2 へのバージョンアップの内容 について述べています。
GHL 3.2.2 は GHL 3.2.1 に引き続いて GHL 3.2 を補完するバージョンで、 以下に挙げる機能を新たに追加しました。
2本の曲線が最も接近している箇所とその距離を求める 関数を追加しました。 ここでは、以下に挙げるうちの最も短いものを最短距離としています。
2曲線の共通法線の長さ 一方の曲線の端点あるいは特異点から他方の曲線への垂線の長さ 一方の曲線の端点あるいは特異点から他方の曲線の端点あるいは特異点への距離
ある曲線の存在範囲をXY軸に平行な矩形領域として求める 関数を追加しました。 曲線の存在範囲を表す形状としては、矩形の他にも円や凸包多角形などが 考えられますが、(取り敢えずは) 矩形だけをサポートしています。
これまでの GHL では、三角形集合のデータ構造を基本的には公開しておらず、 その情報を GHL の外部に一旦保存した後に再構成するためには、 GHL の内部処理を調べる必要がありました。 GHL 3.2.2 では三角形集合の保存/再構成を支援する 関数を追加し、 三角形集合の扱い易さを高めました。
これまでの GHL では、曲線境界曲面を三角形分割する 関数において、 曲線境界曲面の外周/内周が点列であるときに、 その各点の間隔が曲面の内部を分割する精度に相対して荒い場合に、 うまく三角形分割できないことがありました。 GHL 3.2.2 ではこれを改善し、三角形分割の安定性を高めました。
GHL 3.2 において、 複数のフィレットなどが集まる部分の形状を無理なく表現することが できるような多辺パッチを試験的に導入しましたが、 この多辺パッチは境界線の表現が多項式であったために、 フィレットの円弧などの円錐曲線とは厳密には接続できませんでした。 GHL 3.2.2 では、境界線を 有理表現にした多辺パッチを導入して、 円弧などの有理曲線と厳密に接続できるようにしました。
gh2crv0Bsc2 Bスプライン曲線の変曲点を得る(タイプ2) gh2crv0RBsc2 有理Bスプライン曲線の変曲点を得る(タイプ2) gh2cuspBsc Bスプライン曲線の尖点を得る gh2cuspBzc ベジエ曲線の尖点を得る gh2cuspCir 円の尖点を得る gh2cuspCmc 複合曲線の尖点を得る gh2cuspCrv 曲線の尖点を得る gh2cuspEll 楕円の尖点を得る gh2cuspHyp 双曲線の尖点を得る gh2cuspLin 直線の尖点を得る gh2cuspLsg ラインセグメントの尖点を得る gh2cuspPar 放物線の尖点を得る gh2cuspRBsc 有理Bスプライン曲線の尖点を得る gh2cuspRBzc 有理ベジエ曲線の尖点を得る gh2cuspTrc トリム曲線の尖点を得る gh2defn0Cmc 複合曲線の定義 gh2defn1Cmc 複合曲線の定義(トリム曲線の追加) gh2defn2Cmc 複合曲線の定義(開閉フラグの設定) gh2dlnyStrip ドロネー図 − 幾何情報の削除 gh2enbxBsc Bスプライン曲線の存在領域(矩形)を得る gh2enbxBzc ベジエ曲線の存在領域(矩形)を得る gh2enbxCir 円の存在領域(矩形)を得る gh2enbxCmc 複合曲線の存在領域(矩形)を得る gh2enbxCrv 曲線の存在領域(矩形)を得る gh2enbxEll 楕円の存在領域(矩形)を得る gh2enbxHyp 双曲線の存在領域(矩形)を得る gh2enbxLin 直線の存在領域(矩形)を得る gh2enbxLsg ラインセグメントの存在領域(矩形)を得る gh2enbxPar 放物線の存在領域(矩形)を得る gh2enbxRBsc 有理Bスプライン曲線の存在領域(矩形)を得る gh2enbxRBzc 有理ベジエ曲線の存在領域(矩形)を得る gh2normBscLsg Bスプライン曲線とラインセグメントの共通法線を得る gh2normBzcLsg ベジエ曲線とラインセグメントの共通法線を得る gh2normCirLsg 円とラインセグメントの共通法線を得る gh2normEllLsg 楕円とラインセグメントの共通法線を得る gh2normHypLsg 双曲線とラインセグメントの共通法線を得る gh2normLinLsg 直線とラインセグメントの共通法線を得る gh2normLsgCmc ラインセグメントと複合曲線の共通法線を得る gh2normLsgLsg 2ラインセグメントの共通法線を得る gh2normLsgTrc ラインセグメントとトリム曲線の共通法線を得る gh2normParLsg 放物線とラインセグメントの共通法線を得る gh2normRBscLsg 有理Bスプライン曲線とラインセグメントの共通法線を得る gh2normRBzcLsg 有理ベジエ曲線とラインセグメントの共通法線を得る gh2sdstBscBsc2 2Bスプライン曲線の最短距離を全て得る gh2sdstBscBsc 2Bスプライン曲線の最短距離を一つだけ得る gh2sdstBscCmc2 Bスプライン曲線と複合曲線の最短距離を全て得る gh2sdstBscCmc Bスプライン曲線と複合曲線の最短距離を一つだけ得る gh2sdstBscRBsc2 Bスプライン曲線と有理Bスプライン曲線の最短距離を全て得る gh2sdstBscRBsc Bスプライン曲線と有理Bスプライン曲線の最短距離を一つだけ得る gh2sdstBscRBzc2 Bスプライン曲線と有理ベジエ曲線の最短距離を全て得る gh2sdstBscRBzc Bスプライン曲線と有理ベジエ曲線の最短距離を一つだけ得る gh2sdstBscTrc2 Bスプライン曲線とトリム曲線の最短距離を全て得る gh2sdstBscTrc Bスプライン曲線とトリム曲線の最短距離を一つだけ得る gh2sdstBzcBsc2 ベジエ曲線とBスプライン曲線の最短距離を全て得る gh2sdstBzcBsc ベジエ曲線とBスプライン曲線の最短距離を一つだけ得る gh2sdstBzcBzc2 2ベジエ曲線の最短距離を全て得る gh2sdstBzcBzc 2ベジエ曲線の最短距離を一つだけ得る gh2sdstBzcCmc2 ベジエ曲線と複合曲線の最短距離を全て得る gh2sdstBzcCmc ベジエ曲線と複合曲線の最短距離を一つだけ得る gh2sdstBzcRBsc2 ベジエ曲線と有理Bスプライン曲線の最短距離を全て得る gh2sdstBzcRBsc ベジエ曲線と有理Bスプライン曲線の最短距離を一つだけ得る gh2sdstBzcRBzc2 ベジエ曲線と有理ベジエ曲線の最短距離を全て得る gh2sdstBzcRBzc ベジエ曲線と有理ベジエ曲線の最短距離を一つだけ得る gh2sdstBzcTrc2 ベジエ曲線とトリム曲線の最短距離を全て得る gh2sdstBzcTrc ベジエ曲線とトリム曲線の最短距離を一つだけ得る gh2sdstCirBsc2 円とBスプライン曲線の最短距離を全て得る gh2sdstCirBsc 円とBスプライン曲線の最短距離を一つだけ得る gh2sdstCirBzc2 円とベジエ曲線の最短距離を全て得る gh2sdstCirBzc 円とベジエ曲線の最短距離を一つだけ得る gh2sdstCirCir2 2円の最短距離を全て得る gh2sdstCirCir 2円の最短距離を一つだけ得る gh2sdstCirCmc2 円と複合曲線の最短距離を全て得る gh2sdstCirCmc 円と複合曲線の最短距離を一つだけ得る gh2sdstCirEll2 円と楕円の最短距離を全て得る gh2sdstCirEll 円と楕円の最短距離を一つだけ得る gh2sdstCirHyp2 円と双曲線の最短距離を全て得る gh2sdstCirHyp 円と双曲線の最短距離を一つだけ得る gh2sdstCirPar2 円と放物線の最短距離を全て得る gh2sdstCirPar 円と放物線の最短距離を一つだけ得る gh2sdstCirRBsc2 円と有理Bスプライン曲線の最短距離を全て得る gh2sdstCirRBsc 円と有理Bスプライン曲線の最短距離を一つだけ得る gh2sdstCirRBzc2 円と有理ベジエ曲線の最短距離を全て得る gh2sdstCirRBzc 円と有理ベジエ曲線の最短距離を一つだけ得る gh2sdstCirTrc2 円とトリム曲線の最短距離を全て得る gh2sdstCirTrc 円とトリム曲線の最短距離を一つだけ得る gh2sdstCmcCmc2 2複合曲線の最短距離を全て得る gh2sdstCmcCmc 2複合曲線の最短距離を一つだけ得る gh2sdstCrvCrv2 2曲線の最短距離を全て得る gh2sdstCrvCrv 2曲線の最短距離を一つだけ得る gh2sdstEllBsc2 楕円とBスプライン曲線の最短距離を全て得る gh2sdstEllBsc 楕円とBスプライン曲線の最短距離を一つだけ得る gh2sdstEllBzc2 楕円とベジエ曲線の最短距離を全て得る gh2sdstEllBzc 楕円とベジエ曲線の最短距離を一つだけ得る gh2sdstEllCmc2 楕円と複合曲線の最短距離を全て得る gh2sdstEllCmc 楕円と複合曲線の最短距離を一つだけ得る gh2sdstEllEll2 2楕円の最短距離を全て得る gh2sdstEllEll 2楕円の最短距離を一つだけ得る gh2sdstEllHyp2 楕円と双曲線の最短距離を全て得る gh2sdstEllHyp 楕円と双曲線の最短距離を一つだけ得る gh2sdstEllPar2 楕円と放物線の最短距離を全て得る gh2sdstEllPar 楕円と放物線の最短距離を一つだけ得る gh2sdstEllRBsc2 楕円と有理Bスプライン曲線の最短距離を全て得る gh2sdstEllRBsc 楕円と有理Bスプライン曲線の最短距離を一つだけ得る gh2sdstEllRBzc2 楕円と有理ベジエ曲線の最短距離を全て得る gh2sdstEllRBzc 楕円と有理ベジエ曲線の最短距離を一つだけ得る gh2sdstEllTrc2 楕円とトリム曲線の最短距離を全て得る gh2sdstEllTrc 楕円とトリム曲線の最短距離を一つだけ得る gh2sdstHypBsc2 双曲線とBスプライン曲線の最短距離を全て得る gh2sdstHypBsc 双曲線とBスプライン曲線の最短距離を一つだけ得る gh2sdstHypBzc2 双曲線とベジエ曲線の最短距離を全て得る gh2sdstHypBzc 双曲線とベジエ曲線の最短距離を一つだけ得る gh2sdstHypCmc2 双曲線と複合曲線の最短距離を全て得る gh2sdstHypCmc 双曲線と複合曲線の最短距離を一つだけ得る gh2sdstHypHyp2 2双曲線の最短距離を全て得る gh2sdstHypHyp 2双曲線の最短距離を一つだけ得る gh2sdstHypRBsc2 双曲線と有理Bスプライン曲線の最短距離を全て得る gh2sdstHypRBsc 双曲線と有理Bスプライン曲線の最短距離を一つだけ得る gh2sdstHypRBzc2 双曲線と有理ベジエ曲線の最短距離を全て得る gh2sdstHypRBzc 双曲線と有理ベジエ曲線の最短距離を一つだけ得る gh2sdstHypTrc2 双曲線とトリム曲線の最短距離を全て得る gh2sdstHypTrc 双曲線とトリム曲線の最短距離を一つだけ得る gh2sdstLinBsc2 直線とBスプライン曲線の最短距離を全て得る gh2sdstLinBsc 直線とBスプライン曲線の最短距離を一つだけ得る gh2sdstLinBzc2 直線とベジエ曲線の最短距離を全て得る gh2sdstLinBzc 直線とベジエ曲線の最短距離を一つだけ得る gh2sdstLinCir2 直線と円の最短距離を全て得る gh2sdstLinCir 直線と円の最短距離を一つだけ得る gh2sdstLinCmc2 直線と複合曲線の最短距離を全て得る gh2sdstLinCmc 直線と複合曲線の最短距離を一つだけ得る gh2sdstLinEll2 直線と楕円の最短距離を全て得る gh2sdstLinEll 直線と楕円の最短距離を一つだけ得る gh2sdstLinHyp2 直線と双曲線の最短距離を全て得る gh2sdstLinHyp 直線と双曲線の最短距離を一つだけ得る gh2sdstLinLin2 2直線の最短距離を全て得る gh2sdstLinLin 2直線の最短距離を一つだけ得る gh2sdstLinLsg2 直線とラインセグメントの最短距離を全て得る gh2sdstLinLsg 直線とラインセグメントの最短距離を一つだけ得る gh2sdstLinPar2 直線と放物線の最短距離を全て得る gh2sdstLinPar 直線と放物線の最短距離を一つだけ得る gh2sdstLinRBsc2 直線と有理Bスプライン曲線の最短距離を全て得る gh2sdstLinRBsc 直線と有理Bスプライン曲線の最短距離を一つだけ得る gh2sdstLinRBzc2 直線と有理ベジエ曲線の最短距離を全て得る gh2sdstLinRBzc 直線と有理ベジエ曲線の最短距離を一つだけ得る gh2sdstLinTrc2 直線とトリム曲線の最短距離を全て得る gh2sdstLinTrc 直線とトリム曲線の最短距離を一つだけ得る gh2sdstParBsc2 放物線とBスプライン曲線の最短距離を全て得る gh2sdstParBsc 放物線とBスプライン曲線の最短距離を一つだけ得る gh2sdstParBzc2 放物線とベジエ曲線の最短距離を全て得る gh2sdstParBzc 放物線とベジエ曲線の最短距離を一つだけ得る gh2sdstParCmc2 放物線と複合曲線の最短距離を全て得る gh2sdstParCmc 放物線と複合曲線の最短距離を一つだけ得る gh2sdstParHyp2 放物線と双曲線の最短距離を全て得る gh2sdstParHyp 放物線と双曲線の最短距離を一つだけ得る gh2sdstParPar2 2放物線の最短距離を全て得る gh2sdstParPar 2放物線の最短距離を一つだけ得る gh2sdstParRBsc2 放物線と有理Bスプライン曲線の最短距離を全て得る gh2sdstParRBsc 放物線と有理Bスプライン曲線の最短距離を一つだけ得る gh2sdstParRBzc2 放物線と有理ベジエ曲線の最短距離を全て得る gh2sdstParRBzc 放物線と有理ベジエ曲線の最短距離を一つだけ得る gh2sdstParTrc2 放物線とトリム曲線の最短距離を全て得る gh2sdstParTrc 放物線とトリム曲線の最短距離を一つだけ得る gh2sdstPntBsc2 点とBスプライン曲線の最短距離を全て得る gh2sdstPntBsc 点とBスプライン曲線の最短距離を一つだけ得る gh2sdstPntBzc2 点とベジエ曲線の最短距離を全て得る gh2sdstPntBzc 点とベジエ曲線の最短距離を一つだけ得る gh2sdstPntCir2 点と円の最短距離を全て得る gh2sdstPntCir 点と円の最短距離を一つだけ得る gh2sdstPntCmc2 点と複合曲線の最短距離を全て得る gh2sdstPntCmc 点と複合曲線の最短距離を一つだけ得る gh2sdstPntCrv2 点と曲線の最短距離を全て得る gh2sdstPntCrv 点と曲線の最短距離を一つだけ得る gh2sdstPntEll2 点と楕円の最短距離を全て得る gh2sdstPntEll 点と楕円の最短距離を一つだけ得る gh2sdstPntHyp2 点と双曲線の最短距離を全て得る gh2sdstPntHyp 点と双曲線の最短距離を一つだけ得る gh2sdstPntLin2 点と直線の最短距離を全て得る gh2sdstPntLin 点と直線の最短距離を一つだけ得る gh2sdstPntLsg2 点とラインセグメントの最短距離を全て得る gh2sdstPntLsg 点とラインセグメントの最短距離を一つだけ得る gh2sdstPntPar2 点と放物線の最短距離を全て得る gh2sdstPntPar 点と放物線の最短距離を一つだけ得る gh2sdstPntRBsc2 点と有理Bスプライン曲線の最短距離を全て得る gh2sdstPntRBsc 点と有理Bスプライン曲線の最短距離を一つだけ得る gh2sdstPntRBzc2 点と有理ベジエ曲線の最短距離を全て得る gh2sdstPntRBzc 点と有理ベジエ曲線の最短距離を一つだけ得る gh2sdstPntTrc2 点とトリム曲線の最短距離を全て得る gh2sdstPntTrc 点とトリム曲線の最短距離を一つだけ得る gh2sdstRBscCmc2 有理Bスプライン曲線と複合曲線の最短距離を全て得る gh2sdstRBscCmc 有理Bスプライン曲線と複合曲線の最短距離を一つだけ得る gh2sdstRBscRBsc2 2有理Bスプライン曲線の最短距離を全て得る gh2sdstRBscRBsc 2有理Bスプライン曲線の最短距離を一つだけ得る gh2sdstRBscTrc2 有理Bスプライン曲線とトリム曲線の最短距離を全て得る gh2sdstRBscTrc 有理Bスプライン曲線とトリム曲線の最短距離を一つだけ得る gh2sdstRBzcCmc2 有理ベジエ曲線と複合曲線の最短距離を全て得る gh2sdstRBzcCmc 有理ベジエ曲線と複合曲線の最短距離を一つだけ得る gh2sdstRBzcRBsc2 有理ベジエ曲線と有理Bスプライン曲線の最短距離を全て得る gh2sdstRBzcRBsc 有理ベジエ曲線と有理Bスプライン曲線の最短距離を一つだけ得る gh2sdstRBzcRBzc2 2有理ベジエ曲線の最短距離を全て得る gh2sdstRBzcRBzc 2有理ベジエ曲線の最短距離を一つだけ得る gh2sdstRBzcTrc2 有理ベジエ曲線とトリム曲線の最短距離を全て得る gh2sdstRBzcTrc 有理ベジエ曲線とトリム曲線の最短距離を一つだけ得る gh2sdstTrcCmc2 トリム曲線と複合曲線の最短距離を全て得る gh2sdstTrcCmc トリム曲線と複合曲線の最短距離を一つだけ得る gh2sdstTrcTrc2 2トリム曲線の最短距離を全て得る gh2sdstTrcTrc 2トリム曲線の最短距離を一つだけ得る gh2striAllcSerialized 三角形の集合 − 配列領域の獲得 gh2striDlny2 三角形の集合 − 生成(タイプ2) gh2striFlipDiagonal 三角形の集合 − 対角変形 gh2striFreeSerialized 三角形の集合 − 配列領域の解放 gh2striGetPeg 三角形の集合 − Gh2Peg を取り出す gh2striSerialize 三角形の集合 − 内部情報を配列として獲得 gh2striUnserialize 三角形の集合 − 配列からの再構成 gh2tng0Bsc2 Bスプライン曲線の特異点を得る(タイプ2) gh2tng0RBsc2 有理Bスプライン曲線の特異点を得る(タイプ2) gh2vrniStrip ボロノイ図 − 幾何情報の削除
gh3convRGSSTri 有理Sパッチを三角形群に変換する gh3coorRGS あるパラメータ値での有理Sパッチの値(点)を得る gh3cretRGS 有理 Gregory Sパッチを生成する gh3crv0Bsc2 Bスプライン曲線の変曲点を得る(タイプ2) gh3crv0RBsc2 有理Bスプライン曲線の変曲点を得る(タイプ2) gh3defn0Cmc 複合曲線の定義 gh3defn1Cmc 複合曲線の定義(トリム曲線の追加) gh3defn2Cmc 複合曲線の定義(開閉フラグの設定) gh3freeRGS 構造体領域の解放 − 有理Sパッチ gh3incdRGS2 有理Sパッチの次数を1つ上げる gh3normRGS 有理Sパッチの法線ベクトルを求める gh3striAllcSerialized 三角形の集合 − 配列領域の獲得 gh3striFlipDiagonal 三角形の集合 − 対角変形 gh3striFreeSerialized 三角形の集合 − 配列領域の解放 gh3striGetPeg 三角形の集合 − Gh2Peg を取り出す gh3striSerialize 三角形の集合 − 内部情報を配列として獲得 gh3striUnserialize 三角形の集合 − 配列からの再構成 gh3tng0Bsc2 Bスプライン曲線の特異点を得る(タイプ2) gh3tng0RBsc2 有理Bスプライン曲線の特異点を得る(タイプ2)
サポートに関する御連絡は、以下の宛先へお送り下さい。
株式会社 精密形状処理研究所 FAX:03-5276-6478
柿下 尚武 naokak@pml.co.jp 長谷川 亨 hasegawa@sra.co.jp
鹿野 信幸 shikano@pml.co.jp 徐 子韜 zitao@pml.co.jp 伊藤 英明 hideit@pml.co.jp