(57)【要約】【課題】デクセル表現に比べて汎用性が高く、且つボクセル表現に比べて小さなデータサイズで三次元の問題を解析することができる演算処理装置を提供する。【解決手段】逐次処理型のプロセッサと画像処理専用のプロセッサとを備えたコンピュータにおいて、１以上の処理対象の立体形状を表現した立体モデルデータに対して所定の演算処理を行う際に、逐次処理型のプロセッサに立体モデルデータをスライス処理して複数のスライス面データを生成させるとともに、画像処理専用のプロセッサにこれら複数のスライス面データの各々に対して所定の画像処理を行わせる。【選択図】図１
2010072765.tif 000002
【特許請求の範囲】
【請求項１】
１以上の処理対象の立体形状を表現した立体モデルデータに対して所定の演算処理を行う演算処理装置であって、
前記立体モデルデータをスライス処理して複数のスライス面データを生成する生成手段と、
前記複数のスライス面データの各々に対して所定の画像処理を行う画像処理手段と、
を有することを特徴とする演算処理装置。
【請求項２】
請求項１記載の演算処理装置であって、
前記生成手段により得られた前記複数のスライス面データの各々について、前記１以上の処理対象の各々に異なる色データを付与する色付け手段と、
前記複数のスライス面データの各々について、前記色データが複数色付与されたエリアを抽出する抽出手段と、
を更に有することを特徴とする演算処理装置。
【請求項３】
請求項１又は２記載の演算処理装置であって、
前記生成手段は、逐次処理型のプロセッサにより実現され、
前記画像処理手段は、画像処理専用のプロセッサにより実現される、
ことを特徴とする演算処理装置。
【請求項４】
逐次処理型のプロセッサと画像処理専用のプロセッサとを備えたコンピュータにおいて、１以上の処理対象の立体形状を表現した立体モデルデータに対して所定の演算処理を行う演算処理方法であって、
前記逐次処理型のプロセッサに、前記立体モデルデータをスライス処理して複数のスライス面データを生成させる生成工程と、
前記画像処理専用のプロセッサに、前記複数のスライス面データの各々に対して所定の画像処理を行わせる画像処理工程と、
を有することを特徴とする演算処理方法。
【請求項５】
請求項４記載の演算処理方法であって、
前記生成工程により得られた前記複数のスライス面データの各々について、前記１以上の処理対象の各々に異なる色データを付与する色付け工程と、
前記複数のスライス面データの各々について、前記色データが複数色付与されたエリアを抽出する抽出工程と、
を更に有することを特徴とする演算処理方法。
【請求項６】
逐次処理型のプロセッサと画像処理専用のプロセッサとを備えたコンピュータにおいて、１以上の処理対象の立体形状を表現した立体モデルデータに対して所定の演算処理を行う演算処理プログラムであって、当該コンピュータによって実行されたときに、当該コンピュータを、
前記逐次処理型のプロセッサに、前記立体モデルデータをスライス処理して複数のスライス面データを生成させる生成手段、及び、
前記画像処理専用のプロセッサに、前記複数のスライス面データの各々に対して所定の画像処理を行わせる画像処理手段、
として機能させることを特徴とする演算処理プログラム。
【請求項７】
請求項６記載の演算処理プログラムであって、前記コンピュータによって実行されたときに、当該コンピュータを、更に、
前記生成手段により得られた前記複数のスライス面データの各々について、前記１以上の処理対象の各々に異なる色データを付与する色付け手段、及び、
前記複数のスライス面データの各々について、前記色データが複数色付与されたエリアを抽出する抽出手段、
として機能させることを特徴とする演算処理プログラム。
【請求項８】
請求項６又は７記載の演算処理プログラムを記録したことを特徴とするコンピュータ読取可能記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演算処理装置、演算処理方法、及び演算処理プログラム並びに記録媒体に関する。
【背景技術】
【０００２】
従来、１以上の立体形状を表現した立体モデルデータに対して所定の演算処理を行う方法が提案されている。
【０００３】
文献１には、工作物の立体モデルを、デクセル表現し、ボールエンドミルによる切削加工の結果得られる工作物の形状を高速に表示することを狙いとした表示装置が開示されている。デクセル表現とは、Ｚ軸方向に長い棒状の直方体を針山のように配することによって立体モデルを表現する方法である。
【０００４】
特許文献２には、三次元の製品モデルを含む計算領域から複数の断面画像を切り出し、各断面画像を微小立方体のボクセルに分割することによって、製品内部の隙間領域の三次元モデルを高速に生成することを狙いとした画像処理装置が開示されている。
【特許文献１】特開２０００−２３５４０７号公報
【特許文献２】特開２００７−３３４８２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、三次元形状をボクセルで詳細に表現した場合、例えば１ｍ3 の三次元形状を、一辺１０μｍのボクセルで表現しようとした場合、１０００００3 （１ペタ＝１０００テラ）のボクセルを表現するための膨大なデータ量が必要になり、上記三次元形状を用いた解析を現実的に行うことができないという問題があった。
逆に、データ量を減少させるべく、ボクセルのサイズを大きく設定した場合、三次元形状を詳細に表現することができないという問題が生ずる。
【０００６】
なお、特許文献１に係る表示装置においては、工作物の立体モデルをデクセル表現する構成であるため、ボクセル表現に比べて、データ量を抑えることができるが、Ｚ軸方向からの切削についてのみ有効であり、汎用性に乏しいという問題があった。
また、特許文献２に係る画像処理装置においては、隙間領域の三次元モデルをボクセル表現する方法が開示されているのみであり、上述の問題を解決する手段は何ら開示されていない。
【０００７】
本発明は斯かる事情に鑑みてなされたものであり、デクセル表現に比べて汎用性が高く、且つボクセル表現に比べて小さなデータサイズで、三次元で表現された被処理体に対する処理の結果を解析することができる画像処理装置、演算処理方法、演算処理プログラム、及び記録媒体を提供することを主たる目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するための本発明の第一の態様は、１以上の処理対象の立体形状を表現した立体モデルデータに対して所定の演算処理を行う演算処理装置であって、当該立体モデルデータをスライス処理して複数のスライス面データを生成する生成手段と、当該複数のスライス面データの各々に対して所定の画像処理を行う画像処理手段とを有する演算処理装置である。
【０００９】
上記第一の態様に係る演算処理装置は、例えば、上記生成手段により得られた上記複数のスライス面データの各々について、上記１以上の処理対象の各々に異なる色データを付与する色付け手段と、上記複数のスライス面データの各々について、上記色データが複数色付与されたエリアを抽出する抽出手段とを更に有してもよい。
また、上記第一の態様において、上記生成手段が逐次処理型のプロセッサ（例えばＣＰＵなど）により実現され、上記画像処理手段が画像処理専用のプロセッサ（例えばＧＰＵなど）により実現されることが好ましい。
【００１０】
上記第一の態様によれば、立体モデルデータに対して所定の演算処理を行う際に、当該立体モデルデータをスライス処理して複数のスライス面データとすることにより、例えば立体モデルデータを複数のメッシュ又はボクセルとして扱う場合と異なり、スライス処理後のスライス面データに対する処理を画像処理として扱うことができるようになるため、立体モデルデータに対する演算処理の一部を画像処理専用のプロセッサにも分担させることができるようになる。このような画像処理専用のプロセッサの活用により、立体モデルデータに対する演算処理をより高速に実現することができる。また、処理の高速化を実現しつつ、立体モデルデータ全体を対象として取り扱うことができるため、既述の特許文献１に開示された手法と異なり、複雑な形状にも対応可能であり、より高い汎用性を実現することができる。
【００１１】
上記目的を達成するための本発明の第二の態様は、逐次処理型のプロセッサと画像処理専用のプロセッサとを備えたコンピュータにおいて、１以上の処理対象の立体形状を表現した立体モデルデータに対して所定の演算処理を行う演算処理方法であって、上記逐次処理型のプロセッサに、上記立体モデルデータをスライス処理して複数のスライス面データを生成させる生成工程と、上記画像処理専用のプロセッサに、上記複数のスライス面データの各々に対して所定の画像処理を行わせる画像処理工程とを有する演算処理方法である。
【００１２】
上記第二の態様に係る演算処理方法は、例えば、上記生成工程により得られた上記複数のスライス面データの各々について、上記１以上の処理対象の各々に異なる色データを付与する色付け工程と、上記複数のスライス面データの各々について、上記色データが複数色付与されたエリアを抽出する抽出工程とを更に有してもよい。
【００１３】
上記第二の態様によれば、逐次処理型のプロセッサ（例えばＣＰＵなど）と画像処理専用のプロセッサ（例えばＧＰＵなど）とを備えたコンピュータにおいて、立体モデルデータに対して所定の演算処理を行う際に、当該立体モデルデータをスライス処理して複数のスライス面データとすることにより、例えば立体モデルデータを複数のメッシュ又はボクセルとして扱う場合と異なり、スライス処理後のスライス面データに対する処理を画像処理として扱うことができるようになるため、立体モデルデータに対する演算処理の一部を画像処理専用のプロセッサにも分担させることができるようになる。このような画像処理専用のプロセッサの活用により、立体モデルデータに対する演算処理をより高速に実現することができる。また、処理の高速化を実現しつつ、立体モデルデータ全体を対象として取り扱うことができるため、既述の特許文献１に開示された手法と異なり、複雑な形状にも対応可能であり、より高い汎用性を実現することができる。
【００１４】
上記目的を達成するための本発明の第三の態様は、逐次処理型のプロセッサと画像処理専用のプロセッサとを備えたコンピュータにおいて、１以上の処理対象の立体形状を表現した立体モデルデータに対して所定の演算処理を行う演算処理プログラムであって、当該コンピュータによって実行されたときに、当該コンピュータを、上記逐次処理型のプロセッサに、上記立体モデルデータをスライス処理して複数のスライス面データを生成させる生成手段、及び、上記画像処理専用のプロセッサに、上記複数のスライス面データの各々に対して所定の画像処理を行わせる画像処理手段、として機能させる演算処理プログラムである。
【００１５】
上記第三の態様に係る演算処理プログラムは、上記コンピュータによって実行されたときに、当該コンピュータを、更に、上記生成手段により得られた上記複数のスライス面データの各々について、上記１以上の処理対象の各々に異なる色データを付与する色付け手段、及び、上記複数のスライス面データの各々について、上記色データが複数色付与されたエリアを抽出する抽出手段、として機能させてもよい。
【００１６】
上記第三の態様によれば、逐次処理型のプロセッサ（例えばＣＰＵなど）と画像処理専用のプロセッサ（例えばＧＰＵなど）とを備えたコンピュータにおいて、立体モデルデータに対して所定の演算処理を行う際に、当該立体モデルデータをスライス処理して複数のスライス面データとすることにより、例えば立体モデルデータを複数のメッシュ又はボクセルとして扱う場合と異なり、スライス処理後のスライス面データに対する処理を画像処理として扱うことができるようになるため、立体モデルデータに対する演算処理の一部を画像処理専用のプロセッサにも分担させることができるようになる。このような画像処理専用のプロセッサの活用により、立体モデルデータに対する演算処理をより高速に実現することができる。また、処理の高速化を実現しつつ、立体モデルデータ全体を対象として取り扱うことができるため、既述の特許文献１に開示された手法と異なり、複雑な形状にも対応可能であり、より高い汎用性を実現することができる。
【００１７】
上記目的を達成するための本発明の第四の態様は、上記第三の態様に係る演算処理プログラムを記録したコンピュータ読取可能記録媒体である。
【発明の効果】
【００１８】
本発明によれば、デクセル表現に比べて汎用性が高く、且つボクセル表現に比べて小さなデータサイズで、三次元で表現された被処理体に対する処理の結果を解析することができる。
【発明を実施するための最良の形態】
【００１９】
以下、添付図面を参照して、本発明の一実施形態について詳述する。
図１は、本実施形態に係る演算処理装置の構成を模式的に示すブロック図である。本実施形態に係る演算処理装置は、バスＢで接続されたサーバ装置１及び画像処理装置２を備える。なお、サーバ装置１及び画像処理装置２の接続方法はバスＢを用いた方法に限定されないことは言うまでもなく、少なくとも情報を送受信できるように接続可能な有線又は無線の通信手段を備える構成であれば良い。
【００２０】
サーバ装置１は、サーバ装置１全体を制御する第１制御部１１を備えたコンピュータである。第１制御部１１は、シーケンシャルに情報を処理する逐次処理型のプロセッサであり、例えばＣＰＵ（Central Processing Unit）などである。第１制御部１１には、サーバ装置１の基本的動作に必要な制御プログラムを記憶したＲＯＭ（Read-Only Memory)１２、演算に伴って発生する一時的な情報を記憶するＲＡＭ（Random Access Memory）１３、本実施形態に係る演算処理プログラム３１を記録した記録媒体３、例えばＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）から演算処理プログラム３１を読み取る外部記憶装置１４、外部記憶装置１４により読み取った演算処理プログラム３１を記録する内部記憶装置（例えばハードディスクなど）１５が接続されている。第１制御部１１は、内部記憶装置１５から演算処理プログラム３１をＲＡＭ１３に読み出して各種演算処理を実行することによって、本実施形態に係る演算処理方法を実施する。なお、演算処理プログラム３１は、サーバ装置１の第１制御部１１の動作に必要なプログラムと、画像処理装置２に所定の画像処理を実行させるためのＧＰＵ（Graphics Processing Unit）プログラムとを含む。また、サーバ装置１は、クライアント装置４との間で通信網Ｃ１を介して各種データ及び情報を送受信するための第１通信部１６、バスＢを介して画像処理装置２とバス接続するためのインターフェース（Interface；以下「ＩＦ」と略す）部１７、ファイルサーバ装置５との間で通信網Ｃ２を介して各種データを送受信するための第２通信部１８を備える。
なお、外部記憶装置１４及び内部記憶装置１５は本実施形態の必須の構成要件では無い。演算処理プログラム３１は、ファイルサーバ装置５、その他の記憶手段に格納することも可能である。
【００２１】
クライアント装置４は、クライアント装置４全体を制御するＣＰＵ（図示せず）を備えたコンピュータであり、サーバ装置１と同様、ＲＯＭ、ＲＡＭ、各種記憶装置を備える（いずれも図示せず）。また、クライアント装置４は、例えばキーボードやマウスなどの入力装置、例えば液晶ディスプレイやＣＲＴ（Cathode Ray Tube）ディスプレイなどの出力装置、及び、通信部を備えており（いずれも図示せず）、上記通信部は、通信網Ｃ１を介してサーバ装置１に接続されている。
ユーザは、上記入力装置を操作することによって、画像処理に係る指示をクライアント装置４に与えることができ、クライアント装置４は、上記入力装置にて入力された指示内容を示す演算処理指示データを上記通信部を介してサーバ装置１へ送信するように構成されている。また、クライアント装置４は、サーバ装置１から送信された各種データを上記通信部にて受信し、受信したデータの内容を上記出力装置によって出力する。
【００２２】
ファイルサーバ装置５は、サーバ装置１と同様のハードウェア構成であり（図示せず）、ファイルサーバ機能を備えている。ファイルサーバ装置５は、後に詳述する画像処理に必要なデータを記憶している。当該画像処理に必要なデータとは、例えば、被処理体の立体形状をベクタ表現した立体モデルデータである被処理体モデルデータ、該被処理体の各部に対する処理内容を図形要素で表現した処理内容データ（被処理体の一例）などである。ファイルサーバ装置５は、サーバ装置１からの要求に応じてこれらの画像処理に必要なデータを通信網Ｃ２を介してサーバ装置１へ送信し、またサーバ装置１から送信されたデータを書き込む処理を行う。また、ファイルサーバ装置５は、画像処理の結果である後述の合成結果データを記憶する。
【００２３】
画像処理装置２は、ビット単位で情報を処理する画像処理専用のプロセッサ（例えば、ＧＰＵなど）であり、画像処理装置２全体を制御する第２制御部２１を備える。第２制御部２１には、複数の演算部２２、サーバ装置１とバス接続するためのインターフェース（以下「ＩＦ」と略す）部２３、演算に伴って発生する一時的な情報を記憶するＲＡＭ２４が接続されている。なお、演算部２２は１つでもよいが、後述の分散処理の点から数が多いほど演算処理が高速化されるため好ましい。
【００２４】
図２及び図３は、第１制御部１１及び第２制御部２１による処理の流れを示す一連のフローチャートである。第１制御部１１は、ＧＰＵプログラムを読み出し、読み出したＧＰＵプログラムを画像処理装置２へ送信する（ステップＳ１１）。具体的には、第１制御部１１は、ＧＰＵプログラムを外部記憶装置１４又はファイルサーバ装置５から一旦ＲＯＭ１２に格納し、次いでＲＯＭ１２からＧＰＵプログラムを画像処理装置２へ送信する。画像処理装置２の第２制御部２１は、サーバ装置１から送信されたＧＰＵプログラムを受信し、受信したＧＰＵプログラムをＲＡＭ２４に記憶させる（ステップＳ１２）。
【００２５】
次いで、サーバ装置１の第１制御部１１は、クライアント装置４から送信された演算処理指示データを受信し、受信した演算処理指示データをＲＡＭ１３に記憶させる（ステップＳ１３）。演算処理指示データには、処理対象の被処理体モデルデータ、及び処理内容データを指定する情報が含まれている。
【００２６】
そして、第１制御部１１は、演算処理指示データによって指定された被処理体モデルデータ及び処理内容データをファイルサーバ装置５から読み出す（ステップＳ１４）。読み出された被処理体モデルデータ及び処理内容データは、データ形式に応じた方法でＲＡＭ１３に展開される。
【００２７】
図４は、被処理体モデルデータ及び処理内容データを概念的に示す説明図である。図４（ａ）は、被処理体モデルデータ６によって表現された被処理体の三次元形状を示している。Ｘ軸、Ｙ軸、Ｚ軸は三次元空間の直行座標系を規定している。被処理体は、例えば切削加工される被加工物である。図４（ｂ）は、処理内容データ７によって表現された処理内容を示す三次元形状を示している。
【００２８】
図２及び３の説明に戻る。ステップＳ１４において、被処理体モデルデータ及び処理内容データがファイルサーバ装置５から読み出されると、次いで、第１制御部１１は、展開した被処理体モデルデータに基づいて、被処理体を所定の一軸（ここでは一例としてＺ軸）方向、所定幅でスライスした場合の層数を算出する（ステップＳ１５）。そして、第１制御部１１は、被処理体モデルデータに対して、スライス処理を実行する（ステップＳ１６）。
【００２９】
図５は、スライス処理の方法を概念的に示す説明図である。図５（ａ）は、被処理体モデルデータ６によって表現された被処理体をＸ軸方向から見た側面図である。Ｚ軸に略垂直な複数の直線は、各々がＸＹ平面に略平行な複数の平面であって、これら平面で被処理体をスライスした状態を示している。同様に、図５（ｂ）は、処理内容データ７によって表現された処理内容をＸ軸方向から見た側面図であり、図５（ａ）の場合と同じ複数の平面でスライスされた状態を示している。ステップ１６では、ある高さにおける一の平面でスライスされた被処理体のスライス面が生成される。また、後述するようにステップＳ１６の処理を繰り返し実行することによって、各平面高さでスライスされたスライス面が生成される。
【００３０】
そして、第１制御部１１は、スライス面に現れた形状を一又は複数の三角形に分割し（ステップＳ１７）、各三角形に対して、スライスされた立体形状毎に異なる色を付与する（ステップＳ１８）。本実施形態では、被処理体のスライス面を分割して成る三角形部分と、処理内容のスライス面を分割して成る三角形部分とに異なる色を付与する。以上のステップＳ１６〜１８の処理によって、被処理体スライスデータ及び処理内容スライスデータが生成される。
【００３１】
図６は、被処理体断層データ及び処理内容スライスデータを概念的に示す説明図である。図６（ａ）は、あるＺ軸高さで被処理体をスライスし、色を付与することによって得られたスライス面を表現した被処理体スライス画像データ６１の概念図であり、図６（ｂ）は、当該Ｚ軸高さで処理内容をスライスし、色を付与することによって得られた断層形状を表現した処理内容スライス画像データ７１の概念図である。なお、図６（ａ）、（ｂ）では、ハッチングの向き及び幅が異なる部分は異なる色が付与されていることを示している。
【００３２】
図７は、三角形分割及び色付与の処理方法を概念的に示す説明図である。図７（ａ）は、被処理体を表現するための図形要素の一例を示している。被処理体モデルデータは、例えばバイナリ形式のＳＴＬ（Standard Triangulated Language）ファイルであり、三角形の図形要素で表現される。図７（ａ）に示す太線は被処理体をスライスする平面と、一の図形要素との交線を示している。他の図形要素についても、スライスする平面と交わる部分で交線が独立して存在する。図７（ｂ）は、図形要素毎に存在する交線をつなぎ合わせた状態を示す概念図である。各交線は方向を有しており、一の交線の終点に他の交線の始点がつながるようにする。そして、Ｙ方向又はＸ方向に昇順又は降順に、各交線の終点座標を並べたものと、始点座標とを並べたもとを対応させて接続していくと、図７（ｂ）に示すような多角形が得られる。図７（ｃ）は、閉じた多角形を複数の三角形に分割し、上記三角形に色を付与した状態を示している。
【００３３】
次いで、第１制御部１１は、生成された被処理体スライスデータ及び処理内容スライスデータを画像処理装置２へ送信する（ステップＳ１９）。画像処理装置２の第２制御部２１は、サーバ装置１から送信された被処理体スライスデータ及び処理内容スライスデータを受信し、受信した被処理体スライスデータ及び処理内容スライスデータをＲＡＭ２４に記憶させる（ステップＳ２０）。
【００３４】
ステップＳ２０の処理を終えたサーバ装置１の第１制御部１１は、ラスタライズ処理を指示するためのラスタライズ処理指示データを画像処理装置２へ送信する（ステップＳ２１）。
【００３５】
図８は、ラスタライズ処理及び合成処理の処理方法を概念的に示す説明図である。画像処理装置２の第２制御部２１は、サーバ装置１から送信されたラスタライズ処理指示データを受信した場合、図８に示すように、ＲＡＭ２４が記憶している被処理体スライスデータ６１及び処理内容スライスデータ６２に対するラスタライズ処理を実行する（ステップＳ２２）。より詳細には、第２制御部２１は、ラスタライズプログラムを一又は複数の演算部２２に書き込み、演算部２２にラスタライズ処理を指示する。演算部２２は、ＲＡＭが記憶している被処理体スライスデータ６１及び処理内容スライスデータ７１を構成する三角形要素データを読み込み、上記三角形要素データで表現される三角形を画素でラスタ表現し、上記ラスタ表現によって得られる画像データをＲＡＭ２４に書き込む。以上の処理によって、図８に示すように被処理体スライスデータ６１によってベクタ表現されていたスライス面を、複数の画素によってラスタ表現された被処理体スライス画像データ６２に変換することができる。同様に、処理内容スライスデータ７１によってベクタ表現されていたスライス面を、複数の画素によってラスタ表現された処理内容スライス画像データ７２に変換される。
【００３６】
次いで、サーバ装置１の第１制御部１１は、被処理体スライス画像データ６２及び処理内容スライス画像データ７２の合成を指示するための合成指示データを画像処理装置２へ送信する（ステップＳ２３）。画像処理装置２の第２制御部２１は、合成指示データを受信した場合、図８に示すように被処理体スライス画像データ６２で表現される画像と、処理内容スライス画像データ７２で表現される画像とを合成する。合成処理の結果、合成スライス画像データ８１が得られる。より詳細には、第２制御部２１は、合成処理に必要な演算処理プログラム３１部分をＲＡＭ２４から一又は複数の演算部２２へ読み出させ、各演算部２２に所定の画像合成処理を実行させる。
【００３７】
なお、合成方法は特に限定されず、任意の方法でよい。例えば、被処理体スライス画像データで表現される画像に、処理内容スライス画像データで表現される画像を上書きするように合成してもよく、或いは、対応する各画素の階調を示すデータのビット和演算によって合成してもよい。
【００３８】
次いで、サーバ装置１の第１制御部１１は、合成処理を終了したか否かを画像処理装置２に問い合わせることによって、合成処理を終了したか否かを判定する（ステップＳ２５）。合成処理を終了していないと判定した場合（ステップＳ２５：ＮＯ）、第１制御部１１は、合成処理が終了するまで待機する。合成処理を終了したと判定した場合（ステップＳ２５：ＹＥＳ）、第１制御部１１は、ステップＳ２４の合成処理によって得られた結果を示す合成結果データの送信を画像処理装置２へ要求する（ステップＳ２６）。画像処理装置２の第２制御部２１は、合成結果データの送信の要求を受けた場合、合成結果データをサーバ装置１へ送信する（ステップＳ２７）。
【００３９】
そして、サーバ装置１の第１制御部１１は、画像処理装置２から送信された合成結果データを受信し（ステップＳ２８）、受信した合成結果データに基づいて、処理結果を解析し、解析結果をＲＡＭ１３に記憶させる（ステップＳ２９）。合成結果データは、例えば、図８右端に示した合成スライス画像データ８１の全部又は一部、被処理体の断層画像と処理内容の断層画像とが重複している画素数などである。
【００４０】
次いで、第１制御部１１は、ファイルサーバ装置５内のファイルを開き、合成結果データをファイルサーバ装置５に書き込む（ステップＳ３０）。次いで、第１制御部１１は、未処理層があるか否かを判定する（ステップＳ３１）。未処理層があると判定した場合（ステップＳ３１：ＹＥＳ）、第１制御部１１は、処理をステップＳ１６へ戻す。未処理層が無いと判定した場合（ステップＳ３１：ＮＯ）、第１制御部１１は、ステップＳ２９で解析し、ＲＡＭ１３に記憶させた解析結果を統合し（ステップＳ３２）、統合して得られた解析結果をクライアント装置４へ送信する（ステップＳ３３）。解析結果の統合処理では、例えば、被処理体と、処理内容を示す立体形状とが重複している画素数などを算出する。そして、第１制御部１１は、ファイルサーバ装置５で合成結果データを書き込んだファイルを閉じる書き込み終了処理を実行し（ステップＳ３４）、本実施形態に係る演算処理を終える。
なお、本実施形態では、一例として、合成後に、未処理層が存在するか否かを判定し（Ｓ３１）、未処理層が存在する場合（ステップＳ３１：ＹＥＳ）、次の層をスライスする（ステップＳ１６）といった処理手順を説明したが、画像処理装置２による画像処理とサーバ装置１側の第１制御部１１による、後続の未処理層のスライス処理とを並行して行わせても良い。
【００４１】
このように構成された演算処理装置、演算処理方法、演算処理プログラム３１及び記録媒体３によれば、立体形状を、ラスタ表現された断層画像によって積層データとして取り扱うことで、三次元で表現された被処理体に対する処理の結果を解析するように構成されている。デクセル表現を採用した場合、例えばＺ軸方向に長い立方体を針山のように配して三次元形状を表現しているため、Ｚ軸方向において途中に間欠が生ずるような三次元形状を処理することができないが、本実施形態によれば、Ｚ軸に略垂直な平面でスライスした断層画像に対して画像処理を実行する構成であるため、Ｚ軸方向において途中に間欠が生ずるような三次元形状を処理することも可能であり、デクセル表現に比べて汎用性を向上させることができる。
また、ラスタ表現された各断層画像に対して逐次画像処理を実行し、各画像処理の結果を統合する構成であるため、本実施形態の処理は、実質的にはボクセル表現された立体形状に対して上述の画像処理を実行する処理と等価である。従って、本実施形態によれば、立体形状をボクセル表現する場合と同等の汎用性を得ることができる。
【００４２】
また、直接的には二次元の断層画像に対する画像処理を行い、上記画像処理の結果を積層することによって、三次元で表現された被処理体に対する処理の結果を解析するように構成してあるため、被処理体及び処理内容をラスタ表現するためのデータサイズをボクセル表現に比べて小さくし、三次元で表現された被処理体に対する処理の結果を解析することができる。データサイズが小さくなった場合、ユーザは、大容量のメモリを用意する必要が無くなる。またデータの読み出し及び送受信に要する処理時間を短縮することによって、より速やかに処理結果を確認することができる。
【００４３】
また、サーバ装置１側で断層を生成し、画像処理装置２側でスライスデータのラスタライズ、合成処理などを実行する並列処理を行っているため、サーバ装置１単体で上述の処理を実行する場合に比べて、３次元の問題をより速やかに解析することができる。詳細には、逐次処理型のプロセッサである第１制御部１１にはスライス処理を実行させ、画像処理専用のプロセッサである画像処理装置２に画像処理を実行させることができるようにスライス面に色を付けて画像処理により解析及び分析できるようにして、それぞれの得意な処理に特化させることによって、単なる並列処理よりも高速化及び高汎用性を得ることができる。
【００４４】
更に、被処理体モデルデータをスライスした断層を積層することによって３次元の被処理体を表現する構成であるため、有限要素法のように、メッシュを作成する必要が無く、メッシュ作成の経験が浅い技術者であっても、簡易に三次元で表現された被処理体に対する処理の結果を解析することができる。
【００４５】
以上、本発明の一実施形態について説明した。次いで、三次元形状を持つ被処理体の立体モデルデータに対して具体的な解析・分析を行う際に、上記一実施形態が実際にはどのように適用されるのかについて、実施例を２つ挙げて説明する。
【実施例１】
【００４６】
以下、図９〜３０を参照して、上記一実施形態の一実施例（実施例１）に係る処理について説明する。本実施例は、上記一実施形態に係るシステム／方法を加工シミュレーション（特に、被加工物であるワークに対して切削加工する場合についてのシミュレーション）に適用した場合の具体例である。
図９乃至図１２は、本実施例に係る第１制御部１１及び第２制御部２１による処理の流れを示すフローチャートである。第１制御部１１は、ＧＰＵプログラムを内部記憶装置１５から読み出し、読み出したＧＰＵプログラムを画像処理装置２へ送信する（ステップＳ５１）。画像処理装置２の第２制御部２１は、サーバ装置１から送信されたＧＰＵプログラムを受信し、受信したＧＰＵプログラムをＲＡＭ２４に記憶させる（ステップＳ５２）。
【００４７】
次いで、サーバ装置１の第１制御部１１は、クライアント装置４から送信された演算処理指示データを受信し、受信した演算処理指示データをＲＡＭ１３に記憶させる（ステップＳ５３）。演算処理指示データには、処理対象の被処理体モデルデータ、処理内容データ、切削加工によって生成しようとしている三次元形状を表現した目標立体モデルデータを指定する情報、立体形状を断層で表現する場合における各層間の幅を示す幅情報などが含まれている。
【００４８】
そして、第１制御部１１は、演算処理指示データによって指定された被処理体モデルデータ、処理内容データ及び目標立体モデルデータをファイルサーバ装置５から読み出す（ステップＳ５４）。読み出された被処理体モデルデータ、処理内容データ及び目標立体モデルデータは、データ形式に応じた方法でＲＡＭ１３に展開される。
【００４９】
処理内容データは、被処理体に対する処理、例えば切削を行うボールエンドミルの立体形状を複数の基本形状要素（プリミティブ）で表現した工具データと、上記立体形状の動作を規定する工具パスデータとを含む。
【００５０】
図１３は、処理内容データとしての工具データを概念的に示す説明図である。工具データは、複数の基本形状要素、例えば球、円柱、円錐、トーラス面の集合によって表現される。例えば、ボールエンドミルを表現した工具データは、ボールエンドミルの先端部に相当するカッターを球１０７ａ、及び球１０７ａと径が同じ円柱１０７ｂで表現している。なお、球１０７ａの円柱１０７ｂ側半球部分と、円柱１０７ｂとは重ね合わされているため、球１０７ａの半球部分だけが図示されている。また、工具データは、シャンクを、カッターと同径の円柱１０７ｃ、及び円錐１０７ｄで表現し、ホルダを、シャンクよりも大径の偏平な円柱１０７ｅで表現している。なお、工具データは、例えば一例としてテキスト形式のファイルであり、工具を表現する複数の基本形状要素夫々に、例えばカッターやシャンクなどの要素を指定する要素種別と、例えば球や円柱といった形状を指定する形状種別と、形状種別に応じた各種パラメータとを含む。
【００５１】
工具パスデータは、単位時間当たりの工具の経路を示す情報であり、工具先端の座標値と、工具の速度と、工具軸ベクトルとで構成される。なお、工具パスデータは、例えば加工シミュレータシステムで使用されるＮＣ（Numerical Control）ファイルを解読し、上記一実施形態で必要な工具の動作を抽出及び簡素化して生成すると良い。また、言うまでもなく、工具パスデータは、工具の位置と速度とを規定できる情報であればその工具パスデータの生成方法、フォーマットなどは特に限定されない。ある単位時間における工具パスデータと、工具データとで、一の処理内容データが特定される。
【００５２】
図１４は、被処理体モデルデータ、目標立体モデルデータ、処理内容データを概念的に示す説明図である。図１４（ａ）は、被処理体モデルデータ６によって表現された被処理体の三次元形状を示している。図１４（ｂ）は、目標立体モデルデータ９によって表現された目標形状、即ち切削加工によって生成しようとしている三次元形状を示している。図１４（ｃ）は、単位時間の工具パスに対応した一の処理内容データ１０７によって表現された処理内容の三次元形状、例えば被処理体を切削する工具を示している。
【００５３】
ステップＳ５４の処理を終えた第１制御部１１は、ステップＳ５４で読み出された被処理体モデルデータが立体モデル形式であるか否かを判定する（ステップＳ５５）。立体モデル形式であると判定した場合（ステップＳ５５：ＹＥＳ）、第１制御部１１は、ＲＡＭ１３が記憶している各層の幅情報と、被処理体モデルデータとに基づいて、被処理体をスライスした場合に生ずる層数を算出する（ステップＳ５７）。
【００５４】
ステップＳ５５で立体モデル形式では無いと判定した場合（ステップＳ５５：ＮＯ）、第１制御部１１は、被処理体モデルデータがコンターモデルであるか否かを判定する（ステップＳ５８）。コンターモデルであると判定した場合（ステップＳ５８：ＹＥＳ）、第１制御部１１は、被処理体モデルデータに含まれる層数を読み出す（ステップＳ５９）。ステップＳ５８でコンターモデルでないと判定した場合（ステップＳ５８：ＮＯ）、第１制御部１１は、被処理体モデルデータが積層画像モデルデータであるか否かを判定する（ステップＳ６０）。積層画像モデル形式とは、ラスタ表現された断層画像を積層して立体モデルを表現する形式である。積層画像モデルデータであると判定した場合（ステップＳ６０：ＹＥＳ）、第１制御部１１は、被処理体モデルデータに含まれる層数を読み出す（ステップＳ６１）。
【００５５】
ステップＳ５７，５９又は６１の処理を終えた場合、又はステップＳ６０で積層画像モデルデータで無いと判定した場合（ステップＳ６０：ＮＯ）、第１制御部１１は、処理対象に立体モデル形式が含まれているか否かを判定する（ステップＳ６２）。立体モデル形式のデータが含まれていると判定した場合（ステップＳ６２：ＹＥＳ）、第１制御部１１は、立体モデル形式である被処理体モデルデータ、処理内容データ又は目標立体モデルに対して、スライス処理を実行する（ステップＳ６３）。
【００５６】
図１５は、実施例１におけるスライス処理の方法を概念的に示す説明図である。図１５（ａ）は、被処理体モデルデータ６によって表現された被処理体をＸ軸方向から見た側面図である。Ｚ軸に略垂直な複数の直線は、ＸＹ平面に平行な平面であって、上記平面で被処理体をスライスした状態を示している。同様に、図１５（ｂ）は、目標立体モデルデータ９によって表現された処理内容をＸ軸方向から見た側面図であり、上記平面でスライスされた状態を示している。図１５（ｃ）は、被処理体モデルデータ１０７によって表現された処理内容をＸ軸方向から見た側面図であり、上記平面でスライスされた状態を示している。ステップ１６では、一の平面でスライスされた一組のスライス面、即ち被処理体のスライス面と、処理内容のスライス面が生成される。
【００５７】
ステップＳ６２で処理対象に立体モデル形式のデータが含まれていないと判定した場合（ステップＳ６２：ＮＯ）、第１制御部１１は、処理対象にコンターモデル形式のデータが含まれるか否かを判定する（ステップＳ６４）。コンターモデルのデータが含まれると判定した場合（ステップＳ６４：ＹＥＳ）、第１制御部１１は、コンターモデルである被処理体モデルデータ、処理内容データ又は目標立体モデルデータから処理対象の断層を抽出する（ステップＳ６５）。
【００５８】
ステップＳ６３又はステップＳ６５の処理を終えた場合、第１制御部１１は、スライス面に現れた形状を一又は複数の三角形に分割し（ステップＳ６６）、各三角形に対して、スライスされた立体形状毎に異なる色を付与する（ステップＳ６７）。例えば、被処理体の断層画像には、（１０００００・・・０）のビット列で表される色を付与する（図２１参照）。また、目標立体形状の断層画像には（０１００００・・・０）のビット列で表される色を付与する。更に、工具動作１〜ｎの断層画像には（００１０００・・・０）、（０００１００・・・０）、・・・、（００００００・・・１）のビット列で表される色を付与する。
【００５９】
図１６は、実施例１における被処理体スライスデータ６１、目標スライスデータ９１、及び処理内容スライスデータ１７１を概念的に示す説明図である。図１６（ａ）は、一の平面で被処理体をスライスし、色付与することによって得られたスライス面を表現した被処理体スライス画像データ６１の概念図であり、図１６（ｂ）は、上記一の平面で目標立体形状をスライスし、色を付与することによって得られたスライス面を表現した目標スライスデータ９１の概念図である。図１６（ｃ）は、上記一の平面で、単位時間における一の処理内容をスライスし、色付与することによって得られたスライス面を表現した処理内容スライス画像データ１７１の概念図である。つまり、単位時間で移動する工具によって切削されるであろうＸＹ平面領域を表現している。
【００６０】
ステップＳ６７の処理を終えた場合、第１制御部１１は、生成された被処理体スライスデータ、処理内容スライスデータ又は目標スライスデータを画像処理装置２へ送信する（ステップＳ６８）。画像処理装置２の第２制御部２１は、サーバ装置１から送信された被処理体スライスデータ、処理内容スライスデータ又は目標スライスデータを受信し、受信した被処理体スライスデータ、処理内容スライスデータ又は目標スライスデータをＲＡＭ２４に記憶させる（ステップＳ６９）。
【００６１】
次いで、サーバ装置１の第１制御部１１は、ラスタライズ処理を指示するためのラスタライズ処理指示データを画像処理装置２へ送信する（ステップＳ７０）。
【００６２】
図１７は、処理体スライスデータ及び目標スライスデータに係るラスタライズ処理及び合成処理の処理方法を概念的に示す説明図、図１８乃至図２０は、実施例１におけるラスタライズ処理及び合成処理の処理方法を概念的に示す説明図である。画像処理装置２の第２制御部２１は、サーバ装置１から送信されたラスタライズ処理指示データを受信した場合、図１７又は図１８に示すように、ＲＡＭ２４が記憶している被処理体スライスデータ６１、処理内容スライスデータ１７１又は目標スライスデータ９１に対するラスタライズ処理を実行する（ステップＳ７１）。ラスタライズ処理によって、被処理体スライスデータ６１をラスタ表現に変換した被処理体スライス画像データ６２、処理内容スライスデータ１７１をラスタ表現に変換した処理内容スライス画像データ１７２、及び目標スライスデータ９１をラスタ表現に変換した目標スライス画像データ９２が得られる。
【００６３】
次いで、サーバ装置１の第１制御部１１は、処理対象に積層画像モデル形式のデータ、特に積層画像モデル形式の被処理体モデルデータが含まれているか否かを判定する（ステップＳ７２）。積層画像モデル形式の被処理体モデルデータが含まれていると判定した場合（ステップＳ７２：ＹＥＳ）、第１制御部１１は、二次圧縮された被処理体スライス画像データを、被処理体モデルデータから抽出する（ステップＳ７３）。そして、第１制御部１１は、被処理体スライス画像データを二次解凍する（ステップＳ７４）。二次解凍された被処理体スライス画像データは、一次圧縮された被処理体スライス画像データとなる。そして、第１制御部１１は、一次圧縮された被処理体スライス画像データを画像処理装置２へ送信する（ステップＳ７５）。一次圧縮及び二次圧縮の詳細は後述する。
【００６４】
画像処理装置２の第１制御部１１は、一次圧縮された被処理体スライス画像データを受信し、受信した被処理体スライス画像データをＲＡＭ２４に記憶させる（ステップＳ７６）。次いで、サーバ装置１の第２制御部２１は、被処理体スライス画像データの一次解凍を指示するための一次解凍指示データを画像処理装置２へ送信する（ステップＳ７７）。一次解凍指示データを受信した画像処理装置２の第２制御部２１は、被処理体スライス画像データを一次解凍する（ステップＳ７８）。
【００６５】
ステップＳ７８の処理を終えた場合、又はステップＳ７２で処理対象が積層画像モデルであると判定した場合（ステップＳ７２：ＮＯ）、第１制御部１１は、１回の画像処理に必要な断層の生成を終了したか否か、つまり、注目している断層における被処理体スライス画像データ、処理内容スライスデータ及び目標スライス画像データが用意されたか否かを判定する（ステップＳ７９）。画像処理に必要な断層の生成を終了していないと判定した場合（ステップＳ７９：ＮＯ）、第１制御部１１は、処理をステップＳ６２へ戻す。
【００６６】
画像処理に必要な断層の生成を終了したと判定した場合（ステップＳ７９：ＹＥＳ）、第１制御部１１は、被処理体スライス画像データ、処理内容スライス画像データ及び目標スライス画像データの合成を指示するための合成指示データを画像処理装置２へ送信する（ステップＳ８０）。画像処理装置２の第２制御部２１は、合成指示データを受信した場合、被処理体スライス画像データ、処理内容スライス画像データ、及び目標スライス画像データ夫々で表現される画像を合成する。より具体的には、図１７に示すように、被処理体スライス画像データ６２に、目標スライス画像データ９２を上書きし、合成スライス画像データ１８１を得る。更に、図１８に示すように、合成スライス画像データ１８１に対して、処理内容スライス画像データ１７２をビット和演算によって合成する。上記ビット和演算によって、合成スライス画像データ１８２が生成される。また、図１９（ａ）〜（ｃ）に示すように異なる単位時間における処理内容スライス画像データも順にビット和演算によって合成することで、図２０に示すような合成断層画像が得られる。なお、作図の便宜上、図１９及び図２０ではハッチングを付与していないが、被処理体の断面画像、目標断面画像、異なる単位時間における各処理内容断層画像に対しては異なる色が付与されている。
【００６７】
図２１は、合成スライス画像データで表現される画像の色が有する意味を説明するための説明図である。図２１（ａ）は、図１８に示す合成スライス画像データ１８１の各画素が有する３種類の色情報を示している。画素は、ｎ＋２ビット、例えば３２ビットの色情報を有しており、背景部分は、全ビットが０である。被処理体部分は、先頭２ビットが「１０」で、他のビットはすべて０、目標立体形状部分は、先頭２ビットが「０１」で、他のビットはすべて０である。
図２１（ｂ）は、図１８に示す処理内容断面画像データ１７２などの各画素が有するｎ＋１種類の色情報を示している。背景部分は、全ビットが０である。工具動作断面１は、先頭３ビット目に１を設定し、工具動作断面２は、先頭４ビット目に１が設定されている。工具動作断面１，２，・・・，ｎは、異なる単位時間における工具の動作断面を示している。以下同様にして、工具動作断面毎に異なるビット位置に１が設定され、工具動作断面ｎには、先頭ｎビット目に１が設定される。
図２１（ｃ）は、図１８に示す合成スライス画像データの各画素が有する色情報を示している。背景部分、被処理体部分、目標立体形状部分については、図２１（ａ）と同様である。各部分に工具動作断面１〜ｎのいずれかがビット和演算によって合成された場合、先頭２ビットは、背景を除き、いずれかが１、即ち「１０」、「０１」となる。また、非先頭のｎビットは、いずれか一つが１になる。
なお図２１に示した画像の色が有する意味の定義は一例であり、これに限定されるものではない。
【００６８】
次いで、サーバ装置１の第１制御部１１は、合成処理を終了したか否かを画像処理装置２に問い合わせることによって、合成処理を終了したか否かを判定する（ステップＳ８２）。合成処理を終了していないと判定した場合（ステップＳ８２：ＮＯ）、第１制御部１１は、合成処理が終了するまで、ステップＳ８２の処理を繰り返し実行し、待機する。合成処理を終了したと判定した場合（ステップＳ８２：ＹＥＳ）、第１制御部１１は、一次圧縮を指示するための一次圧縮指示データを画像処理装置２へ送信する（ステップＳ８３）。一次圧縮指示データを受信した画像処理装置２の第２制御部２１は、被処理体スライス画像データを一次圧縮する（ステップＳ８４）。
【００６９】
図２２は、一次圧縮方法を概念的に示す説明図である。上記一実施形態では８１９２×８１９２画素の画像データを一次圧縮する場合を説明する。まず、図２２（ａ）に示すように、８１９２×８１９２画素の画像データ（以下、８１９２×８１９２画像という）を３２×３２画素の画像領域（以下、３２×３２画像という）に区分する。このように区分された３２×３２画像は２５６×２５６個になるため、各３２×３２画像を２５６×２５６画素のマップ画像によって管理する。マップ画像の左上の画素は、８１９２×８１９２画像の左上に位置する３２×３２画像に対応する。同様にして、マップ画像の左上から右方向に配列する画素夫々は、８１９２×８１９２画像の左上から右方向に配列する各３２×３２画像に対応し、マップ画像の右下の画素が、８１９２×８１９２画像の右下に位置する３２×３２画像に対応する。マップ画像は、対応する３２×３２画像に色情報を有する画素が存在する場合、つまり背景以外の断層画像が一部に存在する場合、１が設定され、色情報を有する画素が存在しない場合０が設定される。そして、１が設定された３２×３２画像は、図２２（ｂ）に示すように、１０２４×１０２４画素の画像（以下、１０２４×１０２４画像という）の１ラインに配列される。色情報を有する３２×３２画像が１０２４個以上ある場合、１０２４×１０２４画像は、複数枚生成される。以上のように、８１９２×８１９２画像は、２５６×２５６画素のマップ画像と、一又は複数枚の１０２４×１０２４画像とに圧縮される。
一次解凍処理では、２５６×２５６画素のマップ画像を参照し、０が設定される画素に対応する３２×３２画像の画素にはすべて０を設定し、１が設定されている画素に対応する３２×３２画像には、１０２４×１０２４画像から対応する色情報を抽出して展開することにより、８１９２×８１９２画像を復元する処理を行う。
【００７０】
次いで、サーバ装置１の第１制御部１１は、合成処理によって得られた結果を示す合成結果データの送信を画像処理装置２へ要求する（ステップＳ８５）。画像処理装置２の第２制御部２１は、合成結果データの送信の要求を受けた場合、合成結果データをサーバ装置１へ送信する（ステップＳ８６）。
【００７１】
そして、サーバ装置１の第１制御部１１は、画像処理装置２から送信された合成結果データを受信し（ステップＳ８７）、受信した合成結果データに基づいて、処理結果を解析し、解析結果をＲＡＭ１３に記憶させる（ステップＳ８８）。合成結果データは、例えば、被処理体断層画像と、処理内容断層画像とが重複している画素の数、目標断面画像と、処理内容断面画像とが重複している画素の数などを含む。また、合成断面画像データの全部又は一部を合成結果データに含めても良い。
【００７２】
図２３は、被処理体の切削による工具負荷を解析する方法を概念的に示す説明図である。工具動作断面１に係る工具負荷は、図２３（ａ）に示すように、１ビット目及び３ビット目が１の画素は、被処理体に工具が接触した領域に対応する。従って、上記画素の個数を数えることによって、工具動作断面１に係る単位時間当たりの工具負荷を算出することができる。
また、工具動作断面２に係る工具負荷は、図２３（ｂ）に示すように、１ビット目が１、３ビット目が０、４ビット目が１の画素によって表される。なお、３ビット目が１の画素は工具断面動作１で切削済みの部分であり、上記部分では工具負荷が発生しないため、３ビット目が１になっているものを除く必要があり、３ビット目が０という条件を設けている。
更に、工具動作断面３に係る工具負荷は、図２３（ｃ）に示すように、１ビット目が１、３及び４ビット目が０、５ビット目が１の画素によって表される。
以下、同様にして各工具動作に係る工具負荷を算出することができる。最終の工具動作断面ｎにおける工具負荷は、１ビット目が１、３〜（ｎ−１）ビット目が０、ｎビット目が１の画素によって表される。
【００７３】
図２４は、目標立体モデルデータで表された目標立体形状の切削による工具負荷を解析する方法を概念的に示す説明図である。図２４（ａ）に示すように、２、３ビット目が１の画素は、目標立体形状に工具が接触した削り込み量に対応する。従って、上記画素の個数を数えることによって、工具動作断面１に係る削り込み量を算出することができる。また、削り込みによる工具負荷を算出することができる。
また、工具動作断面２に係る削り込み量は、図２４（ｂ）に示すように、２ビット目が１、３ビット目が０、４ビット目が１の画素によって表される。なお、３ビット目が１の画素は工具断面動作１で切削済みの部分であり、上記部分では削り込み量が発生しないため、３ビット目が１になっているものを除いている。
更に、工具動作断面３に係る削り込み量は、図２４（ｃ）に示すように、２ビット目が１、３及び４ビット目が０、５ビット目が１の画素によって表される。
以下、同様にして各工具動作に係る削り込み量及び工具負荷を算出することができる。最終の工具動作断面ｎにおける削り込み量は、２ビット目が１、３〜（ｎ−１）ビット目が０、ｎビット目が１の画素によって表される。
【００７４】
ステップＳ８８の処理を終えた場合、第１制御部１１は、二次圧縮処理を実行する（ステップＳ８９）。
【００７５】
図２５及び図２６は、二次圧縮方法を概念的に示す説明図である。被処理体の３２×３２画像を圧縮する方法を説明する。まず、図２５（ａ）に示すように３２×３２画像を、４×４画素領域に分割する。そして、４×４画素領域夫々のインデックスとして、８×８個の２ビット管理領域を設ける。そして、４×４画素領域に被処理体の画素一つも無い場合、インデックスの値を「００」に設定する。４×４画素領域のすべての画素が被処理体の画素である場合、インデックスの値を「１１」に設定する。そして、４×４画素領域の画素の値に被処理体の画素と、背景の画素とが混在している場合、特に被処理体の画素の方が多い又は同数である場合、インデックスの値を「１０」に設定し、被処理体の画素の方が多い場合、インデックスの値を「０１」に設定する。そして、被処理体が含まれている４×４画素領域を、各画素の値を配列して得られる１６ビットの符号無し整数として記憶する。
【００７６】
一方、２５６×２５６画素のマップ画像については、上記マップ画像を左上、右上、左下、右下の１２８×１２８画像に４分割する。図２６には、分割されたマップ画像の１／４領域に対応する領域を示している。各画素は、０又は１の数値が設定されているため、３２画素毎に、３２ビットの符号無し整数として記憶する。例えば、１２８×１２８画像の横方向１ラインには、１２８画素が配列しているため、４つの３２ビットの符号無し整数として記憶する。他の部分についても同様である。
なお、一次圧縮とは異なり必須では無いが、演算処理装置全体の処理速度を向上させるためには、二次圧縮を行うことが好ましい。また、図２５及び図２６に示した二次圧縮方法は一例であり、他の手法で二次圧縮するように構成しても良い。
【００７７】
そして、第１制御部１１は、ファイルサーバ装置５におけるファイルを開き、合成結果データをファイルサーバ装置５に書き込む（ステップＳ９０）。次いで、第１制御部１１は、未処理層があるか否かを判定する（ステップＳ９１）。未処理層があると判定した場合（ステップＳ９１：ＹＥＳ）、第１制御部１１は、処理をステップＳ７２へ戻す。未処理層が無いと判定した場合（ステップＳ９１：ＮＯ）、第１制御部１１は、ステップＳ８８で解析しＲＡＭ１３に記憶させた解析結果を統合する（ステップＳ９２）。そして、統合して得られた解析結果をクライアント装置４へ送信する（ステップＳ９３）。そして、第１制御部１１は、ファイルサーバ装置５で合成結果データを書き込んだファイルを閉じる書き込み終了処理を実行し（ステップＳ９４）、本実施形態に係る演算処理を終える。
【００７８】
一方、上述の処理をそのまま実行した場合、特にボールエンドミルを３軸制御して被処理体を切削することを想定したとき、切削済みの部分について、処理内容スライスデータの送受信、処理内容画像データの生成及び合成処理を行うということが必然的に発生する。そこで、切削済み部分について処理内容スライスデータに係る送受信、画像処理を省くための包含確認を画像処理を開始する前に実行する。以下、包含確認に係る処理について説明する。
図２７及び図２８は、包含確認に係る処理手順を示すフローチャート、図２９は、包含確認の方法を概念的に示す説明図である。
【００７９】
第１制御部１１は、ＧＰＵプログラムを内部記憶装置１５から読み出し、読み出したＧＰＵプログラムを画像処理装置２へ送信する（ステップＳ１１１）。画像処理装置２の第２制御部２１は、サーバ装置１から送信されたＧＰＵプログラムを受信し、受信したＧＰＵプログラムをＲＡＭ２４に記憶させる（ステップＳ１１２）。
【００８０】
次いで、サーバ装置１の第１制御部１１は、演算処理指示データによって指定された処理内容データをファイルサーバ装置５から読み出す（ステップＳ１１３）。そして、第１制御部１１は、被処理体などをスライスする層を指定する変数ｉに０を設定する（ステップＳ１１４）。
【００８１】
次いで、第１制御部１１は、Ｚｉ層における工具動作１〜工具動作ｎ夫々を表した処理内容スライスデータを生成し（ステップＳ１１５）、生成した処理内容スライスデータを画像処理装置２へ送信する（ステップＳ１１６）。画像処理装置の第２制御部２１は、サーバ装置１から送信された複数の処理内容スライスデータを受信し、ＲＡＭ２４に記憶させる（ステップＳ１１７）。
【００８２】
次いで、サーバ装置１の第１制御部１１は、低画素密度でラスタライズ処理を指示するためのラスタライズ処理指示データを画像処理装置２へ送信する（ステップＳ１１８）。画像処理装置２の第２制御部２１は、サーバ装置１から送信されたラスタライズ処理指示データを受信した場合、ＲＡＭ２４が記憶している処理内容スライスデータに対するラスタライズ処理を実行する（ステップＳ１１８）。
【００８３】
そして、サーバ装置１の第１制御部１１は、処理内容スライス画像データの合成を指示するための合成指示データを画像処理装置２へ送信する（ステップＳ１１９）。画像処理装置２の第２制御部２１は、合成指示データを受信した場合、図２９（ａ）及び（ｂ）に示すように処理内容スライス画像データで表現される画像を、時間的に後の処理内容スライス画像データから順に、時間的に先に処理内容スライス画像データを上書きによって合成する。
【００８４】
次いで、サーバ装置１の第１制御部１１は、ステップＳ１２１の合成処理によって得られた結果を示す合成結果データの送信を画像処理装置２へ要求する（ステップＳ１２２）。画像処理装置２の第２制御部２１は、合成結果データの送信の要求を受けた場合、合成結果データをサーバ装置１へ送信する（ステップＳ１２３）。
【００８５】
そして、サーバ装置１の第１制御部１１は、画像処理装置２から送信された合成結果データを受信し（ステップＳ１２４）、受信した合成結果データに基づいて、完全に塗りつぶされた（上書きされて見えなくなった）処理内容スライス画像データがあるか否かを判定する（ステップＳ１２５）。塗り潰された領域、例えば図２９の時間ｔ＝ｔ３における処理内容断面画像は、時間ｔ＝ｔ３よりも以前に切削された領域と重複しており、現在注目している層はもちろん、現在注目している層よりもＺ軸方向上側についても切削済みであり、処理内容データに係る合成処理を実行する必要が無い。
ただ、低解像度で塗り潰しの有無を確認しているため、本来は省略できない処理内容データある可能性もある。そこで、本実施例では、処理内容データを更に高画素密度でラスタライズ処理し、包含の確認を行う。
【００８６】
塗りつぶされた処理内容スライス画像データがあると判定した場合（ステップＳ１２５：ＹＥＳ）、第１制御部１１は、高画素密度でラスタライズ処理を指示するためのラスタライズ処理指示データを画像処理装置２へ送信する（ステップＳ１２６）。なお、ステップＳ１２６では、塗り潰された処理内容断層画像が存在する領域周辺のみについて後述の処理を実行すると良い。
画像処理装置２の第２制御部２１は、サーバ装置１から送信されたラスタライズ処理指示データを受信した場合、ＲＡＭ２４が記憶している処理内容スライスデータに対するラスタライズ処理を実行する（ステップＳ１２７）。
【００８７】
そして、サーバ装置１の第１制御部１１は、処理内容スライス画像データの合成を指示するための合成指示データを画像処理装置２へ送信する（ステップＳ１２８）。画像処理装置２の第２制御部２１は、合成指示データを受信した場合、図２９に示すように処理内容スライス画像データで表現される画像を、時間的に後の処理内容スライス画像データから順に、時間的に先に処理内容スライス画像データを上書きによって合成する（ステップＳ１２９）。
【００８８】
次いで、サーバ装置１の第１制御部１１は、ステップＳ１２９の合成処理によって得られた結果を示す合成結果データの送信を画像処理装置２へ要求する（ステップＳ１３０）。画像処理装置２の第２制御部２１は、合成結果データの送信の要求を受けた場合、合成結果データをサーバ装置１へ送信する（ステップＳ１３１）。
【００８９】
そして、サーバ装置１の第１制御部１１は、画像処理装置２から送信された合成結果データを受信し（ステップＳ１３２）、受信した合成結果データに基づいて、完全に塗りつぶされた処理内容スライス画像データがあるか否かを再判定し、塗り潰された工具動作の上限高さを現在注目しているＺｉ層の高さに更新する（ステップＳ１３３）。
【００９０】
図３０は、工具動作上下限テーブルを概念的に示す説明図である。サーバ装置１は、工具動作上下限テーブルを作成してＲＡＭ１３に記憶している。工具動作上下限テーブルの表（ファイル）は、複数の列（フィールド）、例えば、「工具動作情報」、「上限Ｚ高さ」、「下限Ｚ高さ」から構成されており、各行（レコード）は、各列に格納された情報を有する。
「工具動作情報」は、異なる単位時間の動作を識別するための情報を格納し、「上限Ｚ高さ」及び「下限Ｚ高さ」は、対応する各単位時間に係る画像処理を実行する際、いずれの層で工具動作断面が必要なのかを示す情報を格納している。通常、上限Ｚ高さ及び下限Ｚ高さは、工具のＺ軸方向寸法によって定まる。ステップＳ１３３の処理では、「上限Ｚ高さ」に格納されている情報を更新する。
【００９１】
ステップＳ１３３の処理を終えた場合、又は塗り潰された処理内容スライス画像データが無いと判定した場合（ステップＳ１２５：ＮＯ）、第１制御部１１は、全層を確認したか否かを判定する（ステップＳ１３４）。全層を確認していないと判定した場合（ステップＳ１３４：ＮＯ）、第１制御部１１は、変数ｉに１を加算し（ステップＳ１３５）、処理をステップ１１５へ戻す。全層を確認したと判定した場合（ステップＳ１３４：ＹＥＳ）、第１制御部１１は、本実施形態に係る演算処理を終える。
上記本実施形態のステップＳ６８では、第１制御部１１は、工具動作上下限テーブルを参照し、注目しているＺｉ層が、上限Ｚ高さと、上限下限高さとの間にある工具動作について、処理内容スライスデータを生成し、生成した処理内容スライスデータを画像処理装置２へ送信する。つまり、注目しているＺｉ層が、上限Ｚ高さと、上限下限高さとの間に無い工具動作について、処理内容スライスデータを生成せず、処理内容スライスデータの送信も行わない。
【００９２】
実施例１に係る演算処理装置、演算処理方法、演算処理プログラム３１及び記録媒体３によれば、被処理体モデルデータ及び処理内容データのスライス及びラスタライズ処理によって得られた被処理体スライス画像データ及び処理内容スライス画像データを色合成し、被加工物と処理内容である工具とが接触している部分の画素数を算出し、更に他の各スライス画像データについても同様の処理を積層的に逐次実行して、各断層で算出された画素数の総和を算出する構成であるため、切削加工における工具負荷を算出することができる。
同様に、目標スライス画像データ及び処理内容スライス画像データを色合成し、目標立体形状と処理内容である工具とが接触している部分の画素数を算出し、更に他の各スライス画像データについても同様の処理を積層的に逐次実行して、各断層で算出された画素数の総和を算出する構成であるため、目標立体形状に対する削り込み量を算出することができる。
また、被処理体スライス画像データを構成する画素から、被加工物と処理内容である工具とが接触している部分の画素を除いた断層画像を特定することによって、切削加工後に得られる立体形状などを算出することができる。
【００９３】
更に、被加工物モデルデータ及び処理内容データのスライス及びラスタライズ処理によって、被加工物スライス画像データ及び処理内容スライス画像データを生成し、各スライスデータの合成を積層的に逐次実行し、その合成結果の総和を算出することによって、被処理体に対する加工処理結果を演算するように構成してあるため、Ｚ軸方向からの切削加工のみならず、任意方向からの複雑な切削加工についても工具負荷などの加工処理結果を演算することができる。
【００９４】
更に、サーバ装置１及び画像処理装置２は、マップ画像によって、断層画像中、画素の情報を有する３２×３２画像と、画素の情報を有さない３２×３２画像とを管理し、画素の情報を有する３２×３２画像についてのみ上記３２×３２画像の情報を１０２４×１０２４画像に含ませることによって、各種スライス画像データを一次圧縮している。
また、特に被処理体スライス画像データ及びマップ画像について、画素の階調値が１又は０のいずれかであることを利用し、被処理体スライス画像データを構成する複数の４×４画像夫々を１６ビット符号無し整数で表現し、マップ画像を３２ビット符号無し整数で表現することによって、一次圧縮された各スライス画像データを二次圧縮している。
このように、本実施形態では、各種スライス画像データを一次圧縮及び二次圧縮して送受信するように構成されているため、各種スライス画像データの送受信速度が、サーバ装置１及び画像処理装置２の演算処理速度に追いつかず、演算処理装置全体の処理速度を低下させる事態を防ぐことができる。よって、一次圧縮及び二次圧縮を利用せずに、スライス画像データを送受信する構成に比べて、演算処理装置全体の処理速度を向上させることができる。
【００９５】
更にまた、図２９に示すように、ＸＹ平面に略平行な一のＺｉ層でスライスして得られる処理内容スライス画像データを、時間的に後の処理内容スライス画像データから順に上書きによって合成し、合成によって塗り潰された処理内容スライス画像データを特定することによって、上記処理内容スライス画像データを、Ｚｉ層の上層において考慮する必要が無い処理内容スライス画像データとして特定することができる。そして、上記処理内容スライス画像データの送受信を省略することによって、切削済み部分について処理内容スライスデータに係る送受信、画像処理を省くことができ、より高速に、三次元で表現された被処理体に対する処理の結果を解析することができる。
【実施例２】
【００９６】
上記一実施形態に係る演算処理装置、演算処理方法、演算処理プログラム３１及び記録媒体３の適用範囲は、切削加工に係る三次元問題の解析のみならず、一般的な三次元問題の解析に利用することができる。実施例２では、本発明の適用例として熱解析処理を説明する。
【００９７】
図３１は、変形例３における画像処理方法を概念的に示す説明図である。図３１（ａ）は、立体モデルデータによって表現された形状をＸ軸方向から見た側面図である。該立体モデルデータは、前記立方体の熱を表現した色情報、立方体を構成する材質を示す情報を有する。また、立方体モデルデータは、一の材質の比熱、密度、熱伝導率、また複数の材質から構成される場合、異なる材質の境界面における熱伝達率等の情報を有している。Ｚ軸に略垂直な複数の直線は、ＸＹ平面に平行な平面であって、該平面で被処理体をスライスした状態を示している。破線は、立方体における熱の分布をしている。また、太線は、処理対象として注目しているＺi層を示している。
サーバ装置１の第１制御部１１は、立体モデルデータに基づいて、該立方体モデルデータによって表現されたスライスデータを生成し、生成したスライスデータ中、処理対象として注目しているＺi 層と、該Ｚi 層の前後各Ｎ層のスライスデータを、画像処理装置２へ送信する。
画像処理装置２は、サーバ装置１から送信されたＺi-N 層〜Ｚi+N 層のスライスデータを受信し、各スライスデータを画素で表現したスライス画像データに変換する。各画素は、熱解析に必要な情報を色情報として有する。色情報は、温度を示す情報、画素を構成する材質を示す情報、複数の材質から構成される場合、各材質の割合を示す情報を有する。また、色情報は、各材質の比熱、密度、材質間の熱伝達率等の情報を有する。
【００９８】
図３１（ｂ）は、Ｚi-N 層〜Ｚi+N 層のスライス画像データを概念的に示している。画像処理装置２は、Ｘ軸方向、Ｙ軸方向及びＺ軸方向に隣接する画素に関して、熱量の移動を画像合成として計算する。
【００９９】
図３２は、熱量移動の計算方法を概念的に示す説明図である。スライス画像データを構成する画素を、一辺の長さがδの立方体の微小領域空間と仮定した場合、熱量の移動は、下記式（１）で表され、更に２つの微小領域が接触している部分の面積はδ2 であるため、下記式（１）は、下記式（２）で表される。なお、微小領域を一辺の長さδを有する立方体として説明したが、各辺の長さが異なる直方体の微小領域を想定しても良い。また、図３２は、微小時間における現象を図示している。
【０１００】
【数１】
2010072765.tif 000003
【０１０１】
更に、断層画像を構成する微小領域の比熱及び密度を考慮した場合、微小時間における温度変化は、下記式（３）、（４）で表される。
【０１０２】
【数２】
2010072765.tif 000004
【０１０３】
Ｚi-N 層〜Ｚi+N 層のスライス画像データで熱量の移動を計算する場合、Ｚi 層のスライス画像データと、Ｚi 層の上下Ｎ層のスライス画像データに関して、上述の熱量の移動を計算し、立方体の色を、熱量が移動した後の温度を表現した色で書き換える。次いで、Ｚi 層のスライス画像データと、上下Ｎ−１層のスライス画像データに関して、熱量の移動を同様に計算し、立方体の色を書き換える。上述の処理をＮ回繰り返し、Ｚi 層に対する熱量の移動に基づいて、Ｚi 層の温度を求め、上記温度をサーバ装置１へ送信する。次いで、他のＺi 層に注目し、上記Ｚi 層についても同様の手順で温度を求め、上記温度をサーバへ送信する。サーバ装置１は、全てのＺi 層の温度を受信した場合、受信した各温度に基づいて立方体の状態変化を反映させる。
【０１０４】
温度変化がある場合、更に全Ｚi 層に関する温度の変化を求める処理を、温度の変化がなくなるまで繰り返し実行する。
【０１０５】
このように構成された実施例２に係る演算処理装置、演算処理方法、演算処理プログラム３１、記録媒体３にあっては、立体モデルデータのスライス及びラスタライズ処理によって得られた複数のスライス画像データを色合成することによって、熱の移動を算出する構成であるため、ボクセル表現に依らずとも、熱解析を実行することができ、しかも三次元立体形状の一部を表現する複数のスライス画像データについて画像処理を実行する構成であるため、ボクセル表現に比べて小さなデータサイズで熱解析処理を実行することができる。
【０１０６】
また、立体モデルデータのスライス及びラスタライズ処理によって得られた複数のスライス画像データを色合成することによって、熱の移動を算出する構成であるため、有限要素法のように、メッシュを作成する必要が無く、メッシュ作成の経験が浅い技術者であっても、簡易に熱解析処理を実行することができる。
【０１０７】
なお、今回開示された上記一実施形態及び実施例１〜２はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均などの意味及び範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【０１０８】
本発明は、切削加工の結果得られる被加工物の形状、工具負荷、削り込みなどの三次元解析のみならず、三次元空間における熱解析、電磁界解析、各種流体解析など、あらゆる三次元解析に適用することができる。
【図面の簡単な説明】
【０１０９】
【図１】本実施形態に係る演算処理装置の構成を模式的に示すブロック図である。
【図２】第１制御部１１及び第２制御部２１による処理の流れを示す一連のフローチャートである。
【図３】第１制御部１１及び第２制御部２１による処理の流れを示す一連のフローチャートである。
【図４】被処理体モデルデータ及び処理内容データを概念的に示す説明図である。
【図５】スライス処理の方法を概念的に示す説明図である。
【図６】被処理体スライスデータ及び処理内容スライスデータを概念的に示す説明図である。
【図７】三角形分割及び色付与の処理方法を概念的に示す説明図である。
【図８】ラスタライズ処理及び合成処理の処理方法を概念的に示す説明図である。
【図９】本実施例に係る第１制御部１１及び第２制御部２１による処理の流れを示すフローチャートである。
【図１０】本実施例に係る第１制御部１１及び第２制御部２１による処理の流れを示すフローチャートである。
【図１１】本実施例に係る第１制御部１１及び第２制御部２１による処理の流れを示すフローチャートである。
【図１２】本実施例に係る第１制御部１１及び第２制御部２１による処理の流れを示すフローチャートである。
【図１３】処理内容データとしての工具データを概念的に示す説明図である。
【図１４】被処理体モデルデータ、目標立体モデルデータ、処理内容データを概念的に示す説明図である。
【図１５】実施例１におけるスライス処理の方法を概念的に示す説明図である。
【図１６】実施例１における被処理体スライスデータ、目標スライスデータ、及び処理内容スライスデータを概念的に示す説明図である。
【図１７】処理体スライスデータ及び目標スライスデータに係るラスタライズ処理及び合成処理の処理方法を概念的に示す説明図である。
【図１８】実施例１におけるラスタライズ処理及び合成処理の処理方法を概念的に示す説明図である。
【図１９】実施例１におけるラスタライズ処理及び合成処理の処理方法を概念的に示す説明図である。
【図２０】実施例１におけるラスタライズ処理及び合成処理の処理方法を概念的に示す説明図である。
【図２１】合成スライス画像データで表現される画像の色が有する意味を説明するための説明図である。
【図２２】一次圧縮方法を概念的に示す説明図である。
【図２３】被処理体の切削による工具負荷を解析する方法を概念的に示す説明図である。
【図２４】目標立体モデルデータで表された目標立体形状の切削による工具負荷を解析する方法を概念的に示す説明図である。
【図２５】二次圧縮方法を概念的に示す説明図である。
【図２６】二次圧縮方法を概念的に示す説明図である。
【図２７】包含確認に係る処理手順を示すフローチャートである。
【図２８】包含確認に係る処理手順を示すフローチャートである。
【図２９】包含確認の方法を概念的に示す説明図である。
【図３０】工具動作上下限テーブルを概念的に示す説明図である。
【図３１】実施例２における演算処理方法を概念的に示す説明図である。
【図３２】熱量移動の計算方法を概念的に示す説明図である。
【符号の説明】
【０１１０】
１  サーバ装置
２  画像処理装置
３  記録媒体
４  クライアント装置
５  ファイルサーバ装置
１１  第１制御部
１２  ＲＯＭ
１３  ＲＡＭ
１４  外部記憶装置
１５  内部記憶装置
１６  第１通信部
１７  ＩＦ部
１８  第２通信部
２１  第２制御部
２２  演算部
２３  ＩＦ部
２４  ＲＡＭ
３１  演算処理プログラム
【図１】
2010072765.tif 000005
【図２】
2010072765.tif 000006
【図３】
2010072765.tif 000007
【図４】
2010072765.tif 000008
【図５】
2010072765.tif 000009
【図６】
2010072765.tif 000010
【図７】
2010072765.tif 000011
【図８】
2010072765.tif 000012
【図９】
2010072765.tif 000013
【図１０】
2010072765.tif 000014
【図１１】
2010072765.tif 000015
【図１２】
2010072765.tif 000016
【図１３】
2010072765.tif 000017
【図１４】
2010072765.tif 000018
【図１５】
2010072765.tif 000019
【図１６】
2010072765.tif 000020
【図１７】
2010072765.tif 000021
【図１８】
2010072765.tif 000022
【図１９】
2010072765.tif 000023
【図２０】
2010072765.tif 000024
【図２１】
2010072765.tif 000025
【図２２】
2010072765.tif 000026
【図２３】
2010072765.tif 000027
【図２４】
2010072765.tif 000028
【図２５】
2010072765.tif 000029
【図２６】
2010072765.tif 000030
【図２７】
2010072765.tif 000031
【図２８】
2010072765.tif 000032
【図２９】
2010072765.tif 000033
【図３０】
2010072765.tif 000034
【図３１】
2010072765.tif 000035
【図３２】
2010072765.tif 000036