[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2001022956A - Device and method for clustering processing - Google Patents

Device and method for clustering processing

Info

Publication number
JP2001022956A
JP2001022956A JP11191308A JP19130899A JP2001022956A JP 2001022956 A JP2001022956 A JP 2001022956A JP 11191308 A JP11191308 A JP 11191308A JP 19130899 A JP19130899 A JP 19130899A JP 2001022956 A JP2001022956 A JP 2001022956A
Authority
JP
Japan
Prior art keywords
cluster
clusters
merging
initial
merged
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.)
Granted
Application number
JP11191308A
Other languages
Japanese (ja)
Other versions
JP3342678B2 (en
Inventor
Keisuke Inoue
恵介 井上
Takayuki Ito
貴之 伊藤
Atsushi Yamada
山田  敦
Tomotake Furuhata
智武 古畑
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/en
Priority to GB0015029A priority patent/GB2355089B/en
Publication of JP2001022956A publication Critical patent/JP2001022956A/en
Application granted granted Critical
Publication of JP3342678B2 publication Critical patent/JP3342678B2/en
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

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PROBLEM TO BE SOLVED: To automatically group many faces constituting a three-dimensional shape into a plurality of areas, while reflecting the intention of a designer. SOLUTION: A clustering part 32 accepts shape models, respectively showing faces constituting a three-dimensional shape and constraint condition data showing which faces among these faces has to be absolutely included in a different (or same) cluster. The part 32 first selects faces that must necessarily be included in the same cluster from a shape model DB 26 and prepares an initial cluster by combining them. Furthermore, the part 32 successively combines clusters with one another the directions of normal lines of which are near and which give smooth frame lines after being combined, and outputs a cluster respectively guaranteeing the area which is equal to or larger than an appropriate area as the final processing result.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、例えば、CAD装置に
より生成した三次元形状の表面を、1個以上の面(クラ
スタ)に分ける処理(クラスタリング処理)を行うクラ
スタリング処理装置およびその方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a clustering processing apparatus and a method for performing processing (clustering processing) for dividing a three-dimensional surface generated by, for example, a CAD apparatus into one or more surfaces (clusters).

【0002】[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装置などで設計
された三次元形状を構成する多数の平らな三角形を、形
状を大きく変えずに少数の平らな三角形に変換する方法
を開示する。この変換過程において、多数の三角形の形
状が順に評価され、評価の高い順に併合される処理が行
われている。
2. Description of the Related Art For example, the 'Decimation of Triangular Me
shes, ACM Computer Graphics, Vol. 26, No. 2 (SIGGRA
PH '92), pp. 65-70. (Reference 1) 'and' Mesh Optimiza
tion, ACM Computer Graphics, Vol. 27, (SIGGRAPH '9
3), pp. 19-26. (Reference 2) ', converts a large number of flat triangles constituting a three-dimensional shape designed by a CAD device or the like into a small number of flat triangles without largely changing the shape. A method is disclosed. In this conversion process, a process of evaluating a large number of triangle shapes in order and merging them in descending order of evaluation is performed.

【0003】ここで、三次元形状をクラスタリングする
場合、この形状を構成する面の数に比べて、はるかに少
ない数の領域にクラスタリングした方が都合がよい場合
がある。例えば、工業製品の三次元形状データには、非
常に多く(例えば数百〜数千)の曲面が含まれている。
一般的に、メッシュ要素辺の大きさが数mm〜数十mm程度
であることが多いのに対して、非常に多種(例えば0.01
mm程度から数百mm程度まで)の曲面が三次元形状に混在
していることが多い。この三次元形状から好ましいメッ
シュ生成結果を得るためには、クラスタリング処理によ
って近隣の曲面を1つの領域にまとめることが必要であ
る。
Here, when clustering a three-dimensional shape, it may be more convenient to cluster the three-dimensional shape into a much smaller number of regions than the number of surfaces constituting the shape. For example, the three-dimensional shape data of an industrial product includes a very large number (for example, hundreds to thousands) of curved surfaces.
In general, the size of the mesh element side is often several mm to several tens mm, whereas a very large number (eg, 0.01
Curved surfaces (from about mm to several hundred mm) are often mixed in a three-dimensional shape. In order to obtain a preferable mesh generation result from the three-dimensional shape, it is necessary to combine neighboring curved surfaces into one region by a clustering process.

【0004】しかし、メッシュ生成の目的で、自動的に
三次元形状を構成する曲面をクラスタリング処理する手
法は、従来、存在しなかった。また、文献1、2のよう
な平らな三角形ではなく、曲面を対象としてクラスタリ
ング処理する手法は、従来、存在しなかった。また、い
ずれの面同士を1つの領域にまとめ、逆に、いずれの面
同士を異なる領域に含めるかといった、設計者の意図を
反映しつつ、自動的に三次元領域を構成する面をクラス
タリング処理する方法は、従来、存在しなかった。
[0004] However, there has been no method for automatically performing a clustering process on a curved surface constituting a three-dimensional shape for the purpose of generating a mesh. Conventionally, there has not been a method of performing a clustering process on a curved surface instead of a flat triangle as in Literatures 1 and 2. In addition, clustering processing is automatically performed on surfaces constituting a three-dimensional region while reflecting the intention of the designer such as which surfaces are combined into one region and which surfaces are included in different regions. Heretofore, no method has existed.

【0005】[0005]

【発明が解決しようとする課題】本発明は、上述した従
来技術の問題点に鑑みてなされたものであり、三次元形
状を構成する多数の面を、設計者の意図を反映しつつ、
しかも、自動的に1つ以上の領域にグループ分けするこ
とができるクラスタリング処理装置およびその方法を提
供することを目的とする。また、本発明は、設計された
三次元形状を、具体化に適するように領域分けするクラ
スタリング処理装置およびその方法を提供することを目
的とする。
SUMMARY OF THE INVENTION The present invention has been made in view of the above-mentioned problems of the prior art, and it has been proposed that a large number of surfaces constituting a three-dimensional shape be reflected while reflecting the intention of a designer.
Moreover, it is an object of the present invention to provide a clustering processing device and a method thereof that can be automatically grouped into one or more regions. It is another object of the present invention to provide a clustering processing apparatus and a method for classifying a designed three-dimensional shape into regions suitable for realization.

【0006】[0006]

【課題を達成するための手段】[第1のクラスタリング
処理装置]上記目的を達成するために、本発明にかかる
第1のクラスタリング処理装置は、空間中の複数の面
を、それぞれ1個以上の前記面を含む1個以上の集合
(クラスタ)に分ける処理(クラスタリング処理)を行
うクラスタリング処理装置であって、前記クラスタリン
グ処理の方法を拘束する条件を示す拘束条件に基づい
て、前記複数の面をクラスタリングして、それぞれ1個
以上の前記面を含む初期クラスタを1個以上、生成する
初期クラスタリング手段と、前記拘束条件と、隣接する
複数の前記初期クラスタ相互の関係とに基づいて、隣接
する複数の前記初期クラスタ同士を併合し、それぞれ1
個以上の前記初期クラスタを含む併合クラスタを0個以
上、生成するクラスタ併合手段とを有する。
[Means for Achieving the Object] [First Clustering Processing Apparatus] In order to achieve the above object, a first clustering processing apparatus according to the present invention includes a plurality of planes in a space, each of which has one or more surfaces. A clustering processing apparatus that performs a process (clustering process) of dividing into one or more sets (clusters) including the surface, wherein the plurality of surfaces are divided based on a constraint condition indicating a condition for restricting the clustering process method. Based on the initial clustering means for clustering and generating one or more initial clusters each including one or more of the faces, the constraint condition, and the relationship between the plurality of adjacent initial clusters, a plurality of adjacent clusters are determined. Are merged with each other,
Cluster merging means for generating zero or more merged clusters including at least the initial cluster.

【0007】好適には、前記拘束条件は、いずれの前記
面同士が同じクラスタにクラスタリングされなければな
らないかと、いずれの前記面同士が同じクラスタにクラ
スタリングされてはならないかとを示し、前記初期クラ
スタリング手段は、前記拘束条件を満たすように、同じ
クラスタにクラスタリングされなければならない前記面
(第1の面)同士を、同じクラスタに含めるようにクラ
スタリングし、同じクラスタにクラスタリングされては
ならない前記面(第2の面)同士を、同じクラスタ以外
のクラスタに含めるようにクラスタリングし、前記クラ
スタ併合手段は、併合の対象とされる前記初期クラスタ
の間の条件を示す併合条件を満たす前記初期クラスタ同
士の内、前記拘束条件を満たすように、対応する前記第
2の面をそれぞれ含む前記初期クラスタ同士以外を併合
する。
Preferably, the constraint condition indicates which of the faces must be clustered in the same cluster and which of the faces must not be clustered in the same cluster. Is to cluster the faces (first faces) that must be clustered into the same cluster so as to satisfy the constraint condition, so that they are included in the same cluster, and the faces (first faces) that must not be clustered in the same cluster 2) are clustered so as to be included in a cluster other than the same cluster, and the cluster merging unit includes a cluster among the initial clusters satisfying a merging condition indicating a condition between the initial clusters to be merged. Corresponding to the second surface so as to satisfy the constraint condition, respectively. To merge the non-free the initial cluster with each other.

【0008】好適には、前記クラスタ併合手段は、前記
拘束条件と前記併合条件とを満たすように前記初期クラ
スタ同士を併合して、併合クラスタ0個以上を生成する
第1のクラスタ併合手段と、生成された前記併合クラス
タおよび前記初期クラスタの内、これらのクラスタの面
積の条件を示す第1の面積条件の範囲外のクラスタ(第
1の範囲外クラスタ)を、この第1の範囲外クラスタに
隣接し、所定の第1の併合条件を満たす前記併合クラス
タまたは前記初期クラスタに、前記拘束条件とを満たす
ように併合し、新たな併合クラスタ0個以上を生成する
第2のクラスタ併合手段とを有する。
[0008] Preferably, the cluster merging means merges the initial clusters so as to satisfy the constraint condition and the merging condition to generate zero or more merged clusters; Among the generated merged clusters and the initial clusters, clusters outside the first area condition indicating the area conditions of these clusters (first out-of-range clusters) are defined as the first out-of-range clusters. A second cluster merging unit configured to merge adjacent merging clusters or the initial cluster satisfying a predetermined first merging condition so as to satisfy the constraint condition and generate zero or more new merging clusters; Have.

【0009】好適には、前記併合条件は、併合の対象と
なる前記初期クラスタの間の連続性と、併合の後の前記
併合クラスタの周囲の形状の滑らかさの条件とを示し、
前記第1のクラスタ併合手段は、前記併合条件を満たす
前記初期クラスタ同士を、前記拘束条件を満たすように
併合し、併合クラスタ0個以上を生成する。
Preferably, the merging condition indicates continuity between the initial clusters to be merged and a condition of smoothness of a shape around the merged cluster after merging.
The first cluster merging unit merges the initial clusters satisfying the merging condition so as to satisfy the constraint condition, and generates zero or more merged clusters.

【0010】好適には、前記第1の併合条件は、前記第
1の範囲外クラスタと、この第1の範囲外クラスタに隣
接する前記初期クラスタまたは前記併合クラスタとを併
合した場合に得られるクラスタの周囲の形状の滑らかさ
の条件を示し、前記第2のクラスタ併合手段は、前記第
1の範囲外クラスタと、この第1の範囲外クラスタとの
間で前記第1の併合条件を満たす前記初期クラスタまた
は前記併合クラスタとを、前記拘束条件を満たすように
併合する。
Preferably, the first merge condition is a cluster obtained when the first out-of-range cluster and the initial cluster or the merged cluster adjacent to the first out-of-range cluster are merged. The second cluster merging means satisfies the first merging condition between the first out-of-range cluster and the first out-of-range cluster. The initial cluster or the merged cluster is merged so as to satisfy the constraint condition.

【0011】好適には、前記面の属性に基づいて、前記
初期クラスタおよび前記併合クラスタの面積の条件を示
す第2の面積条件を作成する面積条件作成手段と、前記
初期クラスタおよび前記併合クラスタの内、算出された
前記第2の面積条件の範囲外のクラスタ(第2の範囲外
クラスタ)を、この第2の範囲外クラスタに隣接し、所
定の第2の併合条件を満たす前記初期クラスタまたは前
記併合クラスタに、前記拘束条件とを満たすように併合
し、新たな併合クラスタ0個以上を生成する第3のクラ
スタ併合手段とをさらに有する。
Preferably, an area condition creating means for creating a second area condition indicating an area condition of the initial cluster and the merged cluster based on the attribute of the surface; A cluster outside the range of the calculated second area condition (a cluster outside the second range) is adjacent to the cluster outside the second range and satisfies a predetermined second merging condition; There is further provided a third cluster merging unit that merges the merged clusters so as to satisfy the constraint condition and generates zero or more new merged clusters.

【0012】好適には、前記面積条件作成手段は、前記
面の属性の内、全ての前記面の面積および向きに基づい
て、前記第2の面積条件を作成する。
Preferably, the area condition creating means creates the second area condition based on the area and orientation of all the surfaces among the attributes of the surface.

【0013】好適には、前記第2の併合条件は、前記第
2の範囲外クラスタと、この第1の範囲外クラスタに隣
接する前記初期クラスタまたは前記併合クラスタとを併
合した場合に得られるクラスタの周囲の形状の滑らかさ
と向きとの条件を示し、前記第3のクラスタ併合手段
は、前記第2の範囲外クラスタと、この第1の範囲外ク
ラスタとの間で前記第2の併合条件を満たす前記初期ク
ラスタまたは前記併合クラスタとを、前記拘束条件を満
たすように併合する。
Preferably, the second merging condition is a cluster obtained when the second out-of-range cluster and the initial cluster or the merged cluster adjacent to the first out-of-range cluster are merged. And the third cluster merging means sets the second merging condition between the second out-of-range cluster and the first out-of-range cluster. The satisfying initial cluster or the merged cluster is merged so as to satisfy the constraint condition.

【0014】好適には、隣接する前記初期クラスタまた
は前記第1〜第3のクラスタ同士が、所定の第3の併合
条件を満たす場合に、隣接する前記初期クラスタまたは
前記第1〜第3のクラスタ同士を併合する第4のクラス
タ併合手段をさらに有する。
Preferably, when the adjacent initial clusters or the first to third clusters satisfy a predetermined third merging condition, the adjacent initial clusters or the first to third clusters are combined. There is further provided a fourth cluster merging unit for merging the clusters.

【0015】好適には、前記第3の併合条件は、隣接す
る前記初期クラスタまたは前記第1〜第3のクラスタの
向きと、これらのクラスタを併合した場合に得られる前
記併合クラスタの周囲の形状の滑らかさとの条件を示
し、前記第4のクラスタ併合手段は、前記第4の併合条
件を満たす前記初期クラスタまたは前記第1〜第3のク
ラスタ同士を、前記拘束条件を満たすように併合する。
Preferably, the third merging condition includes: an orientation of the adjacent initial cluster or the first to third clusters; and a shape around the merged cluster obtained when these clusters are merged. And the fourth cluster merging unit merges the initial clusters or the first to third clusters satisfying the fourth merging condition so as to satisfy the constraint condition.

【0016】[第2のクラスタリング処理装置]また、
本発明にかかる第2のクラスタリング処理装置は、空間
中の複数の面を、それぞれ1個以上の前記面を含む1個
以上の集合(クラスタ)に分ける処理(クラスタリング
処理)を行うクラスタリング処理装置であって、前記複
数の面を分けて初期クラスタ1個以上を生成する初期ク
ラスタ生成手段と、所定の併合条件とを満たすように、
生成された前記初期クラスタ同士を併合して、併合クラ
スタ0個以上を生成するクラスタ併合手段とを有する。 [クラスタリング処理装置の作用]本発明にかかるクラ
スタリング装置は、設計者が任意に決めることができ、
上記多数の面の内、いずれの面(以下、フェースとも記
す)を同じクラスタに含めるか、あるいは、いずれの面
が同じクラスタに含まれてはならないかといった、クラ
スタリング処理の内容を拘束する条件(拘束条件)を受
け入れ、常に、必ず、この拘束条件を満たすことを前提
条件としてクラスタリング処理を行う。
[Second clustering processing device]
A second clustering processing apparatus according to the present invention is a clustering processing apparatus that performs processing (clustering processing) of dividing a plurality of surfaces in a space into one or more sets (clusters) each including one or more surfaces. And an initial cluster generating means for generating one or more initial clusters by dividing the plurality of surfaces, and satisfying a predetermined merging condition.
Cluster merging means for merging the generated initial clusters to generate zero or more merged clusters. [Operation of Clustering Processing Apparatus] The clustering apparatus according to the present invention can be arbitrarily determined by a designer.
Conditions for restricting the contents of the clustering process, such as which face (hereinafter, also referred to as a face) among the above many faces is included in the same cluster, or which face must not be included in the same cluster ( (Restriction condition) is accepted, and the clustering process is always performed on the assumption that the restriction condition is always satisfied.

【0017】[拘束条件]拘束条件をさらに説明する。
隣接する2つのフェース(面)は、1本以上の稜線を共
有する。例えば、2つのフェース(面)が、漢字の
「日」の上半分の□と下半分の□のように隣接する場
合、2つのフェース(面)は、「日」の字の中心の横棒
を稜線として共有する。
[Constraint Condition] The constraint condition will be further described.
Two adjacent faces share one or more edges. For example, if two faces (faces) are adjacent to each other, such as the upper half □ and the lower half □ of the kanji “day”, the two faces (faces) are horizontal bars at the center of the “day” character. As a ridgeline.

【0018】[必ず異なるクラスタに含めるように意図
される面の具体例]このような場合において、2つのフ
ェース(面)が、共有する稜線の両側で異なる角度で空
間内(三次元形状の表面)に存在すると、2つのフェー
ス(面)に共有される稜線は、表示の際には折れ目のよ
うに見える。従って、設計者は、これら2つのフェース
(面)を、必ず異なるクラスタに含めたいと意図するこ
とがある。また、三次元形状の表面を、特定の2つのフ
ェース(面)が共有する稜線が見えるように複数の多角
形面に分割してメッシュを得たいときに、設計者は、こ
れら特定の2つのフェース(面)を、必ず異なるクラス
タに含めたいと意図することがある。
[Specific Examples of Surfaces Intended to Be Included in Different Clusters] In such a case, two faces (surfaces) are formed at different angles on both sides of a shared ridge line in a space (a three-dimensional surface). ), The ridge shared by the two faces looks like a fold when displayed. Therefore, the designer may want to always include these two faces in different clusters. Further, when it is desired to divide the surface of the three-dimensional shape into a plurality of polygonal surfaces so that a ridge line shared by two specific faces (faces) can be seen, and obtain a mesh, the designer needs to use these two specific faces. Sometimes one wants to include faces in different clusters.

【0019】[必ず同じクラスタに含めるように意図さ
れる面の具体例]逆に、2つのフェース(面)が、共有
する稜線の両側で、空間中(三次元形状の表面)に同じ
角度で存在する場合には、設計者は、これら2つのフェ
ース(面)を、必ず同じクラスタに含めたいと意図する
ことがある。また、三次元形状の表面を、特定の2つの
フェース(面)が共有する稜線が見えないように複数の
多角形面に分割してメッシュを得たいときに、設計者
は、これら特定の2つのフェース(面)を、必ず同じク
ラスタに含めたいと意図することがある。
[Specific examples of surfaces intended to be always included in the same cluster] Conversely, two faces (surfaces) are formed at the same angle in space (a three-dimensional surface) on both sides of a shared ridge. If present, the designer may wish to always include these two faces in the same cluster. Further, when it is desired to divide the surface of the three-dimensional shape into a plurality of polygonal surfaces so that a ridge line shared by two specific faces (faces) cannot be seen, and obtain a mesh, the designer must use these specific 2D surfaces. Sometimes one wants to always include two faces in the same cluster.

【0020】拘束条件は、これらの設計者の意図をクラ
スタリング処理に反映させるために用いられる。ここ
で、例えば、余りにも多くのフェース(面)に対して、
設計者が明示的に拘束条件を設定しなければならないと
すると、手間がかかりすぎるので、設計者は、上述のよ
うに明示的に拘束条件を設定する必要性が高いフェース
(面)に対してのみ、拘束条件を設定すればよい。
The constraint condition is used to reflect the intention of the designer in the clustering process. Here, for example, for too many faces,
If the designer had to explicitly set the constraint conditions, it would take too much time. Therefore, the designer would need to explicitly set the constraint conditions as described above for the face (face). Only the constraint condition needs to be set.

【0021】[初期クラスタリング手段の作用]本発明
にかかるクラスタリング装置において、初期クラスタリ
ング手段は、まず、三次元形状の表面を構成する多数の
フェース(面)それぞれを、それぞれ異なったクラスタ
に含め、クラスタを初期化する。次に、初期クラスタリ
ング手段は、上記拘束条件に従って、拘束条件が同じク
ラスタに含まれるべきことを示しているフェース(面)
同士を、必ず同じクラスタに含めるように、また、反対
に、拘束条件が同じクラスタに含めてはならないことを
示しているフェース(面)同士は、必ず異なるクラスタ
に含まれることになるようにグループ分けして、初期ク
ラスタを作成する。
[Operation of the Initial Clustering Means] In the clustering apparatus according to the present invention, the initial clustering means first includes a large number of faces constituting the three-dimensional surface in different clusters. Is initialized. Next, the initial clustering means indicates that the constraint condition should be included in the same cluster in accordance with the constraint condition.
Groups must be included in the same cluster, and conversely, faces that indicate that the constraint must not be included in the same cluster must be included in different clusters. Divide and create an initial cluster.

【0022】[クラスタ併合手段の構成・作用]クラス
タ併合手段は、第1〜第4のクラスタ併合手段および面
積条件作成手段から構成される。これらの構成部分によ
り、クラスタ併合手段は、クラスタの面積、隣接するク
ラスタ同士の連続性、および、併合後の新たなクラスタ
の周囲の形状の滑らかさ等が最適になるように、初期ク
ラスタを順次、併合し、最終的なクラスタリング結果を
得る。
[Structure and Operation of Cluster Merging Means] The cluster merging means includes first to fourth cluster merging means and area condition creating means. With these components, the cluster merging unit sequentially sorts the initial clusters so that the area of the cluster, the continuity between adjacent clusters, and the smoothness of the shape around the new cluster after merging are optimized. , Merge and get the final clustering result.

【0023】なお、第1〜第4のクラスタ併合手段は、
拘束条件が同じクラスタに含めてはならないことを示し
ているフェース(面)をそれぞれ含む併合クラスタまた
は初期クラスタ同士を併合しないが、説明の簡略化のた
めに、これらのクラスタ併合手段それぞれの作用の説明
においては、上記拘束条件を満たすことは前提条件と
し、言及しない。また、第1〜第4のクラスタ併合手段
のいずれも、それぞれが用いる条件を満たすクラスタが
ない場合には、クラスタの併合を行わない。
The first to fourth cluster merging means include:
Merged clusters or initial clusters each including a face (face) indicating that the constraint condition must not be included in the same cluster are not merged, but for simplicity of explanation, the operation of each of these cluster merging means will be described. In the description, satisfying the above constraint is a precondition and is not mentioned. Further, none of the first to fourth cluster merging means merges clusters when there is no cluster that satisfies the condition used by each.

【0024】[第1のクラスタ併合手段]第1のクラス
タ併合手段は、まず、例えば、隣接する複数の初期クラ
スタ同士を併合して1つにした場合に得られる仮想的な
併合クラスタを仮定し、この仮想的な併合クラスタにお
ける法線の変化の範囲、および、仮想的な併合クラスタ
の周囲(枠線)の形状の滑らかさを示す指標値を算出す
る。
[First Cluster Merging Means] The first cluster merging means firstly assumes a virtual merged cluster obtained when a plurality of adjacent initial clusters are merged into one. Then, an index value indicating the range of change of the normal line in the virtual merged cluster and the smoothness of the shape (frame) around the virtual merged cluster is calculated.

【0025】次に、第1のクラスタ併合手段は、算出し
た上記指標値が、隣接する初期クラスタ同士を併合すべ
きとする条件(併合条件)を満たしているか否か、具体
的には、例えば、仮想的な併合クラスタにおける法線の
変化幅が所定の範囲内に収まり、かつ、仮想的な併合ク
ラスタの周囲が、所定値以上の滑らかさであるか否かを
判定する。さらに、第1のクラスタ併合手段は、上記指
標値が隣接する初期クラスタ同士を併合すべきとする条
件を満たしていると判定した場合には、この判定の対象
となった上記仮想的な併合クラスタを構成する初期クラ
スタ同士を実際に併合し、新たな1つの併合クラスタと
する。
Next, the first cluster merging means determines whether or not the calculated index value satisfies a condition for merging adjacent initial clusters (merging condition), specifically, for example, Then, it is determined whether or not the width of change of the normal in the virtual merged cluster falls within a predetermined range, and whether the periphery of the virtual merged cluster is smoother than a predetermined value. Further, the first cluster merging means, when judging that the index value satisfies the condition that the adjacent initial clusters should be merged with each other, sets the virtual merged cluster as a target of this judgment. Are actually merged with each other to form a new merged cluster.

【0026】[第2のクラスタ併合手段]面積があまり
にも小さい初期クラスタおよび併合クラスタ(以下、こ
れらを区別しない場合には、単にクラスタと記す)を、
独立したクラスタとしておくと、クラスタの数が増え
て、本発明にかかるクラスタリング処理の実効が上がら
ない可能性がある。そこで、第2のクラスタ併合手段
は、これまでの処理により得られたクラスタに含まれる
フェース(面)の面積の総和(クラスタの面積)を算出
し、所定のしきい値(第1の面積条件)とを比較して、
クラスタの面積が適正面積以下であると考えられる場合
には、さらに、この小面積のクラスタ(第1の範囲外ク
ラスタ)と、これに隣接する他のクラスタとを併合すべ
きとする条件(第1の併合条件)を満たしているか否か
を判断する。
[Second Cluster Merging Means] Initial clusters and merged clusters whose areas are too small (hereinafter simply referred to as clusters when they are not distinguished)
If the clusters are independent, the number of clusters increases, and the clustering process according to the present invention may not be effective. Therefore, the second cluster merging means calculates the sum of the areas of the faces (areas of the clusters) included in the clusters obtained by the processing so far (the area of the cluster) and calculates a predetermined threshold value (the first area condition). ) And
If the area of the cluster is considered to be smaller than or equal to the appropriate area, the cluster having the smaller area (the cluster outside the first range) and another cluster adjacent to the smaller area (the first cluster) should be further merged (the second cluster). (1 merge condition).

【0027】第2のクラスタ併合手段は、併合すべきと
判断した場合、小面積のクラスタと、これに隣接するク
ラスタとを併合し、新たな1つの併合クラスタとする。
第2のクラスタ併合手段は、併合すべきか否かを、例え
ば、これらのクラスタを併合した仮想的な併合クラスタ
を仮定し、この仮想的な併合クラスタの枠線の滑らかさ
に基づいて判断する。
When the second cluster merging means determines that merging is to be performed, the cluster having a small area and the cluster adjacent thereto are merged into one new merged cluster.
The second cluster merging unit determines whether or not to merge, for example, on the assumption of a virtual merged cluster obtained by merging these clusters, and based on the smoothness of the frame line of the virtual merged cluster.

【0028】[面積算出手段]面積算出手段は、設計さ
れた三次元形状を構成する全てのフェース(面)それぞ
れの面積の総和、および、全てのフェース(面)それぞ
れの法線の振れの範囲などに基づいて、設計された三次
元形状におけるクラスタの適正面積(第2の面積条件)
を算出する。
[Area Calculating Means] The area calculating means calculates the total sum of the areas of all the faces (faces) constituting the designed three-dimensional shape and the range of fluctuation of the normal line of all the faces (faces). Appropriate area of the cluster in the designed three-dimensional shape based on the like (second area condition)
Is calculated.

【0029】[第3のクラスタ併合手段]第3のクラス
タ併合手段は、上記第2のクラスタ併合手段と同様に、
これまでの処理により得られたクラスタの面積を算出
し、面積算出手段が算出した適正面積(第2の面積条
件)とを比較して、クラスタの面積が適正面積以下であ
ると考えられる場合には、さらに、この小面積のクラス
タ(第2の範囲外クラスタ)と、これに隣接する他のク
ラスタとが併合すべきとする条件(第2の併合条件)を
満たしているか否かを判断する。第3のクラスタ併合手
段は、併合すべきと判断した場合、小面積のクラスタ
と、これに隣接するクラスタとを併合し、新たな1つの
併合クラスタとする。第3のクラスタ併合手段は、併合
すべきか否かを、例えば、これらのクラスタを併合した
仮想的な併合クラスタを仮定し、この仮想的な併合クラ
スタの枠線の滑らかさ、および、仮想的なクラスタにお
ける法線の方向の差(法線の振れの範囲)に基づいて判
断する。
[Third Cluster Merging Means] The third cluster merging means is similar to the second cluster merging means.
When the area of the cluster is considered to be equal to or less than the appropriate area, the area of the cluster obtained by the processing up to this point is calculated and compared with the appropriate area (second area condition) calculated by the area calculating means. Further determines whether or not the cluster having the small area (the cluster outside the second range) and another cluster adjacent thereto satisfies the condition that the cluster should be merged (the second merging condition). . When the third cluster merging unit determines that merging is to be performed, the cluster having a small area and a cluster adjacent thereto are merged into one new merged cluster. The third cluster merging unit determines whether or not to merge, for example, assuming a virtual merged cluster obtained by merging these clusters, and sets the smoothness of the frame of the virtual merged cluster and the virtual merged cluster. The determination is made based on the difference in the direction of the normal line in the cluster (the range of the normal line fluctuation).

【0030】[第4のクラスタ併合手段]第4のクラス
タ併合手段は、これまでの処理により生成されたクラス
タの内、隣接するもの同士が、さらに併合すべきとする
条件(第3の併合条件)を満たすか否かを判断し、併合
すべきと判断した場合に、これらのクラスタ同士を併合
し、新たな1つの併合クラスタを生成する。第4のクラ
スタ併合手段は、併合すべきか否かを、例えば、これら
のクラスタを併合した仮想的な併合クラスタを仮定し、
この仮想的な併合クラスタの枠線の滑らかさが併合前を
上回るか否か、および、仮想的な併合クラスタを構成す
るクラスタそれぞれを代表する法線の方向の差(法線の
振れの範囲)が十分に小さいか否かに基づいて判断す
る。
[Fourth Cluster Merging Means] The fourth cluster merging means provides a condition (adjacent to the third merging condition) that adjacent ones of the clusters generated by the above processing should be further merged. ) Is determined, and if it is determined that the clusters should be merged, these clusters are merged to generate one new merged cluster. The fourth cluster merging unit determines whether or not to merge, for example, assuming a virtual merged cluster obtained by merging these clusters,
Whether or not the smoothness of the frame line of the virtual merged cluster is higher than that before the merger, and the difference in the direction of the normal line representing each of the clusters constituting the virtual merged cluster (range of fluctuation of the normal line) Is determined based on whether is small enough.

【0031】[クラスタリング処理方法]また、本発明
にかかるクラスタリング処理方法は、空間中の複数の面
を、それぞれ1個以上の前記面を含む1個以上の集合
(クラスタ)に分ける処理(クラスタリング処理)を行
うクラスタリング処理方法であって、前記クラスタリン
グ処理の方法を拘束する条件を示す拘束条件に基づい
て、前記複数の面をクラスタリングして、それぞれ1個
以上の前記面を含む初期クラスタを1個以上、生成し、
前記拘束条件と、隣接する複数の前記初期クラスタ相互
の関係とに基づいて、隣接する複数の前記初期クラスタ
同士を併合し、それぞれ1個以上の前記初期クラスタを
含む併合クラスタを0個以上、生成する。
[Clustering Processing Method] The clustering processing method according to the present invention divides a plurality of faces in a space into one or more sets (clusters) each containing one or more faces (clustering processing). ), Wherein the plurality of surfaces are clustered based on a constraint condition indicating a condition for constraining the clustering method, and one initial cluster including one or more of the surfaces is provided. Above, generate
A plurality of adjacent initial clusters are merged based on the constraint conditions and a relationship between the plurality of adjacent initial clusters, and 0 or more merged clusters each including one or more initial clusters are generated. I do.

【0032】好適には、前記拘束条件は、いずれの前記
面同士が同じクラスタにクラスタリングされなければな
らないかと、いずれの前記面同士が同じクラスタにクラ
スタリングされてはならないかとを示し、前記拘束条件
を満たすように、同じクラスタにクラスタリングされな
ければならない前記面(第1の面)同士を、同じクラス
タに含めるようにクラスタリングし、同じクラスタにク
ラスタリングされてはならない前記面(第2の面)同士
を、同じクラスタ以外のクラスタに含めるようにクラス
タリングし、併合の対象とされる前記初期クラスタの間
の条件を示す併合条件を満たす前記初期クラスタ同士の
内、前記拘束条件を満たすように、対応する前記第2の
面をそれぞれ含む前記初期クラスタ同士以外を併合す
る。
Preferably, the constraint condition indicates which of the faces must be clustered in the same cluster and which of the faces must not be clustered in the same cluster. To satisfy the above, the faces (first faces) that must be clustered in the same cluster are clustered so as to be included in the same cluster, and the faces (second faces) that must not be clustered in the same cluster are joined together. The clustering is performed so as to be included in a cluster other than the same cluster, and among the initial clusters satisfying a merging condition indicating a condition between the initial clusters to be merged, the corresponding ones satisfying the constraint condition are satisfied. Other than the initial clusters including the second surface are merged.

【0033】[媒体]また、本発明にかかる媒体は、空
間中の複数の面を、それぞれ1個以上の前記面を含む1
個以上の集合(クラスタ)に分ける処理(クラスタリン
グ処理)を行うプログラムであって、前記クラスタリン
グ処理の方法を拘束する条件を示す拘束条件に基づい
て、前記複数の面をクラスタリングして、それぞれ1個
以上の前記面を含む初期クラスタを1個以上、生成する
初期クラスタリングステップと、前記拘束条件と、隣接
する複数の前記初期クラスタ相互の関係とに基づいて、
隣接する複数の前記初期クラスタ同士を併合し、それぞ
れ1個以上の前記初期クラスタを含む併合クラスタを0
個以上、生成するクラスタ併合ステップを含むプログラ
ムを媒介する。
[Medium] Further, the medium according to the present invention includes a plurality of surfaces in the space, each including one or more surfaces.
A program for performing a process (clustering process) for dividing into a plurality of sets (clusters), wherein the plurality of surfaces are clustered based on a constraint condition indicating a condition for constraining the clustering process method, and each of the plurality of surfaces is clustered into one. Based on an initial clustering step of generating one or more initial clusters including the above-described surface, the constraint condition, and a relationship between the plurality of adjacent initial clusters,
A plurality of adjacent initial clusters are merged with each other, and a merged cluster including at least one initial cluster is defined as 0
A program including a cluster merging step to be generated is mediated.

【0034】好適には、前記拘束条件は、いずれの前記
面同士が同じクラスタにクラスタリングされなければな
らないかと、いずれの前記面同士が同じクラスタにクラ
スタリングされてはならないかとを示し、前記初期クラ
スタリングステップにおいて、前記拘束条件を満たすよ
うに、同じクラスタにクラスタリングされなければなら
ない前記面(第1の面)同士を、同じクラスタに含める
ようにクラスタリングし、同じクラスタにクラスタリン
グされてはならない前記面(第2の面)同士を、同じク
ラスタ以外のクラスタに含めるようにクラスタリングす
る処理と、前記クラスタ併合ステップにおいて、併合の
対象とされる前記初期クラスタの間の条件を示す併合条
件を満たす前記初期クラスタ同士の内、前記拘束条件を
満たすように、対応する前記第2の面をそれぞれ含む前
記初期クラスタ同士以外を併合する処理とを行うプログ
ラムを媒介する。
Preferably, the constraint condition indicates which of the faces must be clustered in the same cluster and which of the faces must not be clustered in the same cluster. In the above, the surfaces (first surfaces) that must be clustered in the same cluster so as to satisfy the constraint condition are clustered so as to be included in the same cluster, and the surfaces (first surface) that must not be clustered in the same cluster 2) clustering so that each other is included in a cluster other than the same cluster; and in the cluster merging step, the initial clusters satisfying a merging condition indicating a condition between the initial clusters to be merged. Among them, the pair Mediating program for performing the process of merging other than the initial clusters to each other, each containing a said second surface.

【0035】[0035]

【発明の実施の形態】以下、本発明の実施形態を説明す
る。
Embodiments of the present invention will be described below.

【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装置としての用途に適した周
辺装置を付加した構成を採る。
FIG. 1 shows a CAD (Computer Aided) for realizing the clustering process according to the present invention.
1 is a diagram showing a configuration of a (Design) apparatus 1. As shown in FIG. 1, the CAD device 1 includes a CPU 10 including a microprocessor, a memory, and their peripheral circuits (not shown),
A display device 12 such as a CRT display device or a liquid crystal display device, an input device 14 including a tablet 140, a keyboard 142 and a mouse 144, an output device 16 such as a printer or plotter, and a recording device such as a hard disk device, a magneto-optical disk device or a CD device. It comprises a storage device 18 for recording and reproducing data using the medium 180. That is, the CAD apparatus 1 employs a configuration in which a peripheral device suitable for use as a CAD apparatus is added to a normal computer.

【0037】[CADプログラム2]図2は、本発明に
かかるクラスタリング処理を応用したCADプログラム
2の構成を示す図である。図2に示すように、CADプ
ログラム2は、入力部20、CAD部22、形状データ
ベース(DB)26、表示・出力部28およびクラスタ
リング処理部3から構成され、クラスタリング処理部3
は、拘束条件生成部30およびクラスタリング部32か
ら構成される。
[CAD Program 2] FIG. 2 is a diagram showing a configuration of a CAD program 2 to which the clustering processing according to the present invention is applied. As shown in FIG. 2, the CAD program 2 includes an input unit 20, a CAD unit 22, a shape database (DB) 26, a display / output unit 28, and a clustering processing unit 3.
Is composed of a constraint condition generation unit 30 and a clustering unit 32.

【0038】CADプログラム2は、記録媒体180に
記録されてCAD装置1(図1)に供給され、記憶装置
18にからCPU10のメモリにロードされ、実行さ
れ、三次元形状の設計処理を行う。この三次元形状は、
三次元形状の表面を隙間無く埋めるフェース(面;以
下、フェース(面)が四角形面である場合を具体例とす
る)の集合として表現され、各フェースは、隣接する他
のフェースと頂点および稜線(辺)を共有する。CAD
プログラム2は、このように三次元形状を構成する1個
以上(多数)のフェース(面)を、1つ以上の領域(ク
ラスタ)にグループ分けする処理(クラスタリング処
理)を行う。
The CAD program 2 is recorded on the recording medium 180, supplied to the CAD device 1 (FIG. 1), loaded from the storage device 18 into the memory of the CPU 10, executed, and performs a three-dimensional shape designing process. This three-dimensional shape is
It is expressed as a set of faces (faces; hereinafter, a case where the face (face) is a quadrilateral face) that fills the surface of the three-dimensional shape without gaps, and each face is a vertex and a ridge line with another adjacent face. Share (edge). CAD
The program 2 performs a process (clustering process) of grouping one or more (many) faces (faces) constituting the three-dimensional shape into one or more regions (clusters).

【0039】[表示・出力部28]表示・出力部28
は、CAD部22により設計され、形状DB26を介し
て入力される三次元形状および三次元形状の表面に作成
されたメッシュ(図16等を参照して後述する)を示す
設計出力データから、設計された三次元形状を表示し、
あるいは、プリントアウトするために用いられる表示・
出力データを生成し、入力部20、表示装置12(図
1)および出力装置16に対して出力する。
[Display / Output Unit 28] Display / Output Unit 28
Is designed from the design output data indicating the three-dimensional shape and the mesh created on the surface of the three-dimensional shape (described later with reference to FIG. 16 and the like) designed by the CAD unit 22 and input via the shape DB 26. Display the three-dimensional shape
Or the display / printout
Output data is generated and output to the input unit 20, the display device 12 (FIG. 1), and the output device 16.

【0040】また、表示・出力部28は、クラスタリン
グ処理部3(クラスタリング部32)により生成され、
形状DB26を介して入力されるクラスタリングデータ
を処理し、クラスタそれぞれに対して判別しやすくする
ために、可能な限り隣接するクラスタに色が異なる色を
付すように色を付す処理(色分け処理)を行い、色分け
したクラスタを示すクラスタ画像データを生成し、入力
部20、表示装置12(図1)および出力装置16に対
して出力する。また、表示・出力部28は、入力部20
から入力するGUI画像データと、表示・出力データと
を合成し、表示装置12に表示する。
The display / output unit 28 is generated by the clustering processing unit 3 (clustering unit 32).
In order to process the clustering data input via the shape DB 26 and to make it easier to discriminate each of the clusters, a process (color classification process) of coloring adjacent clusters with different colors as much as possible is performed. Then, cluster image data indicating the cluster classified by color is generated and output to the input unit 20, the display device 12 (FIG. 1), and the output device 16. The display / output unit 28 is connected to the input unit 20.
The display unit 12 combines the GUI image data and display / output data input from the display unit 12 with each other.

【0041】[設計出力データ]図3(A)は、三次元
形状を示すフェース(面)、あるいは、フェース(面)
をクラスタリング処理して得られたクラスタの法線mを
例示する図であり、図3(B)は、図3(A)に示した
曲面パッチまたはクラスタにおける法線の変化の範囲
(θ;振れ)を例示する図である。なお、CAD部22
(図2)から表示・出力部28に入力される設計出力デ
ータは、一般には形状モデルとも呼ばれ、下表1に示す
データを含む。
[Design Output Data] FIG. 3A shows a face (face) or a face (face) showing a three-dimensional shape.
FIG. 3B is a diagram exemplifying a normal m of a cluster obtained by performing a clustering process on FIG. 3B. FIG. 3B shows a range (θ; FIG. The CAD unit 22
The design output data input from FIG. 2 to the display / output unit 28 is generally called a shape model and includes data shown in Table 1 below.

【0042】[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))として
表現される。
[Table 1] Table 1: Data included in design output data: (1) Vertex data: identifiers (IDs) assigned to vertices of a large number of faces (faces; for example, quadrilateral faces) constituting a surface of a three-dimensional shape ) And spatial coordinates. (2) Ridge data: identifiers (IDs) assigned to the ridges of faces constituting the surface of the three-dimensional shape, and
The identifiers (ID) of the vertices at both ends of each ridge line are shown. (3) Surface boundary data: Indicates all identifiers (IDs) of vertices and edges of each face (surface). (4) Surface data: Indicates the identifier (ID) assigned to each face (surface), the area of each face, and the ID of the vertex and ridge line of each face. (5) Curved surface geometric data: The curved surface geometry is defined by a coordinate value at an arbitrary position in a face (surface) and a direction of a normal m at a position indicated by the coordinate value as illustrated in FIG. Substituting two variables s and t, these coordinate values (P
(X, y, z)) and normal direction (N (x, y, z))
(For example, P (x, y, z) = f
(S, t), N (x, y, z) = g (s, t)).

【0043】なお、表1において(1)〜(4)に示し
た各データは、フェース(面)の位相情報を示し、この
(5)に示した曲面幾何データは、フェース(面)それ
ぞれの幾何情報を示す。
In Table 1, the data shown in (1) to (4) indicate the phase information of the face (surface), and the curved surface geometric data shown in (5) is the data of the face (surface). Indicates geometric information.

【0044】また、クラスタリング処理部3(クラスタ
リング部32;図2)から表示・出力部28に入力され
るクラスタリングデータは、下表2に示すデータを含
む。
The clustering data input from the clustering processing unit 3 (clustering unit 32; FIG. 2) to the display / output unit 28 includes the data shown in Table 2 below.

【0045】[0045]

【表2】(1)クラスタ数:クラスタリング処理部3
(クラスタリング部32)が作成したクラスタの総数を
示す。 (2)フェース情報:各クラスタそれぞれに含まれるフ
ェース(面)それぞれの識別子(ID)と、フェースの
総数とを示す。
[Table 2] (1) Number of clusters: clustering processing unit 3
Shows the total number of clusters created by (clustering unit 32). (2) Face information: Indicates the identifier (ID) of each face (face) included in each cluster and the total number of faces.

【0046】[色分け処理]以下、表示・出力部28に
よるクラスタの色分け処理を詳細に説明する。図4は、
図2に示した表示・出力部28によるクラスタの色分け
処理(S10)を示すフローチャートである。図4に示
すように、ステップ100(S100)において、表示
・出力部28は、色分け処理されていないクラスタのい
ずれか1個を選択する。
[Color Classification Processing] The cluster color classification processing by the display / output unit 28 will be described in detail below. FIG.
3 is a flowchart showing a cluster color classification process (S10) by a display / output unit 28 shown in FIG. As shown in FIG. 4, in step 100 (S100), the display / output unit 28 selects any one of the clusters that have not been subjected to the color classification processing.

【0047】ステップ102(S102)において、表
示・出力部28は、隣接するクラスタ同士で同色になら
ないように、S100の処理において選択されたクラス
タに付す色を決定する。
In step 102 (S102), the display / output unit 28 determines a color to be assigned to the cluster selected in the processing of S100 so that adjacent clusters do not have the same color.

【0048】ステップ104(S104)において、表
示・出力部28は、S100の処理において選択された
クラスタに含まれる面の内、未だ表示されていないフェ
ース(面)のいずれか1つを選択する。
In step 104 (S104), the display / output unit 28 selects any one of the faces (surfaces) that have not been displayed yet from among the surfaces included in the cluster selected in the process of S100.

【0049】ステップ106(S106)において、表
示・出力部28は、S104の処理において選択された
フェース(面)に、S102の処理において決定した色
を付して、表示装置12(図1)に表示する。
In step 106 (S106), the display / output unit 28 attaches the color determined in the processing of S102 to the face (face) selected in the processing of S104, and sends it to the display device 12 (FIG. 1). indicate.

【0050】ステップ108(S108)において、表
示・出力部28は、S100の処理において選択された
クラスタに含まれる全てのフェース(面)に対してS1
06の処理を行ったか否かを判断し、全てのフェース
(面)に対してS106の処理が終了した場合にはS1
10の処理に進み、これ以外の場合にはS104の処理
に戻る。
In step 108 (S108), the display / output unit 28 performs S1 for all the faces (faces) included in the cluster selected in the processing of S100.
It is determined whether or not the processing of step S06 has been performed. If the processing of step S106 has been completed for all faces, the processing of step S1
The process proceeds to the process of 10, and otherwise returns to the process of S104.

【0051】ステップ110(S110)において、表
示・出力部28は、全てのクラスタに含まれる全ての面
に対してS106の処理を終了したか否かを判断し、終
了した場合には処理を終了し、これ以外の場合にはS1
00の処理に戻る。
In step 110 (S110), the display / output unit 28 determines whether or not the processing in S106 has been completed for all the planes included in all the clusters. Otherwise, S1
It returns to the process of 00.

【0052】[入力部20]入力部20(図2)は、設
計者が、入力装置14に対して行い、あるいは、表示装
置12に表示されたGUI画像(図示せず)に対して行
った操作入力を受け入れ、受け入れた操作入力の内、三
次元形状設計に関する操作を示す設計入力データをCA
D部22に対して出力し、クラスタリング処理部3(ク
ラスタリング部32)に対してクラスタリングの拘束条
件を指示する指示データを、拘束条件作成部30に対し
て出力する。
[Input Unit 20] The input unit 20 (FIG. 2) is performed by the designer on the input device 14 or on a GUI image (not shown) displayed on the display device 12. The operation input is accepted, and the design input data indicating the operation related to the three-dimensional shape design among the received operation inputs is CA.
It outputs to the constraint condition creation unit 30 instruction data that is output to the D unit 22 and instructs the clustering processing unit 3 (the clustering unit 32) on the clustering constraint condition.

【0053】[CAD部22]CAD部22は、形状D
B26から入力され、設計出力データ(表1)と同様な
情報を含む形状データ、および、クラスタリング処理部
3(クラスタリング部32)から入力され、クラスタリ
ング処理部3(クラスタリング部32)によるクラスタ
リング処理の結果を示すクラスタリングデータに対し
て、入力部20から入力される設計入力データに基づい
て、三次元形状の設計に必要な処理を行って三次元形状
を設計し、設計した三次元形状を示す設計出力データを
生成して形状DB26に対して出力する。
[CAD unit 22] The CAD unit 22 has a shape D
B26, the shape data including the same information as the design output data (Table 1), and the result of the clustering processing by the clustering processing unit 3 (clustering unit 32) input from the clustering processing unit 3 (clustering unit 32) Based on the design input data input from the input unit 20, a process required for designing a three-dimensional shape is performed on the clustering data indicating the three-dimensional shape, and a design output indicating the designed three-dimensional shape is performed. Data is generated and output to the shape DB 26.

【0054】また、CAD部22は、クラスタリング処
理部3(クラスタリング部32)によるクラスタリング
結果に従って、三次元形状の表面を複数の多角形面(例
えば四角形面)に分割し、メッシュを作成し、設計出力
データの一部として形状DB26に対して出力する。つ
まり、CAD部22は、三次元形状の表面に作成された
クラスタそれぞれを、クラスタに閉じるように、換言す
ると、1つの多角形面が複数のクラスタ間にまたがって
存在することがないように分割する(図16を参照して
後述)。
The CAD unit 22 divides the surface of the three-dimensional shape into a plurality of polygonal surfaces (for example, quadrangular surfaces) according to the result of the clustering performed by the clustering processing unit 3 (clustering unit 32), and creates a mesh. The data is output to the shape DB 26 as a part of the output data. In other words, the CAD unit 22 divides each of the clusters created on the surface of the three-dimensional shape so as to close them into clusters, in other words, so that one polygonal surface does not extend over a plurality of clusters. (Described later with reference to FIG. 16).

【0055】[形状DB26]形状DB26は、CAD
部22から入力される設計出力データ、および、クラス
タリング処理部3(クラスタリング部32)から入力さ
れるクラスタリングデータを、記憶装置18(図1)等
に記憶し、管理し、他の構成部分からの要求に応じて、
記憶・管理したこれらのデータをCAD部22、クラス
タリング部32および表示・出力部28に対して出力す
る。
[Shape DB 26] The shape DB 26 is a CAD
The design output data input from the unit 22 and the clustering data input from the clustering processing unit 3 (clustering unit 32) are stored and managed in the storage device 18 (FIG. 1) or the like, and are stored in the storage device 18 (FIG. 1). On request
These stored and managed data are output to the CAD unit 22, the clustering unit 32, and the display / output unit.

【0056】[拘束条件作成部30]クラスタリング処
理部3において、拘束条件作成部30は、入力部20を
介して入力される指示データ、および、形状DB26か
らクラスタリング部32を介して入力される形状データ
に基づいて、クラスタリング部32におけるクラスタリ
ング処理を拘束する条件を示す拘束条件データを生成
し、クラスタリング部32に対して出力する。
[Constraint Condition Creation Unit 30] In the clustering processing unit 3, the constraint condition creation unit 30 includes instruction data input via the input unit 20 and a shape input from the shape DB 26 via the clustering unit 32. Based on the data, constraint condition data indicating a condition for restricting the clustering process in the clustering unit 32 is generated and output to the clustering unit 32.

【0057】図5は、表示装置12(図2)に表示さ
れ、拘束条件の入力に用いられるGUI画像を例示する
図である。さらに図5を参照して、拘束条件作成部30
の処理内容を詳細に説明する。設計者は、図5に例示す
るように、表示装置12に表示された三次元形状の表面
を構成するフェース(面)を示す画像を、マウス144
(図1)等でポインティングし、同じクラスタに含める
か、異なるクラスタに含めるかを指定することにより、
三次元形状の表面において、必ず同じクラスタに含める
必要がある部分を示す点を、CAD装置1(CADプロ
グラム2)に対して指示する。また、設計者は、同様の
操作により、三次元形状の表面において、必ず異なるク
ラスタに含める必要がある部分を示す点同士を、CAD
装置1(CADプログラム2)に対して指示する。
FIG. 5 is a diagram exemplifying a GUI image displayed on the display device 12 (FIG. 2) and used for input of a constraint condition. Still referring to FIG.
Will be described in detail. As illustrated in FIG. 5, the designer uses a mouse 144 to display an image showing a face (surface) constituting the surface of the three-dimensional shape displayed on the display device 12.
By pointing at (Fig. 1) etc. and specifying whether to include them in the same cluster or different clusters,
A point indicating a part that must be included in the same cluster on the surface of the three-dimensional shape is instructed to the CAD apparatus 1 (CAD program 2). In addition, the designer performs CAD operations on the surface of the three-dimensional shape to indicate points that must be included in different clusters.
An instruction is given to the device 1 (CAD program 2).

【0058】拘束条件作成部30は、上述した設計者の
操作を、入力部20を介して指示データとして受け入
れ、拘束条件作成部30は、指示データに基づいて、設
計者がポインティングした三次元形状の表面上の0個以
上の点それぞれを、このポインティングされた部分にあ
るフェース(面)に対応付ける。さらに、拘束条件作成
部30は、このように対応付けられた0個以上のフェー
ス(面)を、指示データに基づいてグループ分けして0
個以上のグループとし、得られた0個以上のグループそ
れぞれと、その属性(必ず同じクラスタに含めるか、ま
たは、必ず異なるクラスタに含めるか)とを対応付け、
拘束条件データとしてクラスタリング部32に対して出
力する。
The constraint condition creation unit 30 accepts the above-mentioned operation of the designer as instruction data via the input unit 20. The constraint condition creation unit 30 executes the three-dimensional shape pointed by the designer based on the instruction data. Each of zero or more points on the surface of is associated with a face in the pointed portion. Further, the constraint condition creation unit 30 classifies the 0 or more faces (faces) associated with each other into groups based on the instruction data,
Or more groups, and associate each of the obtained 0 or more groups with their attributes (whether they are included in the same cluster or in different clusters),
The data is output to the clustering unit 32 as constraint condition data.

【0059】[クラスタリング部32]クラスタリング
部32(図2)は、拘束条件作成部30から入力された
拘束条件データ、および、CAD部22から形状DB2
6を介して入力される形状データをクラスタリング処理
し、結果として得られたクラスタを示すクラスタリング
データを、形状DB26およびCAD部22に対して出
力する。
[Clustering Unit 32] The clustering unit 32 (FIG. 2) converts the constraint condition data input from the constraint condition creation unit 30 and the shape DB2 from the CAD unit 22.
6 is subjected to clustering processing, and clustering data indicating the resulting cluster is output to the shape DB 26 and the CAD unit 22.

【0060】[クラスタリング処理]以下、さらにクラ
スタリング部32におけるクラスタリング処理を説明す
る。図6は、図2に示したクラスタリング部32におけ
るクラスタリング処理(S1)を示すフローチャートで
ある。図6に示すように、クラスタリング部32は、初
期クラスタ処理(S20)、一次併合処理(S30)、
微小クラスタ併合処理(S40)、適正面積保証処理
(S50)および最終併合処理(S60)の各処理を行
って、設計出力データから、クラスタリングデータを出
力する。
[Clustering Processing] The clustering processing in the clustering section 32 will be further described below. FIG. 6 is a flowchart showing the clustering process (S1) in the clustering unit 32 shown in FIG. As shown in FIG. 6, the clustering unit 32 performs an initial cluster process (S20), a primary merging process (S30),
The respective processes of the small cluster merging process (S40), the appropriate area guaranteeing process (S50), and the final merging process (S60) are performed, and clustering data is output from the design output data.

【0061】以下、図6に示した各処理を詳細に説明す
る。図7,9,12〜14はそれぞれ、図6に示した初
期クラスタリング処理(S20)、一次併合処理(S3
0)、微小クラスタ併合処理(S40)、適正面積保証
処理(S50)および最終併合処理(S60)を示す図
である。図8は、初期クラスタリング処理(S20)、
一次併合処理(S30)、微小クラスタ併合処理(S4
0)、適正面積保証処理(S50)および最終併合処理
(S60)それぞれの結果として出力されるクラスタを
例示する図である。
Hereinafter, each processing shown in FIG. 6 will be described in detail. 7, 9, 12 to 14 respectively show the initial clustering process (S20) and the primary merging process (S3) shown in FIG.
0), a small cluster merging process (S40), an appropriate area guaranteeing process (S50), and a final merging process (S60). FIG. 8 shows an initial clustering process (S20),
Primary merging processing (S30), small cluster merging processing (S4
0) is a diagram illustrating clusters output as results of the appropriate area guarantee processing (S50) and the final merging processing (S60).

【0062】[初期クラスタリング処理(S20)]初
期クラスタリング処理において、クラスタリング処理部
32は、それぞれ設計出力データに含まれるフェース
(面)を1つずつ含むクラスタ1つ以上を作成する。さ
らに、クラスタリング処理部32は、作成したこれらの
クラスタの内、互いに隣接し、かつ、拘束条件により、
必ず同じクラスタに含まれなければならないと決められ
ているフェースを含むクラスタ同士を併合することにに
より、1つ以上の初期クラスタを生成する。
[Initial Clustering Process (S20)] In the initial clustering process, the clustering processing unit 32 creates one or more clusters each including one face (face) included in the design output data. Further, the clustering processing unit 32 determines whether the clusters are adjacent to each other among the created clusters, and
One or more initial clusters are generated by merging clusters containing faces that have been determined to always be included in the same cluster.

【0063】図7に示すように、ステップ200(S2
00)の処理において、クラスタリング部32は、設計
出力データに含まれるフェース(面)それぞれが、それ
ぞれ異なるクラスタに含まれるようにクラスタの集合を
初期化する。つまり、クラスタリング部32は、三次元
形状を構成するフェース(面)の数と同じ数のクラスタ
を作成し、これらのクラスタそれぞれが、それぞれ異な
るフェース(面)を1つずつ含むようにして、クラスタ
の集合を初期化する。
As shown in FIG. 7, step 200 (S2
In the process of (00), the clustering unit 32 initializes a set of clusters so that each face (face) included in the design output data is included in a different cluster. In other words, the clustering unit 32 creates the same number of clusters as the number of faces (faces) constituting the three-dimensional shape, and sets each of these clusters to include a different face (face), so that a cluster set is formed. Is initialized.

【0064】ステップ202(S202)において、ク
ラスタリング部32は、それぞれ隣接した2つのクラス
タを含む組の内、未処理の組いずれかを処理対象として
選択する。
In step 202 (S202), the clustering unit 32 selects any unprocessed set from among sets each including two adjacent clusters as a processing target.

【0065】ステップ204(S204)において、ク
ラスタリング部32は、S202の処理において選択さ
れた組に含まれる2つのクラスタが、拘束条件データが
示す拘束条件により、必ず同じクラスタに含めなければ
ならないフェース(面)が含まれているか否かを判断す
る。クラスタリング部32は、このようなフェースが含
まれている場合には、S202の処理にもどり、これ以
外の場合にはS206の処理に進む。
In step 204 (S204), the clustering unit 32 determines that the two clusters included in the set selected in the processing of S202 must always be included in the same cluster according to the constraint indicated by the constraint data. Surface) is determined. If such a face is included, the clustering unit 32 returns to the process of S202, and otherwise, proceeds to the process of S206.

【0066】ステップ206(S206)において、ク
ラスタリング部32は、処理の対象としている2つの隣
接するクラスタ同士を1つのクラスタに併合し、新たな
1つのクラスタとする。
In step 206 (S206), the clustering unit 32 merges two adjacent clusters to be processed into one cluster to form a new cluster.

【0067】ステップ208(S208)において、ク
ラスタリング部32は、全ての隣接クラスタについて、
併合すべきか否かの判定処理が終了したか否かを判断
し、終了した場合にはS20の処理を終了し、これ以外
の場合にはS202の処理に戻る。図7に示した初期ク
ラスタリング処理(S20)が終了すると、クラスタリ
ング部32は、図8に記号(a)を付して例示するよう
に、結果として得られたクラスタを初期クラスタとして
保持し、第一次併合処理(S30;図6,9)に進む。
In step 208 (S208), the clustering unit 32 calculates
It is determined whether or not the process of determining whether or not to perform merging has been completed. If the process has been completed, the process of S20 is completed. Otherwise, the process returns to the process of S202. When the initial clustering process (S20) illustrated in FIG. 7 is completed, the clustering unit 32 holds the resulting cluster as an initial cluster, as illustrated with the symbol (a) in FIG. The process proceeds to the primary merging process (S30; FIGS. 6 and 9).

【0068】[第一次併合処理]第一次併合処理におい
て、クラスタリング部32は、S20(図5,7)の処
理において作成され、互いに隣接する初期クラスタの
内、互いに拘束条件により同じクラスタに含まれること
を禁じられているフェース(面)を含まず、2つのフェ
ース(面)相互の角度の差が最も少なく、また、併合後
の枠線が最も滑らかになる2つ同士を併合し、新たな1
つのクラスタを生成する。
[Primary Merging Process] In the primary merging process, the clustering unit 32 is created in the process of S20 (FIGS. 5 and 7), and becomes the same cluster among the initial clusters adjacent to each other according to the constraint condition. Two faces (faces) that are prohibited from being included are not included, the two faces (faces) have the smallest difference in angle, and the merged frame line is the smoothest. New one
Generate two clusters.

【0069】図9は、図6に示した第一次併合処理(S
30)を示すフローチャートである。図9に示すよう
に、ステップ300(S300)において、クラスタリ
ング部32は、隣接する2個のクラスタの組合わせの
内、指標値が未だ算出されていない2個のクラスタの組
み合わせを選択する。
FIG. 9 is a flowchart showing the primary merging process (S
It is a flowchart which shows 30). As shown in FIG. 9, in step 300 (S300), the clustering unit 32 selects a combination of two clusters for which an index value has not yet been calculated from a combination of two adjacent clusters.

【0070】ステップ302(S302)において、ク
ラスタリング部32は、S20(図6,7)の処理にお
いて得られた初期クラスタの内、S300の処理におい
て選択された2つを併合して1つにした仮想ラスタを仮
定する。さらに、クラスタリング部32は、仮想クラス
タを構成する2つのクラスタそれぞれの代表法線ベクト
ルm、n(図3(A))を求め、仮想クラスタにおける
法線の振れθ(図3(B))の大きさを示す指標値を算
出する。
In step 302 (S302), the clustering unit 32 combines two of the initial clusters obtained in the processing of S20 (FIGS. 6 and 7) selected in the processing of S300 into one. Assume a virtual raster. Further, the clustering unit 32 obtains the representative normal vectors m and n (FIG. 3A) of the two clusters constituting the virtual cluster, and obtains the normal deviation θ (FIG. 3B) in the virtual cluster. An index value indicating the size is calculated.

【0071】この指標値を算出するために、例えば、ク
ラスタリング部32は、まず、ある仮想クラスタを構成
する2つのクラスタそれぞれに含まれるフェース(面)
それぞれの法線ベクトルの面積分値を算出し、算出され
た法線ベクトルの面積分値の総和値を算出し、算出され
た総和値を正規化して、この仮想クラスタを構成する2
つのクラスタそれぞれを代表する代表法線ベクトルm,
n(m=∫mi/|∫mi|,n=∫ni/|∫ni|;但
し、miは、それぞれ仮想クラスタを構成するフェース
(面)の一方の上の1点における法線ベクトル、n
iは、それぞれ仮想クラスタを構成するフェース(面)
他の一方の上の1点における法線ベクトル)を算出す
る。
In order to calculate this index value, for example, the clustering unit 32 firstly outputs a face (plane) included in each of two clusters constituting a certain virtual cluster.
An area component of each normal vector is calculated, a total value of the calculated area component values of the normal vectors is calculated, and the calculated total value is normalized to form the virtual cluster 2
Representative normal vectors m,
n (m = ∫m i / | ∫m i |, n = ∫n i / | ∫n i |; however, m i is at one point on the face (face) constituting the virtual cluster each Normal vector, n
i is the face (plane) that constitutes each virtual cluster
A normal vector at one point on the other one) is calculated.

【0072】実際には、クラスタリング部32は、ある
仮想クラスタに含まれるフェース(面)それぞれにおい
て、分布に偏りが生じないように、可能な限り多くの点
を選択し、選択した点それぞれにおける法線ベクトルを
算出し、これらの総和値を算出する。さらに、クラスタ
リング部32は、算出された法線ベクトルの総和値を、
長さが1になるように正規化して、この仮想クラスタを
構成する2個のクラスタそれぞれの代表法線ベクトル
m,nを算出する。さらに、クラスタリング部32は、
求めた仮想クラスタを構成する2つのクラスタそれぞれ
の代表法線ベクトルm,nの間の角度θを求め、角度θ
の逆数(1/θ=1.0/ang(m,n))を、仮想
クラスタにおける法線mの振れの大きさを示す指標値と
する。
In practice, the clustering unit 32 selects as many points as possible so as to prevent the distribution from being biased in each of the faces included in a certain virtual cluster, and modulates the points at the selected points. A line vector is calculated, and the sum of these is calculated. Further, the clustering unit 32 calculates the sum of the calculated normal vectors,
The length is normalized so as to be 1, and the representative normal vectors m and n of the two clusters constituting this virtual cluster are calculated. Further, the clustering unit 32
The angle θ between the representative normal vectors m and n of the two clusters constituting the obtained virtual cluster is obtained, and the angle θ
(1 / θ = 1.0 / ang (m, n)) is used as an index value indicating the magnitude of the swing of the normal m in the virtual cluster.

【0073】図10は、隣接する2つのクラスタの枠線
の共有率Riを例示する図である。図11(A)は、隣
接する2つのクラスタの枠線における角度(接触角度)
を定義する図であり、(B)は、隣接する2つのクラス
タの角度の平均値Φiを例示する図である。ステップ3
04(S304;図9)において、クラスタリング部3
2は、S302の処理で仮定した仮想クラスタの周囲の
稜線(枠線)の滑らかさを示す指標値を算出する。クラ
スタリング部32は、例えば、仮想クラスタの枠線の滑
らかさを示す指標値として、この仮想クラスタを構成す
る2つのクラスタの枠線の共有率Ri、および、接触角
度の平均値Φiを算出する。
FIG. 10 is a diagram exemplifying the sharing ratio R i of the frame lines of two adjacent clusters. FIG. 11A shows an angle (contact angle) at a frame of two adjacent clusters.
(B) is a diagram exemplifying the average value Φ i of the angles of two adjacent clusters. Step 3
04 (S304; FIG. 9), the clustering unit 3
2 calculates an index value indicating the smoothness of the ridge line (frame line) around the virtual cluster assumed in the processing of S302. The clustering unit 32 calculates, for example, as index values indicating the smoothness of the frame lines of the virtual cluster, the sharing ratio R i of the frame lines of the two clusters constituting the virtual cluster and the average value Φ i of the contact angles. I do.

【0074】なお、クラスタリング部32は、図10に
例示するように、2つのクラスタにより共有される枠線
長が、2つのクラスタそれぞれの枠線の全長に対して占
める割合の内、値が大きい方を枠線の共有率Riとす
る。また、クラスタリング部32は、図11(A)に例
示するように、2つのクラスタA,Bの接点Vでの接触
角度Φ(Φ=2π−α−β)を定義し、図11(B)に
それぞれ例示するように、2つのクラスタが2点で接す
る場合に、これら2点の接触角度の総和を算出し、総和
の値を接点数(図11(B)においては接点数2)で除
算することにより、接触角の平均値Φiを算出する。
As shown in FIG. 10, the clustering unit 32 has a larger value in the ratio of the frame line length shared by the two clusters to the total length of the frame line of each of the two clusters. The other is defined as a frame line sharing ratio R i . Further, the clustering unit 32 defines a contact angle Φ (Φ = 2π−α−β) at the contact point V of the two clusters A and B, as illustrated in FIG. When two clusters touch each other at two points, the sum of the contact angles of these two points is calculated, and the value of the sum is divided by the number of contacts (the number of contacts is 2 in FIG. 11B). Then, the average value Φ i of the contact angle is calculated.

【0075】ステップ306(S306)において、ク
ラスタリング部32は、S304の処理において算出さ
れた2つの指標値から、仮想クラスタを構成する2つの
クラスタを併合して1つにする有利さ、つまり、いずれ
の仮想クラスタを構成する2つのクラスタを優先的に併
合すべきかを示す併合優先値を算出する。クラスタリン
グ部32は、例えば、2つの指標値を、単純に加算して
併合優先値とする。
In step 306 (S306), the clustering unit 32 combines two index values calculated in the processing of S304 into one cluster by merging the two clusters constituting the virtual cluster, that is, either A merge priority value indicating whether two clusters constituting the virtual cluster should be preferentially merged is calculated. The clustering unit 32 simply adds, for example, two index values and sets the sum as a merge priority value.

【0076】ステップ308(S308)において、ク
ラスタリング部32は、全ての仮想クラスタについて、
併合優先値の算出を終了したか否かを判断し、算出を終
了した場合にはS310の処理に進み、これ以外の場合
にはS300の処理に戻る。
In step 308 (S 308), the clustering unit 32 performs
It is determined whether or not the calculation of the merge priority value has been completed. If the calculation has been completed, the process proceeds to S310; otherwise, the process returns to S300.

【0077】ステップ310(S310)において、ク
ラスタリング部32は、仮想クラスタを、それぞれの併
合優先値が高い順番に並べたリストを作成する。
In step 310 (S310), the clustering unit 32 creates a list in which the virtual clusters are arranged in descending order of their merge priority values.

【0078】ステップ312(S312)において、ク
ラスタリング部32は、S310の処理において作成し
たリストにおいて、併合優先値の値が、予め決められた
基準値よりも高い仮想クラスタがあるか否かを判断し、
このような仮想クラスタがある場合にはS314の処理
に進み、これ以外の場合には処理を終了する。
In step 312 (S312), the clustering unit 32 determines whether or not there is a virtual cluster whose merge priority value is higher than a predetermined reference value in the list created in the process of S310. ,
If there is such a virtual cluster, the process proceeds to S314; otherwise, the process ends.

【0079】ステップ314(S314)において、ク
ラスタリング部32は、S310の処理において作成さ
れたリスト内の未処理の仮想クラスタの内、最も併合優
先値が高い仮想クラスタを処理対象として選択する。
In step 314 (S314), the clustering unit 32 selects a virtual cluster having the highest merge priority value among the unprocessed virtual clusters in the list created in the process of S310 as a processing target.

【0080】ステップ316(S316)において、ク
ラスタリング部32は、処理対象の仮想クラスタを構成
する2つのクラスタに、拘束条件により同じクラスタに
含めることができないと設定されたフェース(面)同士
が含まれているか否かを判断し、含まれていない(拘束
条件を満たす)場合には、S318の処理に進み、これ
以外の場合にはS312の処理に戻る。
In step 316 (S 316), the clustering unit 32 includes two clusters constituting the virtual cluster to be processed, each of which has a face (face) set to be not included in the same cluster due to the constraint condition. It is determined whether or not it is included. If it is not included (satisfies the constraint condition), the process proceeds to S318; otherwise, the process returns to S312.

【0081】ステップ318(S318)において、ク
ラスタリング部32は、処理対象の仮想クラスタを構成
する2つのクラスタを、実際に1つのクラスタに併合
し、新たなクラスタとする。
In step 318 (S 318), the clustering unit 32 actually merges the two clusters that make up the processing target virtual cluster into one cluster, and sets it as a new cluster.

【0082】ステップ320(S320)において、ク
ラスタリング部32は、S318の処理において作成さ
れた新たなクラスタに隣接するクラスタの中から、新し
いクラスタとの併合優先度が算出されていないクラスタ
1個を選択する。
In step 320 (S320), the clustering unit 32 selects one cluster for which the merge priority with the new cluster has not been calculated from the clusters adjacent to the new cluster created in S318. I do.

【0083】ステップ322(S322)において、S
318の処理において作成されたクラスタと、このクラ
スタに隣接する他のクラスタとから構成される新たな仮
想クラスタを仮定し、S302の処理においてと同様
に、この新たな仮想クラスタの法線mの振れ(図3
(B))の大きさを示す指標値を算出する。
In step 322 (S322), S
Assuming a new virtual cluster composed of the cluster created in the process of 318 and other clusters adjacent to this cluster, the swing of the normal m of the new virtual cluster is the same as in the process of S302. (FIG. 3
An index value indicating the magnitude of (B)) is calculated.

【0084】ステップ324(S324)において、ク
ラスタリング部32は、S304の処理においてと同様
に、S322の処理において新たに仮定された仮想クラ
スタの周囲の稜線(枠線)の滑らかさを示す指標値を算
出する。
In step 324 (S324), the clustering unit 32 calculates the index value indicating the smoothness of the ridge line (frame line) around the virtual cluster newly assumed in the processing of S322, similarly to the processing of S304. calculate.

【0085】ステップ326(S326)において、ク
ラスタリング部32は、S306の処理においてと同様
に、S322の処理において新たに仮定された仮想クラ
スタの併合優先度を算出する。
In step 326 (S 326), the clustering unit 32 calculates the merge priority of the virtual cluster newly assumed in the process of S 322, as in the process of S 306.

【0086】ステップ328(S328)において、ク
ラスタリング部32は、新たな仮想クラスタ全てについ
て、S320〜S326の処理を終了したか否かを判断
し、処理が終了した場合にはS330の処理に進み、こ
れ以外の場合にはS330の処理に進む。
In step 328 (S328), the clustering unit 32 determines whether or not the processing of S320 to S326 has been completed for all the new virtual clusters. If the processing has been completed, the process proceeds to S330. Otherwise, the process proceeds to S330.

【0087】ステップ330(S330)において、ク
ラスタリング部32は、S322の処理において新たに
仮定された仮想クラスタを、S310の処理において作
成されたリストに挿入し、併合優先値が高い順番に並ぶ
ように仮想クラスタの順番を並び替える。
In step 330 (S330), the clustering unit 32 inserts the virtual cluster newly assumed in the processing of S322 into the list created in the processing of S310, and arranges the virtual clusters in the descending order of the merging priority values. Rearrange the order of the virtual clusters.

【0088】図9に示した第一次併合処理(S30)が
終了すると、クラスタリング部32は、図8に記号
(b)を付して例示するように、結果として得られたク
ラスタ(第1の併合クラスタ)を保持し、微小クラスタ
併合処理(S40;図6,12)に進む。
When the primary merging process (S30) shown in FIG. 9 is completed, the clustering unit 32 adds the resulting cluster (the first cluster) as shown in FIG. (S40; FIGS. 6 and 12).

【0089】[微小クラスタ併合処理]微小クラスタ併
合処理において、クラスタリング部32は、面積が一定
の基準値に達しないクラスタを、隣接し、拘束条件を満
たす他のクラスタの内、併合後に最も滑らかな枠線を与
えるいずれかに併合する。
[Small Cluster Merging Process] In the small cluster merging process, the clustering unit 32 determines that the cluster whose area does not reach the predetermined reference value is the smoothest after merging among other adjacent clusters satisfying the constraint condition. Merge with any that gives a border.

【0090】図12は、図6に示した微小クラスタ併合
処理(S40)を示すフローチャートである。図12に
示すように、ステップ400(S400)において、ク
ラスタリング部32は、未だS402の処理の対象とな
っておらず、その面積が算出されていないクラスタのい
ずれかを選択する。
FIG. 12 is a flowchart showing the small cluster merging process (S40) shown in FIG. As shown in FIG. 12, in step 400 (S400), the clustering unit 32 selects any of the clusters that have not yet been subjected to the processing of S402 and whose area has not been calculated.

【0091】ステップ402(S402)において、ク
ラスタリング部32は、S30(図6,9)の処理によ
り得られ、S400の処理において選択されたクラスタ
それぞれが含むフェース(面)の面積の総和、つまり、
クラスタそれぞれの面積を算出する。
In step 402 (S402), the clustering unit 32 obtains the total area of the faces (faces) included in the clusters obtained in the processing of S30 (FIGS. 6 and 9) and selected in the processing of S400, that is,
Calculate the area of each cluster.

【0092】ステップ404(S404)において、ク
ラスタリング部32は、処理対象のクラスタの面積が、
予め決められた基準値以下であるか否かを判断し、クラ
スタの面積が基準値以下である場合には、このクラスタ
を微小クラスタ(第1の範囲外クラスタ)であると判断
して処理対象としてS406の処理に進み、これ以外の
場合にはS418の処理に進む。
In step 404 (S404), the clustering unit 32 determines that the area of the cluster to be processed is
It is determined whether or not the area is equal to or less than a predetermined reference value. If the area of the cluster is equal to or less than the reference value, this cluster is determined to be a minute cluster (cluster outside the first range) and is processed. Then, the process proceeds to S 406. Otherwise, the process proceeds to S 418.

【0093】ステップ406(S406)において、ク
ラスタリング部32は、微小クラスタに隣接するクラス
タの中から、滑らかさを示す指標値が算出されていない
クラスタを1個、選択する。
In step 406 (S406), the clustering unit 32 selects one cluster for which an index value indicating smoothness has not been calculated from clusters adjacent to the minute cluster.

【0094】ステップ408(S408)において、ク
ラスタリング部32は、S406の処理において三託さ
れたクラスタを処理対象とし、処理対象のクラスタと、
微小クラスタとが、拘束条件により同じクラスタに含ま
れてはならないと設定されたフェース(面)同士を含ん
でいるか否かを判断する。クラスタリング部32は、こ
れらのクラスタに、このような面が含まれていない場合
には、S406の処理に戻り、これ以外の場合にはS4
10の処理に戻る。
In step 408 (S 408), the clustering unit 32 treats the cluster entrusted in the processing of S 406 as a processing target, and
It is determined whether or not the minute cluster includes faces that are set not to be included in the same cluster due to the constraint condition. If these clusters do not include such a plane, the clustering unit 32 returns to the processing of S406, and otherwise returns to S4.
It returns to the process of 10.

【0095】ステップ410(S410)において、ク
ラスタリング部32は、処理の対象となっている微小ク
ラスタと、これに隣接するクラスタとを併合したと仮定
して得られる仮想クラスタについて、S304(図9)
の処理においてと同様に、この仮想クラスタの枠線の滑
らかさを表す指標値を算出する。
In step 410 (S410), the clustering unit 32 performs the processing in S304 (FIG. 9) on the virtual cluster obtained by assuming that the microcluster to be processed and the cluster adjacent thereto are merged.
In the same manner as in the processing of (1), an index value representing the smoothness of the frame line of this virtual cluster is calculated.

【0096】ステップ412(S412)において、ク
ラスタリング部32は、処理対象の微小クラスタと、隣
接する他のクラスタとの間で仮定される全ての仮想クラ
スタについて、S410の処理により得られる指標値の
算出が終了したか否かを判断し、算出が終了した場合に
はS414の処理に進み、これ以外の場合にはS406
の処理に戻る。
In step 412 (S 412), the clustering unit 32 calculates an index value obtained by the processing in S 410 for all virtual clusters assumed between the processing target minute cluster and another adjacent cluster. It is determined whether or not has been completed. If the calculation has been completed, the process proceeds to S414; otherwise, the process proceeds to S406.
Return to the processing of.

【0097】ステップ414(S414)において、ク
ラスタリング部32は、S404の処理において処理対
象とされた微小クラスタと、この微小クラスタと隣接す
るクラスタとの間で仮定される仮想クラスタの内、S4
10の処理において算出された指標値の値が最も高い仮
想クラスタに含まれる2つのクラスタを併合し、新たな
1つのクラスタとする。
In step 414 (S 414), the clustering unit 32 determines whether or not the small cluster selected as the processing target in the processing of S 404 and the virtual cluster assumed between the small cluster and the adjacent cluster are S 4.
The two clusters included in the virtual cluster having the highest index value calculated in the process of step 10 are merged to form a new one.

【0098】ステップ416(S416)において、ク
ラスタリング部32は、S414の処理により得られた
新たなクラスタを、また、微小クラスタ併合処理の対象
となっていない未処理のクラスタであるとみなして、S
404〜S414の処理対象となりうる状態にする。
In step 416 (S 416), the clustering unit 32 regards the new cluster obtained by the processing in S 414 as an unprocessed cluster that is not subjected to the small cluster merging processing,
A state in which the processing can be performed in steps 404 to S414 is set.

【0099】ステップ418(S418)において、ク
ラスタリング部32は、全てのクラスタについて微小ク
ラスタ併合処理(S400〜S416)が終了したか否
かを判断し、処理が終了した場合には処理を終了し、こ
れ以外の場合にはS404の処理に戻る。
In step 418 (S418), the clustering unit 32 determines whether or not the small cluster merging processing (S400 to S416) has been completed for all clusters. If the processing has been completed, the processing ends. Otherwise, the process returns to S404.

【0100】図12に示した微小クラスタ併合処理(S
40)が終了すると、クラスタリング部32は、図8に
記号(c)を付して例示するように、結果として得られ
たクラスタ(第2の併合クラスタ)を保持し、適正面積
保証処理(S50;図6,13)に進む。
The small cluster merging process (S
After the completion of (40), the clustering unit 32 holds the resulting cluster (second merged cluster), as illustrated with the symbol (c) in FIG. 8, and performs the appropriate area guarantee processing (S50). The process proceeds to FIGS.

【0101】[適正面積保証処理]適正面積保証処理に
おいて、クラスタリング部32は、フェースの面積の総
和、傾き等に基づいて、適正なクラスタの面積を算出
し、これまでに得られたクラスタの内、面積が、算出さ
れた適正面積以下のクラスタを、隣接し、かつ、拘束条
件を満たす他のクラスタの内、2つのフェース(面)相
互の角度の差が最も少なく、また、併合後の枠線が最も
滑らかになる2つ同士を併合し、新たな1つのクラスタ
を生成する。
[Appropriate Area Guarantee Processing] In the appropriate area guarantee processing, the clustering unit 32 calculates an appropriate cluster area based on the total area, inclination, and the like of the faces, and calculates the appropriate cluster area among the clusters obtained so far. A cluster whose area is equal to or smaller than the calculated proper area is adjacent to the other clusters satisfying the constraint condition and has the smallest difference in the angle between the two faces. The two lines having the smoothest lines are merged to generate a new cluster.

【0102】図13は、図6に示した適正面積保証処理
(S50)を示す図である。図13に示すように、ステ
ップ500(S500)において、クラスタリング部3
2は、三次元形状を構成するフェース(面)全ての面積
の合計Sallと、法線の振れの大きさとを求める。クラ
スタリング部32は、例えば、それぞれのフェース
(面)に対して、S302(図9)においてと同様な処
理を行って、フェース(面)それぞれの代表法線ベクト
ル(図3(A))を算出し、さらに、算出した代表法線
ベクトル同士の間の角度θ(図(B))を算出し、算出
した角度θの内、最大の値の逆数(1/θ)を、法線の
振れの大きさとする。
FIG. 13 is a diagram showing the proper area guarantee processing (S50) shown in FIG. As shown in FIG. 13, in step 500 (S500), the clustering unit 3
2 obtains the total Sall of the areas of all the faces constituting the three-dimensional shape and the magnitude of the normal deflection. For example, the clustering unit 32 calculates the representative normal vector (FIG. 3A) of each face (face) by performing the same processing as in S302 (FIG. 9) on each face (face). Further, an angle θ (FIG. (B)) between the calculated representative normal vectors is calculated, and the reciprocal (1 / θ) of the maximum value of the calculated angles θ is calculated as the normal deviation. Size.

【0103】さらに、クラスタリング部32は、求めた
フェース(面)全部の面積の合計と、法線の振れとを、
下式1に代入して、クラスタの適正面積Sを算出する。
Further, the clustering unit 32 calculates the total area of all the obtained faces (faces) and the deflection of the normal line.
Substituting into the following equation 1, an appropriate area S of the cluster is calculated.

【0104】[0104]

【数1】 S=(a/θ+b)×Sall (1) 但し、a,bは、複数の三次元形状に対するクラスタリ
ング処理の経験に基づいて得られる定数。
S = (a / θ + b) × S all (1) where a and b are constants obtained based on experience of clustering processing for a plurality of three-dimensional shapes.

【0105】ステップ502(S502)において、ク
ラスタリング部32は、未だS504の処理の対象とな
っておらず、その面積が算出されていないクラスタのい
ずれかを選択する。
In step 502 (S502), the clustering unit 32 selects one of the clusters not yet subjected to the processing of S504 and whose area has not been calculated.

【0106】ステップ504(S504)において、ク
ラスタリング部32は、処理対象としたクラスタのに含
まれるフェース(面)の面積の合計、つまり、処理対象
のクラスタの面積を算出する。
In step 504 (S504), the clustering unit 32 calculates the total area of faces included in the cluster to be processed, that is, the area of the cluster to be processed.

【0107】ステップ506(S506)において、ク
ラスタリング部32は、処理対象のクラスタの面積が、
S500の処理において算出された適正面積以上である
か否かを判断し、適正面積上である場合にはS508の
処理に進み、これ以外の場合には、適正面積S未満と判
断されたクラスタを処理対象として選択し、S510の
処理に進む。
In step 506 (S506), the clustering unit 32 determines that the area of the cluster to be processed is
It is determined whether or not the area is equal to or more than the appropriate area calculated in the processing of S500. If the area is on the appropriate area, the process proceeds to S508. Otherwise, the cluster determined to be less than the appropriate area S is determined. It is selected as a processing target, and the process proceeds to S510.

【0108】ステップ508(S508)において、ク
ラスタリング部32は、全てのクラスタがS502〜S
506の処理の対象になったか、つまり、全てのクラス
タに対する処理が終了したか否かを判断し、終了した場
合には処理を終了し、これ以外の場合には、未処理のク
ラスタのいずれか1つを、次の処理の対象に選択し、S
502の処理に戻る。
In step 508 (S508), the clustering unit 32 determines that all clusters are in S502 to S502.
It is determined whether or not the processing of step 506 has been performed, that is, whether or not the processing for all clusters has been completed. If the processing has been completed, the processing is terminated. Otherwise, any of the unprocessed clusters has been processed. One is selected for the next processing, and S
It returns to the process of 502.

【0109】ステップ510(S510)において、ク
ラスタリング部32は、S506の処理において、適正
面積S以下と判断されたクラスタに隣接するクラスタの
内、併合優先値が算出されていないいずれかを選択す
る。
In step 510 (S510), the clustering unit 32 selects one of the clusters adjacent to the cluster determined to be equal to or smaller than the appropriate area S for which the merge priority value has not been calculated in the processing of S506.

【0110】ステップ512(S512)において、ク
ラスタリング部32は、S506の処理において処理対
象とされたクラスタと、この処理対象のクラスタに隣接
するクラスタのいずれか1つをそれぞれ含む仮想クラス
タを仮定する。クラスタリング部32は、仮想クラスタ
に含まれるこれら2つのクラスタに、必ず異なるクラス
タに含まれなければならないフェースがないか否か、つ
まり、この仮想クラスタが拘束条件を満たしているか否
かを判断し、拘束条件を満たしている場合にはS514
の処理に進み、これ以外の場合にはS510の処理に戻
る。
In step 512 (S512), the clustering unit 32 assumes a virtual cluster including each of the clusters to be processed in the process of S506 and one of the clusters adjacent to the cluster to be processed. The clustering unit 32 determines whether the two clusters included in the virtual cluster do not include a face that must be included in a different cluster, that is, whether the virtual cluster satisfies the constraint. If the constraint condition is satisfied, S514
Otherwise, the process returns to S510.

【0111】ステップ514(S514)において、ク
ラスタリング部32は、図9に示したS302の処理と
同様に、処理対象の仮想クラスタの法線の振れの大きさ
を示す指標値を算出する。
In step 514 (S 514), the clustering unit 32 calculates an index value indicating the magnitude of the fluctuation of the normal line of the virtual cluster to be processed, similarly to the processing of S 302 shown in FIG.

【0112】ステップ516(S516)において、ク
ラスタリング部32は、図9に示したS304の処理と
同様に、処理対象の仮想クラスタの枠線の滑らかさを示
す指標を算出する。
In step 516 (S516), the clustering unit 32 calculates an index indicating the smoothness of the frame line of the virtual cluster to be processed, similarly to the processing of S304 shown in FIG.

【0113】ステップ518(S518)において、ク
ラスタリング部32は、図9に示したS306の処理と
同様に、処理対象の仮想クラスタの併合優先値を算出す
る。
In step 518 (S518), the clustering unit 32 calculates the merge priority value of the virtual cluster to be processed, as in the processing of S306 shown in FIG.

【0114】ステップ520(S520)において、ク
ラスタリング部32は、S512の処理において仮定さ
れた仮想クラスタの全てに対してS510〜S518の
処理が終了したか否かを判断し、終了した場合にはS5
22の処理に進み、これ以外の場合にはS510の処理
に戻る。
In step 520 (S520), the clustering unit 32 determines whether or not the processing in S510 to S518 has been completed for all of the virtual clusters assumed in the processing in S512.
The process proceeds to the process of S22, and otherwise returns to the process of S510.

【0115】ステップ522(S522)において、S
506の処理において処理対象とされたクラスタを含む
仮想クラスタの内、S518において、最も高い値の併
合優先度が付された仮想クラスタに含まれる2つのクラ
スタを併合して、1つの新たなクラスタを生成する。ク
ラスタリング部32は、新たに生成したクラスタを、S
502〜S506の処理対象になっていないクラスタと
みなしてS508の処理に戻る。
In step 522 (S522), S
In S518, of the virtual clusters including the clusters to be processed in the process of 506, the two clusters included in the virtual cluster with the highest merge priority are merged to form one new cluster. Generate. The clustering unit 32 defines the newly generated cluster as S
The process returns to the processing of S508, assuming that the cluster is not the processing target of the processing from 502 to S506.

【0116】図13に示した適正面積保証処理(S5
0)が終了すると、クラスタリング部32は、図8に記
号(d)を付して例示するように、結果として得られた
クラスタ(第3の併合クラスタ)を保持し、最終併合処
理(S60;図6,14)に進む。
The appropriate area guarantee processing shown in FIG. 13 (S5
Upon completion of (0), the clustering unit 32 holds the resulting cluster (third merged cluster), as illustrated with the symbol (d) in FIG. 8, and performs the final merge processing (S60; Proceed to FIGS.

【0117】[最終併合処理]最終併合処理において、
クラスタリング部32は、さらに、互いに隣接し、拘束
条件を満たすクラスタの内、2つのフェース(面)相互
の角度の差が最も少なく、また、併合後の枠線が最も滑
らかになる2つ同士を併合し、新たな1つのクラスタを
生成する。
[Final merging processing] In the final merging processing,
The clustering unit 32 further selects two of the clusters that are adjacent to each other and satisfy the constraint condition, in which the difference between the angles of the two faces is the smallest and the frame line after merging is the smoothest. Merge to generate one new cluster.

【0118】図14は、図6に示した最終併合処理(S
60)を示すフローチャートである。図14に示すよう
に、ステップ600(S600)において、クラスタリ
ング部32は、それぞれ隣接する2つのクラスタの組の
内、未処理の組のいずれかを処理対象として選択する。
FIG. 14 shows the final merging process (S
It is a flowchart which shows 60). As illustrated in FIG. 14, in step 600 (S600), the clustering unit 32 selects one of the unprocessed sets from the two adjacent cluster sets as a processing target.

【0119】ステップ602(S602)において、ク
ラスタリング部32は、S600の処理において選択さ
れた組の2つのクラスタを含む仮想クラスタを仮定し、
この仮想クラスタに含まれる2つのクラスタが、必ず異
なるクラスタに含めなければならないフェース(面)を
それぞれ含むか否か、つまり、処理対象の仮想クラスタ
が、拘束条件を満たすか否かを判定し、拘束条件を満た
す場合にはS604の処理に進み、これ以外の場合には
S600の処理に戻る。
In step 602 (S602), the clustering unit 32 assumes a virtual cluster including the two clusters of the set selected in the processing of S600,
It is determined whether the two clusters included in this virtual cluster each include a face (face) that must be included in a different cluster, that is, whether the processing target virtual cluster satisfies the constraint condition, If the constraint condition is satisfied, the process proceeds to S604; otherwise, the process returns to S600.

【0120】ステップ604(S604)において、ク
ラスタリング部32は、図9に示したS302の処理と
同様に、処理対象の仮想クラスタを構成する2つのクラ
スタそれぞれの代表法線を算出する。
In step 604 (S604), the clustering unit 32 calculates a representative normal of each of the two clusters constituting the virtual cluster to be processed, similarly to the processing of S302 shown in FIG.

【0121】ステップ606(S606)において、ク
ラスタリング部32は、S604の処理において生成し
た2つのクラスタそれぞれの代表法線のなす角度を算出
し、算出した角度が、予め決められた基準値以下である
か否かを判断し、基準値以下である場合にはS608の
処理に進み、これ以外の場合にはS600の処理に進
む。
In step 606 (S606), the clustering unit 32 calculates the angle between the representative normals of the two clusters generated in the processing of S604, and the calculated angle is equal to or smaller than a predetermined reference value. It is determined whether or not the value is equal to or smaller than the reference value. If the value is equal to or smaller than the reference value, the process proceeds to S608. Otherwise, the process proceeds to S600.

【0122】ステップ608(S608)において、ク
ラスタリング部32は、図9に示したS304の処理と
同様に、処理対象の仮想クラスタに含まれる2つの仮想
クラスタそれぞれの枠線の滑らかさを示す指標値を算出
する。
In step 608 (S608), the clustering unit 32 determines the index value indicating the smoothness of the frame line of each of the two virtual clusters included in the virtual cluster to be processed, similarly to the processing of S304 shown in FIG. Is calculated.

【0123】ステップ610(S610)において、ク
ラスタリング部32は、図9に示したS304の処理と
同様に、処理対象の仮想クラスタの枠線の滑らかさを示
す指標値を算出する。
In step 610 (S610), the clustering unit 32 calculates an index value indicating the smoothness of the frame line of the virtual cluster to be processed, similarly to the processing of S304 shown in FIG.

【0124】ステップ612(S612)において、ク
ラスタリング部32は、S608の処理において算出さ
れた指標値と、S610の処理において算出された指標
値とに基づいて、仮想クラスタを構成する2つのクラス
タを1つに併合した方が枠線が滑らかになるか否かを判
断し、滑らかになる場合にはS614の処理に進み、こ
れ以外の場合にはS600の処理に戻る。
In step 612 (S612), the clustering unit 32 divides the two clusters constituting the virtual cluster into one based on the index value calculated in the processing of S608 and the index value calculated in the processing of S610. It is determined whether or not the merged one makes the frame line smoother. If the frame line becomes smoother, the process proceeds to S614; otherwise, the process returns to S600.

【0125】ステップ614(S614)において、ク
ラスタリング部32は、処理対象の仮想クラスタに含ま
れる2つのクラスタを併合して1つの新たなクラスタを
生成する。
In step 614 (S614), the clustering unit 32 merges the two clusters included in the processing-target virtual cluster to generate one new cluster.

【0126】ステップ616(S616)において、ク
ラスタリング部32は、全ての仮想クラスタに対してS
600〜S612の処理が終了したか否かを判断し、終
了した場合には処理を終了し、これ以外の場合には、S
614の処理において生成された新たなクラスタに対し
て、S600〜S612の処理がなされていないとみな
してS600の処理に戻る。
In step 616 (S 616), the clustering unit 32 executes S
It is determined whether or not the processing of steps S600 to S612 has been completed. If the processing has been completed, the processing is terminated.
It is considered that the processing of S600 to S612 has not been performed on the new cluster generated in the processing of 614, and the processing returns to S600.

【0127】クラスタリング部32は、以上説明したS
20〜S60の処理により、図8に記号(e)を付して
例示するような、最終的なクラスタリング結果を得る。
[0127] The clustering unit 32 executes
Through the processing of 20 to S60, a final clustering result is obtained as exemplified by adding the symbol (e) to FIG.

【0128】[CADプログラム2の全体処理]以下、
図15をさらに参照して、CADプログラム2(図2)
の全体処理を説明する。図15は、図2に示したCAD
プログラム2の全体処理(S7)を示すフローチャート
である。
[Overall processing of CAD program 2]
With further reference to FIG. 15, CAD program 2 (FIG. 2)
Will be described. FIG. 15 shows the CAD data shown in FIG.
9 is a flowchart showing the entire processing (S7) of the program 2.

【0129】図15に示すように、ステップ700(S
700)において、設計者がCADプログラム2(図
2)のCAD部22を用いて三次元形状(形状モデル)
を設計すると、CAD部22は、設計された三次元形状
(形状モデル)を示す設計出力データを形状DB26に
対して出力する。また、設計者は、形状モデルに含まれ
るフェース(面)のいずれ同士が同じクラスタに含まれ
なければならないか、および、フェース(面)のいずれ
同士が異なるクラスタに含まれなければならないかを、
クラスタリング処理部3の拘束条件作成部30に対して
指示すると、拘束条件作成部30は、これらを示す拘束
条件データを生成し、クラスタリング部32に対して出
力する。
As shown in FIG. 15, step 700 (S
700), the designer uses the CAD unit 22 of the CAD program 2 (FIG. 2) to execute a three-dimensional shape (shape model)
Is designed, the CAD unit 22 outputs design output data indicating the designed three-dimensional shape (shape model) to the shape DB 26. In addition, the designer determines which of the faces (faces) included in the shape model must be included in the same cluster, and which of the faces (faces) must be included in different clusters.
When an instruction is given to the constraint condition creating unit 30 of the clustering processing unit 3, the constraint condition creating unit 30 generates constraint condition data indicating these, and outputs it to the clustering unit 32.

【0130】設計者が処理の対象とする形状モデル(設
計出力データ)を指定して、クラスタリング処理をクラ
スタリング部32に開始させると、クラスタリング部3
2は、形状DB26に対して指定された設計出力データ
を要求し、形状DB26は、クラスタリング部32から
の要求に応じて、クラスタリング部32に対して設計出
力データを出力する。
When the designer designates a shape model (design output data) to be processed and causes the clustering unit 32 to start the clustering process, the clustering unit 3
2 requests the designated design output data from the shape DB 26, and the shape DB 26 outputs the design output data to the clustering unit 32 in response to a request from the clustering unit 32.

【0131】図16は、拘束条件を変えた場合にクラス
タリング部32により生成されるクラスタ、および、生
成されたクラスタに従ってCAD部22(図2)が分割
処理を行うことにより生成されたメッシュを例示する図
である。ステップ702(S702)において、クラス
タリング部32は、図6〜13に示したクラスタリング
処理(図6におけるS20〜S60)を行う。
FIG. 16 illustrates a cluster generated by the clustering unit 32 when the constraint condition is changed, and a mesh generated by the CAD unit 22 (FIG. 2) performing a division process according to the generated cluster. FIG. In step 702 (S702), the clustering unit 32 performs the clustering processing shown in FIGS. 6 to 13 (S20 to S60 in FIG. 6).

【0132】例えば、図16に記号(a)を付して示す
ように、三次元形状の表面が、12個のフェース(面)
から構成されている場合、拘束条件が、第1および第2
のフェース(面;面1,2)が必ず同じクラスタに含ま
れなければならない旨を示している場合、図16に記号
(b)を付して示すように、これらのフェース(面;面
1,2)は、必ず同じクラスタの中に含められる。逆
に、拘束条件が、これらのフェース(面;面1,2)が
必ず異なるクラスタに含まれなければならない旨を示し
ている場合、図16に記号(d)を付して示すように、
これらのフェース(面;面1,2)は、必ず異なるクラ
スタの中に含められる。
For example, as shown by the symbol (a) in FIG. 16, the three-dimensional surface has twelve faces (faces).
, The constraint conditions are the first and second constraints.
16 indicate that the faces (surfaces; surfaces 1 and 2) must always be included in the same cluster, as shown by the symbol (b) in FIG. , 2) are always included in the same cluster. Conversely, if the constraint condition indicates that these faces (faces; faces 1 and 2) must always be included in different clusters, as shown by the symbol (d) in FIG.
These faces (planes; planes 1 and 2) are always included in different clusters.

【0133】ステップ704(S704;図15)にお
いて、表示・出力部28は、図4に示したようにクラス
タの色分け処理(S10)を行い、色分けしたクラスタ
を表示装置12に表示する。
In step 704 (S704; FIG. 15), the display / output unit 28 performs a cluster color classification process (S10) as shown in FIG. 4, and displays the color-coded cluster on the display device 12.

【0134】ステップ706(S706)において、C
AD部22は、未だメッシュの生成が行なわれていない
クラスタのいずれかを処理対象として選択する。
In step 706 (S706), C
The AD unit 22 selects any of the clusters for which mesh generation has not yet been performed as a processing target.

【0135】ステップ708(S708)において、C
AD部22は、S702の処理において得られたクラス
タごとに閉じた処理を行い、三次元形状の表面を複数の
多角形面(例えば、四角形面)に分割し、メッシュを作
成する。図16に記号(c)を付して示すように、例示
した2個のフェース(面;面1,2)が必ず同じクラス
タに含まれるべきことを示す拘束条件に従って生成され
たクラスタからは、S706の処理の結果として、これ
ら2個のフェース(面;面1,2)が共有する稜線が、
四角形面の境界として現れないメッシュが生成される。
In step 708 (S708), C
The AD unit 22 performs closed processing for each cluster obtained in the processing of S702, divides the surface of the three-dimensional shape into a plurality of polygonal surfaces (for example, quadrilateral surfaces), and creates a mesh. As shown by the symbol (c) in FIG. 16, from the cluster generated according to the constraint condition that the two exemplified faces (faces; faces 1 and 2) must be always included in the same cluster, As a result of the processing of S706, the ridge line shared by these two faces (faces; faces 1 and 2)
A mesh is generated that does not appear as a quadrilateral boundary.

【0136】逆に、図16に記号(e)を付して示すよ
うに、例示した2個のフェース(面;面1,2)が必ず
異なるクラスタに含まれるべきことを示す拘束条件に従
って生成されたクラスタからは、S706の処理の結果
として、これら2個のフェース(面;面1,2)が共有
する稜線が、四角形面の境界として現れるメッシュが生
成される。
Conversely, as shown by the symbol (e) in FIG. 16, the two faces (faces; faces 1 and 2) are generated in accordance with the constraint condition indicating that they must always be included in different clusters. From the clusters thus generated, as a result of the processing in S706, a mesh is generated in which the ridge line shared by these two faces (faces: faces 1 and 2) appears as a boundary of a quadrangular face.

【0137】ステップ710(S710)において、C
AD部22は、全てのクラスタについてメッシュの生成
が終了したか否かを判断し、終了した場合にはS110
の処理に進み、これ以外の場合にはS706の処理に戻
る。
In step 710 (S710), C
The AD unit 22 determines whether or not mesh generation has been completed for all clusters.
Otherwise, the process returns to S706.

【0138】ステップ712(S712)において、C
AD部22は、S706〜S710の処理において作成
したメッシュを表示装置12(図1)に表示し、あるい
は、出力装置16からプリントアウトする。
In step 712 (S712), C
The AD unit 22 displays the mesh created in the processing of S706 to S710 on the display device 12 (FIG. 1) or prints out the mesh from the output device 16.

【0139】[効果]以下、図17〜図25を参照し
て、CAD装置1(図1)(CADプログラム2(図
2))が実行する本発明にかかるクラスタリング処理の
効果をさらに説明する。図17〜図19は、本発明によ
るクラスタリング処理を行ってメッシュ生成する第1の
例を示す図であって、図17は、クラスタリング処理の
対象となる第1の三次元形状を例示し、図18は、図1
7に示した三次元形状に対してクラスタリング処理を行
った結果として得られたクラスタを例示し、図19は、
図18に示したクラスタを用いて作成したメッシュを例
示する。
[Effects] The effects of the clustering process according to the present invention executed by the CAD apparatus 1 (FIG. 1) (CAD program 2 (FIG. 2)) will be further described with reference to FIGS. 17 to 19 are diagrams showing a first example of generating a mesh by performing a clustering process according to the present invention, and FIG. 17 illustrates a first three-dimensional shape to be subjected to the clustering process. 18 is FIG.
FIG. 19 illustrates a cluster obtained as a result of performing a clustering process on the three-dimensional shape illustrated in FIG.
19 illustrates a mesh created using the cluster shown in FIG.

【0140】図20〜図22は、本発明によるクラスタ
リング処理を行ってメッシュ生成する第2の例を示す図
であって、図20は、クラスタリング処理の対象となる
第2の三次元形状を例示し、図21は、図20に示した
三次元形状に対してクラスタリング処理を行った結果と
して得られたクラスタを例示し、図22は、図21に示
したクラスタを用いて作成したメッシュを例示する。
FIGS. 20 to 22 are diagrams showing a second example of generating a mesh by performing the clustering process according to the present invention. FIG. 20 illustrates a second three-dimensional shape to be subjected to the clustering process. 21 illustrates a cluster obtained as a result of performing the clustering process on the three-dimensional shape illustrated in FIG. 20, and FIG. 22 illustrates a mesh created using the cluster illustrated in FIG. I do.

【0141】図23〜図25は、本発明によるクラスタ
リング処理を行ってメッシュ生成する第3の例を示す図
であって、図23は、クラスタリング処理の対象となる
第3の三次元形状を例示し、図24は、図23に示した
三次元形状に対してクラスタリング処理を行った結果と
して得られたクラスタを例示し、図25は、図24に示
したクラスタを用いて作成したメッシュを例示する。
FIGS. 23 to 25 show a third example of generating a mesh by performing the clustering process according to the present invention. FIG. 23 shows a third three-dimensional shape to be subjected to the clustering process. 24 illustrates a cluster obtained as a result of performing the clustering process on the three-dimensional shape illustrated in FIG. 23, and FIG. 25 illustrates a mesh created using the cluster illustrated in FIG. I do.

【0142】図17,20,23に例示した第1〜第3
の三次元形状の表面は、それぞれ数百〜数千のフェース
(面)から構成されており、これらの形状をそれぞれC
ADプログラム2によりクラスタリング処理すると、そ
れぞれ図18,21,24において、それぞれ異なる斜
線を付して示すようなクラスタリング結果を得ることが
できる。図18,21,24を参照して分かるように、
得られた各クラスタには、極端に細長く引き延ばされて
いる、四角形面(図19,23,25)に比べて非常に
小さい、あるいは、境界線に極端な鋭角があるといっ
た、メッシュ作成に悪影響を与えがちな形状が生じてい
ないことが分かる。
The first to third examples illustrated in FIGS.
The surface of the three-dimensional shape is composed of hundreds to thousands of faces (faces).
When the clustering process is performed by the AD program 2, clustering results can be obtained as indicated by different shaded lines in FIGS. 18, 21, and 24, respectively. As can be seen with reference to FIGS.
Each of the obtained clusters is used to create a mesh that is extremely elongated and elongated, is extremely small as compared with a quadrangular surface (FIGS. 19, 23, 25), or has an extremely sharp boundary line. It can be seen that there is no shape that tends to have an adverse effect.

【0143】さらに、図18,21,24に例示したク
ラスタリング結果を用いて、クラスタごとに閉じたメッ
シュ作成を行うと、生成される四角形面には、図19,
22,25を参照して分かるように、極端に細長く引き
延ばされた形状の四角形面や、極端な鋭角の頂点や、極
端な鈍角の頂点を有する四角形面は、非常に少ない数し
か含まれず、 図17,20,23に例示した第1〜第
3の三次元形状の表面が、良好な四角形面に分割されて
いることが分かる。本発明によりクラスタリング処理
し、クラスタに閉じたメッシュ作成を行うと、メッシュ
作成以前に既にフェース(面)が適切にグループ分けさ
れているので、三次元形状の表面を、このように良好な
四角形面に分割することができる。
Further, when meshes closed for each cluster are created by using the clustering results illustrated in FIGS. 18, 21, and 24, the generated quadrangular surface has
As can be seen with reference to Figures 22 and 25, a very small number of extremely elongated elongated quadrangular surfaces, extremely sharp vertices, or extremely obtuse rectangular surfaces are included. It can be seen that the surfaces of the first to third three-dimensional shapes exemplified in FIGS. 17, 20, and 23 are divided into good quadrangular surfaces. When the clustering process is performed according to the present invention to create a mesh closed to a cluster, the faces (faces) are already appropriately grouped before the mesh is created. Can be divided into

【0144】[変形例]以下、本発明にかかるCAD装
置1(CADプログラム2)の処理の変形例を説明す
る。
[Modification] A modification of the processing of the CAD apparatus 1 (CAD program 2) according to the present invention will be described below.

【0145】[拘束条件設定の任意性]設計者は、拘束
条件を設定するか否かを任意に決めることができ、設計
者が拘束条件の設定をしなかった場合、拘束条件作成部
30が拘束条件データを生成しないことは言うまでもな
い。
[Arbitraryness of Constraint Condition Setting] The designer can arbitrarily decide whether or not to set the constraint condition. If the designer does not set the constraint condition, the constraint condition creation unit 30 sets It goes without saying that no constraint data is generated.

【0146】[代表法線ベクトル]クラスタリング部3
2は、代表法線ベクトル求める際に、クラスタ(フェー
ス;面)内の法線ベクトルを積分して正規化するのでは
なく、クラスタ(フェース;面)の周囲の稜線上のいく
つかの法線ベクトルを用いて、法線ベクトルを近似的に
求めることも可能である。
[Representative Normal Vector] Clustering Unit 3
In calculating the representative normal vector, instead of integrating and normalizing the normal vector in the cluster (face; face), some normals on the ridge line around the cluster (face; face) are used. It is also possible to approximate the normal vector using the vector.

【0147】また、クラスタリング部32は、代表法線
ベクトルを、図9に示したS302の処理のような方法
で作成する他、クラスタあるいはフェース(面)それぞ
れの法線ベクトルの内、他のクラスタあるいはフェース
(面)の代表法線ベクトルと最も大きい角度をなす法線
ベクトルを、そのクラスタあるいはフェース(面)の代
表法線ベクトルとしてもよい。
The clustering unit 32 creates a representative normal vector by a method such as the processing of S302 shown in FIG. 9, and also generates another representative vector among the normal vectors of a cluster or a face (face). Alternatively, a normal vector that has the largest angle with the representative normal vector of the face (face) may be used as the cluster or the representative normal vector of the face (face).

【0148】[処理の組み合わせの任意性]クラスタリ
ング部32において、図5等に示した初期クラスタリン
グ処理(S20)〜最終併合処理(S60)の各処理の
内、初期クラスタリング処理と、その他の各処理の任意
の1つ以上とを、用途等に応じて任意に組み合わせ可能
とし、クラスタリング処理を行うようにしてもよい。
[Arbitraryness of Combination of Processes] In the clustering unit 32, of the initial clustering process (S20) to the final merging process (S60) shown in FIG. May be arbitrarily combined with any one or more according to the use or the like, and the clustering process may be performed.

【0149】[0149]

【発明の効果】以上説明したように、本発明にかかるク
ラスタリング処理装置およびその方法によれば、三次元
形状を構成する多数の面を、設計者の意図を反映しつ
つ、しかも、自動的に1つ以上の領域にグループ分けす
ることができる。また、本発明にかかるクラスタリング
処理装置およびその方法によれば、設計された三次元形
状を、具体化に適するように領域分けすることができ
る。
As described above, according to the clustering processing apparatus and method according to the present invention, a large number of surfaces constituting a three-dimensional shape can be automatically reflected while reflecting the intention of the designer. They can be grouped into one or more regions. Further, according to the clustering processing apparatus and method thereof according to the present invention, the designed three-dimensional shape can be divided into regions suitable for realization.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明にかかるクラスタリング処理を実現する
CAD(Computer Aided Design)装置の構成を示す図で
ある。
FIG. 1 is a diagram illustrating a configuration of a CAD (Computer Aided Design) apparatus that implements a clustering process according to the present invention.

【図2】本発明にかかるクラスタリング処理を応用した
CADプログラムの構成を示す図である。
FIG. 2 is a diagram showing a configuration of a CAD program to which a clustering process according to the present invention is applied.

【図3】(A)は、三次元形状を示すフェース(面)、
あるいは、フェース(面)をクラスタリング処理して得
られたクラスタの法線mを例示する図であり、(B)
は、(A)に示した曲面パッチまたはクラスタにおける
法線の変化の範囲(θ;振れ)を例示する図である。
FIG. 3A is a face showing a three-dimensional shape;
Alternatively, FIG. 9B is a diagram illustrating a normal m of a cluster obtained by performing a clustering process on a face, and FIG.
FIG. 6 is a diagram illustrating a range of change (θ; run-out) of a normal line in the curved surface patch or cluster shown in FIG.

【図4】図2に示した表示・出力によるクラスタの色分
け処理(S10)を示すフローチャートである。
FIG. 4 is a flowchart showing a cluster color classification process (S10) based on display and output shown in FIG. 2;

【図5】表示装置(図2)に表示され、拘束条件の入力
に用いられるGUI画像を例示する図である。
FIG. 5 is a diagram illustrating a GUI image displayed on the display device (FIG. 2) and used for input of a constraint condition.

【図6】図2に示したクラスタリング部におけるクラス
タリング処理(S1)を示すフローチャートである。
FIG. 6 is a flowchart illustrating a clustering process (S1) in the clustering unit illustrated in FIG. 2;

【図7】図6に示した初期クラスタリング処理(S2
0)を示す図である。
FIG. 7 shows an initial clustering process (S2) shown in FIG. 6;
FIG.

【図8】図6に示した初期クラスタリング処理(S2
0)、一次併合処理(S30)、微小クラスタ併合処理
(S40)、適正面積保証処理(S50)および最終併
合処理(S60)それぞれの結果として出力されるクラ
スタを例示する図である。
FIG. 8 shows an initial clustering process (S2) shown in FIG. 6;
0), a primary merging process (S30), a small cluster merging process (S40), an appropriate area guaranteeing process (S50), and a final merging process (S60).

【図9】図6に示した第一次併合処理(S30)を示す
フローチャートである。
FIG. 9 is a flowchart showing a primary merging process (S30) shown in FIG. 6;

【図10】隣接する2つのクラスタの枠線の共有率Ri
を例示する図である。
FIG. 10 shows the sharing ratio R i of the frame lines of two adjacent clusters.
FIG.

【図11】(A)は、隣接する2つのクラスタの枠線に
おける角度(接触角度)を定義する図であり、(B)
は、隣接する2つのクラスタの角度の平均値Φiを例示
する図である。
FIG. 11A is a diagram defining an angle (contact angle) of a frame line between two adjacent clusters, and FIG.
FIG. 5 is a diagram illustrating an average value Φ i of angles of two adjacent clusters.

【図12】図6に示した微小クラスタ併合処理(S4
0)を示すフローチャートである。
FIG. 12 shows a small cluster merging process (S4) shown in FIG. 6;
It is a flowchart which shows 0).

【図13】図6に示した適正面積保証処理(S50)を
示す図である。
FIG. 13 is a diagram showing an appropriate area guarantee process (S50) shown in FIG. 6;

【図14】図6に示した最終併合処理(S60)を示す
フローチャートである。
FIG. 14 is a flowchart showing a final merging process (S60) shown in FIG. 6;

【図15】図2に示したCADプログラムの全体処理
(S7)を示すフローチャートである。
FIG. 15 is a flowchart showing an entire process (S7) of the CAD program shown in FIG. 2;

【図16】拘束条件を変えた場合にクラスタリング部に
より生成されるクラスタ、および、生成されたクラスタ
に従ってCAD部(図2)が分割処理を行うことにより
生成されたメッシュを例示する図である。
16 is a diagram exemplifying a cluster generated by the clustering unit when the constraint condition is changed, and a mesh generated by the CAD unit (FIG. 2) performing a division process according to the generated cluster;

【図17】クラスタリング処理の対象となる第1の三次
元形状を例示する図である。
FIG. 17 is a diagram illustrating a first three-dimensional shape to be subjected to a clustering process;

【図18】図17に示した三次元形状に対してクラスタ
リング処理を行った結果として得られたクラスタを例示
する図である。
18 is a diagram illustrating a cluster obtained as a result of performing a clustering process on the three-dimensional shape illustrated in FIG. 17;

【図19】図18に示したクラスタを用いて作成したメ
ッシュを例示する。
FIG. 19 illustrates a mesh created using the cluster shown in FIG. 18;

【図20】クラスタリング処理の対象となる第2の三次
元形状を例示する図である。
FIG. 20 is a diagram illustrating a second three-dimensional shape to be subjected to a clustering process;

【図21】図20に示した三次元形状に対してクラスタ
リング処理を行った結果として得られたクラスタを例示
する図である。
FIG. 21 is a diagram illustrating a cluster obtained as a result of performing a clustering process on the three-dimensional shape illustrated in FIG. 20;

【図22】図21に示したクラスタを用いて作成したメ
ッシュを例示する。
FIG. 22 illustrates a mesh created using the cluster shown in FIG. 21;

【図23】クラスタリング処理の対象となる第3の三次
元形状を例示する図である。
FIG. 23 is a diagram illustrating a third three-dimensional shape to be subjected to clustering processing;

【図24】図23に示した三次元形状に対してクラスタ
リング処理を行った結果として得られたクラスタを例示
する図である。
FIG. 24 is a diagram illustrating a cluster obtained as a result of performing a clustering process on the three-dimensional shape shown in FIG. 23;

【図25】図24に示したクラスタを用いて作成したメ
ッシュを例示する。
FIG. 25 illustrates a mesh created using the cluster shown in FIG. 24;

【符号の説明】[Explanation of symbols]

1・・・CAD装置 10・・・CPU 12・・・表示装置 14・・・入力装置 140・・・タブレット 142・・・キーボード 144・・・マウス 16・・・出力装置 18・・・記憶装置 180・・・記録媒体 2・・・CADプログラム 20・・・入力部 22・・・CAD部 26・・・形状DB 28・・・表示・出力 3・・・クラスタリング処理部 30・・・拘束条件作成部 32・・・クラスタリング部 DESCRIPTION OF SYMBOLS 1 ... CAD device 10 ... CPU 12 ... Display device 14 ... Input device 140 ... Tablet 142 ... Keyboard 144 ... Mouse 16 ... Output device 18 ... Storage device 180 recording medium 2 CAD program 20 input unit 22 CAD unit 26 shape DB 28 display / output 3 clustering processing unit 30 constraint conditions Creation unit 32 ・ ・ ・ Clustering unit

フロントページの続き (72)発明者 井上 恵介 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 東京基礎研究所 内 (72)発明者 伊藤 貴之 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 東京基礎研究所 内 (72)発明者 山田 敦 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 東京基礎研究所 内 (72)発明者 古畑 智武 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 東京基礎研究所 内 Fターム(参考) 5B046 CA04 FA18 GA01 GA02 GA04 5B050 BA07 CA04 EA28 FA06 5B080 AA13 AA19 Continued on the front page (72) Inventor Keisuke Inoue 1623-14 Shimotsuruma, Yamato-shi, Kanagawa Prefecture Inside the Tokyo Research Laboratory, IBM Japan, Ltd. (72) Takayuki Ito 1623-14, Shimotsuruma, Yamato-shi, Kanagawa Prefecture IBM Japan, Ltd.Tokyo Basic Research Laboratory (72) Inventor Atsushi Yamada 1623-14 Shimotsuruma, Yamato-shi, Kanagawa Prefecture IBM Japan, Ltd.Tokyo Basic Research Laboratory (72) Inventor Furuhata Tomotake 1623-14 Shimotsurumama, Yamato-shi, Kanagawa Japan F-term (reference) 5B046 CA04 FA18 GA01 GA02 GA04 5B050 BA07 CA04 EA28 FA06 5B080 AA13 AA19

Claims (15)

【特許請求の範囲】[Claims] 【請求項1】空間中の複数の面を、それぞれ1個以上の
前記面を含む1個以上の集合(クラスタ)に分ける処理
(クラスタリング処理)を行うクラスタリング処理装置
であって、 前記クラスタリング処理の方法を拘束する条件を示す拘
束条件に基づいて、前記複数の面をクラスタリングし
て、それぞれ1個以上の前記面を含む初期クラスタを1
個以上、生成する初期クラスタリング手段と、 前記拘束条件と、隣接する複数の前記初期クラスタ相互
の関係とに基づいて、隣接する複数の前記初期クラスタ
同士を併合し、それぞれ1個以上の前記初期クラスタを
含む併合クラスタを0個以上、生成するクラスタ併合手
段とを有するクラスタリング処理装置。
1. A clustering processing apparatus for performing a process (clustering process) of dividing a plurality of surfaces in a space into one or more sets (clusters) each including one or more of the surfaces. The plurality of surfaces are clustered based on a constraint condition indicating a condition for constraining the method, and an initial cluster including one or more surfaces is defined as one cluster.
The plurality of initial clusters are merged based on the constraint condition and the relationship between the plurality of adjacent initial clusters, and one or more of the initial clusters are merged. And a cluster merging unit that generates zero or more merged clusters including:
【請求項2】前記拘束条件は、いずれの前記面同士が同
じクラスタにクラスタリングされなければならないか
と、いずれの前記面同士が同じクラスタにクラスタリン
グされてはならないかとを示し、 前記初期クラスタリング手段は、前記拘束条件を満たす
ように、同じクラスタにクラスタリングされなければな
らない前記面(第1の面)同士を、同じクラスタに含め
るようにクラスタリングし、同じクラスタにクラスタリ
ングされてはならない前記面(第2の面)同士を、同じ
クラスタ以外のクラスタに含めるようにクラスタリング
し、 前記クラスタ併合手段は、併合の対象とされる前記初期
クラスタの間の条件を示す併合条件を満たす前記初期ク
ラスタ同士の内、前記拘束条件を満たすように、対応す
る前記第2の面をそれぞれ含む前記初期クラスタ同士以
外を併合する請求項1に記載のクラスタリング処理装
置。
2. The constraint condition indicates which of the faces must be clustered in the same cluster and which of the faces must not be clustered in the same cluster. The initial clustering means includes: The faces (first faces) that must be clustered in the same cluster are clustered so as to be included in the same cluster so as to satisfy the constraint condition, and the faces (second faces) that are not to be clustered in the same cluster are clustered. Planes) are clustered so as to be included in clusters other than the same cluster, and the cluster merging unit includes the clusters among the initial clusters satisfying a merging condition indicating a condition between the initial clusters to be merged. Including the corresponding second surface so as to satisfy a constraint condition, Clustering processing apparatus according to claim 1 for merging the other period cluster together.
【請求項3】前記クラスタ併合手段は、 前記拘束条件と前記併合条件とを満たすように前記初期
クラスタ同士を併合して、併合クラスタ0個以上を生成
する第1のクラスタ併合手段と、 生成された前記併合クラスタおよび前記初期クラスタの
内、これらのクラスタの面積の条件を示す第1の面積条
件の範囲外のクラスタ(第1の範囲外クラスタ)を、こ
の第1の範囲外クラスタに隣接し、所定の第1の併合条
件を満たす前記併合クラスタまたは前記初期クラスタ
に、前記拘束条件とを満たすように併合し、新たな併合
クラスタ0個以上を生成する第2のクラスタ併合手段と
を有する請求項2に記載のクラスタリング処理装置。
3. The first cluster merging means for merging the initial clusters so as to satisfy the constraint condition and the merging condition to generate zero or more merged clusters. Among the merged clusters and the initial clusters, a cluster (a first out-of-range cluster) outside the range of a first area condition indicating an area condition of these clusters is adjacent to the first out-of-range cluster. And a second cluster merging unit that merges with the merged cluster or the initial cluster that satisfies a predetermined first merging condition so as to satisfy the constraint condition and generates zero or more new merged clusters. Item 3. A clustering processing device according to Item 2.
【請求項4】前記併合条件は、併合の対象となる前記初
期クラスタの間の連続性と、併合の後の前記併合クラス
タの周囲の形状の滑らかさの条件とを示し、 前記第1のクラスタ併合手段は、前記併合条件を満たす
前記初期クラスタ同士を、前記拘束条件を満たすように
併合し、併合クラスタ0個以上を生成する請求項3に記
載のクラスタリング処理装置。
4. The merging condition indicates continuity between the initial clusters to be merged and a condition of smoothness of a shape around the merging cluster after merging, wherein the first cluster The clustering processing device according to claim 3, wherein the merging unit merges the initial clusters satisfying the merging condition so as to satisfy the constraint condition, and generates zero or more merged clusters.
【請求項5】前記第1の併合条件は、前記第1の範囲外
クラスタと、この第1の範囲外クラスタに隣接する前記
初期クラスタまたは前記併合クラスタとを併合した場合
に得られるクラスタの周囲の形状の滑らかさの条件を示
し、 前記第2のクラスタ併合手段は、前記第1の範囲外クラ
スタと、この第1の範囲外クラスタとの間で前記第1の
併合条件を満たす前記初期クラスタまたは前記併合クラ
スタとを、前記拘束条件を満たすように併合する請求項
3に記載のクラスタリング処理装置。
5. A method according to claim 1, wherein the first merging condition is a cluster surrounding a cluster obtained when the first out-of-range cluster and the initial cluster or the merged cluster adjacent to the first out-of-range cluster are merged. The second cluster merging means, wherein the initial cluster satisfying the first merging condition between the first out-of-range cluster and the first out-of-range cluster 4. The clustering processing device according to claim 3, wherein the merging cluster is merged so as to satisfy the constraint condition.
【請求項6】前記面の属性に基づいて、前記初期クラス
タおよび前記併合クラスタの面積の条件を示す第2の面
積条件を作成する面積条件作成手段と、 前記初期クラスタおよび前記併合クラスタの内、算出さ
れた前記第2の面積条件の範囲外のクラスタ(第2の範
囲外クラスタ)を、この第2の範囲外クラスタに隣接
し、所定の第2の併合条件を満たす前記初期クラスタま
たは前記併合クラスタに、前記拘束条件とを満たすよう
に併合し、新たな併合クラスタ0個以上を生成する第3
のクラスタ併合手段とをさらに有する請求項5に記載の
クラスタリング処理装置。
6. An area condition creating means for creating a second area condition indicating an area condition of the initial cluster and the merged cluster based on the attribute of the surface; A cluster outside the range of the calculated second area condition (a cluster outside the second range) is adjacent to the cluster outside the second range, and the initial cluster or the merger that satisfies a predetermined second merge condition. A third cluster in which clusters are merged so as to satisfy the constraint condition and zero or more new merged clusters are generated;
The clustering processing apparatus according to claim 5, further comprising: a cluster merging unit.
【請求項7】前記面積条件作成手段は、前記面の属性の
内、全ての前記面の面積および向きに基づいて、前記第
2の面積条件を作成する請求項6に記載のクラスタリン
グ処理装置。
7. The clustering processing apparatus according to claim 6, wherein said area condition creating means creates said second area condition based on the areas and orientations of all of said surfaces among said surface attributes.
【請求項8】前記第2の併合条件は、前記第2の範囲外
クラスタと、この第1の範囲外クラスタに隣接する前記
初期クラスタまたは前記併合クラスタとを併合した場合
に得られるクラスタの周囲の形状の滑らかさと向きとの
条件を示し、 前記第3のクラスタ併合手段は、前記第2の範囲外クラ
スタと、この第1の範囲外クラスタとの間で前記第2の
併合条件を満たす前記初期クラスタまたは前記併合クラ
スタとを、前記拘束条件を満たすように併合する請求項
6または7に記載のクラスタリング処理装置。
8. The second merging condition is defined as: a cluster surrounding the cluster obtained when the second out-of-range cluster and the initial cluster or the merged cluster adjacent to the first out-of-range cluster are merged. The third cluster merging means satisfies the second merging condition between the second out-of-range cluster and the first out-of-range cluster. 8. The clustering processing device according to claim 6, wherein an initial cluster or the merged cluster is merged so as to satisfy the constraint condition.
【請求項9】隣接する前記初期クラスタまたは前記第1
〜第3のクラスタ同士が、所定の第3の併合条件を満た
す場合に、隣接する前記初期クラスタまたは前記第1〜
第3のクラスタ同士を併合する第4のクラスタ併合手段
をさらに有する請求項6〜8のいずれかに記載のクラス
タリング処理装置。
9. The method according to claim 1, wherein the initial cluster or the first
When the third cluster satisfies a predetermined third merge condition, the adjacent initial cluster or the first to third clusters
The clustering processing device according to claim 6, further comprising a fourth cluster merging unit that merges the third clusters.
【請求項10】前記第3の併合条件は、隣接する前記初
期クラスタまたは前記第1〜第3のクラスタの向きと、
これらのクラスタを併合した場合に得られる前記併合ク
ラスタの周囲の形状の滑らかさとの条件を示し、 前記第4のクラスタ併合手段は、前記第4の併合条件を
満たす前記初期クラスタまたは前記第1〜第3のクラス
タ同士を、前記拘束条件を満たすように併合する請求項
9に記載のクラスタリング処理装置。
10. The third merging condition includes: an orientation of the adjacent initial cluster or the first to third clusters;
The condition of the smoothness of the shape around the merged cluster obtained when these clusters are merged is shown, wherein the fourth cluster merging means is the first cluster or the first to the first cluster satisfying the fourth merge condition. The clustering processing apparatus according to claim 9, wherein the third clusters are merged so as to satisfy the constraint condition.
【請求項11】空間中の複数の面を、それぞれ1個以上
の前記面を含む1個以上の集合(クラスタ)に分ける処
理(クラスタリング処理)を行うクラスタリング処理装
置であって、 前記複数の面を分けて初期クラスタ1個以上を生成する
初期クラスタ生成手段と、 所定の併合条件とを満たすように、生成された前記初期
クラスタ同士を併合して、併合クラスタ0個以上を生成
するクラスタ併合手段とを有するクラスタリング処理装
置。
11. A clustering processing apparatus for performing a process (clustering process) of dividing a plurality of surfaces in a space into one or more sets (clusters) each including one or more of the surfaces, wherein: Cluster generating means for generating one or more initial clusters by dividing the generated initial clusters, and cluster merging means for merging the generated initial clusters and generating zero or more merged clusters so as to satisfy a predetermined merging condition And a clustering processing device.
【請求項12】空間中の複数の面を、それぞれ1個以上
の前記面を含む1個以上の集合(クラスタ)に分ける処
理(クラスタリング処理)を行うクラスタリング処理方
法であって、 前記クラスタリング処理の方法を拘束する条件を示す拘
束条件に基づいて、前記複数の面をクラスタリングし
て、それぞれ1個以上の前記面を含む初期クラスタを1
個以上、生成し、 前記拘束条件と、隣接する複数の前記初期クラスタ相互
の関係とに基づいて、隣接する複数の前記初期クラスタ
同士を併合し、それぞれ1個以上の前記初期クラスタを
含む併合クラスタを0個以上、生成するクラスタリング
処理方法。
12. A clustering processing method for performing a process (clustering process) of dividing a plurality of surfaces in a space into one or more sets (clusters) each including one or more of the surfaces. The plurality of faces are clustered based on a constraint condition indicating a constraint condition of the method, and an initial cluster including at least one of the faces is defined as one cluster.
A plurality of adjacent initial clusters are merged based on the constraint condition and the relationship between the plurality of adjacent initial clusters, and a merged cluster including one or more initial clusters Clustering processing method for generating zero or more.
【請求項13】前記拘束条件は、いずれの前記面同士が
同じクラスタにクラスタリングされなければならないか
と、いずれの前記面同士が同じクラスタにクラスタリン
グされてはならないかとを示し、 前記拘束条件を満たすように、同じクラスタにクラスタ
リングされなければならない前記面(第1の面)同士
を、同じクラスタに含めるようにクラスタリングし、同
じクラスタにクラスタリングされてはならない前記面
(第2の面)同士を、同じクラスタ以外のクラスタに含
めるようにクラスタリングし、 併合の対象とされる前記初期クラスタの間の条件を示す
併合条件を満たす前記初期クラスタ同士の内、前記拘束
条件を満たすように、対応する前記第2の面をそれぞれ
含む前記初期クラスタ同士以外を併合する請求項11に
記載のクラスタリング処理方法。
13. The constraint condition indicates which of the faces must be clustered in the same cluster and which of the faces must not be clustered in the same cluster. In addition, the surfaces (first surfaces) that must be clustered in the same cluster are clustered so as to be included in the same cluster, and the surfaces (second surfaces) that must not be clustered in the same cluster are the same. Clustering is performed so as to be included in a cluster other than the cluster, and among the initial clusters satisfying a merging condition indicating a condition between the initial clusters to be merged, a corresponding second one is satisfied so as to satisfy the constraint condition. 12. The cluster according to claim 11, wherein other than the initial clusters including the respective surfaces are merged. Taringu processing method.
【請求項14】空間中の複数の面を、それぞれ1個以上
の前記面を含む1個以上の集合(クラスタ)に分ける処
理(クラスタリング処理)を行うプログラムであって、 前記クラスタリング処理の方法を拘束する条件を示す拘
束条件に基づいて、前記複数の面をクラスタリングし
て、それぞれ1個以上の前記面を含む初期クラスタを1
個以上、生成する初期クラスタリングステップと、 前記拘束条件と、隣接する複数の前記初期クラスタ相互
の関係とに基づいて、隣接する複数の前記初期クラスタ
同士を併合し、それぞれ1個以上の前記初期クラスタを
含む併合クラスタを0個以上、生成するクラスタ併合ス
テップを含むプログラムを媒介する媒体。
14. A program for performing a process (clustering process) of dividing a plurality of surfaces in a space into one or more sets (clusters) each including one or more of the surfaces. The plurality of surfaces are clustered based on a constraint condition indicating a constraint condition, and an initial cluster including one or more of the surfaces is defined as one cluster.
The plurality of initial clusters are merged based on the initial clustering step to be generated, the constraint condition, and the relationship between the plurality of adjacent initial clusters. A medium for mediating a program including a cluster merging step of generating zero or more merged clusters including:
【請求項15】前記拘束条件は、いずれの前記面同士が
同じクラスタにクラスタリングされなければならないか
と、いずれの前記面同士が同じクラスタにクラスタリン
グされてはならないかとを示し、 前記初期クラスタリングステップにおいて、前記拘束条
件を満たすように、同じクラスタにクラスタリングされ
なければならない前記面(第1の面)同士を、同じクラ
スタに含めるようにクラスタリングし、同じクラスタに
クラスタリングされてはならない前記面(第2の面)同
士を、同じクラスタ以外のクラスタに含めるようにクラ
スタリングする処理と、 前記クラスタ併合ステップにおいて、併合の対象とされ
る前記初期クラスタの間の条件を示す併合条件を満たす
前記初期クラスタ同士の内、前記拘束条件を満たすよう
に、対応する前記第2の面をそれぞれ含む前記初期クラ
スタ同士以外を併合する処理とを行うプログラムを媒介
する請求項13に記載の媒体。
15. The constraint condition indicates which of the faces must be clustered in the same cluster and which of the faces must not be clustered in the same cluster. In the initial clustering step, The faces (first faces) that must be clustered in the same cluster are clustered so as to be included in the same cluster so as to satisfy the constraint condition, and the faces (second faces) that are not to be clustered in the same cluster are clustered. Surface), and clustering so that they are included in clusters other than the same cluster; and in the cluster merging step, the initial clusters satisfying a merging condition indicating a condition between the initial clusters to be merged. , So as to satisfy the constraint condition. Medium of claim 13, which mediates the program and a process of merging other than the initial clusters to each other including a serial second surface, respectively.
JP19130899A 1999-07-06 1999-07-06 Clustering processing apparatus and method Expired - Fee Related JP3342678B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP19130899A JP3342678B2 (en) 1999-07-06 1999-07-06 Clustering processing apparatus and method
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 (en) 1999-07-06 1999-07-06 Clustering processing apparatus and method

Publications (2)

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

Family

ID=16272410

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19130899A Expired - Fee Related JP3342678B2 (en) 1999-07-06 1999-07-06 Clustering processing apparatus and method

Country Status (2)

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

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010147584A (en) * 2008-12-16 2010-07-01 Noritsu Koki Co Ltd Image layout setting method and image layout setting device
KR20120098976A (en) * 2009-06-23 2012-09-06 톰슨 라이센싱 Compression of 3d meshes with repeated patterns
US9214042B2 (en) 2010-01-25 2015-12-15 Thomson Licensing Method for encoding normals of a 3D mesh model, method for decoding normals of a 3D mesh model, encoder and decoder
US9245355B2 (en) 2009-06-10 2016-01-26 Thomson Licensing Method for encoding/decoding a 3D mesh model that comprises one or more components
KR20190026561A (en) * 2017-09-05 2019-03-13 한국전자통신연구원 Method for detecting and correcting error of mesh and apparatus for the same
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

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010147584A (en) * 2008-12-16 2010-07-01 Noritsu Koki Co Ltd Image layout setting method and image layout setting device
US9245355B2 (en) 2009-06-10 2016-01-26 Thomson Licensing Method for encoding/decoding a 3D mesh model that comprises one or more components
KR20120098976A (en) * 2009-06-23 2012-09-06 톰슨 라이센싱 Compression of 3d meshes with repeated patterns
JP2012530990A (en) * 2009-06-23 2012-12-06 トムソン ライセンシング 3D mesh compression method using repetitive patterns
KR101715962B1 (en) 2009-06-23 2017-03-13 톰슨 라이센싱 Compression of 3d meshes with repeated patterns
US9214042B2 (en) 2010-01-25 2015-12-15 Thomson Licensing Method for encoding normals of a 3D mesh model, method for decoding normals of a 3D mesh model, encoder and decoder
KR20190026561A (en) * 2017-09-05 2019-03-13 한국전자통신연구원 Method for detecting and correcting error of mesh and apparatus for the same
KR102125973B1 (en) * 2017-09-05 2020-06-23 한국전자통신연구원 Method for detecting and correcting error of mesh and apparatus for the same
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

Also Published As

Publication number Publication date
GB2355089A (en) 2001-04-11
GB2355089B (en) 2003-11-05
GB0015029D0 (en) 2000-08-09
JP3342678B2 (en) 2002-11-11

Similar Documents

Publication Publication Date Title
JP7265639B2 (en) Point cloud merging method that identifies and retains preferred points
JP4509789B2 (en) Computer readable model
CN102073499B (en) The method and system of design object assembly in computer aided design system
CN102053829B (en) For the method and system of design object assembly in computer aided design system
JP6196032B2 (en) Generation of surfaces from multiple 3D curves
EP1710720B1 (en) Method of computer-aided design of a modeled object having several faces
EP3371782B1 (en) Technique for extruding a 3d object into a plane
JP6721333B2 (en) Selecting a perspective for a set of objects
JP2005182547A (en) Drawing processing apparatus, drawing processing method, and drawing processing program
JP2007334820A (en) Image processor of three-dimensional model
US20050151755A1 (en) Display priority for 2D CAD documents
US6867771B2 (en) Controlled face dragging in solid models
JP3342678B2 (en) Clustering processing apparatus and method
KR101769013B1 (en) Visualization method for 3-dimension model using 3-dimension object model merging based on space tile
US20180018818A1 (en) Method for Immediate Boolean Operations Using Geometric Facets
US7289117B2 (en) Process for providing a vector image with removed hidden lines
EP1230587A1 (en) Data visualization
US20070146359A1 (en) CAD apparatus, CAD method and recording medium storing CAD program thereof
US11776207B2 (en) Three-dimensional shape data processing apparatus and non-transitory computer readable medium
JP7271837B2 (en) Building space design support device, building space design support method, and building space design support program
US20040164982A1 (en) Method and apparatus for editing three-dimensional model, and computer readable medium
JP2021033375A (en) Apparatus for editing three-dimensional shape data and program for editing three-dimensional shape data
JP3643237B2 (en) Approximate polygon surface smoothing method
KR101955421B1 (en) Visualization method and apparatus for multi-dimensional data
JP7455546B2 (en) Image processing device, image processing method, and program

Legal Events

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