JP3342678B2 - クラスタリング処理装置およびその方法 - Google Patents

クラスタリング処理装置およびその方法

Info

Publication number
JP3342678B2
JP3342678B2 JP19130899A JP19130899A JP3342678B2 JP 3342678 B2 JP3342678 B2 JP 3342678B2 JP 19130899 A JP19130899 A JP 19130899A JP 19130899 A JP19130899 A JP 19130899A JP 3342678 B2 JP3342678 B2 JP 3342678B2
Authority
JP
Japan
Prior art keywords
cluster
clusters
merging
condition
initial
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
JP19130899A
Other languages
English (en)
Other versions
JP2001022956A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP19130899A priority Critical patent/JP3342678B2/ja
Priority to GB0015029A priority patent/GB2355089B/en
Publication of JP2001022956A publication Critical patent/JP2001022956A/ja
Application granted granted Critical
Publication of JP3342678B2 publication Critical patent/JP3342678B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、例えば、CAD装置に
より生成した三次元形状の表面を、1個以上の面(クラ
スタ)に分ける処理(クラスタリング処理)を行うクラ
スタリング処理装置およびその方法に関する。
【0002】
【従来の技術】例えば、'Decimation of Triangular Me
shes, ACM Computer Graphics, Vol.26, No. 2 (SIGGRA
PH '92), pp. 65-70.(文献1)'および'Mesh Optimiza
tion,ACM Computer Graphics, Vol. 27, (SIGGRAPH '9
3), pp. 19-26.(文献2)'は、CAD装置などで設計
された三次元形状を構成する多数の平らな三角形を、形
状を大きく変えずに少数の平らな三角形に変換する方法
を開示する。この変換過程において、多数の三角形の形
状が順に評価され、評価の高い順に併合される処理が行
われている。
【0003】ここで、三次元形状をクラスタリングする
場合、この形状を構成する面の数に比べて、はるかに少
ない数の領域にクラスタリングした方が都合がよい場合
がある。例えば、工業製品の三次元形状データには、非
常に多く(例えば数百〜数千)の曲面が含まれている。
一般的に、メッシュ要素辺の大きさが数mm〜数十mm程度
であることが多いのに対して、非常に多種(例えば0.01
mm程度から数百mm程度まで)の曲面が三次元形状に混在
していることが多い。この三次元形状から好ましいメッ
シュ生成結果を得るためには、クラスタリング処理によ
って近隣の曲面を1つの領域にまとめることが必要であ
る。
【0004】しかし、メッシュ生成の目的で、自動的に
三次元形状を構成する曲面をクラスタリング処理する手
法は、従来、存在しなかった。また、文献1、2のよう
な平らな三角形ではなく、曲面を対象としてクラスタリ
ング処理する手法は、従来、存在しなかった。また、い
ずれの面同士を1つの領域にまとめ、逆に、いずれの面
同士を異なる領域に含めるかといった、設計者の意図を
反映しつつ、自動的に三次元領域を構成する面をクラス
タリング処理する方法は、従来、存在しなかった。
【0005】
【発明が解決しようとする課題】本発明は、上述した従
来技術の問題点に鑑みてなされたものであり、三次元形
状を構成する多数の面を、設計者の意図を反映しつつ、
しかも、自動的に1つ以上の領域にグループ分けするこ
とができるクラスタリング処理装置およびその方法を提
供することを目的とする。また、本発明は、設計された
三次元形状を、具体化に適するように領域分けするクラ
スタリング処理装置およびその方法を提供することを目
的とする。
【0006】
【課題を達成するための手段】[第1のクラスタリング
処理装置]上記目的を達成するために、本発明にかかる
第1のクラスタリング処理装置は、空間中の複数の面
を、それぞれ1個以上の前記面を含む1個以上の集合
(クラスタ)に分ける処理(クラスタリング処理)を行
うクラスタリング処理装置であって、前記クラスタリン
グ処理の方法を拘束する条件を示す拘束条件に基づい
て、前記複数の面をクラスタリングして、それぞれ1個
以上の前記面を含む初期クラスタを1個以上、生成する
初期クラスタリング手段と、前記拘束条件と、隣接する
複数の前記初期クラスタ相互の関係とに基づいて、隣接
する複数の前記初期クラスタ同士を併合し、それぞれ1
個以上の前記初期クラスタを含む併合クラスタを0個以
上、生成するクラスタ併合手段とを有する。
【0007】好適には、前記拘束条件は、いずれの前記
面同士が同じクラスタにクラスタリングされなければな
らないかと、いずれの前記面同士が同じクラスタにクラ
スタリングされてはならないかとを示し、前記初期クラ
スタリング手段は、前記拘束条件を満たすように、同じ
クラスタにクラスタリングされなければならない前記面
(第1の面)同士を、同じクラスタに含めるようにクラ
スタリングし、同じクラスタにクラスタリングされては
ならない前記面(第2の面)同士を、同じクラスタ以外
のクラスタに含めるようにクラスタリングし、前記クラ
スタ併合手段は、併合の対象とされる前記初期クラスタ
の間の条件を示す併合条件を満たす前記初期クラスタ同
士の内、前記拘束条件を満たすように、対応する前記第
2の面をそれぞれ含む前記初期クラスタ同士以外を併合
する。
【0008】好適には、前記クラスタ併合手段は、前記
拘束条件と前記併合条件とを満たすように前記初期クラ
スタ同士を併合して、併合クラスタ0個以上を生成する
第1のクラスタ併合手段と、生成された前記併合クラス
タおよび前記初期クラスタの内、これらのクラスタの面
積の条件を示す第1の面積条件の範囲外のクラスタ(第
1の範囲外クラスタ)を、この第1の範囲外クラスタに
隣接し、所定の第1の併合条件を満たす前記併合クラス
タまたは前記初期クラスタに、前記拘束条件とを満たす
ように併合し、新たな併合クラスタ0個以上を生成する
第2のクラスタ併合手段とを有する。
【0009】好適には、前記併合条件は、併合の対象と
なる前記初期クラスタの間の連続性と、併合の後の前記
併合クラスタの周囲の形状の滑らかさの条件とを示し、
前記第1のクラスタ併合手段は、前記併合条件を満たす
前記初期クラスタ同士を、前記拘束条件を満たすように
併合し、併合クラスタ0個以上を生成する。
【0010】好適には、前記第1の併合条件は、前記第
1の範囲外クラスタと、この第1の範囲外クラスタに隣
接する前記初期クラスタまたは前記併合クラスタとを併
合した場合に得られるクラスタの周囲の形状の滑らかさ
の条件を示し、前記第2のクラスタ併合手段は、前記第
1の範囲外クラスタと、この第1の範囲外クラスタとの
間で前記第1の併合条件を満たす前記初期クラスタまた
は前記併合クラスタとを、前記拘束条件を満たすように
併合する。
【0011】好適には、前記面の属性に基づいて、前記
初期クラスタおよび前記併合クラスタの面積の条件を示
す第2の面積条件を作成する面積条件作成手段と、前記
初期クラスタおよび前記併合クラスタの内、算出された
前記第2の面積条件の範囲外のクラスタ(第2の範囲外
クラスタ)を、この第2の範囲外クラスタに隣接し、所
定の第2の併合条件を満たす前記初期クラスタまたは前
記併合クラスタに、前記拘束条件とを満たすように併合
し、新たな併合クラスタ0個以上を生成する第3のクラ
スタ併合手段とをさらに有する。
【0012】好適には、前記面積条件作成手段は、前記
面の属性の内、全ての前記面の面積および向きに基づい
て、前記第2の面積条件を作成する。
【0013】好適には、前記第2の併合条件は、前記第
2の範囲外クラスタと、この第1の範囲外クラスタに隣
接する前記初期クラスタまたは前記併合クラスタとを併
合した場合に得られるクラスタの周囲の形状の滑らかさ
と向きとの条件を示し、前記第3のクラスタ併合手段
は、前記第2の範囲外クラスタと、この第1の範囲外ク
ラスタとの間で前記第2の併合条件を満たす前記初期ク
ラスタまたは前記併合クラスタとを、前記拘束条件を満
たすように併合する。
【0014】好適には、隣接する前記初期クラスタまた
は前記第1〜第3のクラスタ同士が、所定の第3の併合
条件を満たす場合に、隣接する前記初期クラスタまたは
前記第1〜第3のクラスタ同士を併合する第4のクラス
タ併合手段をさらに有する。
【0015】好適には、前記第3の併合条件は、隣接す
る前記初期クラスタまたは前記第1〜第3のクラスタの
向きと、これらのクラスタを併合した場合に得られる前
記併合クラスタの周囲の形状の滑らかさとの条件を示
し、前記第4のクラスタ併合手段は、前記第4の併合条
件を満たす前記初期クラスタまたは前記第1〜第3のク
ラスタ同士を、前記拘束条件を満たすように併合する。
【0016】[第2のクラスタリング処理装置]また、
本発明にかかる第2のクラスタリング処理装置は、空間
中の複数の面を、それぞれ1個以上の前記面を含む1個
以上の集合(クラスタ)に分ける処理(クラスタリング
処理)を行うクラスタリング処理装置であって、前記複
数の面を分けて初期クラスタ1個以上を生成する初期ク
ラスタ生成手段と、所定の併合条件とを満たすように、
生成された前記初期クラスタ同士を併合して、併合クラ
スタ0個以上を生成するクラスタ併合手段とを有する。 [クラスタリング処理装置の作用]本発明にかかるクラ
スタリング装置は、設計者が任意に決めることができ、
上記多数の面の内、いずれの面(以下、フェースとも記
す)を同じクラスタに含めるか、あるいは、いずれの面
が同じクラスタに含まれてはならないかといった、クラ
スタリング処理の内容を拘束する条件(拘束条件)を受
け入れ、常に、必ず、この拘束条件を満たすことを前提
条件としてクラスタリング処理を行う。
【0017】[拘束条件]拘束条件をさらに説明する。
隣接する2つのフェース(面)は、1本以上の稜線を共
有する。例えば、2つのフェース(面)が、漢字の
「日」の上半分の□と下半分の□のように隣接する場
合、2つのフェース(面)は、「日」の字の中心の横棒
を稜線として共有する。
【0018】[必ず異なるクラスタに含めるように意図
される面の具体例]このような場合において、2つのフ
ェース(面)が、共有する稜線の両側で異なる角度で空
間内(三次元形状の表面)に存在すると、2つのフェー
ス(面)に共有される稜線は、表示の際には折れ目のよ
うに見える。従って、設計者は、これら2つのフェース
(面)を、必ず異なるクラスタに含めたいと意図するこ
とがある。また、三次元形状の表面を、特定の2つのフ
ェース(面)が共有する稜線が見えるように複数の多角
形面に分割してメッシュを得たいときに、設計者は、こ
れら特定の2つのフェース(面)を、必ず異なるクラス
タに含めたいと意図することがある。
【0019】[必ず同じクラスタに含めるように意図さ
れる面の具体例]逆に、2つのフェース(面)が、共有
する稜線の両側で、空間中(三次元形状の表面)に同じ
角度で存在する場合には、設計者は、これら2つのフェ
ース(面)を、必ず同じクラスタに含めたいと意図する
ことがある。また、三次元形状の表面を、特定の2つの
フェース(面)が共有する稜線が見えないように複数の
多角形面に分割してメッシュを得たいときに、設計者
は、これら特定の2つのフェース(面)を、必ず同じク
ラスタに含めたいと意図することがある。
【0020】拘束条件は、これらの設計者の意図をクラ
スタリング処理に反映させるために用いられる。ここ
で、例えば、余りにも多くのフェース(面)に対して、
設計者が明示的に拘束条件を設定しなければならないと
すると、手間がかかりすぎるので、設計者は、上述のよ
うに明示的に拘束条件を設定する必要性が高いフェース
(面)に対してのみ、拘束条件を設定すればよい。
【0021】[初期クラスタリング手段の作用]本発明
にかかるクラスタリング装置において、初期クラスタリ
ング手段は、まず、三次元形状の表面を構成する多数の
フェース(面)それぞれを、それぞれ異なったクラスタ
に含め、クラスタを初期化する。次に、初期クラスタリ
ング手段は、上記拘束条件に従って、拘束条件が同じク
ラスタに含まれるべきことを示しているフェース(面)
同士を、必ず同じクラスタに含めるように、また、反対
に、拘束条件が同じクラスタに含めてはならないことを
示しているフェース(面)同士は、必ず異なるクラスタ
に含まれることになるようにグループ分けして、初期ク
ラスタを作成する。
【0022】[クラスタ併合手段の構成・作用]クラス
タ併合手段は、第1〜第4のクラスタ併合手段および面
積条件作成手段から構成される。これらの構成部分によ
り、クラスタ併合手段は、クラスタの面積、隣接するク
ラスタ同士の連続性、および、併合後の新たなクラスタ
の周囲の形状の滑らかさ等が最適になるように、初期ク
ラスタを順次、併合し、最終的なクラスタリング結果を
得る。
【0023】なお、第1〜第4のクラスタ併合手段は、
拘束条件が同じクラスタに含めてはならないことを示し
ているフェース(面)をそれぞれ含む併合クラスタまた
は初期クラスタ同士を併合しないが、説明の簡略化のた
めに、これらのクラスタ併合手段それぞれの作用の説明
においては、上記拘束条件を満たすことは前提条件と
し、言及しない。また、第1〜第4のクラスタ併合手段
のいずれも、それぞれが用いる条件を満たすクラスタが
ない場合には、クラスタの併合を行わない。
【0024】[第1のクラスタ併合手段]第1のクラス
タ併合手段は、まず、例えば、隣接する複数の初期クラ
スタ同士を併合して1つにした場合に得られる仮想的な
併合クラスタを仮定し、この仮想的な併合クラスタにお
ける法線の変化の範囲、および、仮想的な併合クラスタ
の周囲(枠線)の形状の滑らかさを示す指標値を算出す
る。
【0025】次に、第1のクラスタ併合手段は、算出し
た上記指標値が、隣接する初期クラスタ同士を併合すべ
きとする条件(併合条件)を満たしているか否か、具体
的には、例えば、仮想的な併合クラスタにおける法線の
変化幅が所定の範囲内に収まり、かつ、仮想的な併合ク
ラスタの周囲が、所定値以上の滑らかさであるか否かを
判定する。さらに、第1のクラスタ併合手段は、上記指
標値が隣接する初期クラスタ同士を併合すべきとする条
件を満たしていると判定した場合には、この判定の対象
となった上記仮想的な併合クラスタを構成する初期クラ
スタ同士を実際に併合し、新たな1つの併合クラスタと
する。
【0026】[第2のクラスタ併合手段]面積があまり
にも小さい初期クラスタおよび併合クラスタ(以下、こ
れらを区別しない場合には、単にクラスタと記す)を、
独立したクラスタとしておくと、クラスタの数が増え
て、本発明にかかるクラスタリング処理の実効が上がら
ない可能性がある。そこで、第2のクラスタ併合手段
は、これまでの処理により得られたクラスタに含まれる
フェース(面)の面積の総和(クラスタの面積)を算出
し、所定のしきい値(第1の面積条件)とを比較して、
クラスタの面積が適正面積以下であると考えられる場合
には、さらに、この小面積のクラスタ(第1の範囲外ク
ラスタ)と、これに隣接する他のクラスタとを併合すべ
きとする条件(第1の併合条件)を満たしているか否か
を判断する。
【0027】第2のクラスタ併合手段は、併合すべきと
判断した場合、小面積のクラスタと、これに隣接するク
ラスタとを併合し、新たな1つの併合クラスタとする。
第2のクラスタ併合手段は、併合すべきか否かを、例え
ば、これらのクラスタを併合した仮想的な併合クラスタ
を仮定し、この仮想的な併合クラスタの枠線の滑らかさ
に基づいて判断する。
【0028】[面積算出手段]面積算出手段は、設計さ
れた三次元形状を構成する全てのフェース(面)それぞ
れの面積の総和、および、全てのフェース(面)それぞ
れの法線の振れの範囲などに基づいて、設計された三次
元形状におけるクラスタの適正面積(第2の面積条件)
を算出する。
【0029】[第3のクラスタ併合手段]第3のクラス
タ併合手段は、上記第2のクラスタ併合手段と同様に、
これまでの処理により得られたクラスタの面積を算出
し、面積算出手段が算出した適正面積(第2の面積条
件)とを比較して、クラスタの面積が適正面積以下であ
ると考えられる場合には、さらに、この小面積のクラス
タ(第2の範囲外クラスタ)と、これに隣接する他のク
ラスタとが併合すべきとする条件(第2の併合条件)を
満たしているか否かを判断する。第3のクラスタ併合手
段は、併合すべきと判断した場合、小面積のクラスタ
と、これに隣接するクラスタとを併合し、新たな1つの
併合クラスタとする。第3のクラスタ併合手段は、併合
すべきか否かを、例えば、これらのクラスタを併合した
仮想的な併合クラスタを仮定し、この仮想的な併合クラ
スタの枠線の滑らかさ、および、仮想的なクラスタにお
ける法線の方向の差(法線の振れの範囲)に基づいて判
断する。
【0030】[第4のクラスタ併合手段]第4のクラス
タ併合手段は、これまでの処理により生成されたクラス
タの内、隣接するもの同士が、さらに併合すべきとする
条件(第3の併合条件)を満たすか否かを判断し、併合
すべきと判断した場合に、これらのクラスタ同士を併合
し、新たな1つの併合クラスタを生成する。第4のクラ
スタ併合手段は、併合すべきか否かを、例えば、これら
のクラスタを併合した仮想的な併合クラスタを仮定し、
この仮想的な併合クラスタの枠線の滑らかさが併合前を
上回るか否か、および、仮想的な併合クラスタを構成す
るクラスタそれぞれを代表する法線の方向の差(法線の
振れの範囲)が十分に小さいか否かに基づいて判断す
る。
【0031】[クラスタリング処理方法]また、本発明
にかかるクラスタリング処理方法は、空間中の複数の面
を、それぞれ1個以上の前記面を含む1個以上の集合
(クラスタ)に分ける処理(クラスタリング処理)を行
うクラスタリング処理方法であって、前記クラスタリン
グ処理の方法を拘束する条件を示す拘束条件に基づい
て、前記複数の面をクラスタリングして、それぞれ1個
以上の前記面を含む初期クラスタを1個以上、生成し、
前記拘束条件と、隣接する複数の前記初期クラスタ相互
の関係とに基づいて、隣接する複数の前記初期クラスタ
同士を併合し、それぞれ1個以上の前記初期クラスタを
含む併合クラスタを0個以上、生成する。
【0032】好適には、前記拘束条件は、いずれの前記
面同士が同じクラスタにクラスタリングされなければな
らないかと、いずれの前記面同士が同じクラスタにクラ
スタリングされてはならないかとを示し、前記拘束条件
を満たすように、同じクラスタにクラスタリングされな
ければならない前記面(第1の面)同士を、同じクラス
タに含めるようにクラスタリングし、同じクラスタにク
ラスタリングされてはならない前記面(第2の面)同士
を、同じクラスタ以外のクラスタに含めるようにクラス
タリングし、併合の対象とされる前記初期クラスタの間
の条件を示す併合条件を満たす前記初期クラスタ同士の
内、前記拘束条件を満たすように、対応する前記第2の
面をそれぞれ含む前記初期クラスタ同士以外を併合す
る。
【0033】[媒体]また、本発明にかかる媒体は、空
間中の複数の面を、それぞれ1個以上の前記面を含む1
個以上の集合(クラスタ)に分ける処理(クラスタリン
グ処理)を行うプログラムであって、前記クラスタリン
グ処理の方法を拘束する条件を示す拘束条件に基づい
て、前記複数の面をクラスタリングして、それぞれ1個
以上の前記面を含む初期クラスタを1個以上、生成する
初期クラスタリングステップと、前記拘束条件と、隣接
する複数の前記初期クラスタ相互の関係とに基づいて、
隣接する複数の前記初期クラスタ同士を併合し、それぞ
れ1個以上の前記初期クラスタを含む併合クラスタを0
個以上、生成するクラスタ併合ステップを含むプログラ
ムを媒介する。
【0034】好適には、前記拘束条件は、いずれの前記
面同士が同じクラスタにクラスタリングされなければな
らないかと、いずれの前記面同士が同じクラスタにクラ
スタリングされてはならないかとを示し、前記初期クラ
スタリングステップにおいて、前記拘束条件を満たすよ
うに、同じクラスタにクラスタリングされなければなら
ない前記面(第1の面)同士を、同じクラスタに含める
ようにクラスタリングし、同じクラスタにクラスタリン
グされてはならない前記面(第2の面)同士を、同じク
ラスタ以外のクラスタに含めるようにクラスタリングす
る処理と、前記クラスタ併合ステップにおいて、併合の
対象とされる前記初期クラスタの間の条件を示す併合条
件を満たす前記初期クラスタ同士の内、前記拘束条件を
満たすように、対応する前記第2の面をそれぞれ含む前
記初期クラスタ同士以外を併合する処理とを行うプログ
ラムを媒介する。
【0035】
【発明の実施の形態】以下、本発明の実施形態を説明す
る。
【0036】[CAD装置1]図1は、本発明にかかる
クラスタリング処理を実現するCAD(Computer Aided
Design)装置1の構成を示す図である。図1に示すよう
に、CAD装置1は、マイクロプロセッサ、メモリおよ
びこれらの周辺回路等(図示せず)を含むCPU10、
CRT表示装置あるいは液晶表示装置といった表示装置
12、タブレット140、キーボード142およびマウ
ス144等を含む入力装置14、プリンタあるいはプロ
ッタといった出力装置16、および、ハードディスク装
置、光磁気ディスク装置あるいはCD装置といった、記
録媒体180を用いてデータの記録・再生を行う記憶装
置18から構成される。つまり、CAD装置1は、通常
のコンピュータに、CAD装置としての用途に適した周
辺装置を付加した構成を採る。
【0037】[CADプログラム2]図2は、本発明に
かかるクラスタリング処理を応用したCADプログラム
2の構成を示す図である。図2に示すように、CADプ
ログラム2は、入力部20、CAD部22、形状データ
ベース(DB)26、表示・出力部28およびクラスタ
リング処理部3から構成され、クラスタリング処理部3
は、拘束条件生成部30およびクラスタリング部32か
ら構成される。
【0038】CADプログラム2は、記録媒体180に
記録されてCAD装置1(図1)に供給され、記憶装置
18にからCPU10のメモリにロードされ、実行さ
れ、三次元形状の設計処理を行う。この三次元形状は、
三次元形状の表面を隙間無く埋めるフェース(面;以
下、フェース(面)が四角形面である場合を具体例とす
る)の集合として表現され、各フェースは、隣接する他
のフェースと頂点および稜線(辺)を共有する。CAD
プログラム2は、このように三次元形状を構成する1個
以上(多数)のフェース(面)を、1つ以上の領域(ク
ラスタ)にグループ分けする処理(クラスタリング処
理)を行う。
【0039】[表示・出力部28]表示・出力部28
は、CAD部22により設計され、形状DB26を介し
て入力される三次元形状および三次元形状の表面に作成
されたメッシュ(図16等を参照して後述する)を示す
設計出力データから、設計された三次元形状を表示し、
あるいは、プリントアウトするために用いられる表示・
出力データを生成し、入力部20、表示装置12(図
1)および出力装置16に対して出力する。
【0040】また、表示・出力部28は、クラスタリン
グ処理部3(クラスタリング部32)により生成され、
形状DB26を介して入力されるクラスタリングデータ
を処理し、クラスタそれぞれに対して判別しやすくする
ために、可能な限り隣接するクラスタに色が異なる色を
付すように色を付す処理(色分け処理)を行い、色分け
したクラスタを示すクラスタ画像データを生成し、入力
部20、表示装置12(図1)および出力装置16に対
して出力する。また、表示・出力部28は、入力部20
から入力するGUI画像データと、表示・出力データと
を合成し、表示装置12に表示する。
【0041】[設計出力データ]図3(A)は、三次元
形状を示すフェース(面)、あるいは、フェース(面)
をクラスタリング処理して得られたクラスタの法線mを
例示する図であり、図3(B)は、図3(A)に示した
曲面パッチまたはクラスタにおける法線の変化の範囲
(θ;振れ)を例示する図である。なお、CAD部22
(図2)から表示・出力部28に入力される設計出力デ
ータは、一般には形状モデルとも呼ばれ、下表1に示す
データを含む。
【0042】
【表1】表1:設計出力データに含まれるデータ: (1)頂点データ:三次元形状の表面を構成する多数の
フェース(面;例えば、四角形面)の頂点それぞれに付
された識別子(ID)と空間座標とを示す。 (2)稜線データ:三次元形状の表面を構成するフェー
ス(面)の稜線それぞれに付された識別子(ID)と、
稜線それぞれの両端の頂点の識別子(ID)とを示す。 (3)面境界データ:フェース(面)それぞれの頂点お
よび稜線の全ての識別子(ID)を示す。 (4)面データ:フェース(面)それぞれに付された識
別子(ID)と、フェースそれぞれの面積と、フェース
それぞれの頂点および稜線のIDとを示す。 (5)曲面幾何データ:曲面幾何は、フェース(面)内
の任意の位置の座標値と、図3(A)に例示したよう
な、この座標値が示す位置における法線mの方向とを示
し、2変数s,tを代入すると、これらの座標値(P
(x,y,z))および法線方向(N(x,y,z))
を算出できる数式(例えば、P(x,y,z)=f
(s,t),N(x,y,z)=g(s,t))として
表現される。
【0043】なお、表1において(1)〜(4)に示し
た各データは、フェース(面)の位相情報を示し、この
(5)に示した曲面幾何データは、フェース(面)それ
ぞれの幾何情報を示す。
【0044】また、クラスタリング処理部3(クラスタ
リング部32;図2)から表示・出力部28に入力され
るクラスタリングデータは、下表2に示すデータを含
む。
【0045】
【表2】(1)クラスタ数:クラスタリング処理部3
(クラスタリング部32)が作成したクラスタの総数を
示す。 (2)フェース情報:各クラスタそれぞれに含まれるフ
ェース(面)それぞれの識別子(ID)と、フェースの
総数とを示す。
【0046】[色分け処理]以下、表示・出力部28に
よるクラスタの色分け処理を詳細に説明する。図4は、
図2に示した表示・出力部28によるクラスタの色分け
処理(S10)を示すフローチャートである。図4に示
すように、ステップ100(S100)において、表示
・出力部28は、色分け処理されていないクラスタのい
ずれか1個を選択する。
【0047】ステップ102(S102)において、表
示・出力部28は、隣接するクラスタ同士で同色になら
ないように、S100の処理において選択されたクラス
タに付す色を決定する。
【0048】ステップ104(S104)において、表
示・出力部28は、S100の処理において選択された
クラスタに含まれる面の内、未だ表示されていないフェ
ース(面)のいずれか1つを選択する。
【0049】ステップ106(S106)において、表
示・出力部28は、S104の処理において選択された
フェース(面)に、S102の処理において決定した色
を付して、表示装置12(図1)に表示する。
【0050】ステップ108(S108)において、表
示・出力部28は、S100の処理において選択された
クラスタに含まれる全てのフェース(面)に対してS1
06の処理を行ったか否かを判断し、全てのフェース
(面)に対してS106の処理が終了した場合にはS1
10の処理に進み、これ以外の場合にはS104の処理
に戻る。
【0051】ステップ110(S110)において、表
示・出力部28は、全てのクラスタに含まれる全ての面
に対してS106の処理を終了したか否かを判断し、終
了した場合には処理を終了し、これ以外の場合にはS1
00の処理に戻る。
【0052】[入力部20]入力部20(図2)は、設
計者が、入力装置14に対して行い、あるいは、表示装
置12に表示されたGUI画像(図示せず)に対して行
った操作入力を受け入れ、受け入れた操作入力の内、三
次元形状設計に関する操作を示す設計入力データをCA
D部22に対して出力し、クラスタリング処理部3(ク
ラスタリング部32)に対してクラスタリングの拘束条
件を指示する指示データを、拘束条件作成部30に対し
て出力する。
【0053】[CAD部22]CAD部22は、形状D
B26から入力され、設計出力データ(表1)と同様な
情報を含む形状データ、および、クラスタリング処理部
3(クラスタリング部32)から入力され、クラスタリ
ング処理部3(クラスタリング部32)によるクラスタ
リング処理の結果を示すクラスタリングデータに対し
て、入力部20から入力される設計入力データに基づい
て、三次元形状の設計に必要な処理を行って三次元形状
を設計し、設計した三次元形状を示す設計出力データを
生成して形状DB26に対して出力する。
【0054】また、CAD部22は、クラスタリング処
理部3(クラスタリング部32)によるクラスタリング
結果に従って、三次元形状の表面を複数の多角形面(例
えば四角形面)に分割し、メッシュを作成し、設計出力
データの一部として形状DB26に対して出力する。つ
まり、CAD部22は、三次元形状の表面に作成された
クラスタそれぞれを、クラスタに閉じるように、換言す
ると、1つの多角形面が複数のクラスタ間にまたがって
存在することがないように分割する(図16を参照して
後述)。
【0055】[形状DB26]形状DB26は、CAD
部22から入力される設計出力データ、および、クラス
タリング処理部3(クラスタリング部32)から入力さ
れるクラスタリングデータを、記憶装置18(図1)等
に記憶し、管理し、他の構成部分からの要求に応じて、
記憶・管理したこれらのデータをCAD部22、クラス
タリング部32および表示・出力部28に対して出力す
る。
【0056】[拘束条件作成部30]クラスタリング処
理部3において、拘束条件作成部30は、入力部20を
介して入力される指示データ、および、形状DB26か
らクラスタリング部32を介して入力される形状データ
に基づいて、クラスタリング部32におけるクラスタリ
ング処理を拘束する条件を示す拘束条件データを生成
し、クラスタリング部32に対して出力する。
【0057】図5は、表示装置12(図2)に表示さ
れ、拘束条件の入力に用いられるGUI画像を例示する
図である。さらに図5を参照して、拘束条件作成部30
の処理内容を詳細に説明する。設計者は、図5に例示す
るように、表示装置12に表示された三次元形状の表面
を構成するフェース(面)を示す画像を、マウス144
(図1)等でポインティングし、同じクラスタに含める
か、異なるクラスタに含めるかを指定することにより、
三次元形状の表面において、必ず同じクラスタに含める
必要がある部分を示す点を、CAD装置1(CADプロ
グラム2)に対して指示する。また、設計者は、同様の
操作により、三次元形状の表面において、必ず異なるク
ラスタに含める必要がある部分を示す点同士を、CAD
装置1(CADプログラム2)に対して指示する。
【0058】拘束条件作成部30は、上述した設計者の
操作を、入力部20を介して指示データとして受け入
れ、拘束条件作成部30は、指示データに基づいて、設
計者がポインティングした三次元形状の表面上の0個以
上の点それぞれを、このポインティングされた部分にあ
るフェース(面)に対応付ける。さらに、拘束条件作成
部30は、このように対応付けられた0個以上のフェー
ス(面)を、指示データに基づいてグループ分けして0
個以上のグループとし、得られた0個以上のグループそ
れぞれと、その属性(必ず同じクラスタに含めるか、ま
たは、必ず異なるクラスタに含めるか)とを対応付け、
拘束条件データとしてクラスタリング部32に対して出
力する。
【0059】[クラスタリング部32]クラスタリング
部32(図2)は、拘束条件作成部30から入力された
拘束条件データ、および、CAD部22から形状DB2
6を介して入力される形状データをクラスタリング処理
し、結果として得られたクラスタを示すクラスタリング
データを、形状DB26およびCAD部22に対して出
力する。
【0060】[クラスタリング処理]以下、さらにクラ
スタリング部32におけるクラスタリング処理を説明す
る。図6は、図2に示したクラスタリング部32におけ
るクラスタリング処理(S1)を示すフローチャートで
ある。図6に示すように、クラスタリング部32は、初
期クラスタ処理(S20)、一次併合処理(S30)、
微小クラスタ併合処理(S40)、適正面積保証処理
(S50)および最終併合処理(S60)の各処理を行
って、設計出力データから、クラスタリングデータを出
力する。
【0061】以下、図6に示した各処理を詳細に説明す
る。図7,9,12〜14はそれぞれ、図6に示した初
期クラスタリング処理(S20)、一次併合処理(S3
0)、微小クラスタ併合処理(S40)、適正面積保証
処理(S50)および最終併合処理(S60)を示す図
である。図8は、初期クラスタリング処理(S20)、
一次併合処理(S30)、微小クラスタ併合処理(S4
0)、適正面積保証処理(S50)および最終併合処理
(S60)それぞれの結果として出力されるクラスタを
例示する図である。
【0062】[初期クラスタリング処理(S20)]初
期クラスタリング処理において、クラスタリング処理部
32は、それぞれ設計出力データに含まれるフェース
(面)を1つずつ含むクラスタ1つ以上を作成する。さ
らに、クラスタリング処理部32は、作成したこれらの
クラスタの内、互いに隣接し、かつ、拘束条件により、
必ず同じクラスタに含まれなければならないと決められ
ているフェースを含むクラスタ同士を併合することにに
より、1つ以上の初期クラスタを生成する。
【0063】図7に示すように、ステップ200(S2
00)の処理において、クラスタリング部32は、設計
出力データに含まれるフェース(面)それぞれが、それ
ぞれ異なるクラスタに含まれるようにクラスタの集合を
初期化する。つまり、クラスタリング部32は、三次元
形状を構成するフェース(面)の数と同じ数のクラスタ
を作成し、これらのクラスタそれぞれが、それぞれ異な
るフェース(面)を1つずつ含むようにして、クラスタ
の集合を初期化する。
【0064】ステップ202(S202)において、ク
ラスタリング部32は、それぞれ隣接した2つのクラス
タを含む組の内、未処理の組いずれかを処理対象として
選択する。
【0065】ステップ204(S204)において、ク
ラスタリング部32は、S202の処理において選択さ
れた組に含まれる2つのクラスタが、拘束条件データが
示す拘束条件により、必ず同じクラスタに含めなければ
ならないフェース(面)が含まれているか否かを判断す
る。クラスタリング部32は、このようなフェースが含
まれている場合には、S202の処理にもどり、これ以
外の場合にはS206の処理に進む。
【0066】ステップ206(S206)において、ク
ラスタリング部32は、処理の対象としている2つの隣
接するクラスタ同士を1つのクラスタに併合し、新たな
1つのクラスタとする。
【0067】ステップ208(S208)において、ク
ラスタリング部32は、全ての隣接クラスタについて、
併合すべきか否かの判定処理が終了したか否かを判断
し、終了した場合にはS20の処理を終了し、これ以外
の場合にはS202の処理に戻る。図7に示した初期ク
ラスタリング処理(S20)が終了すると、クラスタリ
ング部32は、図8に記号(a)を付して例示するよう
に、結果として得られたクラスタを初期クラスタとして
保持し、第一次併合処理(S30;図6,9)に進む。
【0068】[第一次併合処理]第一次併合処理におい
て、クラスタリング部32は、S20(図5,7)の処
理において作成され、互いに隣接する初期クラスタの
内、互いに拘束条件により同じクラスタに含まれること
を禁じられているフェース(面)を含まず、2つのフェ
ース(面)相互の角度の差が最も少なく、また、併合後
の枠線が最も滑らかになる2つ同士を併合し、新たな1
つのクラスタを生成する。
【0069】図9は、図6に示した第一次併合処理(S
30)を示すフローチャートである。図9に示すよう
に、ステップ300(S300)において、クラスタリ
ング部32は、隣接する2個のクラスタの組合わせの
内、指標値が未だ算出されていない2個のクラスタの組
み合わせを選択する。
【0070】ステップ302(S302)において、ク
ラスタリング部32は、S20(図6,7)の処理にお
いて得られた初期クラスタの内、S300の処理におい
て選択された2つを併合して1つにした仮想ラスタを仮
定する。さらに、クラスタリング部32は、仮想クラス
タを構成する2つのクラスタそれぞれの代表法線ベクト
ルm、n(図3(A))を求め、仮想クラスタにおける
法線の振れθ(図3(B))の大きさを示す指標値を算
出する。
【0071】この指標値を算出するために、例えば、ク
ラスタリング部32は、まず、ある仮想クラスタを構成
する2つのクラスタそれぞれに含まれるフェース(面)
それぞれの法線ベクトルの面積分値を算出し、算出され
た法線ベクトルの面積分値の総和値を算出し、算出され
た総和値を正規化して、この仮想クラスタを構成する2
つのクラスタそれぞれを代表する代表法線ベクトルm,
n(m=∫mi/|∫mi|,n=∫ni/|∫ni|;但
し、miは、それぞれ仮想クラスタを構成するフェース
(面)の一方の上の1点における法線ベクトル、n
iは、それぞれ仮想クラスタを構成するフェース(面)
他の一方の上の1点における法線ベクトル)を算出す
る。
【0072】実際には、クラスタリング部32は、ある
仮想クラスタに含まれるフェース(面)それぞれにおい
て、分布に偏りが生じないように、可能な限り多くの点
を選択し、選択した点それぞれにおける法線ベクトルを
算出し、これらの総和値を算出する。さらに、クラスタ
リング部32は、算出された法線ベクトルの総和値を、
長さが1になるように正規化して、この仮想クラスタを
構成する2個のクラスタそれぞれの代表法線ベクトル
m,nを算出する。さらに、クラスタリング部32は、
求めた仮想クラスタを構成する2つのクラスタそれぞれ
の代表法線ベクトルm,nの間の角度θを求め、角度θ
の逆数(1/θ=1.0/ang(m,n))を、仮想
クラスタにおける法線mの振れの大きさを示す指標値と
する。
【0073】図10は、隣接する2つのクラスタの枠線
の共有率Riを例示する図である。図11(A)は、隣
接する2つのクラスタの枠線における角度(接触角度)
を定義する図であり、(B)は、隣接する2つのクラス
タの角度の平均値Φiを例示する図である。ステップ3
04(S304;図9)において、クラスタリング部3
2は、S302の処理で仮定した仮想クラスタの周囲の
稜線(枠線)の滑らかさを示す指標値を算出する。クラ
スタリング部32は、例えば、仮想クラスタの枠線の滑
らかさを示す指標値として、この仮想クラスタを構成す
る2つのクラスタの枠線の共有率Ri、および、接触角
度の平均値Φiを算出する。
【0074】なお、クラスタリング部32は、図10に
例示するように、2つのクラスタにより共有される枠線
長が、2つのクラスタそれぞれの枠線の全長に対して占
める割合の内、値が大きい方を枠線の共有率Riとす
る。また、クラスタリング部32は、図11(A)に例
示するように、2つのクラスタA,Bの接点Vでの接触
角度Φ(Φ=2π−α−β)を定義し、図11(B)に
それぞれ例示するように、2つのクラスタが2点で接す
る場合に、これら2点の接触角度の総和を算出し、総和
の値を接点数(図11(B)においては接点数2)で除
算することにより、接触角の平均値Φiを算出する。
【0075】ステップ306(S306)において、ク
ラスタリング部32は、S304の処理において算出さ
れた2つの指標値から、仮想クラスタを構成する2つの
クラスタを併合して1つにする有利さ、つまり、いずれ
の仮想クラスタを構成する2つのクラスタを優先的に併
合すべきかを示す併合優先値を算出する。クラスタリン
グ部32は、例えば、2つの指標値を、単純に加算して
併合優先値とする。
【0076】ステップ308(S308)において、ク
ラスタリング部32は、全ての仮想クラスタについて、
併合優先値の算出を終了したか否かを判断し、算出を終
了した場合にはS310の処理に進み、これ以外の場合
にはS300の処理に戻る。
【0077】ステップ310(S310)において、ク
ラスタリング部32は、仮想クラスタを、それぞれの併
合優先値が高い順番に並べたリストを作成する。
【0078】ステップ312(S312)において、ク
ラスタリング部32は、S310の処理において作成し
たリストにおいて、併合優先値の値が、予め決められた
基準値よりも高い仮想クラスタがあるか否かを判断し、
このような仮想クラスタがある場合にはS314の処理
に進み、これ以外の場合には処理を終了する。
【0079】ステップ314(S314)において、ク
ラスタリング部32は、S310の処理において作成さ
れたリスト内の未処理の仮想クラスタの内、最も併合優
先値が高い仮想クラスタを処理対象として選択する。
【0080】ステップ316(S316)において、ク
ラスタリング部32は、処理対象の仮想クラスタを構成
する2つのクラスタに、拘束条件により同じクラスタに
含めることができないと設定されたフェース(面)同士
が含まれているか否かを判断し、含まれていない(拘束
条件を満たす)場合には、S318の処理に進み、これ
以外の場合にはS312の処理に戻る。
【0081】ステップ318(S318)において、ク
ラスタリング部32は、処理対象の仮想クラスタを構成
する2つのクラスタを、実際に1つのクラスタに併合
し、新たなクラスタとする。
【0082】ステップ320(S320)において、ク
ラスタリング部32は、S318の処理において作成さ
れた新たなクラスタに隣接するクラスタの中から、新し
いクラスタとの併合優先度が算出されていないクラスタ
1個を選択する。
【0083】ステップ322(S322)において、S
318の処理において作成されたクラスタと、このクラ
スタに隣接する他のクラスタとから構成される新たな仮
想クラスタを仮定し、S302の処理においてと同様
に、この新たな仮想クラスタの法線mの振れ(図3
(B))の大きさを示す指標値を算出する。
【0084】ステップ324(S324)において、ク
ラスタリング部32は、S304の処理においてと同様
に、S322の処理において新たに仮定された仮想クラ
スタの周囲の稜線(枠線)の滑らかさを示す指標値を算
出する。
【0085】ステップ326(S326)において、ク
ラスタリング部32は、S306の処理においてと同様
に、S322の処理において新たに仮定された仮想クラ
スタの併合優先度を算出する。
【0086】ステップ328(S328)において、ク
ラスタリング部32は、新たな仮想クラスタ全てについ
て、S320〜S326の処理を終了したか否かを判断
し、処理が終了した場合にはS330の処理に進み、こ
れ以外の場合にはS330の処理に進む。
【0087】ステップ330(S330)において、ク
ラスタリング部32は、S322の処理において新たに
仮定された仮想クラスタを、S310の処理において作
成されたリストに挿入し、併合優先値が高い順番に並ぶ
ように仮想クラスタの順番を並び替える。
【0088】図9に示した第一次併合処理(S30)が
終了すると、クラスタリング部32は、図8に記号
(b)を付して例示するように、結果として得られたク
ラスタ(第1の併合クラスタ)を保持し、微小クラスタ
併合処理(S40;図6,12)に進む。
【0089】[微小クラスタ併合処理]微小クラスタ併
合処理において、クラスタリング部32は、面積が一定
の基準値に達しないクラスタを、隣接し、拘束条件を満
たす他のクラスタの内、併合後に最も滑らかな枠線を与
えるいずれかに併合する。
【0090】図12は、図6に示した微小クラスタ併合
処理(S40)を示すフローチャートである。図12に
示すように、ステップ400(S400)において、ク
ラスタリング部32は、未だS402の処理の対象とな
っておらず、その面積が算出されていないクラスタのい
ずれかを選択する。
【0091】ステップ402(S402)において、ク
ラスタリング部32は、S30(図6,9)の処理によ
り得られ、S400の処理において選択されたクラスタ
それぞれが含むフェース(面)の面積の総和、つまり、
クラスタそれぞれの面積を算出する。
【0092】ステップ404(S404)において、ク
ラスタリング部32は、処理対象のクラスタの面積が、
予め決められた基準値以下であるか否かを判断し、クラ
スタの面積が基準値以下である場合には、このクラスタ
を微小クラスタ(第1の範囲外クラスタ)であると判断
して処理対象としてS406の処理に進み、これ以外の
場合にはS418の処理に進む。
【0093】ステップ406(S406)において、ク
ラスタリング部32は、微小クラスタに隣接するクラス
タの中から、滑らかさを示す指標値が算出されていない
クラスタを1個、選択する。
【0094】ステップ408(S408)において、ク
ラスタリング部32は、S406の処理において三託さ
れたクラスタを処理対象とし、処理対象のクラスタと、
微小クラスタとが、拘束条件により同じクラスタに含ま
れてはならないと設定されたフェース(面)同士を含ん
でいるか否かを判断する。クラスタリング部32は、こ
れらのクラスタに、このような面が含まれていない場合
には、S406の処理に戻り、これ以外の場合にはS4
10の処理に戻る。
【0095】ステップ410(S410)において、ク
ラスタリング部32は、処理の対象となっている微小ク
ラスタと、これに隣接するクラスタとを併合したと仮定
して得られる仮想クラスタについて、S304(図9)
の処理においてと同様に、この仮想クラスタの枠線の滑
らかさを表す指標値を算出する。
【0096】ステップ412(S412)において、ク
ラスタリング部32は、処理対象の微小クラスタと、隣
接する他のクラスタとの間で仮定される全ての仮想クラ
スタについて、S410の処理により得られる指標値の
算出が終了したか否かを判断し、算出が終了した場合に
はS414の処理に進み、これ以外の場合にはS406
の処理に戻る。
【0097】ステップ414(S414)において、ク
ラスタリング部32は、S404の処理において処理対
象とされた微小クラスタと、この微小クラスタと隣接す
るクラスタとの間で仮定される仮想クラスタの内、S4
10の処理において算出された指標値の値が最も高い仮
想クラスタに含まれる2つのクラスタを併合し、新たな
1つのクラスタとする。
【0098】ステップ416(S416)において、ク
ラスタリング部32は、S414の処理により得られた
新たなクラスタを、また、微小クラスタ併合処理の対象
となっていない未処理のクラスタであるとみなして、S
404〜S414の処理対象となりうる状態にする。
【0099】ステップ418(S418)において、ク
ラスタリング部32は、全てのクラスタについて微小ク
ラスタ併合処理(S400〜S416)が終了したか否
かを判断し、処理が終了した場合には処理を終了し、こ
れ以外の場合にはS404の処理に戻る。
【0100】図12に示した微小クラスタ併合処理(S
40)が終了すると、クラスタリング部32は、図8に
記号(c)を付して例示するように、結果として得られ
たクラスタ(第2の併合クラスタ)を保持し、適正面積
保証処理(S50;図6,13)に進む。
【0101】[適正面積保証処理]適正面積保証処理に
おいて、クラスタリング部32は、フェースの面積の総
和、傾き等に基づいて、適正なクラスタの面積を算出
し、これまでに得られたクラスタの内、面積が、算出さ
れた適正面積以下のクラスタを、隣接し、かつ、拘束条
件を満たす他のクラスタの内、2つのフェース(面)相
互の角度の差が最も少なく、また、併合後の枠線が最も
滑らかになる2つ同士を併合し、新たな1つのクラスタ
を生成する。
【0102】図13は、図6に示した適正面積保証処理
(S50)を示す図である。図13に示すように、ステ
ップ500(S500)において、クラスタリング部3
2は、三次元形状を構成するフェース(面)全ての面積
の合計Sallと、法線の振れの大きさとを求める。クラ
スタリング部32は、例えば、それぞれのフェース
(面)に対して、S302(図9)においてと同様な処
理を行って、フェース(面)それぞれの代表法線ベクト
ル(図3(A))を算出し、さらに、算出した代表法線
ベクトル同士の間の角度θ(図(B))を算出し、算出
した角度θの内、最大の値の逆数(1/θ)を、法線の
振れの大きさとする。
【0103】さらに、クラスタリング部32は、求めた
フェース(面)全部の面積の合計と、法線の振れとを、
下式1に代入して、クラスタの適正面積Sを算出する。
【0104】
【数1】 S=(a/θ+b)×Sall (1) 但し、a,bは、複数の三次元形状に対するクラスタリ
ング処理の経験に基づいて得られる定数。
【0105】ステップ502(S502)において、ク
ラスタリング部32は、未だS504の処理の対象とな
っておらず、その面積が算出されていないクラスタのい
ずれかを選択する。
【0106】ステップ504(S504)において、ク
ラスタリング部32は、処理対象としたクラスタのに含
まれるフェース(面)の面積の合計、つまり、処理対象
のクラスタの面積を算出する。
【0107】ステップ506(S506)において、ク
ラスタリング部32は、処理対象のクラスタの面積が、
S500の処理において算出された適正面積以上である
か否かを判断し、適正面積上である場合にはS508の
処理に進み、これ以外の場合には、適正面積S未満と判
断されたクラスタを処理対象として選択し、S510の
処理に進む。
【0108】ステップ508(S508)において、ク
ラスタリング部32は、全てのクラスタがS502〜S
506の処理の対象になったか、つまり、全てのクラス
タに対する処理が終了したか否かを判断し、終了した場
合には処理を終了し、これ以外の場合には、未処理のク
ラスタのいずれか1つを、次の処理の対象に選択し、S
502の処理に戻る。
【0109】ステップ510(S510)において、ク
ラスタリング部32は、S506の処理において、適正
面積S以下と判断されたクラスタに隣接するクラスタの
内、併合優先値が算出されていないいずれかを選択す
る。
【0110】ステップ512(S512)において、ク
ラスタリング部32は、S506の処理において処理対
象とされたクラスタと、この処理対象のクラスタに隣接
するクラスタのいずれか1つをそれぞれ含む仮想クラス
タを仮定する。クラスタリング部32は、仮想クラスタ
に含まれるこれら2つのクラスタに、必ず異なるクラス
タに含まれなければならないフェースがないか否か、つ
まり、この仮想クラスタが拘束条件を満たしているか否
かを判断し、拘束条件を満たしている場合にはS514
の処理に進み、これ以外の場合にはS510の処理に戻
る。
【0111】ステップ514(S514)において、ク
ラスタリング部32は、図9に示したS302の処理と
同様に、処理対象の仮想クラスタの法線の振れの大きさ
を示す指標値を算出する。
【0112】ステップ516(S516)において、ク
ラスタリング部32は、図9に示したS304の処理と
同様に、処理対象の仮想クラスタの枠線の滑らかさを示
す指標を算出する。
【0113】ステップ518(S518)において、ク
ラスタリング部32は、図9に示したS306の処理と
同様に、処理対象の仮想クラスタの併合優先値を算出す
る。
【0114】ステップ520(S520)において、ク
ラスタリング部32は、S512の処理において仮定さ
れた仮想クラスタの全てに対してS510〜S518の
処理が終了したか否かを判断し、終了した場合にはS5
22の処理に進み、これ以外の場合にはS510の処理
に戻る。
【0115】ステップ522(S522)において、S
506の処理において処理対象とされたクラスタを含む
仮想クラスタの内、S518において、最も高い値の併
合優先度が付された仮想クラスタに含まれる2つのクラ
スタを併合して、1つの新たなクラスタを生成する。ク
ラスタリング部32は、新たに生成したクラスタを、S
502〜S506の処理対象になっていないクラスタと
みなしてS508の処理に戻る。
【0116】図13に示した適正面積保証処理(S5
0)が終了すると、クラスタリング部32は、図8に記
号(d)を付して例示するように、結果として得られた
クラスタ(第3の併合クラスタ)を保持し、最終併合処
理(S60;図6,14)に進む。
【0117】[最終併合処理]最終併合処理において、
クラスタリング部32は、さらに、互いに隣接し、拘束
条件を満たすクラスタの内、2つのフェース(面)相互
の角度の差が最も少なく、また、併合後の枠線が最も滑
らかになる2つ同士を併合し、新たな1つのクラスタを
生成する。
【0118】図14は、図6に示した最終併合処理(S
60)を示すフローチャートである。図14に示すよう
に、ステップ600(S600)において、クラスタリ
ング部32は、それぞれ隣接する2つのクラスタの組の
内、未処理の組のいずれかを処理対象として選択する。
【0119】ステップ602(S602)において、ク
ラスタリング部32は、S600の処理において選択さ
れた組の2つのクラスタを含む仮想クラスタを仮定し、
この仮想クラスタに含まれる2つのクラスタが、必ず異
なるクラスタに含めなければならないフェース(面)を
それぞれ含むか否か、つまり、処理対象の仮想クラスタ
が、拘束条件を満たすか否かを判定し、拘束条件を満た
す場合にはS604の処理に進み、これ以外の場合には
S600の処理に戻る。
【0120】ステップ604(S604)において、ク
ラスタリング部32は、図9に示したS302の処理と
同様に、処理対象の仮想クラスタを構成する2つのクラ
スタそれぞれの代表法線を算出する。
【0121】ステップ606(S606)において、ク
ラスタリング部32は、S604の処理において生成し
た2つのクラスタそれぞれの代表法線のなす角度を算出
し、算出した角度が、予め決められた基準値以下である
か否かを判断し、基準値以下である場合にはS608の
処理に進み、これ以外の場合にはS600の処理に進
む。
【0122】ステップ608(S608)において、ク
ラスタリング部32は、図9に示したS304の処理と
同様に、処理対象の仮想クラスタに含まれる2つの仮想
クラスタそれぞれの枠線の滑らかさを示す指標値を算出
する。
【0123】ステップ610(S610)において、ク
ラスタリング部32は、図9に示したS304の処理と
同様に、処理対象の仮想クラスタの枠線の滑らかさを示
す指標値を算出する。
【0124】ステップ612(S612)において、ク
ラスタリング部32は、S608の処理において算出さ
れた指標値と、S610の処理において算出された指標
値とに基づいて、仮想クラスタを構成する2つのクラス
タを1つに併合した方が枠線が滑らかになるか否かを判
断し、滑らかになる場合にはS614の処理に進み、こ
れ以外の場合にはS600の処理に戻る。
【0125】ステップ614(S614)において、ク
ラスタリング部32は、処理対象の仮想クラスタに含ま
れる2つのクラスタを併合して1つの新たなクラスタを
生成する。
【0126】ステップ616(S616)において、ク
ラスタリング部32は、全ての仮想クラスタに対してS
600〜S612の処理が終了したか否かを判断し、終
了した場合には処理を終了し、これ以外の場合には、S
614の処理において生成された新たなクラスタに対し
て、S600〜S612の処理がなされていないとみな
してS600の処理に戻る。
【0127】クラスタリング部32は、以上説明したS
20〜S60の処理により、図8に記号(e)を付して
例示するような、最終的なクラスタリング結果を得る。
【0128】[CADプログラム2の全体処理]以下、
図15をさらに参照して、CADプログラム2(図2)
の全体処理を説明する。図15は、図2に示したCAD
プログラム2の全体処理(S7)を示すフローチャート
である。
【0129】図15に示すように、ステップ700(S
700)において、設計者がCADプログラム2(図
2)のCAD部22を用いて三次元形状(形状モデル)
を設計すると、CAD部22は、設計された三次元形状
(形状モデル)を示す設計出力データを形状DB26に
対して出力する。また、設計者は、形状モデルに含まれ
るフェース(面)のいずれ同士が同じクラスタに含まれ
なければならないか、および、フェース(面)のいずれ
同士が異なるクラスタに含まれなければならないかを、
クラスタリング処理部3の拘束条件作成部30に対して
指示すると、拘束条件作成部30は、これらを示す拘束
条件データを生成し、クラスタリング部32に対して出
力する。
【0130】設計者が処理の対象とする形状モデル(設
計出力データ)を指定して、クラスタリング処理をクラ
スタリング部32に開始させると、クラスタリング部3
2は、形状DB26に対して指定された設計出力データ
を要求し、形状DB26は、クラスタリング部32から
の要求に応じて、クラスタリング部32に対して設計出
力データを出力する。
【0131】図16は、拘束条件を変えた場合にクラス
タリング部32により生成されるクラスタ、および、生
成されたクラスタに従ってCAD部22(図2)が分割
処理を行うことにより生成されたメッシュを例示する図
である。ステップ702(S702)において、クラス
タリング部32は、図6〜13に示したクラスタリング
処理(図6におけるS20〜S60)を行う。
【0132】例えば、図16に記号(a)を付して示す
ように、三次元形状の表面が、12個のフェース(面)
から構成されている場合、拘束条件が、第1および第2
のフェース(面;面1,2)が必ず同じクラスタに含ま
れなければならない旨を示している場合、図16に記号
(b)を付して示すように、これらのフェース(面;面
1,2)は、必ず同じクラスタの中に含められる。逆
に、拘束条件が、これらのフェース(面;面1,2)が
必ず異なるクラスタに含まれなければならない旨を示し
ている場合、図16に記号(d)を付して示すように、
これらのフェース(面;面1,2)は、必ず異なるクラ
スタの中に含められる。
【0133】ステップ704(S704;図15)にお
いて、表示・出力部28は、図4に示したようにクラス
タの色分け処理(S10)を行い、色分けしたクラスタ
を表示装置12に表示する。
【0134】ステップ706(S706)において、C
AD部22は、未だメッシュの生成が行なわれていない
クラスタのいずれかを処理対象として選択する。
【0135】ステップ708(S708)において、C
AD部22は、S702の処理において得られたクラス
タごとに閉じた処理を行い、三次元形状の表面を複数の
多角形面(例えば、四角形面)に分割し、メッシュを作
成する。図16に記号(c)を付して示すように、例示
した2個のフェース(面;面1,2)が必ず同じクラス
タに含まれるべきことを示す拘束条件に従って生成され
たクラスタからは、S706の処理の結果として、これ
ら2個のフェース(面;面1,2)が共有する稜線が、
四角形面の境界として現れないメッシュが生成される。
【0136】逆に、図16に記号(e)を付して示すよ
うに、例示した2個のフェース(面;面1,2)が必ず
異なるクラスタに含まれるべきことを示す拘束条件に従
って生成されたクラスタからは、S706の処理の結果
として、これら2個のフェース(面;面1,2)が共有
する稜線が、四角形面の境界として現れるメッシュが生
成される。
【0137】ステップ710(S710)において、C
AD部22は、全てのクラスタについてメッシュの生成
が終了したか否かを判断し、終了した場合にはS110
の処理に進み、これ以外の場合にはS706の処理に戻
る。
【0138】ステップ712(S712)において、C
AD部22は、S706〜S710の処理において作成
したメッシュを表示装置12(図1)に表示し、あるい
は、出力装置16からプリントアウトする。
【0139】[効果]以下、図17〜図25を参照し
て、CAD装置1(図1)(CADプログラム2(図
2))が実行する本発明にかかるクラスタリング処理の
効果をさらに説明する。図17〜図19は、本発明によ
るクラスタリング処理を行ってメッシュ生成する第1の
例を示す図であって、図17は、クラスタリング処理の
対象となる第1の三次元形状を例示し、図18は、図1
7に示した三次元形状に対してクラスタリング処理を行
った結果として得られたクラスタを例示し、図19は、
図18に示したクラスタを用いて作成したメッシュを例
示する。
【0140】図20〜図22は、本発明によるクラスタ
リング処理を行ってメッシュ生成する第2の例を示す図
であって、図20は、クラスタリング処理の対象となる
第2の三次元形状を例示し、図21は、図20に示した
三次元形状に対してクラスタリング処理を行った結果と
して得られたクラスタを例示し、図22は、図21に示
したクラスタを用いて作成したメッシュを例示する。
【0141】図23〜図25は、本発明によるクラスタ
リング処理を行ってメッシュ生成する第3の例を示す図
であって、図23は、クラスタリング処理の対象となる
第3の三次元形状を例示し、図24は、図23に示した
三次元形状に対してクラスタリング処理を行った結果と
して得られたクラスタを例示し、図25は、図24に示
したクラスタを用いて作成したメッシュを例示する。
【0142】図17,20,23に例示した第1〜第3
の三次元形状の表面は、それぞれ数百〜数千のフェース
(面)から構成されており、これらの形状をそれぞれC
ADプログラム2によりクラスタリング処理すると、そ
れぞれ図18,21,24において、それぞれ異なる斜
線を付して示すようなクラスタリング結果を得ることが
できる。図18,21,24を参照して分かるように、
得られた各クラスタには、極端に細長く引き延ばされて
いる、四角形面(図19,23,25)に比べて非常に
小さい、あるいは、境界線に極端な鋭角があるといっ
た、メッシュ作成に悪影響を与えがちな形状が生じてい
ないことが分かる。
【0143】さらに、図18,21,24に例示したク
ラスタリング結果を用いて、クラスタごとに閉じたメッ
シュ作成を行うと、生成される四角形面には、図19,
22,25を参照して分かるように、極端に細長く引き
延ばされた形状の四角形面や、極端な鋭角の頂点や、極
端な鈍角の頂点を有する四角形面は、非常に少ない数し
か含まれず、 図17,20,23に例示した第1〜第
3の三次元形状の表面が、良好な四角形面に分割されて
いることが分かる。本発明によりクラスタリング処理
し、クラスタに閉じたメッシュ作成を行うと、メッシュ
作成以前に既にフェース(面)が適切にグループ分けさ
れているので、三次元形状の表面を、このように良好な
四角形面に分割することができる。
【0144】[変形例]以下、本発明にかかるCAD装
置1(CADプログラム2)の処理の変形例を説明す
る。
【0145】[拘束条件設定の任意性]設計者は、拘束
条件を設定するか否かを任意に決めることができ、設計
者が拘束条件の設定をしなかった場合、拘束条件作成部
30が拘束条件データを生成しないことは言うまでもな
い。
【0146】[代表法線ベクトル]クラスタリング部3
2は、代表法線ベクトル求める際に、クラスタ(フェー
ス;面)内の法線ベクトルを積分して正規化するのでは
なく、クラスタ(フェース;面)の周囲の稜線上のいく
つかの法線ベクトルを用いて、法線ベクトルを近似的に
求めることも可能である。
【0147】また、クラスタリング部32は、代表法線
ベクトルを、図9に示したS302の処理のような方法
で作成する他、クラスタあるいはフェース(面)それぞ
れの法線ベクトルの内、他のクラスタあるいはフェース
(面)の代表法線ベクトルと最も大きい角度をなす法線
ベクトルを、そのクラスタあるいはフェース(面)の代
表法線ベクトルとしてもよい。
【0148】[処理の組み合わせの任意性]クラスタリ
ング部32において、図5等に示した初期クラスタリン
グ処理(S20)〜最終併合処理(S60)の各処理の
内、初期クラスタリング処理と、その他の各処理の任意
の1つ以上とを、用途等に応じて任意に組み合わせ可能
とし、クラスタリング処理を行うようにしてもよい。
【0149】
【発明の効果】以上説明したように、本発明にかかるク
ラスタリング処理装置およびその方法によれば、三次元
形状を構成する多数の面を、設計者の意図を反映しつ
つ、しかも、自動的に1つ以上の領域にグループ分けす
ることができる。また、本発明にかかるクラスタリング
処理装置およびその方法によれば、設計された三次元形
状を、具体化に適するように領域分けすることができ
る。
【図面の簡単な説明】
【図1】本発明にかかるクラスタリング処理を実現する
CAD(Computer Aided Design)装置の構成を示す図で
ある。
【図2】本発明にかかるクラスタリング処理を応用した
CADプログラムの構成を示す図である。
【図3】(A)は、三次元形状を示すフェース(面)、
あるいは、フェース(面)をクラスタリング処理して得
られたクラスタの法線mを例示する図であり、(B)
は、(A)に示した曲面パッチまたはクラスタにおける
法線の変化の範囲(θ;振れ)を例示する図である。
【図4】図2に示した表示・出力によるクラスタの色分
け処理(S10)を示すフローチャートである。
【図5】表示装置(図2)に表示され、拘束条件の入力
に用いられるGUI画像を例示する図である。
【図6】図2に示したクラスタリング部におけるクラス
タリング処理(S1)を示すフローチャートである。
【図7】図6に示した初期クラスタリング処理(S2
0)を示す図である。
【図8】図6に示した初期クラスタリング処理(S2
0)、一次併合処理(S30)、微小クラスタ併合処理
(S40)、適正面積保証処理(S50)および最終併
合処理(S60)それぞれの結果として出力されるクラ
スタを例示する図である。
【図9】図6に示した第一次併合処理(S30)を示す
フローチャートである。
【図10】隣接する2つのクラスタの枠線の共有率Ri
を例示する図である。
【図11】(A)は、隣接する2つのクラスタの枠線に
おける角度(接触角度)を定義する図であり、(B)
は、隣接する2つのクラスタの角度の平均値Φiを例示
する図である。
【図12】図6に示した微小クラスタ併合処理(S4
0)を示すフローチャートである。
【図13】図6に示した適正面積保証処理(S50)を
示す図である。
【図14】図6に示した最終併合処理(S60)を示す
フローチャートである。
【図15】図2に示したCADプログラムの全体処理
(S7)を示すフローチャートである。
【図16】拘束条件を変えた場合にクラスタリング部に
より生成されるクラスタ、および、生成されたクラスタ
に従ってCAD部(図2)が分割処理を行うことにより
生成されたメッシュを例示する図である。
【図17】クラスタリング処理の対象となる第1の三次
元形状を例示する図である。
【図18】図17に示した三次元形状に対してクラスタ
リング処理を行った結果として得られたクラスタを例示
する図である。
【図19】図18に示したクラスタを用いて作成したメ
ッシュを例示する。
【図20】クラスタリング処理の対象となる第2の三次
元形状を例示する図である。
【図21】図20に示した三次元形状に対してクラスタ
リング処理を行った結果として得られたクラスタを例示
する図である。
【図22】図21に示したクラスタを用いて作成したメ
ッシュを例示する。
【図23】クラスタリング処理の対象となる第3の三次
元形状を例示する図である。
【図24】図23に示した三次元形状に対してクラスタ
リング処理を行った結果として得られたクラスタを例示
する図である。
【図25】図24に示したクラスタを用いて作成したメ
ッシュを例示する。
【符号の説明】
1・・・CAD装置 10・・・CPU 12・・・表示装置 14・・・入力装置 140・・・タブレット 142・・・キーボード 144・・・マウス 16・・・出力装置 18・・・記憶装置 180・・・記録媒体 2・・・CADプログラム 20・・・入力部 22・・・CAD部 26・・・形状DB 28・・・表示・出力 3・・・クラスタリング処理部 30・・・拘束条件作成部 32・・・クラスタリング部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 伊藤 貴之 神奈川県大和市下鶴間1623番地14 日本 アイ・ビー・エム株式会社 東京基礎研 究所内 (72)発明者 山田 敦 神奈川県大和市下鶴間1623番地14 日本 アイ・ビー・エム株式会社 東京基礎研 究所内 (72)発明者 古畑 智武 神奈川県大和市下鶴間1623番地14 日本 アイ・ビー・エム株式会社 東京基礎研 究所内 (56)参考文献 O.Volpin et al.,M esh simplification with smooth surfa ce reconstruction, Computer−Aided Des ign,英国,Elsevier Sc ience Ltd.,vol.30,n o.11,p875−882 (58)調査した分野(Int.Cl.7,DB名) G06F 17/50 G06T 17/00 JICSTファイル(JOIS)

Claims (11)

    (57)【特許請求の範囲】
  1. 【請求項1】空間中の複数の面を、それぞれ1個以上の
    前記面を含む1個以上の集合(クラスタ)に分ける処理
    (クラスタリング処理)を行うクラスタリング処理装置
    であって、 前記クラスタリング処理の方法を拘束する条件を示す拘
    束条件に基づいて、前記複数の面をクラスタリングし
    て、それぞれ1個以上の前記面を含む初期クラスタを1
    個以上、生成する初期クラスタリング手段と、 前記拘束条件と、隣接する複数の前記初期クラスタ相互
    の関係とに基づいて、隣接する複数の前記初期クラスタ
    同士を併合し、それぞれ1個以上の前記初期クラスタを
    含む併合クラスタを1個以上、生成するクラスタ併合手
    段とを有し、さらに前記拘束条件は、いずれの前記面同
    士が同じクラスタにクラスタリングされなければならな
    いかと、いずれの前記面同士が同じクラスタにクラスタ
    リングされてはならないかとを示し、 前記初期クラスタリング手段は、前記拘束条件を満たす
    ように、同じクラスタにクラスタリングされなければな
    らない前記面(第1の面)同士を、同じクラスタに含め
    るようにクラスタリングし、同じクラスタにクラスタリ
    ングされてはならない前記面(第2の面)同士を、同じ
    クラスタ以外のクラスタに含めるようにクラスタリング
    し、 前記クラスタ併合手段は、併合の対象とされる前記初期
    クラスタの間の条件を示す併合条件を満たす前記初期ク
    ラスタ同士の内、前記拘束条件を満たすように、対応す
    る前記第2の面をそれぞれ含む前記初期クラスタ同士以
    外を併合することを特徴とする、クラスタリング処理装
    置。
  2. 【請求項2】前記クラスタ併合手段は、 前記拘束条件と前記併合条件とを満たすように前記初期
    クラスタ同士を併合して、併合クラスタ1個以上を生成
    する第1のクラスタ併合手段と、 生成された前記併合クラスタおよび前記初期クラスタの
    内、これらのクラスタの面積の条件を示す第1の面積条
    件の範囲外のクラスタ(第1の範囲外クラスタ)を、こ
    の第1の範囲外クラスタに隣接し、所定の第1の併合条
    件を満たす前記併合クラスタまたは前記初期クラスタ
    に、前記拘束条件とを満たすように併合し、新たな併合
    クラスタ1個以上を生成する第2のクラスタ併合手段と
    を有する請求項1に記載のクラスタリング処理装置。
  3. 【請求項3】前記併合条件は、併合の対象となる前記初
    期クラスタの間の連続性と、併合の後の前記併合クラス
    タの周囲の形状の滑らかさの条件とを示し、 前記第1のクラスタ併合手段は、前記併合条件を満たす
    前記初期クラスタ同士を、前記拘束条件を満たすように
    併合し、併合クラスタ1個以上を生成する請求項2に記
    載のクラスタリング処理装置。
  4. 【請求項4】前記第1の併合条件は、前記第1の範囲外
    クラスタと、この第1の範囲外クラスタに隣接する前記
    初期クラスタまたは前記併合クラスタとを併合した場合
    に得られるクラスタの周囲の形状の滑らかさの条件を示
    し、 前記第2のクラスタ併合手段は、前記第1の範囲外クラ
    スタと、この第1の範囲外クラスタとの間で前記第1の
    併合条件を満たす前記初期クラスタまたは前記併合クラ
    スタとを、前記拘束条件を満たすように併合する請求項
    2に記載のクラスタリング処理装置。
  5. 【請求項5】前記面の属性に基づいて、前記初期クラス
    タおよび前記併合クラスタの面積の条件を示す第2の面
    積条件を作成する面積条件作成手段と、 前記初期クラスタおよび前記併合クラスタの内、算出さ
    れた前記第2の面積条件の範囲外のクラスタ(第2の範
    囲外クラスタ)を、この第2の範囲外クラスタに隣接
    し、所定の第2の併合条件を満たす前記初期クラスタま
    たは前記併合クラスタに、前記拘束条件とを満たすよう
    に併合し、新たな併合クラスタ1個以上を生成する第3
    のクラスタ併合手段とをさらに有する請求項4に記載の
    クラスタリング処理装置。
  6. 【請求項6】前記面積条件作成手段は、前記面の属性の
    内、全ての前記面の面積および向きに基づいて、前記第
    2の面積条件を作成する請求項5に記載のクラスタリン
    グ処理装置。
  7. 【請求項7】前記第2の併合条件は、前記第2の範囲外
    クラスタと、この第1の範囲外クラスタに隣接する前記
    初期クラスタまたは前記併合クラスタとを併合した場合
    に得られるクラスタの周囲の形状の滑らかさと向きとの
    条件を示し、 前記第3のクラスタ併合手段は、前記第2の範囲外クラ
    スタと、この第1の範囲外クラスタとの間で前記第2の
    併合条件を満たす前記初期クラスタまたは前記併合クラ
    スタとを、前記拘束条件を満たすように併合する請求項
    5または6に記載のクラスタリング処理装置。
  8. 【請求項8】隣接する前記初期クラスタまたは前記第1
    〜第3のクラスタ同士が、所定の第3の併合条件を満た
    す場合に、隣接する前記初期クラスタまたは前記第1〜
    第3のクラスタ同士を併合する第4のクラスタ併合手段
    をさらに有する請求項5〜7のいずれかに記載のクラス
    タリング処理装置。
  9. 【請求項9】前記第3の併合条件は、隣接する前記初期
    クラスタまたは前記第1〜第3のクラスタの向きと、こ
    れらのクラスタを併合した場合に得られる前記併合クラ
    スタの周囲の形状の滑らかさとの条件を示し、 前記第4のクラスタ併合手段は、前記第4の併合条件を
    満たす前記初期クラスタまたは前記第1〜第3のクラス
    タ同士を、前記拘束条件を満たすように併合する請求項
    8に記載のクラスタリング処理装置。
  10. 【請求項10】コンピュータの記憶装置に記憶された空
    間中の複数の面を、それぞれ1個以上の前記面を含む1
    個以上の集合(クラスタ)に分ける処理(クラスタリン
    グ処理)をコンピュータの演算機能により行うクラスタ
    リング処理方法であって、 前記複数の面を前記記憶装置から呼び出し、前記クラス
    タリング処理の方法を拘束する条件を示す拘束条件に基
    づいて、前記複数の面をコンピュータの演算機能により
    クラスタリングして、それぞれ1個以上の前記面を含む
    初期クラスタを1個以上、生成し、 前記拘束条件と、隣接する複数の前記初期クラスタ相互
    の関係とに基づいて、隣接する複数の前記初期クラスタ
    同士を併合し、それぞれ1個以上の前記初期クラスタを
    含む併合クラスタを1個以上、生成し、 さらに、 前記拘束条件は、いずれの前記面同士が同じクラスタに
    クラスタリングされなければならないかと、いずれの前
    記面同士が同じクラスタにクラスタリングされてはなら
    ないかとを示し、 前記拘束条件を満たすように、同じクラスタにクラスタ
    リングされなければならない前記面(第1の面)同士
    を、同じクラスタに含めるようにクラスタリングし、同
    じクラスタにクラスタリングされてはならない前記面
    (第2の面)同士を、同じクラスタ以外のクラスタに含
    めるようにコンピュータの演算機能によりクラスタリン
    グし、 併合の対象とされる前記初期クラスタの間の条件を示す
    併合条件を満たす前記初期クラスタ同士の内、前記拘束
    条件を満たすように、対応する前記第2の面をそれぞれ
    含む前記初期クラスタ同士以外を併合することを特徴と
    するクラスタリング処理方法。
  11. 【請求項11】コンピュータの記憶装置に記憶された空
    間中の複数の面を、それぞれ1個以上の前記面を含む1
    個以上の集合(クラスタ)に分ける処理(クラスタリン
    グ処理)をコンピュータの演算機能により行うプログラ
    ムを記録したコンピュータ読取り可能な記録媒体であっ
    て、該プログラムがコンピュータに、 前記複数の面を前記記憶装置から呼び出し、前記クラス
    タリング処理の方法を拘束する条件を示す拘束条件に基
    づいて、前記複数の面をコンピュータの演算機能により
    クラスタリングして、それぞれ1個以上の前記面を含む
    初期クラスタを1個以上、生成する初期クラスタリング
    ステップと、 前記拘束条件と、隣接する複数の前記初期クラスタ相互
    の関係とに基づいて、隣接する複数の前記初期クラスタ
    同士を併合し、それぞれ1個以上の前記初期クラスタを
    含む併合クラスタを1個以上、生成するクラスタ併合ス
    テップを実行させ、さらに、 前記拘束条件は、いずれの前記面同士が同じクラスタに
    クラスタリングされなければならないかと、いずれの前
    記面同士が同じクラスタにクラスタリングされてはなら
    ないかとを示し、 前記初期クラスタリングステップにおいて、前記拘束条
    件を満たすように、同じクラスタにクラスタリングされ
    なければならない前記面(第1の面)同士を、同じクラ
    スタに含めるようにクラスタリングし、同じクラスタに
    クラスタリングされてはならない前記面(第2の面)同
    士を、同じクラスタ以外のクラスタに含めるようにコン
    ピュータの演算機能によりクラスタリングする処理と、 前記クラスタ併合ステップにおいて、併合の対象とされ
    る前記初期クラスタの間の条件を示す併合条件を満たす
    前記初期クラスタ同士の内、前記拘束条件を満たすよう
    に、対応する前記第2の面をそれぞれ含む前記初期クラ
    スタ同士以外を併合する処理とを実行させる、コンピュ
    ータ読取り可能な記録媒体。
JP19130899A 1999-07-06 1999-07-06 クラスタリング処理装置およびその方法 Expired - Fee Related JP3342678B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP19130899A JP3342678B2 (ja) 1999-07-06 1999-07-06 クラスタリング処理装置およびその方法
GB0015029A GB2355089B (en) 1999-07-06 2000-06-21 Clustering apparatus and method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19130899A JP3342678B2 (ja) 1999-07-06 1999-07-06 クラスタリング処理装置およびその方法

Publications (2)

Publication Number Publication Date
JP2001022956A JP2001022956A (ja) 2001-01-26
JP3342678B2 true JP3342678B2 (ja) 2002-11-11

Family

ID=16272410

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19130899A Expired - Fee Related JP3342678B2 (ja) 1999-07-06 1999-07-06 クラスタリング処理装置およびその方法

Country Status (2)

Country Link
JP (1) JP3342678B2 (ja)
GB (1) GB2355089B (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5136386B2 (ja) * 2008-12-16 2013-02-06 Nkワークス株式会社 画像レイアウト設定方法及び画像レイアウト設定装置
EP2261859A1 (en) 2009-06-10 2010-12-15 Thomson Licensing Method for encoding/decoding a 3D mesh model that comprises one or more components
WO2010149492A1 (en) * 2009-06-23 2010-12-29 Thomson Licensing Compression of 3d meshes with repeated patterns
WO2011088595A1 (en) 2010-01-25 2011-07-28 Thomson Licensing Method for encoding normals of a 3d mesh model, method for decoding normals of a 3d mesh model, encoder and decoder
KR102125973B1 (ko) * 2017-09-05 2020-06-23 한국전자통신연구원 메쉬의 오류 검출 및 보정 방법 및 이를 수행하는 장치
US10812113B2 (en) 2017-09-05 2020-10-20 Electronics And Telecommunications Research Institute Method of detecting and correcting error in mesh and apparatus for same

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
O.Volpin et al.,Mesh simplification with smooth surface reconstruction,Computer−Aided Design,英国,Elsevier Science Ltd.,vol.30,no.11,p875−882

Also Published As

Publication number Publication date
JP2001022956A (ja) 2001-01-26
GB0015029D0 (en) 2000-08-09
GB2355089A (en) 2001-04-11
GB2355089B (en) 2003-11-05

Similar Documents

Publication Publication Date Title
EP1710720B1 (en) Method of computer-aided design of a modeled object having several faces
JP4509789B2 (ja) コンピュータ読み取り可能なモデル
CN102073499B (zh) 在计算机辅助设计系统中设计对象组件的方法和系统
JP6196032B2 (ja) 複数の3d曲線からの表面の生成
EP3371782B1 (en) Technique for extruding a 3d object into a plane
JPH0792806B2 (ja) 多重多角形表示を発生する方法
JP6721333B2 (ja) オブジェクトのセットの視点の選択
CN102779358A (zh) 用于设计几何三维建模对象的方法
Kim et al. An integrated approach to realize multi-resolution of B-rep model
JP3599386B2 (ja) エッジの混合方法
Zhang et al. Resolving topology ambiguity for multiple-material domains
US6867771B2 (en) Controlled face dragging in solid models
JP3342678B2 (ja) クラスタリング処理装置およびその方法
CN109983509B (zh) 一种使用几何面的即时布尔运算方法
US20180113958A1 (en) Method for Immediate Boolean Operations Using Geometric Facets
KR101769013B1 (ko) 공간타일 기반의 3차원 객체 모델 병합을 통한 3차원 모델 가시화 방법
WO2001037072A1 (en) Data visualization
JPH0636013A (ja) 地形データの作成方法および装置
JP7459462B2 (ja) 三次元形状データの編集装置、及び三次元形状データの編集プログラム
US20040164982A1 (en) Method and apparatus for editing three-dimensional model, and computer readable medium
JP3943975B2 (ja) 情報処理方法および装置
Lai et al. Repairing triangular meshes for reverse engineering applications
US11776207B2 (en) Three-dimensional shape data processing apparatus and non-transitory computer readable medium
US11568619B2 (en) Three-dimensional shape data editing device, and non-transitory computer readable medium storing three-dimensional shape data editing program
Fayolle et al. Optimized surface discretization of functionally defined multi-material objects

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees