(57)【要約】【課題】アフィン不変でない表現の３次元形状データに対し、回転部分の要素が拡大縮小情報を含む幾何学的変換行列による変換処理を行うときに、不整合なデータを生成しないようにする。【解決手段】アフィン不変でない表現の３次元形状データ、及び回転部分の要素が拡大縮小情報を含む変換行列を有する外部形状データ１２が外部データ処理部１１に入力される。回転移動分離部１５は、変換行列の要素をその場所に応じて回転部分と平行移動部分とに分割する。回転拡大縮小分離部１６は、分割された回転部分から回転情報及び拡大縮小情報を取得する。形状変換部１７では、回転変換部１８で回転変換、拡大縮小変換部１９で拡大縮小、平行移動変換部２０で平行移動の変換を順に行う。【選択図】  図２
2010039914.tif 000002
【特許請求の範囲】
【請求項１】
３次元形状データに対する幾何学的変換行列であって、その回転部分の要素が拡大縮小情報を含む前記変換行列から前記回転部分を分離する手段と、分離された回転部分から回転情報を取得する手段と、分離された回転部分から拡大縮小情報を取得する手段とを有することを特徴とする３次元形状データ処理装置。
【請求項２】
請求項１に記載された３次元形状データ処理装置において、
前記回転情報を取得する手段は、分離された回転部分から３つのベクトルを生成する手段と、それらのベクトルを正規直交化する手段とを有することを特徴とする３次元形状データ処理装置。
【請求項３】
請求項２に記載された３次元形状データ処理装置において、
前記拡大縮小情報を取得する手段は、分離された回転部分と正規直交化されたベクトルの対応する要素との比に基づいて拡大縮小係数を求める手段を有することを特徴とする３次元形状データ処理装置。
【請求項４】
請求項１〜３のいずれかに記載された３次元形状データ処理装置において、
３次元形状データに対して、それぞれ取得された回転情報を用いた回転変換、取得された拡大縮小情報を用いた拡大縮小変換を行う手段を有することを特徴とする３次元形状データ処理装置。
【請求項５】
３次元形状データに対する幾何学的変換行列であって、その回転部分の要素が拡大縮小情報を含む前記変換行列から前記回転部分を分離するステップと、分離された回転部分から回転情報を取得するステップと、分離された回転部分から拡大縮小情報を取得するステップとを有することを特徴とする３次元形状データ処理方法。
【請求項６】
請求項５に記載された３次元形状データ処理方法において、
３次元形状データに対して、取得された回転情報を用いた回転変換を行うステップと、取得された拡大縮小情報を用いた拡大縮小変換を行うステップとを有することを特徴とする３次元形状データ処理方法。
【請求項７】
コンピュータに、請求項５又は６に記載された３次元形状データ処理方法の各ステップを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元形状データに対して幾何学的変換行列による変換処理を行う装置及び方法、並びにプログラムに関する。
【背景技術】
【０００２】
グラフィクス表示装置とコンピュータとを用いたＣＡＤ／ＣＡＭシステムなど３次元形状処理システムでは、３次元形状を生成したり、生成されている３次元形状を変形させたり、他の３次元形状処理装置などから取得した３次元形状データを用いて３次元形状を生成した際に欠落した形状要素を生成したりしている（特許文献１参照）。
【０００３】
ここで、３次元形状（３次元立体）とは、例えば境界表現形式のソリッドモデルデータとして生成された形状を指し、その境界表現形式のソリッドモデルとは、稜線や頂点や面というような要素により３次元空間上に閉じた領域を定義し、中身の詰まった立体を表現したものである。
【０００４】
近年、このような３次元形状処理システムにおいては、設計業務などの協業化や分業化の進展と共に、他の３次元形状処理システムから得た３次元形状データを処理することが広く行われている。他の３次元形状処理システムで作成された３次元形状データを用いる場合、多くは形状交換の標準フォーマット規約であるＩＧＥＳ（Initial Graphics Exchange Specification）などの中間フォーマットを用いて行われる。
【０００５】
その３次元形状データには３次元モデルの位置情報を示すための幾何学的変換行列が付加されていることが多い。多くの３次元形状処理システムでは、この変換行列は回転と平行移動の情報を表現している。例えばＩＧＥＳの要素１２４番でも回転と平行移動を表現している。
【０００６】
ここで、変換行列の回転部分は任意の１次変換をも表現するため、システムによっては、変換行列の回転部分の要素が拡大縮小情報を含んでいることがある。このため、システム間のデータ交換において、この回転部分に拡大縮小情報も含む変換行列が渡された場合、受け取り側のシステムがアフィン不変でない表現の曲線や曲面、例えば円弧や２次曲面などにそのまま（拡大縮小情報を含んでいないものとして）適用すると、不整合なデータとなってしまうという問題がある。例えば円弧の場合、形状データは中心、始点、終点、法線ベクトル、及び半径からなり、アフィン不変量である中心、始点、及び終点についてはそのまま適用しても問題ないが、正規化されていない法線ベクトル及び半径はアフィン不変量でないため、そのまま適用した場合に不整合なデータとなってしまう。
【０００７】
【特許文献１】特開２０００−２３１５８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、このような問題を解決するためになされたもので、その目的は、アフィン不変でない表現の３次元形状データに対し、回転部分の要素が拡大縮小情報を含む幾何学的変換行列による変換処理を行うときに、不整合なデータを生成しないようにすることである。
【課題を解決するための手段】
【０００９】
本発明の３次元形状データ処理装置は、３次元形状データに対する幾何学的変換行列であって、その回転部分の要素が拡大縮小情報を含む前記変換行列から前記回転部分を分離する手段と、分離された回転部分から回転情報を取得する手段と、分離された回転部分から拡大縮小情報を取得する手段とを有することを特徴とする３次元形状データ処理装置である。
本発明の３次元形状データ処理方法は、３次元形状データに対する幾何学的変換行列であって、その回転部分の要素が拡大縮小情報を含む前記変換行列から前記回転部分を分離するステップと、分離された回転部分から回転情報を取得するステップと、分離された回転部分から拡大縮小情報を取得するステップとを有することを特徴とする３次元形状データ処理方法である。
【００１０】
［作用］
本発明によれば、回転部分の要素が拡大縮小情報を含む幾何学的変換行列が入力されたときに、その変換行列から、回転部分の要素を分離し、分離された回転部分の要素から回転情報及び拡大縮小情報を取得する。
【発明の効果】
【００１１】
本発明によれば、アフィン不変でない表現の３次元形状データに対し、回転部分の要素が拡大縮小情報を含む幾何学的変換行列による変換処理を行うときに、不整合なデータを生成しないようにすることができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施形態について図面を参照しながら説明する。
図１は本発明の実施形態の３次元形状データ処理装置の構成を示すブロック図である。
この３次元形状データ処理装置は、バス１と、それぞれがバス１に接続されたＣＰＵ２、メモリ３、表示装置４、外部記憶装置５、及び入力装置６からなる。
【００１３】
メモリ３はプログラムや３次元形状データを含む各種データを一時的に記憶する。ＣＰＵ２はそのプログラムに従って装置全体の制御や３次元形状処理を行う。表示装置４は、ＬＣＤなどを備え、入力装置６からユーザが入力した指示や装置の動作状態などを表示する。外部記憶装置５は、ハードディスクなどからなり、プログラムや前記データを保存する。入力装置６は、マウスやキーボードからなり、ユーザの指示を入力する。
【００１４】
図２は、本発明の実施形態の３次元形状データ処理装置の機能ブロック図である。この機能ブロックは、ＣＰＵ２がメモリ３に記憶されているプログラムに従って動作することにより実現される。
【００１５】
図２に示すように、この機能ブロックは、外部形状データ処理部１１及び３次元ＣＡＤデータベース１３から構成されており、他のＣＡＤシステムから送出された外部形状データ１２を受け取り、後述する所定の処理を外部形状データ処理部１１にて施した後に３次元ＣＡＤデータベース１３に保存する。
【００１６】
外部形状データ処理部１１は変換行列処理部１４を含み、変換行列処理部１４は回転移動分離部１５、回転拡大縮小分離部１６、及び形状変換部１７を含む。また、形状変換部１７は、回転変換部１８、拡大縮小変換部１９、及び平行移動変換部２０を含む。
【００１７】
図３は、この外部形状データ処理部１１の動作を示すフローチャートである。
外部形状データ１２として、例えば下記の式［１］に示す３次元形状データ及び式［２］に示す変換行列が外部形状データ処理部１１に入力される。式［２］に示す変換行列の要素のうち、Ｒij（i＝1〜3、j＝１〜３）が回転部分であり、Ｔi（ｉ＝１〜３）が平行移動部分である。
【００１８】
【数１】
2010039914.tif 000003
【００１９】
【数２】
2010039914.tif 000004
【００２０】
この変換行列による３次元形状データに対する変換処理は、式［３］に示す行列計算、即ち同時座標で表記されたアフィン変換によって行われる。ここでＸINPUT，ＹINPUT，ＺINPUTは変換前の３次元位置情報、ＸOUTPUT，ＹOUTPUT，ＺOUTPUTは変換後の３次元位置情報を示す。
【００２１】
【数３】
2010039914.tif 000005
【００２２】
外部形状データ処理部１１では、変換行列処理部１４が変換行列を取り込み、回転移動分離部１５に渡す（ステップＳ１）。回転移動分離部１５は、まず渡された変換行列の要素を列によって、式［４］に示す回転部分である３×３行列と、式［５］に示す平行移動部分である３要素を有する縦ベクトルに分割する（ステップＳ２）。
【００２３】
【数４】
2010039914.tif 000006
【００２４】
【数５】
2010039914.tif 000007
【００２５】
その後、変換行列処理部１４内で、回転移動分離部１５から得られた回転部分である３×３行列を回転拡大縮小分離部１６に渡す。
【００２６】
回転拡大縮小分離部１６では、まず元の回転部分（３×３行列の要素）の値を保存する（ステップＳ３）。次に、式［４］に示す回転部分の行列の各行を式［６］〜［８］に示す３要素からなる３つの横ベクトルＶ1〜Ｖ3としてとらえ（ステップＳ４）、グラムシュミットの正規直交化を適用する（ステップＳ５）。そして、その適用結果を、純粋な回転部分（回転情報）として保存する（ステップＳ６）。なお、この適用結果が純粋な回転部分となる理由については、例えば、「杉原厚吉著『グラフィックスの基礎』pp.61-63、共立出版株式会社、１９９５年」に記載されているように既知である。
【００２７】
【数６】
2010039914.tif 000008
【００２８】
【数７】
2010039914.tif 000009
【００２９】
【数８】
2010039914.tif 000010
【００３０】
次に、純粋な回転部分と、元の回転部分のそれぞれ対応する位置の要素の比をとり、それらの平均をとる（ステップＳ７）。この際、純粋な回転部分の要素の絶対値が１０ｅ−２程度以下である場合は計算から除外する。これは、絶対誤差の影響を小さくするためである。この要素の比の平均を拡大縮小係数（拡大縮小情報）として、回転拡大縮小分離部１６で保存する（ステップＳ８）。
【００３１】
回転拡大縮小分離部１６では、行列の純粋な回転部分及び拡大縮小係数を保存しているので、変換行列処理部１４で取り出し、形状変換部１７における形状の変換に利用することができる。
【００３２】
変換行列処理部１４では、変換行列を回転部分、拡大縮小係数、平行移動部に分けて保存しており、これらの情報を用いて、形状変換部１７では、変換すべき各３次元形状データに対して、回転変換部１８で回転変換、拡大縮小変換部１９で拡大縮小、平行移動変換部２０で平行移動の変換を順に行う。このとき、拡大縮小変換部１９では、アフィン不変でない曲線、曲面表現の形状データに対しては、その表現に対応した変換を行う。
【００３３】
以上のように、本実施形態の３次元形状データ処理装置によれば、他の３次元形状処理システムからアフィン不変でない表現の３次元形状データ、及び回転部分の要素が拡大縮小情報を含む幾何学的変換行列を受けたときに、整合のとれた３次元形状データに変換することができる。
【図面の簡単な説明】
【００３４】
【図１】本発明の実施形態の３次元形状データ処理装置の構成を示す図である。
【図２】本発明の実施形態の３次元形状データ処理装置の機能ブロック図である。
【図３】図２の外部形状データ処理部の動作を示すフローチャートである。
【符号の説明】
【００３５】
１１・・・外部形状データ処理部、１２・・・外部形状データ、１３・・・３次元ＣＡＤデータベース、１４・・・変換行列処理部、１５・・・回転移動分離部、１６・・・回転拡大縮小分離部、１７・・・形状変換部、１８・・・回転変換部、１９・・・拡大縮小変換部、２０・・・平行移動変換部。
【図１】
2010039914.tif 000011
【図２】
2010039914.tif 000012
【図３】
2010039914.tif 000013