JP2010072765A - Arithmetic processing device, method, program, and recording medium - Google Patents
Arithmetic processing device, method, program, and recording medium Download PDFInfo
- Publication number
- JP2010072765A JP2010072765A JP2008237223A JP2008237223A JP2010072765A JP 2010072765 A JP2010072765 A JP 2010072765A JP 2008237223 A JP2008237223 A JP 2008237223A JP 2008237223 A JP2008237223 A JP 2008237223A JP 2010072765 A JP2010072765 A JP 2010072765A
- Authority
- JP
- Japan
- Prior art keywords
- data
- processing
- slice
- image
- arithmetic processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Image Generation (AREA)
Abstract
Description
本発明は、演算処理装置、演算処理方法、及び演算処理プログラム並びに記録媒体に関する。 The present invention relates to an arithmetic processing device, an arithmetic processing method, an arithmetic processing program, and a recording medium.
従来、1以上の立体形状を表現した立体モデルデータに対して所定の演算処理を行う方法が提案されている。 2. Description of the Related Art Conventionally, a method has been proposed in which a predetermined calculation process is performed on stereo model data representing one or more 3D shapes.
文献1には、工作物の立体モデルを、デクセル表現し、ボールエンドミルによる切削加工の結果得られる工作物の形状を高速に表示することを狙いとした表示装置が開示されている。デクセル表現とは、Z軸方向に長い棒状の直方体を針山のように配することによって立体モデルを表現する方法である。
特許文献2には、三次元の製品モデルを含む計算領域から複数の断面画像を切り出し、各断面画像を微小立方体のボクセルに分割することによって、製品内部の隙間領域の三次元モデルを高速に生成することを狙いとした画像処理装置が開示されている。
しかしながら、三次元形状をボクセルで詳細に表現した場合、例えば1m3 の三次元形状を、一辺10μmのボクセルで表現しようとした場合、1000003 (1ペタ=1000テラ)のボクセルを表現するための膨大なデータ量が必要になり、上記三次元形状を用いた解析を現実的に行うことができないという問題があった。
逆に、データ量を減少させるべく、ボクセルのサイズを大きく設定した場合、三次元形状を詳細に表現することができないという問題が生ずる。
However, when a three-dimensional shape is expressed in detail by voxels, for example, when a three-dimensional shape of 1 m 3 is expressed by a voxel having a side of 10 μm, a voxel of 100,000 3 (1 peta = 1000 tera) is expressed. There is a problem that an enormous amount of data is required, and the analysis using the three-dimensional shape cannot be performed realistically.
Conversely, when the voxel size is set large in order to reduce the data amount, there arises a problem that the three-dimensional shape cannot be expressed in detail.
なお、特許文献1に係る表示装置においては、工作物の立体モデルをデクセル表現する構成であるため、ボクセル表現に比べて、データ量を抑えることができるが、Z軸方向からの切削についてのみ有効であり、汎用性に乏しいという問題があった。
また、特許文献2に係る画像処理装置においては、隙間領域の三次元モデルをボクセル表現する方法が開示されているのみであり、上述の問題を解決する手段は何ら開示されていない。
Note that the display device according to
Further, the image processing apparatus according to
本発明は斯かる事情に鑑みてなされたものであり、デクセル表現に比べて汎用性が高く、且つボクセル表現に比べて小さなデータサイズで、三次元で表現された被処理体に対する処理の結果を解析することができる画像処理装置、演算処理方法、演算処理プログラム、及び記録媒体を提供することを主たる目的とする。 The present invention has been made in view of such circumstances, and the results of processing on an object to be processed expressed in three dimensions are high in versatility compared to dexel representation and smaller in data size than voxel representation. It is a main object to provide an image processing apparatus, an arithmetic processing method, an arithmetic processing program, and a recording medium that can be analyzed.
上記目的を達成するための本発明の第一の態様は、1以上の処理対象の立体形状を表現した立体モデルデータに対して所定の演算処理を行う演算処理装置であって、当該立体モデルデータをスライス処理して複数のスライス面データを生成する生成手段と、当該複数のスライス面データの各々に対して所定の画像処理を行う画像処理手段とを有する演算処理装置である。 In order to achieve the above object, a first aspect of the present invention is an arithmetic processing device that performs predetermined arithmetic processing on stereo model data representing one or more processing target stereo shapes, the stereo model data Is an arithmetic processing unit having a generating unit that generates a plurality of slice plane data by slicing the image, and an image processing unit that performs predetermined image processing on each of the plurality of slice plane data.
上記第一の態様に係る演算処理装置は、例えば、上記生成手段により得られた上記複数のスライス面データの各々について、上記1以上の処理対象の各々に異なる色データを付与する色付け手段と、上記複数のスライス面データの各々について、上記色データが複数色付与されたエリアを抽出する抽出手段とを更に有してもよい。
また、上記第一の態様において、上記生成手段が逐次処理型のプロセッサ(例えばCPUなど)により実現され、上記画像処理手段が画像処理専用のプロセッサ(例えばGPUなど)により実現されることが好ましい。
The arithmetic processing apparatus according to the first aspect includes, for example, a coloring unit that assigns different color data to each of the one or more processing targets for each of the plurality of slice plane data obtained by the generation unit, For each of the plurality of slice plane data, there may be further provided an extraction means for extracting an area to which the color data is assigned a plurality of colors.
In the first aspect, it is preferable that the generation unit is realized by a sequential processing type processor (for example, a CPU) and the image processing unit is realized by a processor dedicated to image processing (for example, a GPU).
上記第一の態様によれば、立体モデルデータに対して所定の演算処理を行う際に、当該立体モデルデータをスライス処理して複数のスライス面データとすることにより、例えば立体モデルデータを複数のメッシュ又はボクセルとして扱う場合と異なり、スライス処理後のスライス面データに対する処理を画像処理として扱うことができるようになるため、立体モデルデータに対する演算処理の一部を画像処理専用のプロセッサにも分担させることができるようになる。このような画像処理専用のプロセッサの活用により、立体モデルデータに対する演算処理をより高速に実現することができる。また、処理の高速化を実現しつつ、立体モデルデータ全体を対象として取り扱うことができるため、既述の特許文献1に開示された手法と異なり、複雑な形状にも対応可能であり、より高い汎用性を実現することができる。
According to the first aspect, when predetermined calculation processing is performed on the stereo model data, the stereo model data is sliced to obtain a plurality of slice plane data. Unlike processing as a mesh or voxel, processing for slice plane data after slicing can be handled as image processing, so part of the processing for stereo model data is also shared by a processor dedicated to image processing. Will be able to. By using such a processor dedicated to image processing, it is possible to realize arithmetic processing on the three-dimensional model data at higher speed. In addition, since it is possible to handle the entire three-dimensional model data while realizing high-speed processing, unlike the method disclosed in
上記目的を達成するための本発明の第二の態様は、逐次処理型のプロセッサと画像処理専用のプロセッサとを備えたコンピュータにおいて、1以上の処理対象の立体形状を表現した立体モデルデータに対して所定の演算処理を行う演算処理方法であって、上記逐次処理型のプロセッサに、上記立体モデルデータをスライス処理して複数のスライス面データを生成させる生成工程と、上記画像処理専用のプロセッサに、上記複数のスライス面データの各々に対して所定の画像処理を行わせる画像処理工程とを有する演算処理方法である。 In order to achieve the above object, a second aspect of the present invention provides a computer including a sequential processing type processor and a processor dedicated to image processing for stereo model data expressing one or more processing target three-dimensional shapes. An arithmetic processing method for performing predetermined arithmetic processing, wherein the sequential processing type processor is configured to generate a plurality of slice plane data by slicing the stereo model data, and to the processor dedicated to image processing And an image processing step of performing predetermined image processing on each of the plurality of slice plane data.
上記第二の態様に係る演算処理方法は、例えば、上記生成工程により得られた上記複数のスライス面データの各々について、上記1以上の処理対象の各々に異なる色データを付与する色付け工程と、上記複数のスライス面データの各々について、上記色データが複数色付与されたエリアを抽出する抽出工程とを更に有してもよい。 The arithmetic processing method according to the second aspect includes, for example, a coloring step of giving different color data to each of the one or more processing targets for each of the plurality of slice plane data obtained by the generation step, For each of the plurality of slice plane data, an extraction step of extracting an area to which the color data is given a plurality of colors may be further included.
上記第二の態様によれば、逐次処理型のプロセッサ(例えばCPUなど)と画像処理専用のプロセッサ(例えばGPUなど)とを備えたコンピュータにおいて、立体モデルデータに対して所定の演算処理を行う際に、当該立体モデルデータをスライス処理して複数のスライス面データとすることにより、例えば立体モデルデータを複数のメッシュ又はボクセルとして扱う場合と異なり、スライス処理後のスライス面データに対する処理を画像処理として扱うことができるようになるため、立体モデルデータに対する演算処理の一部を画像処理専用のプロセッサにも分担させることができるようになる。このような画像処理専用のプロセッサの活用により、立体モデルデータに対する演算処理をより高速に実現することができる。また、処理の高速化を実現しつつ、立体モデルデータ全体を対象として取り扱うことができるため、既述の特許文献1に開示された手法と異なり、複雑な形状にも対応可能であり、より高い汎用性を実現することができる。
According to the second aspect, in a computer including a sequential processing type processor (for example, a CPU) and a processor dedicated to image processing (for example, a GPU), the predetermined calculation processing is performed on the stereo model data. In addition, by slicing the stereo model data into a plurality of slice plane data, unlike the case of handling the stereo model data as a plurality of meshes or voxels, for example, the processing for the slice plane data after the slice process is performed as image processing. Since it can be handled, a part of the arithmetic processing for the stereo model data can be shared by a processor dedicated to image processing. By using such a processor dedicated to image processing, it is possible to realize arithmetic processing on the three-dimensional model data at higher speed. In addition, since it is possible to handle the entire three-dimensional model data while realizing high-speed processing, unlike the method disclosed in
上記目的を達成するための本発明の第三の態様は、逐次処理型のプロセッサと画像処理専用のプロセッサとを備えたコンピュータにおいて、1以上の処理対象の立体形状を表現した立体モデルデータに対して所定の演算処理を行う演算処理プログラムであって、当該コンピュータによって実行されたときに、当該コンピュータを、上記逐次処理型のプロセッサに、上記立体モデルデータをスライス処理して複数のスライス面データを生成させる生成手段、及び、上記画像処理専用のプロセッサに、上記複数のスライス面データの各々に対して所定の画像処理を行わせる画像処理手段、として機能させる演算処理プログラムである。 In order to achieve the above object, a third aspect of the present invention provides a computer including a sequential processing type processor and a processor dedicated to image processing, for three-dimensional model data representing one or more processing target three-dimensional shapes. An arithmetic processing program for performing predetermined arithmetic processing, and when executed by the computer, the computer is sliced on the stereo model data to the sequential processing type processor to obtain a plurality of slice plane data. The calculation processing program causes the generation unit to generate and an image processing unit that causes the processor dedicated to image processing to perform predetermined image processing on each of the plurality of slice plane data.
上記第三の態様に係る演算処理プログラムは、上記コンピュータによって実行されたときに、当該コンピュータを、更に、上記生成手段により得られた上記複数のスライス面データの各々について、上記1以上の処理対象の各々に異なる色データを付与する色付け手段、及び、上記複数のスライス面データの各々について、上記色データが複数色付与されたエリアを抽出する抽出手段、として機能させてもよい。 When the arithmetic processing program according to the third aspect is executed by the computer, the computer further executes the one or more processing objects for each of the plurality of slice plane data obtained by the generation unit. Each of the plurality of slice plane data may function as a coloring unit that assigns different color data to each of the plurality of slice plane data, and an extraction unit that extracts an area where a plurality of colors of the color data are added.
上記第三の態様によれば、逐次処理型のプロセッサ(例えばCPUなど)と画像処理専用のプロセッサ(例えばGPUなど)とを備えたコンピュータにおいて、立体モデルデータに対して所定の演算処理を行う際に、当該立体モデルデータをスライス処理して複数のスライス面データとすることにより、例えば立体モデルデータを複数のメッシュ又はボクセルとして扱う場合と異なり、スライス処理後のスライス面データに対する処理を画像処理として扱うことができるようになるため、立体モデルデータに対する演算処理の一部を画像処理専用のプロセッサにも分担させることができるようになる。このような画像処理専用のプロセッサの活用により、立体モデルデータに対する演算処理をより高速に実現することができる。また、処理の高速化を実現しつつ、立体モデルデータ全体を対象として取り扱うことができるため、既述の特許文献1に開示された手法と異なり、複雑な形状にも対応可能であり、より高い汎用性を実現することができる。
According to the third aspect, in a computer including a sequential processing type processor (for example, a CPU) and a processor dedicated to image processing (for example, a GPU), the predetermined calculation processing is performed on the stereo model data. In addition, by slicing the stereo model data into a plurality of slice plane data, unlike the case of handling the stereo model data as a plurality of meshes or voxels, for example, the processing for the slice plane data after the slice process is performed as image processing. Since it can be handled, a part of the arithmetic processing for the stereo model data can be shared by a processor dedicated to image processing. By using such a processor dedicated to image processing, it is possible to realize arithmetic processing on the three-dimensional model data at higher speed. In addition, since it is possible to handle the entire three-dimensional model data while realizing high-speed processing, unlike the method disclosed in
上記目的を達成するための本発明の第四の態様は、上記第三の態様に係る演算処理プログラムを記録したコンピュータ読取可能記録媒体である。 In order to achieve the above object, a fourth aspect of the present invention is a computer-readable recording medium recording an arithmetic processing program according to the third aspect.
本発明によれば、デクセル表現に比べて汎用性が高く、且つボクセル表現に比べて小さなデータサイズで、三次元で表現された被処理体に対する処理の結果を解析することができる。 According to the present invention, it is possible to analyze a result of processing on an object to be processed that is expressed in three dimensions with high versatility compared with dexel expression and with a data size smaller than that of voxel expression.
以下、添付図面を参照して、本発明の一実施形態について詳述する。
図1は、本実施形態に係る演算処理装置の構成を模式的に示すブロック図である。本実施形態に係る演算処理装置は、バスBで接続されたサーバ装置1及び画像処理装置2を備える。なお、サーバ装置1及び画像処理装置2の接続方法はバスBを用いた方法に限定されないことは言うまでもなく、少なくとも情報を送受信できるように接続可能な有線又は無線の通信手段を備える構成であれば良い。
Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings.
FIG. 1 is a block diagram schematically showing the configuration of the arithmetic processing apparatus according to this embodiment. The arithmetic processing device according to the present embodiment includes a
サーバ装置1は、サーバ装置1全体を制御する第1制御部11を備えたコンピュータである。第1制御部11は、シーケンシャルに情報を処理する逐次処理型のプロセッサであり、例えばCPU(Central Processing Unit)などである。第1制御部11には、サーバ装置1の基本的動作に必要な制御プログラムを記憶したROM(Read-Only Memory)12、演算に伴って発生する一時的な情報を記憶するRAM(Random Access Memory)13、本実施形態に係る演算処理プログラム31を記録した記録媒体3、例えばCD−ROM(Compact Disc-Read Only Memory)から演算処理プログラム31を読み取る外部記憶装置14、外部記憶装置14により読み取った演算処理プログラム31を記録する内部記憶装置(例えばハードディスクなど)15が接続されている。第1制御部11は、内部記憶装置15から演算処理プログラム31をRAM13に読み出して各種演算処理を実行することによって、本実施形態に係る演算処理方法を実施する。なお、演算処理プログラム31は、サーバ装置1の第1制御部11の動作に必要なプログラムと、画像処理装置2に所定の画像処理を実行させるためのGPU(Graphics Processing Unit)プログラムとを含む。また、サーバ装置1は、クライアント装置4との間で通信網C1を介して各種データ及び情報を送受信するための第1通信部16、バスBを介して画像処理装置2とバス接続するためのインターフェース(Interface;以下「IF」と略す)部17、ファイルサーバ装置5との間で通信網C2を介して各種データを送受信するための第2通信部18を備える。
なお、外部記憶装置14及び内部記憶装置15は本実施形態の必須の構成要件では無い。演算処理プログラム31は、ファイルサーバ装置5、その他の記憶手段に格納することも可能である。
The
Note that the
クライアント装置4は、クライアント装置4全体を制御するCPU(図示せず)を備えたコンピュータであり、サーバ装置1と同様、ROM、RAM、各種記憶装置を備える(いずれも図示せず)。また、クライアント装置4は、例えばキーボードやマウスなどの入力装置、例えば液晶ディスプレイやCRT(Cathode Ray Tube)ディスプレイなどの出力装置、及び、通信部を備えており(いずれも図示せず)、上記通信部は、通信網C1を介してサーバ装置1に接続されている。
ユーザは、上記入力装置を操作することによって、画像処理に係る指示をクライアント装置4に与えることができ、クライアント装置4は、上記入力装置にて入力された指示内容を示す演算処理指示データを上記通信部を介してサーバ装置1へ送信するように構成されている。また、クライアント装置4は、サーバ装置1から送信された各種データを上記通信部にて受信し、受信したデータの内容を上記出力装置によって出力する。
The
The user can give an instruction relating to image processing to the
ファイルサーバ装置5は、サーバ装置1と同様のハードウェア構成であり(図示せず)、ファイルサーバ機能を備えている。ファイルサーバ装置5は、後に詳述する画像処理に必要なデータを記憶している。当該画像処理に必要なデータとは、例えば、被処理体の立体形状をベクタ表現した立体モデルデータである被処理体モデルデータ、該被処理体の各部に対する処理内容を図形要素で表現した処理内容データ(被処理体の一例)などである。ファイルサーバ装置5は、サーバ装置1からの要求に応じてこれらの画像処理に必要なデータを通信網C2を介してサーバ装置1へ送信し、またサーバ装置1から送信されたデータを書き込む処理を行う。また、ファイルサーバ装置5は、画像処理の結果である後述の合成結果データを記憶する。
The
画像処理装置2は、ビット単位で情報を処理する画像処理専用のプロセッサ(例えば、GPUなど)であり、画像処理装置2全体を制御する第2制御部21を備える。第2制御部21には、複数の演算部22、サーバ装置1とバス接続するためのインターフェース(以下「IF」と略す)部23、演算に伴って発生する一時的な情報を記憶するRAM24が接続されている。なお、演算部22は1つでもよいが、後述の分散処理の点から数が多いほど演算処理が高速化されるため好ましい。
The
図2及び図3は、第1制御部11及び第2制御部21による処理の流れを示す一連のフローチャートである。第1制御部11は、GPUプログラムを読み出し、読み出したGPUプログラムを画像処理装置2へ送信する(ステップS11)。具体的には、第1制御部11は、GPUプログラムを外部記憶装置14又はファイルサーバ装置5から一旦ROM12に格納し、次いでROM12からGPUプログラムを画像処理装置2へ送信する。画像処理装置2の第2制御部21は、サーバ装置1から送信されたGPUプログラムを受信し、受信したGPUプログラムをRAM24に記憶させる(ステップS12)。
2 and 3 are a series of flowcharts showing the flow of processing by the
次いで、サーバ装置1の第1制御部11は、クライアント装置4から送信された演算処理指示データを受信し、受信した演算処理指示データをRAM13に記憶させる(ステップS13)。演算処理指示データには、処理対象の被処理体モデルデータ、及び処理内容データを指定する情報が含まれている。
Next, the
そして、第1制御部11は、演算処理指示データによって指定された被処理体モデルデータ及び処理内容データをファイルサーバ装置5から読み出す(ステップS14)。読み出された被処理体モデルデータ及び処理内容データは、データ形式に応じた方法でRAM13に展開される。
And the
図4は、被処理体モデルデータ及び処理内容データを概念的に示す説明図である。図4(a)は、被処理体モデルデータ6によって表現された被処理体の三次元形状を示している。X軸、Y軸、Z軸は三次元空間の直行座標系を規定している。被処理体は、例えば切削加工される被加工物である。図4(b)は、処理内容データ7によって表現された処理内容を示す三次元形状を示している。
FIG. 4 is an explanatory diagram conceptually showing the object model data and the processing content data. FIG. 4A shows the three-dimensional shape of the target object expressed by the target
図2及び3の説明に戻る。ステップS14において、被処理体モデルデータ及び処理内容データがファイルサーバ装置5から読み出されると、次いで、第1制御部11は、展開した被処理体モデルデータに基づいて、被処理体を所定の一軸(ここでは一例としてZ軸)方向、所定幅でスライスした場合の層数を算出する(ステップS15)。そして、第1制御部11は、被処理体モデルデータに対して、スライス処理を実行する(ステップS16)。
Returning to the description of FIGS. In step S14, when the object model data and the processing content data are read from the
図5は、スライス処理の方法を概念的に示す説明図である。図5(a)は、被処理体モデルデータ6によって表現された被処理体をX軸方向から見た側面図である。Z軸に略垂直な複数の直線は、各々がXY平面に略平行な複数の平面であって、これら平面で被処理体をスライスした状態を示している。同様に、図5(b)は、処理内容データ7によって表現された処理内容をX軸方向から見た側面図であり、図5(a)の場合と同じ複数の平面でスライスされた状態を示している。ステップ16では、ある高さにおける一の平面でスライスされた被処理体のスライス面が生成される。また、後述するようにステップS16の処理を繰り返し実行することによって、各平面高さでスライスされたスライス面が生成される。
FIG. 5 is an explanatory diagram conceptually showing a slice processing method. FIG. 5A is a side view of the object represented by the
そして、第1制御部11は、スライス面に現れた形状を一又は複数の三角形に分割し(ステップS17)、各三角形に対して、スライスされた立体形状毎に異なる色を付与する(ステップS18)。本実施形態では、被処理体のスライス面を分割して成る三角形部分と、処理内容のスライス面を分割して成る三角形部分とに異なる色を付与する。以上のステップS16〜18の処理によって、被処理体スライスデータ及び処理内容スライスデータが生成される。
Then, the
図6は、被処理体断層データ及び処理内容スライスデータを概念的に示す説明図である。図6(a)は、あるZ軸高さで被処理体をスライスし、色を付与することによって得られたスライス面を表現した被処理体スライス画像データ61の概念図であり、図6(b)は、当該Z軸高さで処理内容をスライスし、色を付与することによって得られた断層形状を表現した処理内容スライス画像データ71の概念図である。なお、図6(a)、(b)では、ハッチングの向き及び幅が異なる部分は異なる色が付与されていることを示している。
FIG. 6 is an explanatory diagram conceptually showing the to-be-processed object tomographic data and the processing content slice data. FIG. 6A is a conceptual diagram of object
図7は、三角形分割及び色付与の処理方法を概念的に示す説明図である。図7(a)は、被処理体を表現するための図形要素の一例を示している。被処理体モデルデータは、例えばバイナリ形式のSTL(Standard Triangulated Language)ファイルであり、三角形の図形要素で表現される。図7(a)に示す太線は被処理体をスライスする平面と、一の図形要素との交線を示している。他の図形要素についても、スライスする平面と交わる部分で交線が独立して存在する。図7(b)は、図形要素毎に存在する交線をつなぎ合わせた状態を示す概念図である。各交線は方向を有しており、一の交線の終点に他の交線の始点がつながるようにする。そして、Y方向又はX方向に昇順又は降順に、各交線の終点座標を並べたものと、始点座標とを並べたもとを対応させて接続していくと、図7(b)に示すような多角形が得られる。図7(c)は、閉じた多角形を複数の三角形に分割し、上記三角形に色を付与した状態を示している。 FIG. 7 is an explanatory diagram conceptually showing a triangulation and color assignment processing method. FIG. 7A shows an example of a graphic element for expressing the object to be processed. The object model data is, for example, an STL (Standard Triangulated Language) file in a binary format, and is represented by triangular graphic elements. A thick line shown in FIG. 7A indicates an intersection line between a plane for slicing the object to be processed and one graphic element. As for the other graphic elements, there are independent lines of intersection at the intersections with the plane to be sliced. FIG. 7B is a conceptual diagram showing a state in which intersecting lines existing for each graphic element are connected. Each intersection line has a direction, and the start point of another intersection line is connected to the end point of one intersection line. Then, when connecting the arrangement of the end point coordinates of each intersection line in the ascending or descending order in the Y direction or the X direction and the origin point coordinates, the connection is made as shown in FIG. 7B. A polygon is obtained. FIG. 7C shows a state in which a closed polygon is divided into a plurality of triangles and a color is given to the triangles.
次いで、第1制御部11は、生成された被処理体スライスデータ及び処理内容スライスデータを画像処理装置2へ送信する(ステップS19)。画像処理装置2の第2制御部21は、サーバ装置1から送信された被処理体スライスデータ及び処理内容スライスデータを受信し、受信した被処理体スライスデータ及び処理内容スライスデータをRAM24に記憶させる(ステップS20)。
Next, the
ステップS20の処理を終えたサーバ装置1の第1制御部11は、ラスタライズ処理を指示するためのラスタライズ処理指示データを画像処理装置2へ送信する(ステップS21)。
The
図8は、ラスタライズ処理及び合成処理の処理方法を概念的に示す説明図である。画像処理装置2の第2制御部21は、サーバ装置1から送信されたラスタライズ処理指示データを受信した場合、図8に示すように、RAM24が記憶している被処理体スライスデータ61及び処理内容スライスデータ62に対するラスタライズ処理を実行する(ステップS22)。より詳細には、第2制御部21は、ラスタライズプログラムを一又は複数の演算部22に書き込み、演算部22にラスタライズ処理を指示する。演算部22は、RAMが記憶している被処理体スライスデータ61及び処理内容スライスデータ71を構成する三角形要素データを読み込み、上記三角形要素データで表現される三角形を画素でラスタ表現し、上記ラスタ表現によって得られる画像データをRAM24に書き込む。以上の処理によって、図8に示すように被処理体スライスデータ61によってベクタ表現されていたスライス面を、複数の画素によってラスタ表現された被処理体スライス画像データ62に変換することができる。同様に、処理内容スライスデータ71によってベクタ表現されていたスライス面を、複数の画素によってラスタ表現された処理内容スライス画像データ72に変換される。
FIG. 8 is an explanatory diagram conceptually showing a processing method of the rasterizing process and the synthesizing process. When the
次いで、サーバ装置1の第1制御部11は、被処理体スライス画像データ62及び処理内容スライス画像データ72の合成を指示するための合成指示データを画像処理装置2へ送信する(ステップS23)。画像処理装置2の第2制御部21は、合成指示データを受信した場合、図8に示すように被処理体スライス画像データ62で表現される画像と、処理内容スライス画像データ72で表現される画像とを合成する。合成処理の結果、合成スライス画像データ81が得られる。より詳細には、第2制御部21は、合成処理に必要な演算処理プログラム31部分をRAM24から一又は複数の演算部22へ読み出させ、各演算部22に所定の画像合成処理を実行させる。
Next, the
なお、合成方法は特に限定されず、任意の方法でよい。例えば、被処理体スライス画像データで表現される画像に、処理内容スライス画像データで表現される画像を上書きするように合成してもよく、或いは、対応する各画素の階調を示すデータのビット和演算によって合成してもよい。 The synthesis method is not particularly limited, and any method may be used. For example, the image represented by the processed object slice image data may be combined with the image represented by the processing content slice image data so as to be overwritten, or a bit of data indicating the gradation of each corresponding pixel You may synthesize | combine by the sum operation.
次いで、サーバ装置1の第1制御部11は、合成処理を終了したか否かを画像処理装置2に問い合わせることによって、合成処理を終了したか否かを判定する(ステップS25)。合成処理を終了していないと判定した場合(ステップS25:NO)、第1制御部11は、合成処理が終了するまで待機する。合成処理を終了したと判定した場合(ステップS25:YES)、第1制御部11は、ステップS24の合成処理によって得られた結果を示す合成結果データの送信を画像処理装置2へ要求する(ステップS26)。画像処理装置2の第2制御部21は、合成結果データの送信の要求を受けた場合、合成結果データをサーバ装置1へ送信する(ステップS27)。
Next, the
そして、サーバ装置1の第1制御部11は、画像処理装置2から送信された合成結果データを受信し(ステップS28)、受信した合成結果データに基づいて、処理結果を解析し、解析結果をRAM13に記憶させる(ステップS29)。合成結果データは、例えば、図8右端に示した合成スライス画像データ81の全部又は一部、被処理体の断層画像と処理内容の断層画像とが重複している画素数などである。
Then, the
次いで、第1制御部11は、ファイルサーバ装置5内のファイルを開き、合成結果データをファイルサーバ装置5に書き込む(ステップS30)。次いで、第1制御部11は、未処理層があるか否かを判定する(ステップS31)。未処理層があると判定した場合(ステップS31:YES)、第1制御部11は、処理をステップS16へ戻す。未処理層が無いと判定した場合(ステップS31:NO)、第1制御部11は、ステップS29で解析し、RAM13に記憶させた解析結果を統合し(ステップS32)、統合して得られた解析結果をクライアント装置4へ送信する(ステップS33)。解析結果の統合処理では、例えば、被処理体と、処理内容を示す立体形状とが重複している画素数などを算出する。そして、第1制御部11は、ファイルサーバ装置5で合成結果データを書き込んだファイルを閉じる書き込み終了処理を実行し(ステップS34)、本実施形態に係る演算処理を終える。
なお、本実施形態では、一例として、合成後に、未処理層が存在するか否かを判定し(S31)、未処理層が存在する場合(ステップS31:YES)、次の層をスライスする(ステップS16)といった処理手順を説明したが、画像処理装置2による画像処理とサーバ装置1側の第1制御部11による、後続の未処理層のスライス処理とを並行して行わせても良い。
Next, the
In this embodiment, as an example, after synthesis, it is determined whether or not an unprocessed layer exists (S31). If an unprocessed layer exists (step S31: YES), the next layer is sliced (step S31). Although the processing procedure such as step S16) has been described, the image processing by the
このように構成された演算処理装置、演算処理方法、演算処理プログラム31及び記録媒体3によれば、立体形状を、ラスタ表現された断層画像によって積層データとして取り扱うことで、三次元で表現された被処理体に対する処理の結果を解析するように構成されている。デクセル表現を採用した場合、例えばZ軸方向に長い立方体を針山のように配して三次元形状を表現しているため、Z軸方向において途中に間欠が生ずるような三次元形状を処理することができないが、本実施形態によれば、Z軸に略垂直な平面でスライスした断層画像に対して画像処理を実行する構成であるため、Z軸方向において途中に間欠が生ずるような三次元形状を処理することも可能であり、デクセル表現に比べて汎用性を向上させることができる。
また、ラスタ表現された各断層画像に対して逐次画像処理を実行し、各画像処理の結果を統合する構成であるため、本実施形態の処理は、実質的にはボクセル表現された立体形状に対して上述の画像処理を実行する処理と等価である。従って、本実施形態によれば、立体形状をボクセル表現する場合と同等の汎用性を得ることができる。
According to the arithmetic processing device, the arithmetic processing method, the
In addition, since the image processing is sequentially performed on each tomographic image expressed in raster and the results of each image processing are integrated, the processing of the present embodiment is substantially converted into a three-dimensional shape expressed in voxels. On the other hand, this is equivalent to the processing for executing the above-described image processing. Therefore, according to the present embodiment, versatility equivalent to the case of expressing a three-dimensional shape as a voxel can be obtained.
また、直接的には二次元の断層画像に対する画像処理を行い、上記画像処理の結果を積層することによって、三次元で表現された被処理体に対する処理の結果を解析するように構成してあるため、被処理体及び処理内容をラスタ表現するためのデータサイズをボクセル表現に比べて小さくし、三次元で表現された被処理体に対する処理の結果を解析することができる。データサイズが小さくなった場合、ユーザは、大容量のメモリを用意する必要が無くなる。またデータの読み出し及び送受信に要する処理時間を短縮することによって、より速やかに処理結果を確認することができる。 In addition, the image processing is directly performed on the two-dimensional tomographic image, and the results of the processing on the target object expressed in three dimensions are analyzed by stacking the image processing results. Therefore, the data size for rasterly expressing the object to be processed and the processing content can be made smaller than that of the voxel expression, and the processing result for the object to be processed expressed in three dimensions can be analyzed. When the data size is reduced, the user need not prepare a large-capacity memory. Further, by shortening the processing time required for reading and transmitting / receiving data, the processing result can be confirmed more quickly.
また、サーバ装置1側で断層を生成し、画像処理装置2側でスライスデータのラスタライズ、合成処理などを実行する並列処理を行っているため、サーバ装置1単体で上述の処理を実行する場合に比べて、3次元の問題をより速やかに解析することができる。詳細には、逐次処理型のプロセッサである第1制御部11にはスライス処理を実行させ、画像処理専用のプロセッサである画像処理装置2に画像処理を実行させることができるようにスライス面に色を付けて画像処理により解析及び分析できるようにして、それぞれの得意な処理に特化させることによって、単なる並列処理よりも高速化及び高汎用性を得ることができる。
In addition, since the
更に、被処理体モデルデータをスライスした断層を積層することによって3次元の被処理体を表現する構成であるため、有限要素法のように、メッシュを作成する必要が無く、メッシュ作成の経験が浅い技術者であっても、簡易に三次元で表現された被処理体に対する処理の結果を解析することができる。 Furthermore, since it is configured to represent a three-dimensional object by stacking slices obtained by slicing the object model data, there is no need to create a mesh as in the case of the finite element method. Even a shallow engineer can easily analyze the results of processing on a target object expressed in three dimensions.
以上、本発明の一実施形態について説明した。次いで、三次元形状を持つ被処理体の立体モデルデータに対して具体的な解析・分析を行う際に、上記一実施形態が実際にはどのように適用されるのかについて、実施例を2つ挙げて説明する。 The embodiment of the present invention has been described above. Next, two examples of how the above-described embodiment is actually applied when specific analysis / analysis is performed on the three-dimensional model data of the object to be processed having a three-dimensional shape. I will give you a description.
以下、図9〜30を参照して、上記一実施形態の一実施例(実施例1)に係る処理について説明する。本実施例は、上記一実施形態に係るシステム/方法を加工シミュレーション(特に、被加工物であるワークに対して切削加工する場合についてのシミュレーション)に適用した場合の具体例である。
図9乃至図12は、本実施例に係る第1制御部11及び第2制御部21による処理の流れを示すフローチャートである。第1制御部11は、GPUプログラムを内部記憶装置15から読み出し、読み出したGPUプログラムを画像処理装置2へ送信する(ステップS51)。画像処理装置2の第2制御部21は、サーバ装置1から送信されたGPUプログラムを受信し、受信したGPUプログラムをRAM24に記憶させる(ステップS52)。
Hereinafter, processing according to an example (Example 1) of the above-described embodiment will be described with reference to FIGS. The present example is a specific example when the system / method according to the above-described embodiment is applied to a machining simulation (particularly, a simulation for cutting a workpiece that is a workpiece).
9 to 12 are flowcharts showing the flow of processing by the
次いで、サーバ装置1の第1制御部11は、クライアント装置4から送信された演算処理指示データを受信し、受信した演算処理指示データをRAM13に記憶させる(ステップS53)。演算処理指示データには、処理対象の被処理体モデルデータ、処理内容データ、切削加工によって生成しようとしている三次元形状を表現した目標立体モデルデータを指定する情報、立体形状を断層で表現する場合における各層間の幅を示す幅情報などが含まれている。
Next, the
そして、第1制御部11は、演算処理指示データによって指定された被処理体モデルデータ、処理内容データ及び目標立体モデルデータをファイルサーバ装置5から読み出す(ステップS54)。読み出された被処理体モデルデータ、処理内容データ及び目標立体モデルデータは、データ形式に応じた方法でRAM13に展開される。
And the
処理内容データは、被処理体に対する処理、例えば切削を行うボールエンドミルの立体形状を複数の基本形状要素(プリミティブ)で表現した工具データと、上記立体形状の動作を規定する工具パスデータとを含む。 The processing content data includes processing for the object to be processed, for example, tool data in which a three-dimensional shape of a ball end mill that performs cutting is expressed by a plurality of basic shape elements (primitives), and tool path data that defines the operation of the three-dimensional shape. .
図13は、処理内容データとしての工具データを概念的に示す説明図である。工具データは、複数の基本形状要素、例えば球、円柱、円錐、トーラス面の集合によって表現される。例えば、ボールエンドミルを表現した工具データは、ボールエンドミルの先端部に相当するカッターを球107a、及び球107aと径が同じ円柱107bで表現している。なお、球107aの円柱107b側半球部分と、円柱107bとは重ね合わされているため、球107aの半球部分だけが図示されている。また、工具データは、シャンクを、カッターと同径の円柱107c、及び円錐107dで表現し、ホルダを、シャンクよりも大径の偏平な円柱107eで表現している。なお、工具データは、例えば一例としてテキスト形式のファイルであり、工具を表現する複数の基本形状要素夫々に、例えばカッターやシャンクなどの要素を指定する要素種別と、例えば球や円柱といった形状を指定する形状種別と、形状種別に応じた各種パラメータとを含む。
FIG. 13 is an explanatory diagram conceptually showing tool data as processing content data. The tool data is represented by a set of a plurality of basic shape elements such as a sphere, a cylinder, a cone, and a torus surface. For example, in the tool data representing the ball end mill, a cutter corresponding to the tip of the ball end mill is represented by a sphere 107a and a
工具パスデータは、単位時間当たりの工具の経路を示す情報であり、工具先端の座標値と、工具の速度と、工具軸ベクトルとで構成される。なお、工具パスデータは、例えば加工シミュレータシステムで使用されるNC(Numerical Control)ファイルを解読し、上記一実施形態で必要な工具の動作を抽出及び簡素化して生成すると良い。また、言うまでもなく、工具パスデータは、工具の位置と速度とを規定できる情報であればその工具パスデータの生成方法、フォーマットなどは特に限定されない。ある単位時間における工具パスデータと、工具データとで、一の処理内容データが特定される。 The tool path data is information indicating the tool path per unit time, and is composed of the coordinate value of the tool tip, the speed of the tool, and the tool axis vector. The tool path data may be generated by, for example, decoding an NC (Numerical Control) file used in the machining simulator system and extracting and simplifying the operation of the tool necessary in the above embodiment. Needless to say, as long as the tool path data is information that can define the position and speed of the tool, the generation method and format of the tool path data are not particularly limited. One process content data is specified by the tool path data and tool data in a certain unit time.
図14は、被処理体モデルデータ、目標立体モデルデータ、処理内容データを概念的に示す説明図である。図14(a)は、被処理体モデルデータ6によって表現された被処理体の三次元形状を示している。図14(b)は、目標立体モデルデータ9によって表現された目標形状、即ち切削加工によって生成しようとしている三次元形状を示している。図14(c)は、単位時間の工具パスに対応した一の処理内容データ107によって表現された処理内容の三次元形状、例えば被処理体を切削する工具を示している。
FIG. 14 is an explanatory diagram conceptually showing the object model data, the target stereo model data, and the processing content data. FIG. 14A shows the three-dimensional shape of the target object expressed by the target
ステップS54の処理を終えた第1制御部11は、ステップS54で読み出された被処理体モデルデータが立体モデル形式であるか否かを判定する(ステップS55)。立体モデル形式であると判定した場合(ステップS55:YES)、第1制御部11は、RAM13が記憶している各層の幅情報と、被処理体モデルデータとに基づいて、被処理体をスライスした場合に生ずる層数を算出する(ステップS57)。
The
ステップS55で立体モデル形式では無いと判定した場合(ステップS55:NO)、第1制御部11は、被処理体モデルデータがコンターモデルであるか否かを判定する(ステップS58)。コンターモデルであると判定した場合(ステップS58:YES)、第1制御部11は、被処理体モデルデータに含まれる層数を読み出す(ステップS59)。ステップS58でコンターモデルでないと判定した場合(ステップS58:NO)、第1制御部11は、被処理体モデルデータが積層画像モデルデータであるか否かを判定する(ステップS60)。積層画像モデル形式とは、ラスタ表現された断層画像を積層して立体モデルを表現する形式である。積層画像モデルデータであると判定した場合(ステップS60:YES)、第1制御部11は、被処理体モデルデータに含まれる層数を読み出す(ステップS61)。
When it determines with it not being a stereo model format by step S55 (step S55: NO), the
ステップS57,59又は61の処理を終えた場合、又はステップS60で積層画像モデルデータで無いと判定した場合(ステップS60:NO)、第1制御部11は、処理対象に立体モデル形式が含まれているか否かを判定する(ステップS62)。立体モデル形式のデータが含まれていると判定した場合(ステップS62:YES)、第1制御部11は、立体モデル形式である被処理体モデルデータ、処理内容データ又は目標立体モデルに対して、スライス処理を実行する(ステップS63)。
When the process of step S57, 59 or 61 is completed, or when it is determined in step S60 that the image data is not layered image model data (step S60: NO), the
図15は、実施例1におけるスライス処理の方法を概念的に示す説明図である。図15(a)は、被処理体モデルデータ6によって表現された被処理体をX軸方向から見た側面図である。Z軸に略垂直な複数の直線は、XY平面に平行な平面であって、上記平面で被処理体をスライスした状態を示している。同様に、図15(b)は、目標立体モデルデータ9によって表現された処理内容をX軸方向から見た側面図であり、上記平面でスライスされた状態を示している。図15(c)は、被処理体モデルデータ107によって表現された処理内容をX軸方向から見た側面図であり、上記平面でスライスされた状態を示している。ステップ16では、一の平面でスライスされた一組のスライス面、即ち被処理体のスライス面と、処理内容のスライス面が生成される。
FIG. 15 is an explanatory diagram conceptually illustrating a slice processing method according to the first embodiment. FIG. 15A is a side view of the target object expressed by the target
ステップS62で処理対象に立体モデル形式のデータが含まれていないと判定した場合(ステップS62:NO)、第1制御部11は、処理対象にコンターモデル形式のデータが含まれるか否かを判定する(ステップS64)。コンターモデルのデータが含まれると判定した場合(ステップS64:YES)、第1制御部11は、コンターモデルである被処理体モデルデータ、処理内容データ又は目標立体モデルデータから処理対象の断層を抽出する(ステップS65)。
When it is determined in step S62 that the processing target does not include data in the stereo model format (step S62: NO), the
ステップS63又はステップS65の処理を終えた場合、第1制御部11は、スライス面に現れた形状を一又は複数の三角形に分割し(ステップS66)、各三角形に対して、スライスされた立体形状毎に異なる色を付与する(ステップS67)。例えば、被処理体の断層画像には、(100000・・・0)のビット列で表される色を付与する(図21参照)。また、目標立体形状の断層画像には(010000・・・0)のビット列で表される色を付与する。更に、工具動作1〜nの断層画像には(001000・・・0)、(000100・・・0)、・・・、(000000・・・1)のビット列で表される色を付与する。
When the process of step S63 or step S65 is finished, the
図16は、実施例1における被処理体スライスデータ61、目標スライスデータ91、及び処理内容スライスデータ171を概念的に示す説明図である。図16(a)は、一の平面で被処理体をスライスし、色付与することによって得られたスライス面を表現した被処理体スライス画像データ61の概念図であり、図16(b)は、上記一の平面で目標立体形状をスライスし、色を付与することによって得られたスライス面を表現した目標スライスデータ91の概念図である。図16(c)は、上記一の平面で、単位時間における一の処理内容をスライスし、色付与することによって得られたスライス面を表現した処理内容スライス画像データ171の概念図である。つまり、単位時間で移動する工具によって切削されるであろうXY平面領域を表現している。
FIG. 16 is an explanatory diagram conceptually showing the
ステップS67の処理を終えた場合、第1制御部11は、生成された被処理体スライスデータ、処理内容スライスデータ又は目標スライスデータを画像処理装置2へ送信する(ステップS68)。画像処理装置2の第2制御部21は、サーバ装置1から送信された被処理体スライスデータ、処理内容スライスデータ又は目標スライスデータを受信し、受信した被処理体スライスデータ、処理内容スライスデータ又は目標スライスデータをRAM24に記憶させる(ステップS69)。
When the process of step S67 is completed, the
次いで、サーバ装置1の第1制御部11は、ラスタライズ処理を指示するためのラスタライズ処理指示データを画像処理装置2へ送信する(ステップS70)。
Next, the
図17は、処理体スライスデータ及び目標スライスデータに係るラスタライズ処理及び合成処理の処理方法を概念的に示す説明図、図18乃至図20は、実施例1におけるラスタライズ処理及び合成処理の処理方法を概念的に示す説明図である。画像処理装置2の第2制御部21は、サーバ装置1から送信されたラスタライズ処理指示データを受信した場合、図17又は図18に示すように、RAM24が記憶している被処理体スライスデータ61、処理内容スライスデータ171又は目標スライスデータ91に対するラスタライズ処理を実行する(ステップS71)。ラスタライズ処理によって、被処理体スライスデータ61をラスタ表現に変換した被処理体スライス画像データ62、処理内容スライスデータ171をラスタ表現に変換した処理内容スライス画像データ172、及び目標スライスデータ91をラスタ表現に変換した目標スライス画像データ92が得られる。
FIG. 17 is an explanatory diagram conceptually showing a processing method of rasterization processing and synthesis processing related to the processing object slice data and target slice data, and FIGS. 18 to 20 show processing methods of the rasterization processing and synthesis processing in the first embodiment. It is explanatory drawing shown notionally. When the
次いで、サーバ装置1の第1制御部11は、処理対象に積層画像モデル形式のデータ、特に積層画像モデル形式の被処理体モデルデータが含まれているか否かを判定する(ステップS72)。積層画像モデル形式の被処理体モデルデータが含まれていると判定した場合(ステップS72:YES)、第1制御部11は、二次圧縮された被処理体スライス画像データを、被処理体モデルデータから抽出する(ステップS73)。そして、第1制御部11は、被処理体スライス画像データを二次解凍する(ステップS74)。二次解凍された被処理体スライス画像データは、一次圧縮された被処理体スライス画像データとなる。そして、第1制御部11は、一次圧縮された被処理体スライス画像データを画像処理装置2へ送信する(ステップS75)。一次圧縮及び二次圧縮の詳細は後述する。
Next, the
画像処理装置2の第1制御部11は、一次圧縮された被処理体スライス画像データを受信し、受信した被処理体スライス画像データをRAM24に記憶させる(ステップS76)。次いで、サーバ装置1の第2制御部21は、被処理体スライス画像データの一次解凍を指示するための一次解凍指示データを画像処理装置2へ送信する(ステップS77)。一次解凍指示データを受信した画像処理装置2の第2制御部21は、被処理体スライス画像データを一次解凍する(ステップS78)。
The
ステップS78の処理を終えた場合、又はステップS72で処理対象が積層画像モデルであると判定した場合(ステップS72:NO)、第1制御部11は、1回の画像処理に必要な断層の生成を終了したか否か、つまり、注目している断層における被処理体スライス画像データ、処理内容スライスデータ及び目標スライス画像データが用意されたか否かを判定する(ステップS79)。画像処理に必要な断層の生成を終了していないと判定した場合(ステップS79:NO)、第1制御部11は、処理をステップS62へ戻す。
When the process of step S78 is completed, or when it is determined in step S72 that the processing target is a laminated image model (step S72: NO), the
画像処理に必要な断層の生成を終了したと判定した場合(ステップS79:YES)、第1制御部11は、被処理体スライス画像データ、処理内容スライス画像データ及び目標スライス画像データの合成を指示するための合成指示データを画像処理装置2へ送信する(ステップS80)。画像処理装置2の第2制御部21は、合成指示データを受信した場合、被処理体スライス画像データ、処理内容スライス画像データ、及び目標スライス画像データ夫々で表現される画像を合成する。より具体的には、図17に示すように、被処理体スライス画像データ62に、目標スライス画像データ92を上書きし、合成スライス画像データ181を得る。更に、図18に示すように、合成スライス画像データ181に対して、処理内容スライス画像データ172をビット和演算によって合成する。上記ビット和演算によって、合成スライス画像データ182が生成される。また、図19(a)〜(c)に示すように異なる単位時間における処理内容スライス画像データも順にビット和演算によって合成することで、図20に示すような合成断層画像が得られる。なお、作図の便宜上、図19及び図20ではハッチングを付与していないが、被処理体の断面画像、目標断面画像、異なる単位時間における各処理内容断層画像に対しては異なる色が付与されている。
When it is determined that the generation of the tomogram necessary for the image processing has been completed (step S79: YES), the
図21は、合成スライス画像データで表現される画像の色が有する意味を説明するための説明図である。図21(a)は、図18に示す合成スライス画像データ181の各画素が有する3種類の色情報を示している。画素は、n+2ビット、例えば32ビットの色情報を有しており、背景部分は、全ビットが0である。被処理体部分は、先頭2ビットが「10」で、他のビットはすべて0、目標立体形状部分は、先頭2ビットが「01」で、他のビットはすべて0である。
図21(b)は、図18に示す処理内容断面画像データ172などの各画素が有するn+1種類の色情報を示している。背景部分は、全ビットが0である。工具動作断面1は、先頭3ビット目に1を設定し、工具動作断面2は、先頭4ビット目に1が設定されている。工具動作断面1,2,・・・,nは、異なる単位時間における工具の動作断面を示している。以下同様にして、工具動作断面毎に異なるビット位置に1が設定され、工具動作断面nには、先頭nビット目に1が設定される。
図21(c)は、図18に示す合成スライス画像データの各画素が有する色情報を示している。背景部分、被処理体部分、目標立体形状部分については、図21(a)と同様である。各部分に工具動作断面1〜nのいずれかがビット和演算によって合成された場合、先頭2ビットは、背景を除き、いずれかが1、即ち「10」、「01」となる。また、非先頭のnビットは、いずれか一つが1になる。
なお図21に示した画像の色が有する意味の定義は一例であり、これに限定されるものではない。
FIG. 21 is an explanatory diagram for explaining the meaning of the color of an image expressed by the composite slice image data. FIG. 21A shows three types of color information included in each pixel of the composite
FIG. 21B shows n + 1 types of color information included in each pixel such as the processing content
FIG. 21C shows color information included in each pixel of the composite slice image data shown in FIG. About a background part, a to-be-processed object part, and a target three-dimensional shape part, it is the same as that of Fig.21 (a). When any one of the
The definition of the meaning of the color of the image shown in FIG. 21 is an example, and the present invention is not limited to this.
次いで、サーバ装置1の第1制御部11は、合成処理を終了したか否かを画像処理装置2に問い合わせることによって、合成処理を終了したか否かを判定する(ステップS82)。合成処理を終了していないと判定した場合(ステップS82:NO)、第1制御部11は、合成処理が終了するまで、ステップS82の処理を繰り返し実行し、待機する。合成処理を終了したと判定した場合(ステップS82:YES)、第1制御部11は、一次圧縮を指示するための一次圧縮指示データを画像処理装置2へ送信する(ステップS83)。一次圧縮指示データを受信した画像処理装置2の第2制御部21は、被処理体スライス画像データを一次圧縮する(ステップS84)。
Next, the
図22は、一次圧縮方法を概念的に示す説明図である。上記一実施形態では8192×8192画素の画像データを一次圧縮する場合を説明する。まず、図22(a)に示すように、8192×8192画素の画像データ(以下、8192×8192画像という)を32×32画素の画像領域(以下、32×32画像という)に区分する。このように区分された32×32画像は256×256個になるため、各32×32画像を256×256画素のマップ画像によって管理する。マップ画像の左上の画素は、8192×8192画像の左上に位置する32×32画像に対応する。同様にして、マップ画像の左上から右方向に配列する画素夫々は、8192×8192画像の左上から右方向に配列する各32×32画像に対応し、マップ画像の右下の画素が、8192×8192画像の右下に位置する32×32画像に対応する。マップ画像は、対応する32×32画像に色情報を有する画素が存在する場合、つまり背景以外の断層画像が一部に存在する場合、1が設定され、色情報を有する画素が存在しない場合0が設定される。そして、1が設定された32×32画像は、図22(b)に示すように、1024×1024画素の画像(以下、1024×1024画像という)の1ラインに配列される。色情報を有する32×32画像が1024個以上ある場合、1024×1024画像は、複数枚生成される。以上のように、8192×8192画像は、256×256画素のマップ画像と、一又は複数枚の1024×1024画像とに圧縮される。
一次解凍処理では、256×256画素のマップ画像を参照し、0が設定される画素に対応する32×32画像の画素にはすべて0を設定し、1が設定されている画素に対応する32×32画像には、1024×1024画像から対応する色情報を抽出して展開することにより、8192×8192画像を復元する処理を行う。
FIG. 22 is an explanatory diagram conceptually showing the primary compression method. In the above embodiment, a case where image data of 8192 × 8192 pixels is primarily compressed will be described. First, as shown in FIG. 22A, image data of 8192 × 8192 pixels (hereinafter referred to as 8192 × 8192 image) is divided into an image area of 32 × 32 pixels (hereinafter referred to as 32 × 32 image). Since the 32 × 32 images divided in this way are 256 × 256, each 32 × 32 image is managed by a map image of 256 × 256 pixels. The upper left pixel of the map image corresponds to a 32 × 32 image located at the upper left of the 8192 × 8192 image. Similarly, each pixel arranged in the right direction from the upper left of the map image corresponds to each 32 × 32 image arranged in the right direction from the upper left of the 8192 × 8192 image, and the lower right pixel of the map image is 8192 × This corresponds to a 32 × 32 image located at the lower right of the 8192 image. The map image is set to 1 when there is a pixel having color information in the corresponding 32 × 32 image, that is, when a tomographic image other than the background exists in part, and 0 when there is no pixel having color information. Is set. A 32 × 32 image in which 1 is set is arranged in one line of an image of 1024 × 1024 pixels (hereinafter referred to as 1024 × 1024 image) as shown in FIG. When there are 1024 or more 32 × 32 images having color information, a plurality of 1024 × 1024 images are generated. As described above, the 8192 × 8192 image is compressed into a 256 × 256 pixel map image and one or a plurality of 1024 × 1024 images.
In the primary decompression process, a map image of 256 × 256 pixels is referred to, and 0 is set for all pixels of a 32 × 32 image corresponding to a pixel for which 0 is set, and 32 corresponding to a pixel for which 1 is set. For the × 32 image, the corresponding color information is extracted from the 1024 × 1024 image and developed to perform a process of restoring the 8192 × 8192 image.
次いで、サーバ装置1の第1制御部11は、合成処理によって得られた結果を示す合成結果データの送信を画像処理装置2へ要求する(ステップS85)。画像処理装置2の第2制御部21は、合成結果データの送信の要求を受けた場合、合成結果データをサーバ装置1へ送信する(ステップS86)。
Next, the
そして、サーバ装置1の第1制御部11は、画像処理装置2から送信された合成結果データを受信し(ステップS87)、受信した合成結果データに基づいて、処理結果を解析し、解析結果をRAM13に記憶させる(ステップS88)。合成結果データは、例えば、被処理体断層画像と、処理内容断層画像とが重複している画素の数、目標断面画像と、処理内容断面画像とが重複している画素の数などを含む。また、合成断面画像データの全部又は一部を合成結果データに含めても良い。
Then, the
図23は、被処理体の切削による工具負荷を解析する方法を概念的に示す説明図である。工具動作断面1に係る工具負荷は、図23(a)に示すように、1ビット目及び3ビット目が1の画素は、被処理体に工具が接触した領域に対応する。従って、上記画素の個数を数えることによって、工具動作断面1に係る単位時間当たりの工具負荷を算出することができる。
また、工具動作断面2に係る工具負荷は、図23(b)に示すように、1ビット目が1、3ビット目が0、4ビット目が1の画素によって表される。なお、3ビット目が1の画素は工具断面動作1で切削済みの部分であり、上記部分では工具負荷が発生しないため、3ビット目が1になっているものを除く必要があり、3ビット目が0という条件を設けている。
更に、工具動作断面3に係る工具負荷は、図23(c)に示すように、1ビット目が1、3及び4ビット目が0、5ビット目が1の画素によって表される。
以下、同様にして各工具動作に係る工具負荷を算出することができる。最終の工具動作断面nにおける工具負荷は、1ビット目が1、3〜(n−1)ビット目が0、nビット目が1の画素によって表される。
FIG. 23 is an explanatory diagram conceptually showing a method of analyzing a tool load due to cutting of the workpiece. As shown in FIG. 23A, the tool load related to the
Further, as shown in FIG. 23B, the tool load related to the
Further, as shown in FIG. 23C, the tool load related to the
Thereafter, the tool load relating to each tool operation can be calculated in the same manner. The tool load in the final tool motion section n is represented by a pixel in which the first bit is 1, the 3 to (n-1) th bit is 0, and the nth bit is 1.
図24は、目標立体モデルデータで表された目標立体形状の切削による工具負荷を解析する方法を概念的に示す説明図である。図24(a)に示すように、2、3ビット目が1の画素は、目標立体形状に工具が接触した削り込み量に対応する。従って、上記画素の個数を数えることによって、工具動作断面1に係る削り込み量を算出することができる。また、削り込みによる工具負荷を算出することができる。
また、工具動作断面2に係る削り込み量は、図24(b)に示すように、2ビット目が1、3ビット目が0、4ビット目が1の画素によって表される。なお、3ビット目が1の画素は工具断面動作1で切削済みの部分であり、上記部分では削り込み量が発生しないため、3ビット目が1になっているものを除いている。
更に、工具動作断面3に係る削り込み量は、図24(c)に示すように、2ビット目が1、3及び4ビット目が0、5ビット目が1の画素によって表される。
以下、同様にして各工具動作に係る削り込み量及び工具負荷を算出することができる。最終の工具動作断面nにおける削り込み量は、2ビット目が1、3〜(n−1)ビット目が0、nビット目が1の画素によって表される。
FIG. 24 is an explanatory diagram conceptually showing a method of analyzing a tool load due to cutting of the target solid shape represented by the target solid model data. As shown in FIG. 24 (a), the pixels whose 2nd and 3rd bits are 1 correspond to the amount of cutting with which the tool contacts the target 3D shape. Accordingly, by counting the number of pixels, the amount of cutting according to the
Further, as shown in FIG. 24 (b), the cutting amount related to the
Further, as shown in FIG. 24C, the cutting amount related to the
Thereafter, the amount of cutting and the tool load relating to each tool operation can be calculated in the same manner. The amount of cutting in the final tool motion section n is represented by a pixel in which the second bit is 1, the 3- (n-1) th bit is 0, and the n-th bit is 1.
ステップS88の処理を終えた場合、第1制御部11は、二次圧縮処理を実行する(ステップS89)。
When the process of step S88 is completed, the
図25及び図26は、二次圧縮方法を概念的に示す説明図である。被処理体の32×32画像を圧縮する方法を説明する。まず、図25(a)に示すように32×32画像を、4×4画素領域に分割する。そして、4×4画素領域夫々のインデックスとして、8×8個の2ビット管理領域を設ける。そして、4×4画素領域に被処理体の画素一つも無い場合、インデックスの値を「00」に設定する。4×4画素領域のすべての画素が被処理体の画素である場合、インデックスの値を「11」に設定する。そして、4×4画素領域の画素の値に被処理体の画素と、背景の画素とが混在している場合、特に被処理体の画素の方が多い又は同数である場合、インデックスの値を「10」に設定し、被処理体の画素の方が多い場合、インデックスの値を「01」に設定する。そして、被処理体が含まれている4×4画素領域を、各画素の値を配列して得られる16ビットの符号無し整数として記憶する。 25 and 26 are explanatory diagrams conceptually showing the secondary compression method. A method for compressing a 32 × 32 image of the object to be processed will be described. First, as shown in FIG. 25A, a 32 × 32 image is divided into 4 × 4 pixel regions. Then, 8 × 8 2-bit management areas are provided as indexes for each 4 × 4 pixel area. If there is no pixel of the object to be processed in the 4 × 4 pixel area, the index value is set to “00”. When all the pixels in the 4 × 4 pixel area are pixels of the object to be processed, the index value is set to “11”. When the pixel of the object to be processed and the background pixel are mixed in the pixel value of the 4 × 4 pixel region, particularly when there are more or the same number of pixels of the object to be processed, the index value is set. When “10” is set and there are more pixels of the object to be processed, the index value is set to “01”. Then, the 4 × 4 pixel region including the object to be processed is stored as a 16-bit unsigned integer obtained by arranging the values of the pixels.
一方、256×256画素のマップ画像については、上記マップ画像を左上、右上、左下、右下の128×128画像に4分割する。図26には、分割されたマップ画像の1/4領域に対応する領域を示している。各画素は、0又は1の数値が設定されているため、32画素毎に、32ビットの符号無し整数として記憶する。例えば、128×128画像の横方向1ラインには、128画素が配列しているため、4つの32ビットの符号無し整数として記憶する。他の部分についても同様である。
なお、一次圧縮とは異なり必須では無いが、演算処理装置全体の処理速度を向上させるためには、二次圧縮を行うことが好ましい。また、図25及び図26に示した二次圧縮方法は一例であり、他の手法で二次圧縮するように構成しても良い。
On the other hand, for a 256 × 256 pixel map image, the map image is divided into four upper left, upper right, lower left, and lower right 128 × 128 images. FIG. 26 shows an area corresponding to a quarter area of the divided map image. Since each pixel has a value of 0 or 1, it is stored as a 32-bit unsigned integer for every 32 pixels. For example, since 128 pixels are arranged in one horizontal line of a 128 × 128 image, they are stored as four 32-bit unsigned integers. The same applies to other parts.
Although not essential, unlike primary compression, it is preferable to perform secondary compression in order to improve the processing speed of the entire arithmetic processing unit. Further, the secondary compression method shown in FIGS. 25 and 26 is an example, and the secondary compression may be configured by other methods.
そして、第1制御部11は、ファイルサーバ装置5におけるファイルを開き、合成結果データをファイルサーバ装置5に書き込む(ステップS90)。次いで、第1制御部11は、未処理層があるか否かを判定する(ステップS91)。未処理層があると判定した場合(ステップS91:YES)、第1制御部11は、処理をステップS72へ戻す。未処理層が無いと判定した場合(ステップS91:NO)、第1制御部11は、ステップS88で解析しRAM13に記憶させた解析結果を統合する(ステップS92)。そして、統合して得られた解析結果をクライアント装置4へ送信する(ステップS93)。そして、第1制御部11は、ファイルサーバ装置5で合成結果データを書き込んだファイルを閉じる書き込み終了処理を実行し(ステップS94)、本実施形態に係る演算処理を終える。
Then, the
一方、上述の処理をそのまま実行した場合、特にボールエンドミルを3軸制御して被処理体を切削することを想定したとき、切削済みの部分について、処理内容スライスデータの送受信、処理内容画像データの生成及び合成処理を行うということが必然的に発生する。そこで、切削済み部分について処理内容スライスデータに係る送受信、画像処理を省くための包含確認を画像処理を開始する前に実行する。以下、包含確認に係る処理について説明する。
図27及び図28は、包含確認に係る処理手順を示すフローチャート、図29は、包含確認の方法を概念的に示す説明図である。
On the other hand, when the above-described processing is executed as it is, especially when it is assumed that the workpiece is cut by controlling the three-axis ball end mill, transmission / reception of processing content slice data, processing content image data, The generation and synthesis processing inevitably occurs. Therefore, before and after the image processing is started, the inclusion confirmation for omitting transmission / reception and image processing related to the processing content slice data for the cut portion is performed. Hereinafter, processing related to inclusion confirmation will be described.
27 and 28 are flowcharts showing a processing procedure related to inclusion confirmation, and FIG. 29 is an explanatory diagram conceptually showing a method of inclusion confirmation.
第1制御部11は、GPUプログラムを内部記憶装置15から読み出し、読み出したGPUプログラムを画像処理装置2へ送信する(ステップS111)。画像処理装置2の第2制御部21は、サーバ装置1から送信されたGPUプログラムを受信し、受信したGPUプログラムをRAM24に記憶させる(ステップS112)。
The
次いで、サーバ装置1の第1制御部11は、演算処理指示データによって指定された処理内容データをファイルサーバ装置5から読み出す(ステップS113)。そして、第1制御部11は、被処理体などをスライスする層を指定する変数iに0を設定する(ステップS114)。
Next, the
次いで、第1制御部11は、Zi層における工具動作1〜工具動作n夫々を表した処理内容スライスデータを生成し(ステップS115)、生成した処理内容スライスデータを画像処理装置2へ送信する(ステップS116)。画像処理装置の第2制御部21は、サーバ装置1から送信された複数の処理内容スライスデータを受信し、RAM24に記憶させる(ステップS117)。
Next, the
次いで、サーバ装置1の第1制御部11は、低画素密度でラスタライズ処理を指示するためのラスタライズ処理指示データを画像処理装置2へ送信する(ステップS118)。画像処理装置2の第2制御部21は、サーバ装置1から送信されたラスタライズ処理指示データを受信した場合、RAM24が記憶している処理内容スライスデータに対するラスタライズ処理を実行する(ステップS118)。
Next, the
そして、サーバ装置1の第1制御部11は、処理内容スライス画像データの合成を指示するための合成指示データを画像処理装置2へ送信する(ステップS119)。画像処理装置2の第2制御部21は、合成指示データを受信した場合、図29(a)及び(b)に示すように処理内容スライス画像データで表現される画像を、時間的に後の処理内容スライス画像データから順に、時間的に先に処理内容スライス画像データを上書きによって合成する。
Then, the
次いで、サーバ装置1の第1制御部11は、ステップS121の合成処理によって得られた結果を示す合成結果データの送信を画像処理装置2へ要求する(ステップS122)。画像処理装置2の第2制御部21は、合成結果データの送信の要求を受けた場合、合成結果データをサーバ装置1へ送信する(ステップS123)。
Next, the
そして、サーバ装置1の第1制御部11は、画像処理装置2から送信された合成結果データを受信し(ステップS124)、受信した合成結果データに基づいて、完全に塗りつぶされた(上書きされて見えなくなった)処理内容スライス画像データがあるか否かを判定する(ステップS125)。塗り潰された領域、例えば図29の時間t=t3における処理内容断面画像は、時間t=t3よりも以前に切削された領域と重複しており、現在注目している層はもちろん、現在注目している層よりもZ軸方向上側についても切削済みであり、処理内容データに係る合成処理を実行する必要が無い。
ただ、低解像度で塗り潰しの有無を確認しているため、本来は省略できない処理内容データある可能性もある。そこで、本実施例では、処理内容データを更に高画素密度でラスタライズ処理し、包含の確認を行う。
Then, the
However, since the presence / absence of filling is confirmed at a low resolution, there may be processing content data that cannot be omitted. Therefore, in this embodiment, the processing content data is rasterized at a higher pixel density, and the inclusion is confirmed.
塗りつぶされた処理内容スライス画像データがあると判定した場合(ステップS125:YES)、第1制御部11は、高画素密度でラスタライズ処理を指示するためのラスタライズ処理指示データを画像処理装置2へ送信する(ステップS126)。なお、ステップS126では、塗り潰された処理内容断層画像が存在する領域周辺のみについて後述の処理を実行すると良い。
画像処理装置2の第2制御部21は、サーバ装置1から送信されたラスタライズ処理指示データを受信した場合、RAM24が記憶している処理内容スライスデータに対するラスタライズ処理を実行する(ステップS127)。
When it is determined that there is filled processing content slice image data (step S125: YES), the
When the
そして、サーバ装置1の第1制御部11は、処理内容スライス画像データの合成を指示するための合成指示データを画像処理装置2へ送信する(ステップS128)。画像処理装置2の第2制御部21は、合成指示データを受信した場合、図29に示すように処理内容スライス画像データで表現される画像を、時間的に後の処理内容スライス画像データから順に、時間的に先に処理内容スライス画像データを上書きによって合成する(ステップS129)。
Then, the
次いで、サーバ装置1の第1制御部11は、ステップS129の合成処理によって得られた結果を示す合成結果データの送信を画像処理装置2へ要求する(ステップS130)。画像処理装置2の第2制御部21は、合成結果データの送信の要求を受けた場合、合成結果データをサーバ装置1へ送信する(ステップS131)。
Next, the
そして、サーバ装置1の第1制御部11は、画像処理装置2から送信された合成結果データを受信し(ステップS132)、受信した合成結果データに基づいて、完全に塗りつぶされた処理内容スライス画像データがあるか否かを再判定し、塗り潰された工具動作の上限高さを現在注目しているZi層の高さに更新する(ステップS133)。
Then, the
図30は、工具動作上下限テーブルを概念的に示す説明図である。サーバ装置1は、工具動作上下限テーブルを作成してRAM13に記憶している。工具動作上下限テーブルの表(ファイル)は、複数の列(フィールド)、例えば、「工具動作情報」、「上限Z高さ」、「下限Z高さ」から構成されており、各行(レコード)は、各列に格納された情報を有する。
「工具動作情報」は、異なる単位時間の動作を識別するための情報を格納し、「上限Z高さ」及び「下限Z高さ」は、対応する各単位時間に係る画像処理を実行する際、いずれの層で工具動作断面が必要なのかを示す情報を格納している。通常、上限Z高さ及び下限Z高さは、工具のZ軸方向寸法によって定まる。ステップS133の処理では、「上限Z高さ」に格納されている情報を更新する。
FIG. 30 is an explanatory diagram conceptually showing a tool operation upper / lower limit table. The
“Tool movement information” stores information for identifying movements of different unit times, and “Upper limit Z height” and “Lower limit Z height” are used when executing image processing for each corresponding unit time. , Information indicating in which layer the tool motion section is required is stored. Usually, the upper limit Z height and the lower limit Z height are determined by the dimension in the Z-axis direction of the tool. In the process of step S133, the information stored in the “upper limit Z height” is updated.
ステップS133の処理を終えた場合、又は塗り潰された処理内容スライス画像データが無いと判定した場合(ステップS125:NO)、第1制御部11は、全層を確認したか否かを判定する(ステップS134)。全層を確認していないと判定した場合(ステップS134:NO)、第1制御部11は、変数iに1を加算し(ステップS135)、処理をステップ115へ戻す。全層を確認したと判定した場合(ステップS134:YES)、第1制御部11は、本実施形態に係る演算処理を終える。
上記本実施形態のステップS68では、第1制御部11は、工具動作上下限テーブルを参照し、注目しているZi層が、上限Z高さと、上限下限高さとの間にある工具動作について、処理内容スライスデータを生成し、生成した処理内容スライスデータを画像処理装置2へ送信する。つまり、注目しているZi層が、上限Z高さと、上限下限高さとの間に無い工具動作について、処理内容スライスデータを生成せず、処理内容スライスデータの送信も行わない。
When the process of step S133 is completed, or when it is determined that there is no filled processing content slice image data (step S125: NO), the
In step S68 of the present embodiment, the
実施例1に係る演算処理装置、演算処理方法、演算処理プログラム31及び記録媒体3によれば、被処理体モデルデータ及び処理内容データのスライス及びラスタライズ処理によって得られた被処理体スライス画像データ及び処理内容スライス画像データを色合成し、被加工物と処理内容である工具とが接触している部分の画素数を算出し、更に他の各スライス画像データについても同様の処理を積層的に逐次実行して、各断層で算出された画素数の総和を算出する構成であるため、切削加工における工具負荷を算出することができる。
同様に、目標スライス画像データ及び処理内容スライス画像データを色合成し、目標立体形状と処理内容である工具とが接触している部分の画素数を算出し、更に他の各スライス画像データについても同様の処理を積層的に逐次実行して、各断層で算出された画素数の総和を算出する構成であるため、目標立体形状に対する削り込み量を算出することができる。
また、被処理体スライス画像データを構成する画素から、被加工物と処理内容である工具とが接触している部分の画素を除いた断層画像を特定することによって、切削加工後に得られる立体形状などを算出することができる。
According to the arithmetic processing device, the arithmetic processing method, the
Similarly, the target slice image data and the processing content slice image data are color-synthesized to calculate the number of pixels of the portion where the target three-dimensional shape and the processing content tool are in contact with each other, and for each other slice image data Since the same processing is sequentially executed in a stacked manner to calculate the total number of pixels calculated for each slice, the amount of cutting for the target three-dimensional shape can be calculated.
A solid shape obtained after cutting by specifying a tomographic image obtained by removing the pixel of the portion where the workpiece and the tool that is the processing content are in contact from the pixels constituting the object slice image data Etc. can be calculated.
更に、被加工物モデルデータ及び処理内容データのスライス及びラスタライズ処理によって、被加工物スライス画像データ及び処理内容スライス画像データを生成し、各スライスデータの合成を積層的に逐次実行し、その合成結果の総和を算出することによって、被処理体に対する加工処理結果を演算するように構成してあるため、Z軸方向からの切削加工のみならず、任意方向からの複雑な切削加工についても工具負荷などの加工処理結果を演算することができる。 Further, by processing and slicing the workpiece model data and the processing content data, the workpiece slice image data and the processing content slice image data are generated, and each slice data is sequentially synthesized in a stacked manner. Since the processing result for the object to be processed is calculated by calculating the total sum of the tool load, not only for cutting from the Z-axis direction but also for complex cutting from any direction, the tool load, etc. The processing result of can be calculated.
更に、サーバ装置1及び画像処理装置2は、マップ画像によって、断層画像中、画素の情報を有する32×32画像と、画素の情報を有さない32×32画像とを管理し、画素の情報を有する32×32画像についてのみ上記32×32画像の情報を1024×1024画像に含ませることによって、各種スライス画像データを一次圧縮している。
また、特に被処理体スライス画像データ及びマップ画像について、画素の階調値が1又は0のいずれかであることを利用し、被処理体スライス画像データを構成する複数の4×4画像夫々を16ビット符号無し整数で表現し、マップ画像を32ビット符号無し整数で表現することによって、一次圧縮された各スライス画像データを二次圧縮している。
このように、本実施形態では、各種スライス画像データを一次圧縮及び二次圧縮して送受信するように構成されているため、各種スライス画像データの送受信速度が、サーバ装置1及び画像処理装置2の演算処理速度に追いつかず、演算処理装置全体の処理速度を低下させる事態を防ぐことができる。よって、一次圧縮及び二次圧縮を利用せずに、スライス画像データを送受信する構成に比べて、演算処理装置全体の処理速度を向上させることができる。
Further, the
In particular, with respect to the object slice image data and the map image, each of a plurality of 4 × 4 images constituting the object slice image data is obtained using the fact that the gradation value of the pixel is either 1 or 0. Each slice image data subjected to the primary compression is secondarily compressed by expressing it as a 16-bit unsigned integer and expressing the map image as a 32-bit unsigned integer.
As described above, in the present embodiment, since various slice image data is configured to be transmitted / received by performing primary compression and secondary compression, the transmission / reception speed of the various slice image data is the same as that of the
更にまた、図29に示すように、XY平面に略平行な一のZi層でスライスして得られる処理内容スライス画像データを、時間的に後の処理内容スライス画像データから順に上書きによって合成し、合成によって塗り潰された処理内容スライス画像データを特定することによって、上記処理内容スライス画像データを、Zi層の上層において考慮する必要が無い処理内容スライス画像データとして特定することができる。そして、上記処理内容スライス画像データの送受信を省略することによって、切削済み部分について処理内容スライスデータに係る送受信、画像処理を省くことができ、より高速に、三次元で表現された被処理体に対する処理の結果を解析することができる。 Furthermore, as shown in FIG. 29, the processing content slice image data obtained by slicing with one Zi layer substantially parallel to the XY plane is synthesized by overwriting sequentially from the later processing content slice image data, By specifying the processing content slice image data filled in by synthesis, the processing content slice image data can be specified as processing content slice image data that does not need to be considered in the upper layer of the Zi layer. By omitting the transmission / reception of the processing content slice image data, transmission / reception and image processing related to the processing content slice data can be omitted for the cut portion, and the processing object expressed in three dimensions can be performed at higher speed. The processing result can be analyzed.
上記一実施形態に係る演算処理装置、演算処理方法、演算処理プログラム31及び記録媒体3の適用範囲は、切削加工に係る三次元問題の解析のみならず、一般的な三次元問題の解析に利用することができる。実施例2では、本発明の適用例として熱解析処理を説明する。
The scope of application of the arithmetic processing apparatus, arithmetic processing method,
図31は、変形例3における画像処理方法を概念的に示す説明図である。図31(a)は、立体モデルデータによって表現された形状をX軸方向から見た側面図である。該立体モデルデータは、前記立方体の熱を表現した色情報、立方体を構成する材質を示す情報を有する。また、立方体モデルデータは、一の材質の比熱、密度、熱伝導率、また複数の材質から構成される場合、異なる材質の境界面における熱伝達率等の情報を有している。Z軸に略垂直な複数の直線は、XY平面に平行な平面であって、該平面で被処理体をスライスした状態を示している。破線は、立方体における熱の分布をしている。また、太線は、処理対象として注目しているZi層を示している。
サーバ装置1の第1制御部11は、立体モデルデータに基づいて、該立方体モデルデータによって表現されたスライスデータを生成し、生成したスライスデータ中、処理対象として注目しているZi 層と、該Zi 層の前後各N層のスライスデータを、画像処理装置2へ送信する。
画像処理装置2は、サーバ装置1から送信されたZi-N 層〜Zi+N 層のスライスデータを受信し、各スライスデータを画素で表現したスライス画像データに変換する。各画素は、熱解析に必要な情報を色情報として有する。色情報は、温度を示す情報、画素を構成する材質を示す情報、複数の材質から構成される場合、各材質の割合を示す情報を有する。また、色情報は、各材質の比熱、密度、材質間の熱伝達率等の情報を有する。
FIG. 31 is an explanatory diagram conceptually showing the image processing method in the third modification. FIG. 31A is a side view of the shape expressed by the three-dimensional model data as viewed from the X-axis direction. The three-dimensional model data includes color information representing the heat of the cube and information indicating the material constituting the cube. In addition, the cube model data includes information such as specific heat, density, thermal conductivity of one material, and heat transfer coefficient at a boundary surface of different materials when the material is composed of a plurality of materials. A plurality of straight lines substantially perpendicular to the Z axis are planes parallel to the XY plane, and show a state in which the object to be processed is sliced on the plane. The broken line shows the heat distribution in the cube. A thick line indicates a Z i layer that is focused as a processing target.
The
The
図31(b)は、Zi-N 層〜Zi+N 層のスライス画像データを概念的に示している。画像処理装置2は、X軸方向、Y軸方向及びZ軸方向に隣接する画素に関して、熱量の移動を画像合成として計算する。
FIG. 31B conceptually shows slice image data of the Z iN layer to Z i + N layer. The
図32は、熱量移動の計算方法を概念的に示す説明図である。スライス画像データを構成する画素を、一辺の長さがδの立方体の微小領域空間と仮定した場合、熱量の移動は、下記式(1)で表され、更に2つの微小領域が接触している部分の面積はδ2 であるため、下記式(1)は、下記式(2)で表される。なお、微小領域を一辺の長さδを有する立方体として説明したが、各辺の長さが異なる直方体の微小領域を想定しても良い。また、図32は、微小時間における現象を図示している。 FIG. 32 is an explanatory diagram conceptually showing a calculation method of heat transfer. When the pixels constituting the slice image data are assumed to be a cubic minute region space having a side length of δ, the movement of heat is expressed by the following formula (1), and two minute regions are in contact with each other. Since the area of the portion is δ 2 , the following formula (1) is expressed by the following formula (2). In addition, although the micro area | region was demonstrated as a cube which has the length (delta) of one side, you may assume the micro area | region of a rectangular parallelepiped from which the length of each side differs. FIG. 32 illustrates a phenomenon in a minute time.
更に、断層画像を構成する微小領域の比熱及び密度を考慮した場合、微小時間における温度変化は、下記式(3)、(4)で表される。 Furthermore, when the specific heat and density of a minute area constituting the tomographic image are taken into consideration, the temperature change in the minute time is expressed by the following equations (3) and (4).
Zi-N 層〜Zi+N 層のスライス画像データで熱量の移動を計算する場合、Zi 層のスライス画像データと、Zi 層の上下N層のスライス画像データに関して、上述の熱量の移動を計算し、立方体の色を、熱量が移動した後の温度を表現した色で書き換える。次いで、Zi 層のスライス画像データと、上下N−1層のスライス画像データに関して、熱量の移動を同様に計算し、立方体の色を書き換える。上述の処理をN回繰り返し、Zi 層に対する熱量の移動に基づいて、Zi 層の温度を求め、上記温度をサーバ装置1へ送信する。次いで、他のZi 層に注目し、上記Zi 層についても同様の手順で温度を求め、上記温度をサーバへ送信する。サーバ装置1は、全てのZi 層の温度を受信した場合、受信した各温度に基づいて立方体の状態変化を反映させる。
When calculating the movement of the heat in the slice image data of the Z iN layer to Z i + N layer, a slice image data Z i layer, with respect to the slice image data of the upper and lower N layer Z i layer, the movement of heat above Calculate and rewrite the color of the cube with a color representing the temperature after the amount of heat has moved. Next, regarding the slice image data of the Z i layer and the slice image data of the upper and lower N−1 layers, the movement of the heat amount is calculated in the same manner, and the cube color is rewritten. The above process the repeated N times, based on the movement of heat for Z i layer, determine the temperature of the Z i layer, and transmits the temperature to the
温度変化がある場合、更に全Zi 層に関する温度の変化を求める処理を、温度の変化がなくなるまで繰り返し実行する。 If there is a temperature change, the process for obtaining the temperature change for all the Z i layers is repeated until the temperature change disappears.
このように構成された実施例2に係る演算処理装置、演算処理方法、演算処理プログラム31、記録媒体3にあっては、立体モデルデータのスライス及びラスタライズ処理によって得られた複数のスライス画像データを色合成することによって、熱の移動を算出する構成であるため、ボクセル表現に依らずとも、熱解析を実行することができ、しかも三次元立体形状の一部を表現する複数のスライス画像データについて画像処理を実行する構成であるため、ボクセル表現に比べて小さなデータサイズで熱解析処理を実行することができる。
In the arithmetic processing device, the arithmetic processing method, the
また、立体モデルデータのスライス及びラスタライズ処理によって得られた複数のスライス画像データを色合成することによって、熱の移動を算出する構成であるため、有限要素法のように、メッシュを作成する必要が無く、メッシュ作成の経験が浅い技術者であっても、簡易に熱解析処理を実行することができる。 In addition, since the heat transfer is calculated by color-combining a plurality of slice image data obtained by slicing and rasterizing the stereo model data, it is necessary to create a mesh as in the finite element method. Even an engineer with little experience in creating meshes can easily execute thermal analysis processing.
なお、今回開示された上記一実施形態及び実施例1〜2はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均などの意味及び範囲内でのすべての変更が含まれることが意図される。 In addition, it should be thought that the said 1 embodiment disclosed this time and Examples 1-2 are illustrations in all the points, Comprising: It is not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the meanings described above, and is intended to include any modifications within the scope and meaning of the claims.
本発明は、切削加工の結果得られる被加工物の形状、工具負荷、削り込みなどの三次元解析のみならず、三次元空間における熱解析、電磁界解析、各種流体解析など、あらゆる三次元解析に適用することができる。 The present invention provides not only three-dimensional analysis such as the shape, tool load, and cutting of the workpiece obtained as a result of cutting, but also any three-dimensional analysis such as thermal analysis, electromagnetic field analysis, and various fluid analysis in a three-dimensional space. Can be applied to.
1 サーバ装置
2 画像処理装置
3 記録媒体
4 クライアント装置
5 ファイルサーバ装置
11 第1制御部
12 ROM
13 RAM
14 外部記憶装置
15 内部記憶装置
16 第1通信部
17 IF部
18 第2通信部
21 第2制御部
22 演算部
23 IF部
24 RAM
31 演算処理プログラム
DESCRIPTION OF
13 RAM
14
31 Arithmetic processing program
Claims (8)
前記立体モデルデータをスライス処理して複数のスライス面データを生成する生成手段と、
前記複数のスライス面データの各々に対して所定の画像処理を行う画像処理手段と、
を有することを特徴とする演算処理装置。 An arithmetic processing device that performs predetermined arithmetic processing on three-dimensional model data that represents one or more three-dimensional shapes to be processed,
Generating means for slicing the stereo model data to generate a plurality of slice plane data;
Image processing means for performing predetermined image processing on each of the plurality of slice plane data;
An arithmetic processing apparatus comprising:
前記生成手段により得られた前記複数のスライス面データの各々について、前記1以上の処理対象の各々に異なる色データを付与する色付け手段と、
前記複数のスライス面データの各々について、前記色データが複数色付与されたエリアを抽出する抽出手段と、
を更に有することを特徴とする演算処理装置。 The arithmetic processing device according to claim 1,
Coloring means for giving different color data to each of the one or more processing objects for each of the plurality of slice plane data obtained by the generation means;
For each of the plurality of slice plane data, an extraction means for extracting an area to which the color data is assigned a plurality of colors;
An arithmetic processing apparatus further comprising:
前記生成手段は、逐次処理型のプロセッサにより実現され、
前記画像処理手段は、画像処理専用のプロセッサにより実現される、
ことを特徴とする演算処理装置。 The arithmetic processing device according to claim 1 or 2,
The generating means is realized by a sequential processing type processor,
The image processing means is realized by a processor dedicated to image processing.
An arithmetic processing apparatus characterized by that.
前記逐次処理型のプロセッサに、前記立体モデルデータをスライス処理して複数のスライス面データを生成させる生成工程と、
前記画像処理専用のプロセッサに、前記複数のスライス面データの各々に対して所定の画像処理を行わせる画像処理工程と、
を有することを特徴とする演算処理方法。 In a computer including a sequential processing type processor and a processor dedicated to image processing, an arithmetic processing method for performing predetermined arithmetic processing on stereo model data representing one or more processing target three-dimensional shapes,
A generating step of causing the sequential processing type processor to slice the solid model data to generate a plurality of slice plane data;
An image processing step for causing the processor dedicated to image processing to perform predetermined image processing on each of the plurality of slice plane data;
An arithmetic processing method characterized by comprising:
前記生成工程により得られた前記複数のスライス面データの各々について、前記1以上の処理対象の各々に異なる色データを付与する色付け工程と、
前記複数のスライス面データの各々について、前記色データが複数色付与されたエリアを抽出する抽出工程と、
を更に有することを特徴とする演算処理方法。 An arithmetic processing method according to claim 4, wherein
For each of the plurality of slice plane data obtained by the generation step, a coloring step for giving different color data to each of the one or more processing targets;
For each of the plurality of slice plane data, an extraction step for extracting an area to which the color data is assigned a plurality of colors;
An arithmetic processing method characterized by further comprising:
前記逐次処理型のプロセッサに、前記立体モデルデータをスライス処理して複数のスライス面データを生成させる生成手段、及び、
前記画像処理専用のプロセッサに、前記複数のスライス面データの各々に対して所定の画像処理を行わせる画像処理手段、
として機能させることを特徴とする演算処理プログラム。 A computer program comprising a sequential processing type processor and a processor dedicated to image processing, an arithmetic processing program for performing predetermined arithmetic processing on three-dimensional model data representing one or more processing target solid shapes, When executed by
Generation means for causing the sequential processing type processor to slice the solid model data to generate a plurality of slice plane data; and
Image processing means for causing the processor dedicated to image processing to perform predetermined image processing on each of the plurality of slice plane data;
An arithmetic processing program that functions as a computer program.
前記生成手段により得られた前記複数のスライス面データの各々について、前記1以上の処理対象の各々に異なる色データを付与する色付け手段、及び、
前記複数のスライス面データの各々について、前記色データが複数色付与されたエリアを抽出する抽出手段、
として機能させることを特徴とする演算処理プログラム。 The arithmetic processing program according to claim 6, wherein when executed by the computer, the computer
For each of the plurality of slice plane data obtained by the generation unit, a coloring unit that gives different color data to each of the one or more processing objects; and
Extraction means for extracting an area to which a plurality of colors of the color data are applied for each of the plurality of slice plane data;
An arithmetic processing program that functions as a computer program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008237223A JP2010072765A (en) | 2008-09-16 | 2008-09-16 | Arithmetic processing device, method, program, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008237223A JP2010072765A (en) | 2008-09-16 | 2008-09-16 | Arithmetic processing device, method, program, and recording medium |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010072765A true JP2010072765A (en) | 2010-04-02 |
Family
ID=42204510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008237223A Pending JP2010072765A (en) | 2008-09-16 | 2008-09-16 | Arithmetic processing device, method, program, and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010072765A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013035619A1 (en) | 2011-09-09 | 2013-03-14 | 三菱マテリアル株式会社 | Exchangeable head cutting tool |
US11663759B1 (en) * | 2022-04-04 | 2023-05-30 | Cloudstream Medical Imaging, Inc. | System and method for processing multi-dimensional and time-overlapping imaging data in real time with cloud computing |
US11690601B1 (en) | 2022-04-04 | 2023-07-04 | Cloudstream Medical Imaging, Inc. | System and method for processing multi-dimensional ultrasound imaging data on real-time cloud computers |
-
2008
- 2008-09-16 JP JP2008237223A patent/JP2010072765A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013035619A1 (en) | 2011-09-09 | 2013-03-14 | 三菱マテリアル株式会社 | Exchangeable head cutting tool |
US11663759B1 (en) * | 2022-04-04 | 2023-05-30 | Cloudstream Medical Imaging, Inc. | System and method for processing multi-dimensional and time-overlapping imaging data in real time with cloud computing |
US11690601B1 (en) | 2022-04-04 | 2023-07-04 | Cloudstream Medical Imaging, Inc. | System and method for processing multi-dimensional ultrasound imaging data on real-time cloud computers |
WO2023196319A1 (en) * | 2022-04-04 | 2023-10-12 | Cloudstream Medical Imaging, Inc. | System and method for processing multi-dimensional and time-overlapping imaging data in real time with cloud computing |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2833326B1 (en) | Lossless compression of a 3D mesh including transforming of the mesh to a image | |
JP5866177B2 (en) | Image processing apparatus and image processing method | |
CN108352082B (en) | Techniques to crowd 3D objects into a plane | |
US11436800B2 (en) | Interactive system and method providing real-time virtual reality visualization of simulation data | |
JP5055214B2 (en) | Image processing apparatus and image processing method | |
JPH05266216A (en) | Method and device for volume rendering | |
EP2051533A2 (en) | 3D image rendering apparatus and method | |
KR101566167B1 (en) | Method for Rendering of Object using Geomorphic data in 3D space information | |
EP2241988B1 (en) | Method, program and product edition system for visualizing objects displayed on a computer screen | |
EP1775685A1 (en) | Information processing device and program | |
KR20080018404A (en) | Computer readable recording medium having background making program for making game | |
JP6042697B2 (en) | Design of a modeled volume represented by multiple dexels | |
JP6281006B1 (en) | Intersection determination program, intersection determination method, and intersection determination apparatus | |
US20190176405A1 (en) | Computer aided design with high resolution lattice structures using graphics processing units (gpu) | |
JP2010072765A (en) | Arithmetic processing device, method, program, and recording medium | |
CN111937039A (en) | Method and apparatus for facilitating 3D object visualization and manipulation across multiple devices | |
US11803674B2 (en) | Dual mode post processing | |
KR102056788B1 (en) | Method for processing 3d data for web service and system using the same | |
KR101940272B1 (en) | Apparatus and method for enlarging 3-dimensional virtual contents | |
JP4518389B2 (en) | System and program for generating and displaying two-dimensional data from three-dimensional data | |
Westerteiger | Virtual Reality Methods for Research in the Geosciences | |
Wang et al. | An optimization algorithm of space anisotropic hepatic artery solid texture synthesis | |
JP6106293B2 (en) | Image processing apparatus, image processing system, and image processing method | |
CN118172458A (en) | Rendering cross-sectional views of three-dimensional grids at once | |
JP4461981B2 (en) | Image processing apparatus and program |