JP4845761B2 - 3次元モデルの形状簡略化装置及び3次元モデルの形状簡略化プログラム - Google Patents

3次元モデルの形状簡略化装置及び3次元モデルの形状簡略化プログラム Download PDF

Info

Publication number
JP4845761B2
JP4845761B2 JP2007030305A JP2007030305A JP4845761B2 JP 4845761 B2 JP4845761 B2 JP 4845761B2 JP 2007030305 A JP2007030305 A JP 2007030305A JP 2007030305 A JP2007030305 A JP 2007030305A JP 4845761 B2 JP4845761 B2 JP 4845761B2
Authority
JP
Japan
Prior art keywords
shape
voxel data
simplified
voxel
data
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.)
Expired - Fee Related
Application number
JP2007030305A
Other languages
English (en)
Other versions
JP2008197776A (ja
Inventor
正芳 橋間
裕一 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007030305A priority Critical patent/JP4845761B2/ja
Publication of JP2008197776A publication Critical patent/JP2008197776A/ja
Application granted granted Critical
Publication of JP4845761B2 publication Critical patent/JP4845761B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Generation (AREA)

Description

本発明は、3次元モデルの形状簡略化装置及び3次元モデルの形状簡略化プログラムに関し、特に、3次元モデルのボクセルデータを直接簡略化する3次元モデルの形状簡略化装置及び3次元モデルの形状簡略化プログラムに関する。
従来、3次元モデルの形状を簡略化する技術として、簡略化対象の3次元モデルのボクセルデータをサーフェス(表面ポリゴン)データに変換し、該サーフェスデータに対して形状簡略化処理を行う方法があった。
3次元モデルのボクセルデータとは、規則的な構造の格子で3次元空間を離散化し、各格子点はその位置が形状の内部か外部かを表すデータ形式(ボクセル形式と呼ぶ)のデータである。
従来の具体的な3次元モデルの形状簡略化技術として、下記の特許文献1に、境界表現形式で表現された形状モデルを内部データ構造に変換し、形状データから幾何学的特徴を抽出し、該抽出された幾何学的特徴を使って簡略化形状を生成する形状簡略化方法に関して記載されている。
特開平6−259505号公報
3次元モデルのボクセルデータを用いて有限要素法による構造解析などを行う場合、該有限要素法による構造解析において分割するメッシュの数を減らすことによって、解析の計算量を削減することが求められる。上記メッシュの数を減らすためには、解析対象となる3次元モデルの形状を簡略化することが必要であり、また、解析全体の計算量の削減のためには、3次元モデルの形状の簡略化処理量を削減することが必要である。
さらに、3次元モデルをコンピュータ画面に描画する際にも、3次元モデルの形状を簡略化して描画処理量を削減することが必要である。
しかし、簡略化対象の3次元モデルのボクセルデータをサーフェスデータに変換し、該サーフェスデータに対して形状簡略化処理を行う上記従来技術では、3次元モデルのボクセルデータをサーフェスデータに変換しなければならないことから、該3次元モデルの形状を直接簡略化できない。また、サーフェスデータへの変換処理に無駄な時間がかかる。従って、上記従来技術では、3次元モデルの形状の簡略化処理量を削減することが困難である。
また、上記特許文献1に記載された技術では、ボクセル形式の3次元モデルに対する簡略化方法を示していない。該特許文献1に記載された技術を使ってボクセル形式の3 次元モデルに対して形状の簡略化を行う場合、前処理として境界表現のデータ形式への変換、及び、後処理として境界表現の簡略化形状のボクセル形式への変換が必要となり、処理時間が長くなる。
本発明は上記問題点を解決するためになされたものであって、ボクセル形式の3次元モデルの形状を直接簡略化する3次元モデルの形状簡略化装置及び3次元モデルの形状簡略化プログラムの提供を目的とする。
上記課題を解決するため、本発明は、以下のようにして、3次元モデルの形状を簡略化する。3次元モデルの形状の簡略化とは、例えば、図1(A)に示すような、平面Aと平面Bとが交差するエッジ部に丸みがついた形状(フィレット形状)を、図1(B)に示すような、平面Aと平面Bだけから構成されるエッジ部を有する角付き形状にすることや、図2(A)に示すような、薄い板に小さな穴が開いた形状を、図2(B)に示すような、穴がない形状にすることなど、定型の規則に従った形状変換のことをいう。本発明における3次元モデルの形状の簡略化は、図1及び図2に示した形状簡略化の例に限定されない。例えば、本発明は、表面に凹凸を有する3次元モデルを該凹凸がない3次元モデルに変換するようにしてもよい。
本発明の3次元モデルの形状簡略化装置は、例えば、簡略化対象となる部品の3次元モデルと、簡略化に関する形状の仕様(簡略化仕様)を入力する。部品の3次元モデルはボクセル形式のデータ(ボクセルデータ)とする。簡略化仕様は、簡略化対象となる形状の種類及び該形状の寸法に関する閾値と簡略化後の形状の種類である。例えば、簡略化対象となる形状がフィレット形状の場合、簡略化対象となる形状の種類としてフィレット形状を入力し、該フィレット形状の閾値として丸みの半径を入力する。また、簡略化後の形状の種類として、例えば角付き形状を入力する。
次に、本発明の3次元モデルの形状簡略化装置は、入力された部品の3次元モデルのボクセルデータと簡略化仕様とに基づいて、簡略化対象となる形状のボクセルデータと簡略化後の形状のボクセルデータとを生成する。例えば、簡略化対象となる形状のボクセルデータとして、入力された半径のフィレット形状を含むボクセルデータが生成され、簡略化後の形状のボクセルデータとして、角付き形状を含むボクセルデータが生成される。
次に、本発明の3次元モデルの形状簡略化装置は、上記入力された部品の3次元モデルのボクセルデータから局所範囲のボクセルデータを切り出して、上記生成された簡略化対象となる形状のボクセルデータと比較する。
本発明の3次元モデルの形状簡略化装置は、該切り出された局所範囲のボクセルデータと生成された簡略化対象となる形状のボクセルデータとの間の相関が高ければ、該切り出された局所範囲は簡略化対象となる形状であると判断し(簡略化対象となる形状のボクセルデータを検出し)、該局所範囲のボクセルデータを上記生成された簡略化後の形状のボクセルデータに置き換える。局所範囲のボクセルデータと生成された簡略化対象となる形状のボクセルデータとの間の相関が高い場合とは、例えば、局所範囲のボクセルデータと生成された簡略化対象となる形状のボクセルデータとの間で、ボクセル値が一致する場合である。上述した操作を局所範囲の切り出し位置を変えながら行う。
すなわち、本発明においては次のようにして前記課題を解決する。
(1)ボクセル形式の3次元モデルの形状を簡略化する3次元モデルの形状簡略化装置を設ける。上記3次元モデルの形状簡略化装置は、上記3次元モデルのボクセルデータを入力して記憶手段に記憶する3次元モデル入力手段と、簡略化対象となる形状の種類及び該形状の寸法に関する閾値と簡略化後の形状の種類とを簡略化仕様として入力する簡略化仕様入力手段と、上記記憶手段に記憶された3次元モデルのボクセルデータと上記簡略化仕様とに基づいて、上記簡略化対象となる形状のボクセルデータを生成する事前データ生成手段と、上記記憶手段に記憶された3次元モデルのボクセルデータと上記簡略化対象となる形状のボクセルデータとを比較して、該3次元モデルのボクセルデータから該簡略化対象となる形状のボクセルデータを検出し、該検出された簡略化対象となる形状のボクセルデータを簡略化する簡略化計算手段とを備える。
(2)上記事前データ生成手段が、更に、上記記憶手段に記憶された3次元モデルのボクセルデータと上記簡略化仕様とに基づいて、上記簡略化後の形状のボクセルデータを生成し、上記簡略化計算手段が、上記検出された簡略化対象となる形状のボクセルデータを上記簡略化後の形状のボクセルデータに置き換える。
(3)上記簡略化対象となる形状のボクセルデータと上記簡略化後の形状のボクセルデータが、2次元のボクセルデータである。
(4)上記事前データ生成手段が、更に、上記簡略化対象となる形状のボクセルデータとして、上記3次元モデルのボクセルデータのボクセル値との比較対象外とするボクセル値を持つボクセルデータを生成し、上記簡略化計算手段が、上記記憶手段に記憶された3次元モデルのボクセルデータのボクセル値と上記簡略化対象となる形状のボクセルデータのボクセル値とを比較して、該3次元モデルのボクセルデータから該簡略化対象となる形状のボクセルデータを検出する。
(5)上記簡略化計算手段が、更に、上記記憶手段に記憶された3次元モデルのボクセルデータを領域分割し、各領域に上記簡略化対象となる形状があるか否かを判断し、該簡略化対象となる形状があると判断された領域の範囲で、該3次元モデルのボクセルデータと該簡略化対象となる形状のボクセルデータとを比較する
(6)上記簡略化計算手段が、上記3次元モデルのボクセルデータから局所領域のボクセルデータを予め定められたボクセル間隔で順次ずらしながら切り出し、該切り出された局所領域のボクセルデータのうち、上記簡略化対象となる形状のボクセルデータとボクセル値が同一である局所領域のボクセルデータを、上記簡略化対象となる形状のボクセルデータとして検出する。
(7)上記簡略化計算手段が、更に、上記記憶手段に記憶された3次元モデルのボクセルデータと上記簡略化対象となる形状のボクセルデータとを予め定められたボクセルについて間引き、該間引かれた後の3次元モデルのボクセルデータと簡略化対象となる形状のボクセルデータとを比較する。
)ボクセル形式の3次元モデルの形状を簡略化する3次元モデルの形状簡略化プログラムを設ける。上記3次元モデルの形状簡略化プログラムが、コンピュータに、上記3次元モデルのボクセルデータを入力して記憶手段に記憶する処理と、簡略化対象となる形状の種類及び該形状の寸法に関する閾値と簡略化後の形状の種類とを簡略化仕様として入力する処理と、上記記憶手段に記憶された3次元モデルのボクセルデータと上記簡略化仕様とに基づいて、上記簡略化対象となる形状のボクセルデータを生成する処理と、上記記憶手段に記憶された3次元モデルのボクセルデータと上記簡略化対象となる形状のボクセルデータとを比較して、該3次元モデルのボクセルデータから該簡略化対象となる形状のボクセルデータを検出し、該検出された簡略化対象となる形状のボクセルデータを簡略化する処理とを実行させる。
本発明の3次元モデルの形状簡略化装置及び3次元モデルの形状簡略化プログラムは、3次元モデルのボクセルデータと簡略化仕様とに基づいて、簡略化対象となる形状のボクセルデータを生成し、上記3次元モデルのボクセルデータと上記簡略化対象となる形状のボクセルデータとを比較して、該3次元モデルのボクセルデータから該簡略化対象となる形状のボクセルデータを検出し、該検出された簡略化対象となる形状のボクセルデータを簡略化する。好ましくは、本発明の3次元モデルの形状簡略化装置は、上記3次元モデルのボクセルデータと上記簡略化仕様とに基づいて、簡略化後の形状のボクセルデータを生成し、上記検出された簡略化対象となる形状のボクセルデータを上記簡略化後の形状のボクセルデータに置き換える。従って、本発明によれば、従来技術のように簡略化対象の3次元モデルのボクセルデータをサーフェスデータに変換することなく、ボクセル形式の3次元モデルの形状を直接簡略化することができる。

また、本発明の3次元モデルの形状簡略化装置は、上記簡略化対象となる形状のボクセルデータと上記簡略化後の形状のボクセルデータとして、2次元のボクセルデータを生成する。従って、本発明によれば、3次元モデルにおける2次元の形状を直接簡略化することができる。
また、本発明の3次元モデルの形状簡略化装置は、上記簡略化対象となる形状のボクセルデータとして、上記3次元モデルのボクセルデータのボクセル値との比較対象外とするボクセル値を持つボクセルデータを生成する。また、本発明の3次元モデルの形状簡略化装置は、上記記憶手段に記憶された3次元モデルのボクセルデータのボクセル値と上記簡略化対象となる形状のボクセルデータのボクセル値とを比較して、該3次元モデルのボクセルデータから該簡略化対象となる形状のボクセルデータを検出する。従って、本発明によれば、一つの形状参照用ボクセルデータで簡略化対象の形状を持つボクセルデータを複数検出することができる。
また、本発明の3次元モデルの形状簡略化装置は、3次元モデルのボクセルデータを領域分割し、各領域に上記簡略化対象となる形状があるか否かを判断し、該簡略化対象となる形状があると判断された領域の範囲で、該3次元モデルのボクセルデータと該簡略化対象となる形状のボクセルデータとを比較する。従って、本発明によれば、上記3次元モデルのボクセルデータと上記簡略化対象となる形状のボクセルデータとの比較処理量を削減することができる。
また、本発明の3次元モデルの形状簡略化装置は、上記3次元モデルのボクセルデータから局所領域のボクセルデータを予め定められたボクセル間隔で順次ずらしながら切り出し、該切り出された局所領域のボクセルデータのうち、上記簡略化対象となる形状のボクセルデータとボクセル値が同一である局所領域のボクセルデータを、上記簡略化対象となる形状のボクセルデータとして検出する。従って、例えば上記ボクセル間隔を2以上のボクセル間隔とすれば、上記3次元モデルのボクセルデータと上記簡略化対象となる形状のボクセルデータとの比較処理量を削減することができる。
また、本発明の3次元モデルの形状簡略化装置は、3次元モデルのボクセルデータと上記簡略化対象となる形状のボクセルデータとを予め定められたボクセルについて間引き、該間引かれた後の3次元モデルのボクセルデータと簡略化対象となる形状のボクセルデータとを比較する。従って、本発明によれば、上記3次元モデルのボクセルデータと上記簡略化対象となる形状のボクセルデータとの比較処理量を大幅に削減することができる。
以下に、図3乃至16を参照して、本発明の第1の実施の形態について説明する。
図3は、本発明の第1の実施の形態のシステム構成の一例を示す図である。3次元モデルの形状簡略化装置1は、ボクセル形式の3次元モデルの形状を簡略化する処理装置である。
3次元モデルの形状簡略化装置1は、3次元モデル入力部11、3次元モデル記憶部12、簡略化仕様入力部13、事前データ生成部14、簡略化計算部15、3次元モデル出力部16を備える。
3次元モデル入力部11は、3次元モデルのボクセルデータを入力して3次元モデル記憶部12に記憶する。入力されるボクセルデータは、全体のボクセル数やボクセルサイズなどの格子構造を表すデータと、形状を表すボクセル値とから構成される。
3次元モデル記憶部12には、入力された3次元モデルのボクセルデータが記憶される。簡略化仕様入力部13は、簡略化対象となる形状の種類及び該形状の寸法に関する閾値と簡略化後の形状の種類とを簡略化仕様として入力する。例えば、簡略化仕様入力部13は、3次元モデルの形状簡略化装置1のユーザの指定に従って、簡略化対象となる形状の種類として直角エッジ部のフィレット形状、該形状の寸法に関する閾値として丸みの半径、簡略化後の形状として角付き形状を入力する。
事前データ生成部14は、3次元モデル記憶部12に記憶された3次元モデルのボクセルデータと上記簡略化仕様とに基づいて、上記簡略化対象となる形状のボクセルデータと簡略化後の形状のボクセルデータとを事前データとして生成する。具体的には、事前データ生成部14は、入力された簡略化仕様に基づいて、簡略化対象となる形状と簡略化後の形状を決定し、3次元モデル記憶部12に記憶された3次元モデルからボクセル構造情報を取得する。そして、事前データ生成部14は、上記決定された簡略化対象となる形状を簡略化対象となる形状のボクセルデータ(以下、「形状参照用ボクセルデータ」という)に変換するとともに、上記決定された簡略化後の形状を簡略化後の形状のボクセルデータ(以下、「形状変換用ボクセルデータ」という)に変換する。その結果、例えば、図4(A)に示すような形状参照用ボクセルデータと図4(B)に示す形状変換用ボクセルデータとが生成される。
簡略化計算部15は、3次元モデル記憶部12に記憶された3次元モデルのボクセルデータと事前データ生成部14によって生成された形状参照用ボクセルデータとを比較して、該3次元モデルのボクセルデータから該簡略化対象となる形状のボクセルデータを検出し、該検出された簡略化対象となる形状のボクセルデータを形状変換用ボクセルデータに置き換えて、該3次元モデルのボクセルデータの形状を簡略化する。
具体的には、簡略化計算部15は、図5に示すような形状簡略化処理を行う。図5は形状簡略化処理の概要を説明する図である。簡略化計算部15は、3次元モデル記憶部12から図5(A)に示す3次元モデルのボクセルデータ(以下、「モデル1」という)を抽出し、抽出されたモデル1をコピーして、図5(B)に示す3次元モデルのボクセルデータ(以下、「モデル2」という)を生成する。そして、簡略化計算部15は、図5(A)に示すモデル1から図5(C)に示す局所領域のボクセルデータを切り出し、該局所領域のボクセルデータと図5(D)に示す形状参照用ボクセルデータとを比較して、形状参照用ボクセルデータとの相関が高い局所領域のボクセルデータを検出する。簡略化計算部15は、図3(A)中の矢印の経路で示すように、モデル1から局所領域のボクセルデータを順次切り出し位置を変えながら切り出して、上記形状参照用ボクセルデータとの比較処理を行う。
モデル1の全ての局所領域について、上記形状参照用ボクセルデータとの比較処理が終了すると、簡略化計算部15は、上記検出された形状参照用ボクセルデータとの相関が高い局所領域のボクセルデータを、図5(E)に示す形状変換用ボクセルデータに置き換えて、図5(B)に示すモデル2に適用する。例えば、図5(C)に示す局所領域のボクセルデータが図5(D)に示す形状参照用ボクセルデータとの相関が高い場合、簡略化計算部15は、図5(B)に示すモデル2の、図5(C)に示す局所領域のボクセルデータのモデル1における位置と同一の位置にある領域(図5(B)中の点線の矩形で囲った領域)のデータを図5(E)に示す形状変換用ボクセルデータとする。3次元モデル出力部16は、形状が簡略化された3次元モデルのボクセルデータを出力する。
本発明の一実施形態によれば、上記形状参照用ボクセルデータと上記形状変換用ボクセルデータが、2次元のボクセルデータであってもよい。また、本発明の一実施形態によれば、事前データ生成部14が、更に、形状参照用ボクセルデータとして、3次元モデルのボクセルデータのボクセル値との比較対象外とするボクセル値を持つボクセルデータを生成し、簡略化計算部15が、3次元モデル記憶部12に記憶された3次元モデルのボクセルデータのボクセル値と形状参照用ボクセルデータのボクセル値とを比較して該3次元モデルのボクセルデータから該形状参照用ボクセルデータを検出するようにしてもよい。
また、本発明の一実施形態によれば、上記簡略化計算部15が、更に、上記3次元モデル記憶部12に記憶された3次元モデルのボクセルデータを領域分割し、各領域に上記簡略化対象となる形状があるか否かを判断し、該簡略化対象となる形状があると判断された領域の範囲で、該3次元モデルのボクセルデータと形状参照用ボクセルデータとを比較するようにしてもよい。
また、本発明の一実施形態によれば、上記簡略化計算部15が、上記3次元モデルのボクセルデータから局所領域のボクセルデータを予め定められたボクセル間隔で順次ずらしながら切り出し、該切り出された局所領域のボクセルデータのうち、上記簡略化対象となる形状のボクセルデータとボクセル値が同一である局所領域のボクセルデータを、上記簡略化対象となる形状のボクセルデータとして検出するようにしてもよい。
また、本発明の一実施形態によれば、上記簡略化計算部15が、更に、上記3次元モデル記憶部12に記憶された3次元モデルのボクセルデータと上記形状参照用ボクセルデータとを予め定められたボクセルについて間引き、該間引かれた後の3次元モデルのボクセルデータと形状参照用ボクセルデータとを比較するようにしてもよい。
図6は、本発明の第1の実施の形態の3次元モデルの形状簡略化処理フローを示す図である。まず、3次元モデル入力部11が、3次元モデルのボクセルデータを入力して、3次元モデル記憶部12に記憶する(ステップS1)。次に、簡略化仕様入力部13が、簡略化仕様を入力する(ステップS2)。事前データ生成部14が、ステップS1において3次元モデル記憶部12に記憶された3次元モデルのボクセルデータとステップS2において入力された簡略化仕様とに基づいて、形状参照用ボクセルデータと形状変換用ボクセルデータとを事前データとして生成する(ステップS3)。
次に、簡略化計算部15が、形状簡略化処理を行う(ステップS4)。ステップS4においては、簡略化計算部15が、3次元モデルのボクセルデータと形状参照用ボクセルデータとを比較して、該3次元モデルのボクセルデータから該形状参照用ボクセルデータを検出し、該検出されたボクセルデータを形状変換用ボクセルデータに変換することで、該3次元モデルの形状を簡略化する。
そして、3次元モデル出力部16が、形状が簡略化された3次元モデルのボクセルデータを出力して(ステップS5)、処理を終了する。
(3次元モデルのボクセルデータ)
図6のステップS1において入力される、3次元モデルのボクセルデータの例について説明する。図7に示すように、3次元空間に直交座標系を設定し、設定された座標軸(X,Y,Z軸)と辺が平行となる立方体を考える。この立方体を、X,Y,Z軸のそれぞれについてN分割し、分割された小さな立方体(ボクセル)を最小単位とするデータ構造とする。ボクセルの位置に関するパラメータとして、立方体の位置と分割数Nが決まれば、各ボクセルの位置や大きさを計算することができる。以下では、立方体の内部を計算領域と呼ぶ。また、1つのボクセルに対する辺の長さをボクセルサイズと呼ぶ。各ボクセルでは、形状に関する値を持つ。ここでは、ボクセルの中心位置が部品の3次元形状の内側ならば1、外側ならば0の値を持つとする。3次元モデル記憶部12では、ボクセルデータがN×N×Nの3次元配列データで記憶され、各配列要素には0か1の値が格納されている。
ボクセルデータ形式には、他にも立方体以外の計算領域の場合や、分割数を座標軸によって変える場合、ボクセルの値としてボクセル中心位置から部品表面までの符号付距離の場合などもあるが、上記と同様にして、3次元モデルのボクセルデータを定義することができる。
(簡略化仕様の入力処理)
図6のステップS2における簡略化仕様の入力処理の例について説明する。例えば、簡略化仕様入力部13は、簡略化対象となる形状の種類として直角エッジ部のフィレット形状を入力し、該フィレット形状の寸法に関する閾値として、丸みの半径を入力し、簡略化後の形状の種類として、角付き形状を入力する。上記入力されるフィレット形状は、例えば、図8(A)に示すような、2つの平面が直交するエッジ部に丸みがついたフィレット形状である。また、入力される丸みの半径は、例えば、図8(A)に示すフィレット形状を上から矢印の方向に見た(断面)図である図8(B)に示すような一定の曲率を持つ円弧の半径Rである。
丸みの半径が簡略化仕様として入力されることにより、該丸みの半径に基づいて、簡略化計算部15が、後述する形状簡略化処理において、該半径の円弧を持つフィレット形状を簡略化する。また、所定の閾値以下の半径を簡略化仕様として指定すれば、該閾値値以下の半径の円弧を持つフィレットが後述する簡略化処理によって全て簡略化される。また、入力される簡略化の形状の種類は、例えばフィレット形状の円弧を取った、角付き形状である。上記入力された図8(A)に示すフィレット形状は、後述する形状簡略化処理によって、図8(C)及び図8(C)を上から矢印の方向に見た(断面)図である図8(D)に示すような角付き形状に簡略化される。
(事前データの生成処理)
図6のステップS3における事前データの生成処理の例について説明する。事前データ生成部14は、形状参照用ボクセルデータと形状変換用ボクセルデータとを生成する。
まず、事前データ生成部14は、以下の手順1〜手順3に従って、形状参照用ボクセルデータを生成する。
(手順1)ボクセルデータの大きさMを計算する。
(手順2)ボクセルデータを格納するM×M×Mの大きさの配列を生成する。
(手順3)配列要素に簡略化対象となる形状を表す値を設定する。
ボクセルデータの大きさは、3次元モデルのボクセルサイズSとフィレットの円弧の半径Rから、(R/S)以上の大きさが必要であり、更に、後述する形状簡略化処理でボクセルデータの比較を行うためには、少し拡張した大きさが必要である。従って、事前データ生成部4は、例えば次式M=(R/S)+2によって示されるMをボクセルデータの大きさとして算出する。
次に、事前データ生成部4は、M×M×Mの大きさのボクセルデータに対して、簡略化対象となる形状を表すよう、各ボクセル値を計算する。フィレット形状の場合は、上から見た図に対するM×Mのボクセルデータを作り、この2次元ボクセルデータをM枚重ねたデータとする。2次元ボクセルデータの作り方については、例えば図9に示すように、円弧の中心位置と始点、終点位置を置き、また、図9中に示す線分を置いて表面形状を作る。そして、事前データ生成部4は、各ボクセルの中心位置に対して、表面形状との位置関係を調べ、内部にあれば1、外部にあれば0をボクセルの値として設定する。
次に、事前データ生成部4は、形状変換用ボクセルデータを生成する。ボクセルデータの大きさは形状参照用ボクセルデータと同じとし、簡略化後の形状として、例えば角付き形状を生成する。
事前データ生成部14は、以下の手順1及び手順2に従って、形状変換用ボクセルデータを生成する。
(手順1)ボクセルデータを格納するM×M×Mの大きさの配列を生成する。
(手順2)配列要素に簡略化後の形状を表す値を設定する。
例えば、角付き形状のボクセルデータを形状変換用ボクセルデータとして生成する場合、事前データ生成部4は、例えば図9に示すような形状参照用ボクセルデータと平面の位置(上から見た図で線分の位置)を合わせるように、図10の太線の線分で示すような表面形状を生成する。形状参照用ボクセルデータと同様に、各ボクセルの中心位置に対して、表面形状との位置関係を調べ、内部にあれば1、外部にあれば0をボクセルの値として設定する。
(形状簡略化処理)
図6のステップS4における形状簡略化処理の例について説明する。図11は、モデル1と形状参照用ボクセルデータとの比較処理を説明する図である。簡略化計算部15は、3次元モデル記憶部12から、例えば図11(A)に示すようなモデル1を抽出する。また、簡略化計算部15は、抽出されたモデル1をコピーして、例えば後述する図12(A)に示すモデル2とする。
簡略化計算部15は、図11(A)に示すモデル1における点線の矩形で囲った局所領域のボクセルデータと形状参照用ボクセルデータとを比較して、該形状参照用ボクセルデータとボクセル値が同一である局所領域のボクセルデータを検出する。例えば、図11(A)に示す点線の矩形で囲った局所領域のボクセルデータは、形状参照用ボクセルデータとボクセル値が一致しない。
簡略化計算部15は、モデル1から局所領域のボクセルデータを予め定められたボクセル間隔で順次シフトしながら(ずらしながら)切り出す。この例では、1ボクセルずつずらしながら局所領域のボクセルデータを切り出し、切り出された局所領域のボクセルデータと形状参照用ボクセルデータとを比較する。例えば、図11(B)に示すモデル1における点線の矩形で囲った局所領域のボクセルデータは、形状参照用ボクセルデータとボクセル値が一致するので、簡略化計算部15は、該局所領域のボクセルデータを形状参照用ボクセルデータとして検出する。
次に、簡略化計算部15は、以下に図12を参照して説明するように、上記形状参照用ボクセルデータとして検出された局所領域のボクセルデータを形状変換用ボクセルデータに置き換える。
図12は、モデル2を形状変換用ボクセルデータで置き換える処理を説明する図である。例えば、簡略化計算部15は、図12(A)に示すように、モデル2における点線の矩形で囲った局所領域のボクセルデータを形状変換用ボクセルデータに置き換える。該置き換え処理によって、モデル2における上記局所領域のボクセルデータが図12(B)に示すような3次元ボクセルデータに置き換わる。簡略化計算部15は、該置き換え処理を形状参照用ボクセルデータとして検出された局所領域のボクセルデータの全てについて行うことによって、モデル2の形状を簡略化する。
図13乃至16を参照して、図6のステップS4における形状簡略化処理の詳細な例について説明する。この例では、上記モデル1、モデル2、形状参照用ボクセルデータ、形状変換用ボクセルデータを次のように定義する。
モデル1のボロノイデータ:Model1[i1][j1][k1](i1=1〜N,j1=1〜N,k1=1〜N,i1,j1,k1はそれぞれX,Y,Z軸方向の配列番号)
モデル2のボロノイデータ:Model2[i1][j1][k1](i1=1〜N,j1=1〜N,k1=1〜N,i1,j1,k1はそれぞれX,Y,Z軸方向の配列番号)
形状参照用ボクセルデータ:Ref[i2][j2][k2](i2=1〜M,j2=1〜M,k2=1〜M,i2,j2,k2はそれぞれX,Y,Z軸方向の配列番号)
形状変換用ボクセルデータ:New[i3][j3][k3](i3=1〜M,j3=1〜M,k3=1〜M,i3,j3,k3はそれぞれX,Y,Z軸方向の配列番号)
上記定義されたModel1[i1][j1][k1]は、0又は1のボクセル値をとる3次元配列データであり、配列番号i1,j1、k1が指定されると、指定された配列番号で決まる座標を持つボクセルのボクセル値(0又は1)が決定される。Model2[i1][j1][k1]についても同様である。
Ref[i2][j2][k2]は、0又は1のボクセル値をとる3次元配列データであり、配列番号i2,j2、k2が指定されると、指定された配列番号で決まる座標を持つボクセルのボクセル値(0又は1)が決定される。
New[i3][j3][k3]は、0又は1のボクセル値をとる3次元配列データであり、配列番号i3,j3、k3が指定されると、指定された配列番号で決まる座標を持つボクセルのボクセル値(0又は1)が決定される。
図13は、図6のステップS4における形状簡略化処理の詳細を説明するフローチャートである。まず、簡略化計算部15は、i1を1に設定し(ステップS41)、j1を1に設定し(ステップS42)、k1を1に設定して(ステップS43)、局所領域内簡略化処理を行う(ステップS44)。上記局所領域内簡略化処理は、モデル1の局所領域のボクセルデータから形状参照用ボクセルデータを検出して、該形状参照用ボクセルデータとして検出された局所領域のボクセルデータに対応する、モデル2における局所領域のボクセルデータを形状変換用ボクセルデータに変換する処理である。
次に、簡略化計算部15は、k1がN−M+1以下であるかを判断する(ステップS45)。k1がN−M+1以下である場合、簡略化計算部15は、k1に1を加えて(ステップS46)、ステップS44の処理に戻る。
k1がN−M+1以下でない場合、簡略化計算部15は、j1に1を加えた後(ステップS47)、j1がN−M+1以下であるかを判断する(ステップS48)。j1がN−M+1以下である場合は、ステップS43の処理に戻る。j1がN−M+1以下でない場合、簡略化計算部15は、i1に1を加えた後(ステップS49)、i1がN−M+1以下であるかを判断する(ステップS50)。i1がN−M+1以下である場合は、ステップS42の処理に戻る。i1がN−M+1以下でない場合は、処理を終了する。
図14は、図13のステップS44における局所領域内簡略化処理の詳細を説明するフローチャートである。Sumは、モデル1と形状参照用ボクセルデータとの間での、ボクセル値の差の累積値を示す変数である。
簡略化計算部15は、Sumに0を設定した後(ステップS51)、簡略化対象の検出処理を行う(ステップS52)。上記簡略化対象の検出処理は、モデル1から切り出された局所領域のボクセルデータから形状参照用ボクセルデータを検出する処理である。
簡略化計算部15は、Sumが0であるかを判断する(ステップS53)。Sumが0でない場合は、処理を終了する。Sumが0である場合、簡略化計算部15は、簡略化対象の変換処理を行って(ステップS54)、処理を終了する。上記簡略化対象の変換処理は、形状参照用ボクセルデータとして検出されたモデル1の局所領域のボクセルデータに対応する、モデル2における局所領域のボクセルデータを形状変換用ボクセルデータに変換する処理である。
図15は、図14のステップS52における簡略化対象の検出処理の詳細を説明するフローチャートである。
まず、簡略化計算部15は、i2を1に設定し(ステップS61)、j2を1に設定し(ステップS62)、k2を1に設定する(ステップS63)。次に、簡略化計算部15は、Sumに|Model1[i1+i2][j1+j2][k1+k2]−Ref[i2][j2][k2]|を加える(ステップS64)。
次に、簡略化計算部15は、k2がM以下であるかを判断する(ステップS65)。k2がM以下である場合、簡略化計算部15は、k2に1を加えて(ステップS66)、ステップS64の処理に戻る。
k2がM以下でない場合、簡略化計算部15は、j2に1を加えた後(ステップS67)、j2がM以下であるかを判断する(ステップS68)。j2がM以下である場合は、ステップS63の処理に戻る。j2がM以下でない場合、簡略化計算部15は、i2に1を加えた後(ステップS69)、i2がM以下であるかを判断する(ステップS70)。i2がM以下である場合は、ステップS62の処理に戻る。i2がM以下でない場合は、処理を終了する。
図16は、図14のステップS54における簡略化対象の変換処理の詳細を説明するフローチャートである。
まず、簡略化計算部15は、i2を1に設定し(ステップS81)、j2を1に設定し(ステップS82)、k2を1に設定する(ステップS83)。次に、簡略化計算部15は、Model1[i1+i2][j1+j2][k1+k2]にNew[i2][j2][k2]を設定する(ステップS84)。
次に、簡略化計算部15は、k2がM以下であるかを判断する(ステップS85)。k2がM以下である場合、簡略化計算部15は、k2に1を加えて(ステップS86)、ステップS84の処理に戻る。
k2がM以下でない場合、簡略化計算部15は、j2に1を加えた後(ステップS87)、j2がM以下であるかを判断する(ステップS88)。j2がM以下である場合は、ステップS83の処理に戻る。j2がM以下でない場合、簡略化計算部15は、i2に1を加えた後(ステップS89)、i2がM以下であるかを判断する(ステップS90)。i2がM以下である場合は、ステップS82の処理に戻る。i2がM以下でない場合は、処理を終了する。
次に、本発明の第2の実施の形態について説明する。本発明の第2の実施の形態では、事前データ生成部14は、3次元モデル記憶部12に記憶された3次元モデルのボクセルデータと簡略化仕様とに基づいて生成した形状参照用ボクセルデータと形状変換用ボクセルデータの双方に対して、上から見た形状についてのM×Mの2次元のボクセルデータを生成する。また、簡略化計算部15は、前述した形状参照用ボクセルデータを表すRef[i2][j2][k2]において、k2の最大値を1とし(k2=1とし)、前述した形状変換用ボクセルデータを表すNew[i3][j3][k3]において、k3の最大値を1として(k3=1として)、該2次元の形状参照用ボクセルデータと形状変換用ボクセルデータとを用いて、前述した図13乃至16に示す形状簡略化処理と同様の形状簡略化処理を行う。
次に、本発明の第3の実施の形態について説明する。本発明の第3の実施の形態では、事前データ生成部14が、形状参照用ボクセルデータとして、3次元モデル記憶部12に記憶された3次元モデルのボクセルデータのボクセル値との比較対象外とするボクセル値を持つボクセルデータを生成する。
すなわち、前述した本発明の第1の実施の形態では、形状参照用ボクセルデータを生成する際に、各ボクセルの中心位置に対して、表面形状との位置関係を調べ、内部にあれば1、外部にあれば0をボクセルの値として設定したが、本発明の第2の実施の形態では、1と0の他に、もう一つの種類のボクセル値として、内部でも外部でもどちらでもよい状態の値(ここでは2とする)を設定する。従って、生成された形状参照用ボクセルデータは、図17(A)中のそれぞれの網掛けの種類に対応する0,1,2の値のボクセル値を持つ。
また、簡略化計算部15は、3次元モデル記憶部12に記憶された3次元ボクセルデータと形状参照用ボクセルデータとの間でボクセル値を比較する際に、ボクセル値として2が設定されているボクセルについては、3次元ボクセルデータとの間でのボクセル値の比較を行わない。すなわち、本発明の第2の実施の形態における形状簡略化処理では、図15のステップS64の処理に代えて、形状参照用ボクセルデータのボクセル値が2でない場合にモデル1と形状参照用ボクセルデータとの間でのボクセル値の比較を行う処理(if(Ref[i2][j2][k2]!=2)then Sum = Sum +|(Model1[i1+i2][j1+j2][k1+k2]−Ref[i2][j2][k2])|)を行う。
簡略化計算部15が、3次元ボクセルデータのボクセル値との比較対象外となるボクセル値を持つ形状参照用ボクセルデータを用いて3次元ボクセルデータから簡略化対象となる形状を持つボクセルデータを検出することにより、一つの形状参照用ボクセルデータで簡略化対象の形状を持つボクセルデータを複数検出できるようになる。また、3次元ボクセルデータと形状参照用ボクセルデータとの間でのボクセル値の比較処理量を削減することができる。具体的には、図17(A)に示すような、円弧の両端の線分を検出する形状参照用ボクセルデータを用いて、指定の半径以下の円弧を持つフィレットを全て検出できる。例えば、図17(B)、図17(C)、図17(D)に示す各々のボクセルデータを検出できる。
次に、本発明の第4の実施の形態について説明する。本発明の第4の実施の形態では、上記簡略化計算部15が、3次元モデル記憶部12に記憶された3次元モデルのボクセルデータを領域分割し、各領域に簡略化対象となる形状があるか否かを判断し、該簡略化対象となる形状があると判断された領域の範囲で、該3次元モデルのボクセルデータと形状参照用ボクセルデータとを比較する。
3次元モデルのボクセルデータでは表面以外の領域が多い場合がある。表面以外の領域(表面の内部の領域及び表面の外部の領域)では簡略化対象となる形状がない。従って、簡略化対象となる形状がない領域を事前に検出し、該検出された領域については形状簡略化処理を省くことで、全体の処理量を削減することができる。
具体的には、簡略化計算部15は、3次元モデルのボクセル全体を図18(A)に示すように領域分割(図18(A)では2×2×2に分割)し、各領域でボクセル値の累積値を計算する。簡略化計算部15は、算出された累積値が0であれば、簡略化対象となる形状の表面の外部の領域であって、簡略化対象となる形状がないと判断する。また、簡略化計算部15は、累積値が領域内ボクセル数と同じであれば、簡略化対象となる形状の表面の内部の領域であって、簡略化対象となる形状がないと判断する。簡略化計算部15は、算出された累積値が0又は領域内ボクセル数以外の値であれば、簡略化対象となる形状の表面の領域であって、簡略化対象となる形状があると判断する。
図18(B)は、図18(A)に示すように領域分割されたボクセルデータにおける一つの分割面を示す図である。図18(B)中の黒く塗りつぶされた部分は、簡略化対象となる形状がある領域を示している。図18(B)中の点線で囲った領域は、該黒く塗りつぶされた領域の外部にあるため、簡略化対象となる形状がない領域であると判断される。 簡略化計算部15は、該簡略化対象となる形状があると判断された領域の範囲で、3次元モデルのボクセルデータと形状参照用ボクセルデータとを比較し、簡略化対象となる形状がないと判断された領域に対しては形状簡略化処理を行わない。
図19は、本発明の第4の実施の形態の形状簡略化処理フローの例を示す図である。Scope[i1][j1][k1]は、前述した領域分割されたボクセルデータの各領域に簡略化対象となる形状があるか否かを示す変数である。Scope[i1][j1][k1]は、前述したモデル1と同じボロノイデータ構造である。簡略化対象となる形状がある領域については、Scope[i1][j1][k1]=1であり、簡略化対象となる形状がない領域については、Scope[i1][j1][k1]=0である。
まず、簡略化計算部15は、i1を1に設定し(ステップS101)、j1を1に設定し(ステップS102)、k1を1に設定する(ステップS103)。次に、簡略化計算部15は、Scope[i1][j1][k1]が1であるかを判断する(ステップS104)。Scope[i1][j1][k1]が1でない場合は、ステップS106の処理に進む。Scope[i1][j1][k1]が1である場合、簡略化計算部15は、局所領域内簡略化処理を行う(ステップS105)。ステップS105における局所領域内簡略化処理は、図14を参照して前述した局所領域内簡略化処理と同様である。
次に、簡略化計算部15は、k1がN−M+1以下であるかを判断する(ステップS106)。k1がN−M+1以下である場合、簡略化計算部15は、k1に1を加えて(ステップS107)、ステップS104の処理に戻る。
k1がN−M+1以下でない場合、簡略化計算部15は、j1に1を加えた後(ステップS108)、j1がN−M+1以下であるかを判断する(ステップS109)。j1がN−M+1以下である場合は、ステップS103の処理に戻る。j1がN−M+1以下でない場合、簡略化計算部15は、i1に1を加えた後(ステップS110)、i1がN−M−1以下であるかを判断する(ステップS111)。i1がN−M−1以下である場合は、ステップS102の処理に戻る。i1がN−M−1以下でない場合は、処理を終了する。
次に、本発明の第5の実施の形態について説明する。本発明の第5の実施の形態では、簡略化計算部15が、3次元モデルのボクセルデータから局所領域のボクセルデータを予め定められたボクセル間隔で順次ずらしながら切り出し、該切り出された局所領域のボクセルデータのうち、上記簡略化対象となる形状のボクセルデータとボクセル値が同一である局所領域のボクセルデータを、上記簡略化対象となる形状のボクセルデータとして検出する。例えば、上記ボクセル間隔をdとした場合の形状簡略化処理について図20を参照して説明する。
図20は、本発明の第5の実施の形態の形状簡略化処理フローの例を示す図である。
まず、簡略化計算部15は、i1を1に設定し(ステップS121)、j1を1に設定し(ステップS122)、k1を1に設定して(ステップS123)、局所領域内簡略化処理を行う(ステップS124)。上記局所領域内簡略化処理は、図14を参照して前述した局所領域内簡略化処理と同様である。
次に、簡略化計算部15は、k1がN−M+1以下であるかを判断する(ステップS125)。k1がN−M+1以下である場合、簡略化計算部15は、k1にdを加えて(ステップS126)、ステップS124の処理に戻る。
k1がN−M+1以下でない場合、簡略化計算部15は、j1にdを加えた後(ステップS127)、j1がN−M+1以下であるかを判断する(ステップS128)。j1がN−M+1以下である場合は、ステップS123の処理に戻る。j1がN−M+1以下でない場合、簡略化計算部15は、i1にdを加えた後(ステップS129)、i1がN−M+1以下であるかを判断する(ステップS130)。i1がN−M+1以下である場合は、ステップS122の処理に戻る。i1がN−M+1以下でない場合は、処理を終了する。
次に、本発明の第6の実施の形態について説明する。本発明の第6の実施の形態では、簡略化計算部15が、3次元モデル記憶部12に記憶された3次元モデルのボクセルデータと形状参照用ボクセルデータとを予め定められたボクセルについて間引き、該間引かれた後の3次元モデルのボクセルデータと形状参照用ボクセルデータとを比較して、該3次元モデルのボクセルデータから該形状参照用ボクセルデータを検出し、該検出されたボクセルデータを簡略化する。
簡略化計算部15が、該3次元モデルのボクセルデータと形状参照用ボクセルデータとを比較して、該3次元モデルのボクセルデータから形状参照用ボクセルデータの候補領域を検出し、該検出された形状参照用ボクセルデータの候補領域に対して、ボクセルの間引きなしで再度形状参照用ボクセルデータとの比較処理を行うようにしてもよい。本発明の第6の実施の形態によれば、ボクセルを間引いた上で3次元モデルのボクセルデータと形状参照用ボクセルデータとの比較処理を行うため、処理量を大幅に削減することができる。
図21は、本発明の第6の実施の形態の簡略化対象の検出処理フローの例を示す図である。
簡略化計算部15は、i2を1に設定し(ステップS141)、j2を1に設定し(ステップS142)、k2を1に設定する(ステップS143)。次に、簡略化計算部15は、Sumに|Model1[i1+i2][j1+j2][k1+k2]−Ref[i2][j2][k2]|を加える(ステップS144)。
次に、簡略化計算部15は、k2がM以下であるかを判断する(ステップS145)。k2がM以下である場合、簡略化計算部15は、k2にeを加えて(ステップS146)、ステップS144の処理に戻る。
k2がM以下でない場合、簡略化計算部15は、j2にeを加えた後(ステップS147)、j2がM以下であるかを判断する(ステップS148)。j2がM以下である場合は、ステップS143の処理に戻る。j2がM以下でない場合、簡略化計算部15は、i2にeを加えた後(ステップS149)、i2がM以下であるかを判断する(ステップS150)。i2がM以下である場合は、ステップS142の処理に戻る。i2がM以下でない場合は、処理を終了する。
次に、本発明の第7の実施の形態について説明する。本発明の第7の実施の形態では、3次元モデル入力部11が、8分木構造で表現される3次元モデルのボクセルデータを入力して3次元モデル記憶部12に記憶し、事前データ生成部14が、該3次元モデルのボクセルデータと簡略化仕様とに基づいて、図22(A)に示すような8分木構造で表現される形状参照用ボクセルデータと図22(B)に示すような形状変換用ボクセルデータとを生成する。また、この例では、簡略化計算部15は、形状簡略化処理後に得られる3次元モデル全体を最適な8分木構造になるように変換する。なお、ボクセルデータの8分木構造とは、ボクセルデータを空間的に8つに分割する処理を繰り返すことでボクセルデータを表現するツリー構造である。8分木構造でボクセルデータを表現することによって、ボクセルの数を削減することができる。
次に、本発明の第8の実施の形態について説明する。本発明の第8の実施の形態では、3次元モデル記憶部12に記憶された3次元モデルのボクセルデータを領域分割し、各領域について分散して形状簡略化を行う並列化処理を行う。図23は、本発明の第8の実施の形態のシステム構成の一例を示す図である。
3次元モデルの形状簡略化装置2は、ボクセル形式の3次元モデルの形状を簡略化する処理装置である。3次元モデルの形状簡略化装置2は、3次元モデル入力部11、3次元モデル記憶部12、簡略化仕様入力部13、事前データ生成部14、3次元モデル出力部16、並列化処理部17を備える。3次元モデルの形状簡略化装置2が備える構成要素のうち、図3に示す3次元モデルの形状簡略化装置1が備える構成要素と同符号のものは、3次元モデルの形状簡略化装置1が備える構成要素と同様なので、該構成要素についての詳細な説明は省略する。
並列化処理部17は、3次元モデル記憶部12に記憶された3次元モデルのボクセルデータを領域分割し、各領域について同時並列的に形状簡略化処理を行う。すなわち、並列化処理部17が備える分割部171が、3次元モデル記憶部12に記憶された3次元モデルのボクセルデータを領域分割して、各領域のボクセルデータを簡略化計算部172、173、174の各々に割り当て、簡略化計算部172、173、174が、自身に割り当てられた領域のボクセルデータと事前データ生成部14によって生成された形状参照用ボクセルデータと形状変換用ボクセルデータとに基づいて、各領域について形状簡略化処理を行う。また、統合部175が、簡略化計算部172、173、174の各々による形状簡略化処理結果を統合して、形状が簡略化された全体の3次元モデルを生成する。
以上から把握できるように、本発明の実施形態の特徴を述べると以下の通りである。
(付記1)ボクセル形式の3次元モデルの形状を簡略化する装置であって、
上記3次元モデルのボクセルデータを入力して記憶手段に記憶する3次元モデル入力手段と、
簡略化対象となる形状の種類及び該形状の寸法に関する閾値と簡略化後の形状の種類とを簡略化仕様として入力する簡略化仕様入力手段と、
上記記憶手段に記憶された3次元モデルのボクセルデータと上記簡略化仕様とに基づいて、上記簡略化対象となる形状のボクセルデータを生成する事前データ生成手段と、
上記記憶手段に記憶された3次元モデルのボクセルデータと上記簡略化対象となる形状のボクセルデータとを比較して、該3次元モデルのボクセルデータから該簡略化対象となる形状のボクセルデータを検出し、該検出された簡略化対象となる形状のボクセルデータを簡略化する簡略化計算手段とを備える
ことを特徴とする3次元モデルの形状簡略化装置
(付記2)上記事前データ生成手段が、更に、上記記憶手段に記憶された3次元モデルのボクセルデータと上記簡略化仕様とに基づいて、上記簡略化後の形状のボクセルデータを生成し、
上記簡略化計算手段が、更に、上記検出された簡略化対象となる形状のボクセルデータを上記簡略化後の形状のボクセルデータに置き換える
ことを特徴とする付記1に記載の3次元モデルの形状簡略化装置。
(付記3)上記簡略化対象となる形状のボクセルデータと上記簡略化後の形状のボクセルデータが、2次元のボクセルデータである
ことを特徴とする付記2に記載の3次元モデルの形状簡略化装置。
(付記4)上記事前データ生成手段が、更に、上記簡略化対象となる形状のボクセルデータとして、上記3次元モデルのボクセルデータのボクセル値との比較対象外とするボクセル値を持つボクセルデータを生成し、
上記簡略化計算手段が、上記記憶手段に記憶された3次元モデルのボクセルデータのボクセル値と上記簡略化対象となる形状のボクセルデータのボクセル値とを比較して、該3次元モデルのボクセルデータから該簡略化対象となる形状のボクセルデータを検出する
ことを特徴とする付記1に記載の3次元モデルの形状簡略化装置。
(付記5)上記簡略化計算手段が、更に、上記記憶手段に記憶された3次元モデルのボクセルデータを領域分割し、各領域に上記簡略化対象となる形状があるか否かを判断し、該簡略化対象となる形状があると判断された領域の範囲で、該3次元モデルのボクセルデータと該簡略化対象となる形状のボクセルデータとを比較する
ことを特徴とする付記1に記載の3次元モデルの形状簡略化装置。
(付記6)上記簡略化計算手段が、上記3次元モデルのボクセルデータから局所領域のボクセルデータを予め定められたボクセル間隔で順次ずらしながら切り出し、該切り出された局所領域のボクセルデータのうち、上記簡略化対象となる形状のボクセルデータとボクセル値が同一である局所領域のボクセルデータを、上記簡略化対象となる形状のボクセルデータとして検出する
ことを特徴とする付記1に記載の3次元モデルの形状簡略化装置。
(付記7)上記簡略化計算手段が、更に、上記記憶手段に記憶された3次元モデルのボクセルデータと上記簡略化対象となる形状のボクセルデータとを予め定められたボクセルについて間引き、該間引かれた後の3次元モデルのボクセルデータと簡略化対象となる形状のボクセルデータとを比較する
ことを特徴とする付記1に記載の3次元モデルの形状簡略化装置。
(付記8)ボクセル形式の3次元モデルの形状を簡略化する方法であって、
上記3次元モデルのボクセルデータを入力して記憶手段に記憶するステップと、
簡略化対象となる形状の種類及び該形状の寸法に関する閾値と簡略化後の形状の種類とを簡略化仕様として入力するステップと、
上記記憶手段に記憶された3次元モデルのボクセルデータと上記簡略化仕様とに基づいて、上記簡略化対象となる形状のボクセルデータを生成するステップと、
上記記憶手段に記憶された3次元モデルのボクセルデータと上記簡略化対象となる形状のボクセルデータとを比較して、該3次元モデルのボクセルデータから該簡略化対象となる形状のボクセルデータを検出し、該検出された簡略化対象となる形状のボクセルデータを簡略化するステップとを有する
ことを特徴とする3次元モデルの形状簡略化方法。
(付記9)上記簡略化対象となる形状のボクセルデータを生成するステップが、更に、上記記憶手段に記憶された3次元モデルのボクセルデータと上記簡略化仕様とに基づいて、上記簡略化後の形状のボクセルデータを生成し、
上記検出された簡略化対象となる形状のボクセルデータを簡略化するステップが、上記検出された簡略化対象となる形状のボクセルデータを上記簡略化後の形状のボクセルデータに置き換える
ことを特徴とする付記8に記載の3次元モデルの形状簡略化方法。
(付記10)上記簡略化対象となる形状のボクセルデータと上記簡略化後の形状のボクセルデータが、2次元のボクセルデータである
ことを特徴とする付記9に記載の3次元モデルの形状簡略化方法。
(付記11)上記簡略化対象となる形状のボクセルデータを生成するステップが、更に、上記簡略化対象となる形状のボクセルデータとして、上記3次元モデルのボクセルデータのボクセル値との比較対象外とするボクセル値を持つボクセルデータを生成し、
上記検出された簡略化対象となる形状のボクセルデータを簡略化するステップが、上記記憶手段に記憶された3次元モデルのボクセルデータのボクセル値と上記簡略化対象となる形状のボクセルデータのボクセル値とを比較して、該3次元モデルのボクセルデータから該簡略化対象となる形状のボクセルデータを検出する
ことを特徴とする付記8に記載の3次元モデルの形状簡略化方法。
(付記12)上記検出された簡略化対象となる形状のボクセルデータを簡略化するステップが、更に、上記記憶手段に記憶された3次元モデルのボクセルデータを領域分割し、各領域に上記簡略化対象となる形状があるか否かを判断し、該簡略化対象となる形状があると判断された領域の範囲で、該3次元モデルのボクセルデータと該簡略化対象となる形状のボクセルデータとを比較する
ことを特徴とする付記8に記載の3次元モデルの形状簡略化方法。
(付記13)上記検出された簡略化対象となる形状のボクセルデータを簡略化するステップが、上記3次元モデルのボクセルデータから局所領域のボクセルデータを予め定められたボクセル間隔で順次ずらしながら切り出し、該切り出された局所領域のボクセルデータのうち、上記簡略化対象となる形状のボクセルデータとボクセル値が同一である局所領域のボクセルデータを、上記簡略化対象となる形状のボクセルデータとして検出する
ことを特徴とする付記8に記載の3次元モデルの形状簡略化方法。
(付記14)ボクセル形式の3次元モデルの形状を簡略化するプログラムであって、
コンピュータに、
上記3次元モデルのボクセルデータを入力して記憶手段に記憶する処理と、
簡略化対象となる形状の種類及び該形状の寸法に関する閾値と簡略化後の形状の種類とを簡略化仕様として入力する処理と、
上記記憶手段に記憶された3次元モデルのボクセルデータと上記簡略化仕様とに基づいて、上記簡略化対象となる形状のボクセルデータを生成する処理と、
上記記憶手段に記憶された3次元モデルのボクセルデータと上記簡略化対象となる形状のボクセルデータとを比較して、該3次元モデルのボクセルデータから該簡略化対象となる形状のボクセルデータを検出し、該検出された簡略化対象となる形状のボクセルデータを簡略化する処理とを実行させる
ことを特徴とする3次元モデルの形状簡略化プログラム。
(付記15)上記簡略化対象となる形状のボクセルデータを生成する処理が、更に、上記記憶手段に記憶された3次元モデルのボクセルデータと上記簡略化仕様とに基づいて、上記簡略化後の形状のボクセルデータを生成し、
上記検出された簡略化対象となる形状のボクセルデータを簡略化する処理が、上記検出された簡略化対象となる形状のボクセルデータを上記簡略化後の形状のボクセルデータに置き換える
ことを特徴とする付記14に記載の3次元モデルの形状簡略化プログラム。
(付記16)上記簡略化対象となる形状のボクセルデータと上記簡略化後の形状のボクセルデータが、2次元のボクセルデータである
ことを特徴とする付記15に記載の3次元モデルの形状簡略化プログラム。
(付記17)上記簡略化対象となる形状のボクセルデータを生成する処理が、更に、上記簡略化対象となる形状のボクセルデータとして、上記3次元モデルのボクセルデータのボクセル値との比較対象外とするボクセル値を持つボクセルデータを生成し、
上記検出された簡略化対象となる形状のボクセルデータを簡略化する処理が、上記記憶手段に記憶された3次元モデルのボクセルデータのボクセル値と上記簡略化対象となる形状のボクセルデータのボクセル値とを比較して、該3次元モデルのボクセルデータから該簡略化対象となる形状のボクセルデータを検出する
ことを特徴とする付記14に記載の3次元モデルの形状簡略化プログラム。
(付記18)上記検出された簡略化対象となる形状のボクセルデータを簡略化する処理が、更に、上記記憶手段に記憶された3次元モデルのボクセルデータを領域分割し、各領域に上記簡略化対象となる形状があるか否かを判断し、該簡略化対象となる形状があると判断された領域の範囲で、該3次元モデルのボクセルデータと該簡略化対象となる形状のボクセルデータとを比較する
ことを特徴とする付記14に記載の3次元モデルの形状簡略化プログラム。
(付記19)上記検出された簡略化対象となる形状のボクセルデータを簡略化する処理が、上記3次元モデルのボクセルデータから局所領域のボクセルデータを予め定められたボクセル間隔で順次ずらしながら切り出し、該切り出された局所領域のボクセルデータのうち、上記簡略化対象となる形状のボクセルデータとボクセル値が同一である局所領域のボクセルデータを、上記簡略化対象となる形状のボクセルデータとして検出する
ことを特徴とする付記14に記載の3次元モデルの形状簡略化プログラム。
3次元モデルの形状の簡略化の例を示す図(1)である。 3次元モデルの形状の簡略化の例を示す図(2)である。 本発明の第1の実施の形態のシステム構成の一例を示す図である。 形状参照用ボクセルデータ及び形状変換用ボクセルデータの例を示す図である。 形状簡略化処理の概要を説明する図である。 本発明の第1の実施の形態の3次元モデルの形状簡略化処理フローを示す図である。 3次元モデルのボクセルデータの例を示す図である。 簡略化仕様の入力処理の例を説明する図である。 形状参照用ボクセルデータの生成を説明する図である。 形状参照用ボクセルデータの生成を説明する図である。 モデル1と形状参照用ボクセルデータとの比較処理を説明する図である。 モデル2を形状変換用ボクセルデータで置き換える処理を説明する図である。 形状簡略化処理の詳細を説明するフローチャートである。 局所領域内簡略化処理の詳細を説明するフローチャートである。 簡略化対象の検出処理の詳細を説明するフローチャートである。 簡略化対象の変換処理の詳細を説明するフローチャートである。 本発明の第3の実施の形態を説明する図である。 本発明の第4の実施の形態を説明する図である。 本発明の第4の実施の形態の形状簡略化処理フローの例を示す図である。 本発明の第5の実施の形態の形状簡略化処理フローの例を示す図である。 本発明の第6の実施の形態の簡略化対象の検出処理フローの例を示す図である。 8分木構造で表現される形状参照用ボクセルデータ及び形状変換用ボクセルデータを示す図である。 本発明の第8の実施の形態のシステム構成の一例を示す図である。
符号の説明
1 3次元モデルの形状簡略化装置
11 3次元モデル入力部
12 3次元モデル記憶部
13 簡略化仕様入力部
14 事前データ生成部
15 簡略化計算部
16 3次元モデル出力部
17 並列化処理部
171 分割部
172、173、174 簡略化計算部
175 統合部

Claims (8)

  1. ボクセル形式の3次元モデルの形状を簡略化する装置であって、
    上記3次元モデルのボクセルデータを入力して記憶手段に記憶する3次元モデル入力手段と、
    簡略化対象となる形状の種類及び該形状の寸法に関する閾値と簡略化後の形状の種類とを簡略化仕様として入力する簡略化仕様入力手段と、
    上記記憶手段に記憶された3次元モデルのボクセルデータと上記簡略化仕様とに基づいて、上記簡略化対象となる形状のボクセルデータを生成する事前データ生成手段と、
    上記記憶手段に記憶された3次元モデルのボクセルデータと上記簡略化対象となる形状のボクセルデータとを比較して、該3次元モデルのボクセルデータから該簡略化対象となる形状のボクセルデータを検出し、該検出された簡略化対象となる形状のボクセルデータを簡略化する簡略化計算手段とを備える
    ことを特徴とする3次元モデルの形状簡略化装置。
  2. 上記事前データ生成手段が、更に、上記記憶手段に記憶された3次元モデルのボクセルデータと上記簡略化仕様とに基づいて、上記簡略化後の形状のボクセルデータを生成し、 上記簡略化計算手段が、上記検出された簡略化対象となる形状のボクセルデータを上記簡略化後の形状のボクセルデータに置き換える
    ことを特徴とする請求項1に記載の3次元モデルの形状簡略化装置。
  3. 上記簡略化対象となる形状のボクセルデータと上記簡略化後の形状のボクセルデータが、2次元のボクセルデータである
    ことを特徴とする請求項2に記載の3次元モデルの形状簡略化装置。
  4. 上記事前データ生成手段が、更に、上記簡略化対象となる形状のボクセルデータとして、上記3次元モデルのボクセルデータのボクセル値との比較対象外とするボクセル値を持つボクセルデータを生成し、
    上記簡略化計算手段が、上記記憶手段に記憶された3次元モデルのボクセルデータのボクセル値と上記簡略化対象となる形状のボクセルデータのボクセル値とを比較して、該3次元モデルのボクセルデータから該簡略化対象となる形状のボクセルデータを検出する
    ことを特徴とする請求項1に記載の3次元モデルの形状簡略化装置。
  5. 上記簡略化計算手段が、更に、上記記憶手段に記憶された3次元モデルのボクセルデータを領域分割し、各領域に上記簡略化対象となる形状があるか否かを判断し、該簡略化対象となる形状があると判断された領域の範囲で、該3次元モデルのボクセルデータと該簡略化対象となる形状のボクセルデータとを比較する
    ことを特徴とする請求項1に記載の3次元モデルの形状簡略化装置。
  6. 上記簡略化計算手段が、上記3次元モデルのボクセルデータから局所領域のボクセルデータを予め定められたボクセル間隔で順次ずらしながら切り出し、該切り出された局所領域のボクセルデータのうち、上記簡略化対象となる形状のボクセルデータとボクセル値が同一である局所領域のボクセルデータを、上記簡略化対象となる形状のボクセルデータとして検出する
    ことを特徴とする請求項1に記載の3次元モデルの形状簡略化装置。
  7. 上記簡略化計算手段が、更に、上記記憶手段に記憶された3次元モデルのボクセルデータと上記簡略化対象となる形状のボクセルデータとを予め定められたボクセルについて間引き、該間引かれた後の3次元モデルのボクセルデータと簡略化対象となる形状のボクセルデータとを比較する
    ことを特徴とする請求項1に記載の3次元モデルの形状簡略化装置。
  8. ボクセル形式の3次元モデルの形状を簡略化するプログラムであって、
    コンピュータに、
    上記3次元モデルのボクセルデータを入力して記憶手段に記憶する処理と、
    簡略化対象となる形状の種類及び該形状の寸法に関する閾値と簡略化後の形状の種類とを簡略化仕様として入力する処理と、
    上記記憶手段に記憶された3次元モデルのボクセルデータと上記簡略化仕様とに基づいて、上記簡略化対象となる形状のボクセルデータを生成する処理と、
    上記記憶手段に記憶された3次元モデルのボクセルデータと上記簡略化対象となる形状のボクセルデータとを比較して、該3次元モデルのボクセルデータから該簡略化対象となる形状のボクセルデータを検出し、該検出された簡略化対象となる形状のボクセルデータを簡略化する処理とを実行させる
    ことを特徴とする3次元モデルの形状簡略化プログラム。
JP2007030305A 2007-02-09 2007-02-09 3次元モデルの形状簡略化装置及び3次元モデルの形状簡略化プログラム Expired - Fee Related JP4845761B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007030305A JP4845761B2 (ja) 2007-02-09 2007-02-09 3次元モデルの形状簡略化装置及び3次元モデルの形状簡略化プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007030305A JP4845761B2 (ja) 2007-02-09 2007-02-09 3次元モデルの形状簡略化装置及び3次元モデルの形状簡略化プログラム

Publications (2)

Publication Number Publication Date
JP2008197776A JP2008197776A (ja) 2008-08-28
JP4845761B2 true JP4845761B2 (ja) 2011-12-28

Family

ID=39756685

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007030305A Expired - Fee Related JP4845761B2 (ja) 2007-02-09 2007-02-09 3次元モデルの形状簡略化装置及び3次元モデルの形状簡略化プログラム

Country Status (1)

Country Link
JP (1) JP4845761B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4681639B2 (ja) * 2008-09-29 2011-05-11 クボタシステム開発株式会社 画像生成装置、画像解析システム及びコンピュータプログラム
JP2011070387A (ja) * 2009-09-25 2011-04-07 Mitsubishi Electric Corp 3次元形状表示装置およびプログラム
EP2763049B1 (en) 2011-09-28 2018-06-20 Toyota Jidosha Kabushiki Kaisha Engine control device
CN103999073B (zh) 2011-12-12 2017-04-05 丰田自动车株式会社 发动机控制装置
EP3729381B1 (en) * 2017-12-22 2023-01-18 Magic Leap, Inc. Viewpoint dependent brick selection for fast volumetric reconstruction

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3589654B2 (ja) * 2002-03-12 2004-11-17 独立行政法人理化学研究所 ボリュームレンダリング方法とそのプログラム
JP2003337836A (ja) * 2002-05-21 2003-11-28 Hitachi Ltd 解析用モデル作成方法および解析用モデル作成装置
US8429174B2 (en) * 2003-01-25 2013-04-23 Purdue Research Foundation Methods, systems, and data structures for performing searches on three dimensional objects
JP4381743B2 (ja) * 2003-07-16 2009-12-09 独立行政法人理化学研究所 境界表現データからボリュームデータを生成する方法及びそのプログラム
WO2005037388A1 (ja) * 2003-10-21 2005-04-28 Sony Computer Entertainment Inc. 電子装置

Also Published As

Publication number Publication date
JP2008197776A (ja) 2008-08-28

Similar Documents

Publication Publication Date Title
CN107123164B (zh) 保持锐利特征的三维重建方法及系统
US20140125663A1 (en) 3d model shape analysis method based on perception information
CN101799937B (zh) 一种采用草图创建三维模型的方法
Ghosh et al. Fast approximate convex decomposition using relative concavity
CN105793848B (zh) 包括建模步骤的计算机辅助设计方法
JP4845761B2 (ja) 3次元モデルの形状簡略化装置及び3次元モデルの形状簡略化プログラム
US11263802B2 (en) Method and apparatus for splitting three-dimensional volumes
US20080297503A1 (en) System and method for reconstructing a 3D solid model from a 2D line drawing
KR102305229B1 (ko) 객체 경계정보의 추출에 사용되는 피쳐맵 정보를 생성하는 방법 및 장치
KR102476800B1 (ko) 3d 모델링 객체의 3d 프린터 출력을 위한 3d cad 데이터 변환 방법, 프로그램 및 이를 위한 장치
CN115546809A (zh) 基于单元格约束的表格结构识别方法及其应用
JP3884468B2 (ja) 高速画像探索方法
CN100367284C (zh) 边界数据的内外判定方法
JP5093604B2 (ja) フィレット面認識方法、フィレット面認識プログラム及び計測情報処理装置
CN115797955A (zh) 基于单元格约束的表格结构识别方法及其应用
CN106652032B (zh) 一种基于Linux集群平台的DEM并行等高线生成方法
JP2011210160A (ja) 画像処理方法、画像処理装置、プログラム、及びプログラム記憶媒体
CN114089692A (zh) 一种适用于零件复杂细长面的快速数控编程方法
JP2006277718A (ja) 高速画像探索方法
Achanccaray et al. A free software tool for automatic tuning of segmentation parameters
JP2010152863A (ja) 境界節点抽出システム、境界節点抽出方法及びプログラム
Bilodeau et al. Part segmentation of objects in real images
JP2018032277A (ja) 矩形メッシュ生成方法
JP4241778B2 (ja) 面要素の歪み検出装置、面要素の歪み検出方法、およびプログラム
JP2005196702A (ja) 画像を分割可能なプログラム及び画像分割方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091016

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110614

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110715

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111011

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111011

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141021

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees