JP2000067272A - 四角形メッシュ生成方法及び装置 - Google Patents
四角形メッシュ生成方法及び装置Info
- Publication number
- JP2000067272A JP2000067272A JP11226419A JP22641999A JP2000067272A JP 2000067272 A JP2000067272 A JP 2000067272A JP 11226419 A JP11226419 A JP 11226419A JP 22641999 A JP22641999 A JP 22641999A JP 2000067272 A JP2000067272 A JP 2000067272A
- Authority
- JP
- Japan
- Prior art keywords
- candidate
- quadrilateral
- triangular
- value
- elements
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite 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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Electronic Switches (AREA)
- Collating Specific Patterns (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
Abstract
(57)【要約】
【課題】三角形メッシュから四角形メッシュを生成する
こと。 【解決手段】隣接する三角形要素の対により生成される
各候補四角形要素(隣接三角形要素ペアとも言う)につ
いて、当該候補四角形要素とユーザにより指定される、
四角形要素の整列方向との関係を表す第1評価値及び当
該候補四角形要素の形状に関する第2評価値を計算する
ステップと、第1及び第2評価値を用いて、候補四角形
要素のうち四角形メッシュの要素として使用する候補四
角形要素を選択する選択ステップとを含む。さらに、候
補四角形要素を構成するいずれかの三角形要素にとって
対となる三角形要素が他にない場合に第1の値をとり、
他にある場合に第2の値をとる第3評価値を、各候補四
角形要素について計算するステップをさらに含むように
して、選択ステップにおいてこの第3評価値が第1の値
である候補四角形要素を四角形要素として選択する優先
順位を上げるようにすることも可能である。
こと。 【解決手段】隣接する三角形要素の対により生成される
各候補四角形要素(隣接三角形要素ペアとも言う)につ
いて、当該候補四角形要素とユーザにより指定される、
四角形要素の整列方向との関係を表す第1評価値及び当
該候補四角形要素の形状に関する第2評価値を計算する
ステップと、第1及び第2評価値を用いて、候補四角形
要素のうち四角形メッシュの要素として使用する候補四
角形要素を選択する選択ステップとを含む。さらに、候
補四角形要素を構成するいずれかの三角形要素にとって
対となる三角形要素が他にない場合に第1の値をとり、
他にある場合に第2の値をとる第3評価値を、各候補四
角形要素について計算するステップをさらに含むように
して、選択ステップにおいてこの第3評価値が第1の値
である候補四角形要素を四角形要素として選択する優先
順位を上げるようにすることも可能である。
Description
【0001】
【発明の属する技術分野】本発明は、メッシング方法に
関し、より詳しくは、三角形メッシュから四角形メッシ
ュを生成する方法に関する。
関し、より詳しくは、三角形メッシュから四角形メッシ
ュを生成する方法に関する。
【0002】
【従来の技術】メッシング又はメッシュ生成とは、CA
D等で生成された形状を小さな要素の集合に分割する処
理である。二次元メッシュには主に三角形メッシュと四
角形メッシュがあるが、車の衝突解析等に代表される計
算機シミュレーションでは、三角形メッシュでは信頼性
のある解が得られない。このため、四角形メッシュが用
いられることが多い。ところが、三角形メッシュの自動
生成については、例えば、特開平7−230487号、
特開平8−315183号に記載されたバブルメッシュ
法等の技術が確立しているのに対し、四角形メッシュの
自動生成は実用に耐えるようなものが少ない。よって、
多くの解析者は、例えば車一台のCADデータに数カ月
といった膨大な手作業を伴う手法を用いて四角形メッシ
ュを生成している。
D等で生成された形状を小さな要素の集合に分割する処
理である。二次元メッシュには主に三角形メッシュと四
角形メッシュがあるが、車の衝突解析等に代表される計
算機シミュレーションでは、三角形メッシュでは信頼性
のある解が得られない。このため、四角形メッシュが用
いられることが多い。ところが、三角形メッシュの自動
生成については、例えば、特開平7−230487号、
特開平8−315183号に記載されたバブルメッシュ
法等の技術が確立しているのに対し、四角形メッシュの
自動生成は実用に耐えるようなものが少ない。よって、
多くの解析者は、例えば車一台のCADデータに数カ月
といった膨大な手作業を伴う手法を用いて四角形メッシ
ュを生成している。
【0003】このように四角形メッシュの自動生成手法
の需要は大きいが、自動生成のみが要求ではなく、以下
のような要求にも応じられることが望まれている。 (1)生成される四角形要素の歪みが少ないこと 計算力学による解析では、極端に細長い要素や、角度の
極端に大きい(又は小さい)角を持つ要素は、解析結果
に悪影響を及ぼす。よって、理想的には、全ての四角形
要素の形状は正方形に近いことが望ましい。 (2)生成される四角形要素の整列方向が制御できるこ
と 計算力学による解析では、応力などの方向、又は形状領
域の境界の方向等に要素が整列していることが望ましい
場合が多い。よって、利用者が指定する整列方向に沿っ
て、多くの要素がその方向に規則的に整列したメッシュ
が生成されることが望ましい。 (3)要素の大きさの分布が制御できること 重要な部分には細かいメッシュ要素を、そうでない部分
には粗いメッシュ要素を生成することが計算量低減の観
点から望ましい。但し、いきなりメッシュ要素の大きさ
を変えると、T構造(隣接要素の節点が弦の上に載る状
態)が生じ、解析に悪影響を及ぼす。よって、各要素の
接続は互いの共有する節点+弦で行われることを保証し
たまま、メッシュ要素の大きさに分布を与えることが重
要である。 (4)複雑な曲面形状を対象とできること CAD等で設計される形状には、曲面領域の一部分を切
除して得られるトリム曲面や、非常に曲がりくねった曲
面形状等、様々な曲面がある。このような曲面形状にお
いても、自動的に四角形メッシュを生成できることが望
ましい。
の需要は大きいが、自動生成のみが要求ではなく、以下
のような要求にも応じられることが望まれている。 (1)生成される四角形要素の歪みが少ないこと 計算力学による解析では、極端に細長い要素や、角度の
極端に大きい(又は小さい)角を持つ要素は、解析結果
に悪影響を及ぼす。よって、理想的には、全ての四角形
要素の形状は正方形に近いことが望ましい。 (2)生成される四角形要素の整列方向が制御できるこ
と 計算力学による解析では、応力などの方向、又は形状領
域の境界の方向等に要素が整列していることが望ましい
場合が多い。よって、利用者が指定する整列方向に沿っ
て、多くの要素がその方向に規則的に整列したメッシュ
が生成されることが望ましい。 (3)要素の大きさの分布が制御できること 重要な部分には細かいメッシュ要素を、そうでない部分
には粗いメッシュ要素を生成することが計算量低減の観
点から望ましい。但し、いきなりメッシュ要素の大きさ
を変えると、T構造(隣接要素の節点が弦の上に載る状
態)が生じ、解析に悪影響を及ぼす。よって、各要素の
接続は互いの共有する節点+弦で行われることを保証し
たまま、メッシュ要素の大きさに分布を与えることが重
要である。 (4)複雑な曲面形状を対象とできること CAD等で設計される形状には、曲面領域の一部分を切
除して得られるトリム曲面や、非常に曲がりくねった曲
面形状等、様々な曲面がある。このような曲面形状にお
いても、自動的に四角形メッシュを生成できることが望
ましい。
【0004】以上のような要件を満たすようなメッシュ
を生成するために必要な技術としては、メッシュ・ノー
ド生成技術と、三角形メッシュから四角形メッシュへの
変換技術がある。
を生成するために必要な技術としては、メッシュ・ノー
ド生成技術と、三角形メッシュから四角形メッシュへの
変換技術がある。
【0005】従来において、四角形メッシュ生成のため
のメッシュ・ノード生成技術には以下のようなものがあ
った。バブルメッシュ技術の一種で、球状物体に対し
て、中心点のまわりに十字型に配列した、4つのポテン
シャル極小点を設け、周囲の球状物体に対してポテンシ
ャル極小点の方向に引力を持たせて、力学シュミレーシ
ョンによりメッシングすべき物体に球状物体を充填し、
球状物体の中心点をノードとする方法(伊藤、山田、井
上、嶋田、古畑、「平方充填バブルメッシュ法を用いた
自動四角メッシュ生成」情報処理グラフィクスとCAD
研究報告 96−CG−87 pp7-12, 1997 参照) 上の方法では隣接する球状物体が偶発的に2個のポテン
シャル極小点の中間点に位置する時ポテンシャル極小点
への引力が平衡状態になってしまい、最適な位置に移動
できないまま固定してしまうという欠点がある。また、
これらの方法は球状物体(円又は球バブル)を用いてい
る。
のメッシュ・ノード生成技術には以下のようなものがあ
った。バブルメッシュ技術の一種で、球状物体に対し
て、中心点のまわりに十字型に配列した、4つのポテン
シャル極小点を設け、周囲の球状物体に対してポテンシ
ャル極小点の方向に引力を持たせて、力学シュミレーシ
ョンによりメッシングすべき物体に球状物体を充填し、
球状物体の中心点をノードとする方法(伊藤、山田、井
上、嶋田、古畑、「平方充填バブルメッシュ法を用いた
自動四角メッシュ生成」情報処理グラフィクスとCAD
研究報告 96−CG−87 pp7-12, 1997 参照) 上の方法では隣接する球状物体が偶発的に2個のポテン
シャル極小点の中間点に位置する時ポテンシャル極小点
への引力が平衡状態になってしまい、最適な位置に移動
できないまま固定してしまうという欠点がある。また、
これらの方法は球状物体(円又は球バブル)を用いてい
る。
【0006】また、三角形メッシュから四角形メッシュ
への変換技術では、隣接三角形要素のペアに対して、あ
る順序に従って三角形要素の共有辺を除去して、1個の
四角形要素に変換する。この処理を終えた時には三角形
要素の大半は四角形要素に変換され、少数の三角形要素
及び四角形要素を含む四角メッシュが生成される。な
お、四角形要素のみで構成される四角形メッシュが必要
である場合には、三角形要素及び四角形要素を要素サイ
ズが半分である四角形要素に変換する手法を用いる(参
考文献1:Shimada K,. and Itoh T., Automated Conve
rsion of 2D Triangular Mesh into Quadrilateral Mes
h, International Conference on Computational Engin
eering Science '95 Proceedings, pp. 350-355, 199
5)。この変換において生成される四角形メッシュの品
質は隣接三角形要素のペアを変換する順序によって決定
される。従来の手法において、隣接三角形要素のペアを
変換する順序は、大きく以下の3種類に分類される。
への変換技術では、隣接三角形要素のペアに対して、あ
る順序に従って三角形要素の共有辺を除去して、1個の
四角形要素に変換する。この処理を終えた時には三角形
要素の大半は四角形要素に変換され、少数の三角形要素
及び四角形要素を含む四角メッシュが生成される。な
お、四角形要素のみで構成される四角形メッシュが必要
である場合には、三角形要素及び四角形要素を要素サイ
ズが半分である四角形要素に変換する手法を用いる(参
考文献1:Shimada K,. and Itoh T., Automated Conve
rsion of 2D Triangular Mesh into Quadrilateral Mes
h, International Conference on Computational Engin
eering Science '95 Proceedings, pp. 350-355, 199
5)。この変換において生成される四角形メッシュの品
質は隣接三角形要素のペアを変換する順序によって決定
される。従来の手法において、隣接三角形要素のペアを
変換する順序は、大きく以下の3種類に分類される。
【0007】(1)すべての隣接三角形要素ペアの中か
ら、正方形に近い良質な四角形ができるペアから順に四
角形要素に変換する手法(Lo S.H., Generating Quadri
lateral Elements on Plane and Over Curved Surface
s, Computer and Structures, Vol.31,No.3,pp.421-42
6,1989,又は Borouochaki H., Frey P. J., and George
P.L., Unstructured Triangle-Quadrilateral Mesh Ge
neration. Application toSurface Meshing, Proceedin
gs of 5th International Meshing Roundtable, pp.299
-242, 1996 を参照のこと)。幾何学的な規則性の向上
(より正方形に近い四角形要素を生成する)については
考慮が図られているが、整列方向の制御(指定された整
列方向となす角が小さい辺で構成される四角形要素を生
成する)及び位相的な規則性の向上(孤立三角形要素を
減らし、できるだけ多くの三角形要素を四角形要素に変
換する)という観点は考慮されていない。
ら、正方形に近い良質な四角形ができるペアから順に四
角形要素に変換する手法(Lo S.H., Generating Quadri
lateral Elements on Plane and Over Curved Surface
s, Computer and Structures, Vol.31,No.3,pp.421-42
6,1989,又は Borouochaki H., Frey P. J., and George
P.L., Unstructured Triangle-Quadrilateral Mesh Ge
neration. Application toSurface Meshing, Proceedin
gs of 5th International Meshing Roundtable, pp.299
-242, 1996 を参照のこと)。幾何学的な規則性の向上
(より正方形に近い四角形要素を生成する)については
考慮が図られているが、整列方向の制御(指定された整
列方向となす角が小さい辺で構成される四角形要素を生
成する)及び位相的な規則性の向上(孤立三角形要素を
減らし、できるだけ多くの三角形要素を四角形要素に変
換する)という観点は考慮されていない。
【0008】(2)それぞれの三角形要素に対して、隣
接未処理三角形要素数Ntを常に管理しながら、三角形
要素をNtで階級化し、Nt=1である三角形要素を優先
的にペアにして四角形要素に変換する手法(Heighway
E.A., A Mesh Generator for Automatically Subdividi
ng Irregular Polygons into Quadrilaterals, IEEE Tr
ansactions on Magnetics, Mag-19, pp.2535-2538, 198
3. 又は Johnston B. P.,Sullivan J.M., and Kwasnik
A., Automatic Conversion of Triangle FiniteElement
Meshes to Quadrilateral Elements, International J
ournal for Numerical Methods in Engineering, Vol.
31, pp.67-84,1991 を参照のこと)。位相的な規則性の
向上に関しては考慮されており、三角形要素数の少ない
メッシュが生成されるが、幾何学的な規則性の向上及び
整列方向の制御については考慮されていない。
接未処理三角形要素数Ntを常に管理しながら、三角形
要素をNtで階級化し、Nt=1である三角形要素を優先
的にペアにして四角形要素に変換する手法(Heighway
E.A., A Mesh Generator for Automatically Subdividi
ng Irregular Polygons into Quadrilaterals, IEEE Tr
ansactions on Magnetics, Mag-19, pp.2535-2538, 198
3. 又は Johnston B. P.,Sullivan J.M., and Kwasnik
A., Automatic Conversion of Triangle FiniteElement
Meshes to Quadrilateral Elements, International J
ournal for Numerical Methods in Engineering, Vol.
31, pp.67-84,1991 を参照のこと)。位相的な規則性の
向上に関しては考慮されており、三角形要素数の少ない
メッシュが生成されるが、幾何学的な規則性の向上及び
整列方向の制御については考慮されていない。
【0009】(3)三角形要素をいくつかの帯状領域に
グループ化し、そのグループの中でできる限り多くの隣
接三角形要素をペアにする手法(参考文献1)。位相的
な規則性の向上及び整列方向の制御の両立を目指した手
法であるが、常に適切な帯状領域を作ることができると
は限らないので、必ずしも良好な結果を得られるわけで
はない。また、三角形要素の処理順が一意でないので、
実装によっては結果が大きく異なる場合がある。
グループ化し、そのグループの中でできる限り多くの隣
接三角形要素をペアにする手法(参考文献1)。位相的
な規則性の向上及び整列方向の制御の両立を目指した手
法であるが、常に適切な帯状領域を作ることができると
は限らないので、必ずしも良好な結果を得られるわけで
はない。また、三角形要素の処理順が一意でないので、
実装によっては結果が大きく異なる場合がある。
【0010】
【発明が解決しようとする課題】本発明の目的は、三角
形メッシュから四角形メッシュを生成することである。
形メッシュから四角形メッシュを生成することである。
【0011】また、幾何学的な規則性の向上、整列方向
の制御、及び位相的な規則性の向上を考慮した、三角形
メッシュから四角形メッシュへの変換方法を提供するこ
とも目的である。
の制御、及び位相的な規則性の向上を考慮した、三角形
メッシュから四角形メッシュへの変換方法を提供するこ
とも目的である。
【0012】
【課題を解決するための手段】従来のバブル・メッシュ
法は、円又は球状の仮想物体であるバブルを、メッシン
グすべき面上又は物体内で力学シュミレーションにより
移動させ、安定配置されたバブルの中心をメッシュ・ノ
ードとして用いるものである。本発明では、この仮想物
体に四角形又は六面体を用いる。図1上は、正方形で構
成される四角形メッシュを太線、その双対であるボロノ
イ図を点線で表している。ボロノイ図は正方形を構成
し、各正方形の重心点を連結したものが四角形メッシュ
であると考えられる。よって、ボロノイ図に対応する四
角形仮想物体をメッシング対象物体に充填し、その重心
を連結すると、四角形メッシュが生成できる(図1
下)。なお、従来のバブル・メッシュ法では、正三角形
で構成される三角形メッシュの双対であるボロノイ図は
正六角形であり、この正六角形の重心点を連結したもの
が三角形メッシュであると考えられる。正六角形に形状
が類似する円バブルをメッシング対象物体に充填し、そ
の中心点を連結する。
法は、円又は球状の仮想物体であるバブルを、メッシン
グすべき面上又は物体内で力学シュミレーションにより
移動させ、安定配置されたバブルの中心をメッシュ・ノ
ードとして用いるものである。本発明では、この仮想物
体に四角形又は六面体を用いる。図1上は、正方形で構
成される四角形メッシュを太線、その双対であるボロノ
イ図を点線で表している。ボロノイ図は正方形を構成
し、各正方形の重心点を連結したものが四角形メッシュ
であると考えられる。よって、ボロノイ図に対応する四
角形仮想物体をメッシング対象物体に充填し、その重心
を連結すると、四角形メッシュが生成できる(図1
下)。なお、従来のバブル・メッシュ法では、正三角形
で構成される三角形メッシュの双対であるボロノイ図は
正六角形であり、この正六角形の重心点を連結したもの
が三角形メッシュであると考えられる。正六角形に形状
が類似する円バブルをメッシング対象物体に充填し、そ
の中心点を連結する。
【0013】本発明は、四角形バブルを安定配置した後
に、当該四角形バブルの中心点をDelaunay三角形分割等
により接続することによって生成される三角形メッシュ
から四角形メッシュを生成する方法に関する。この方法
は、隣接する三角形要素の対により生成される各候補四
角形要素(実施例では隣接三角形要素ペアとも言う)に
ついて、当該候補四角形要素とユーザにより指定され
る、四角形要素の整列方向との関係を表す第1評価値及
び当該候補四角形要素の形状に関する第2評価値を計算
するステップと、第1及び第2評価値を用いて、候補四
角形要素のうち四角形メッシュの要素として使用する候
補四角形要素を選択する選択ステップとを含む。ここで
は、幾何学的な規則性の向上及び整列方向の制御を実現
している。
に、当該四角形バブルの中心点をDelaunay三角形分割等
により接続することによって生成される三角形メッシュ
から四角形メッシュを生成する方法に関する。この方法
は、隣接する三角形要素の対により生成される各候補四
角形要素(実施例では隣接三角形要素ペアとも言う)に
ついて、当該候補四角形要素とユーザにより指定され
る、四角形要素の整列方向との関係を表す第1評価値及
び当該候補四角形要素の形状に関する第2評価値を計算
するステップと、第1及び第2評価値を用いて、候補四
角形要素のうち四角形メッシュの要素として使用する候
補四角形要素を選択する選択ステップとを含む。ここで
は、幾何学的な規則性の向上及び整列方向の制御を実現
している。
【0014】また、候補四角形要素を構成するいずれか
の三角形要素にとって対となる三角形要素が他にない場
合に第1の値をとり、他にある場合に第2の値をとる第
3評価値を、各候補四角形要素について計算するステッ
プをさらに含むようにすることも考えられる。位相的な
規則性の向上のための第3評価値を導入するものであ
る。
の三角形要素にとって対となる三角形要素が他にない場
合に第1の値をとり、他にある場合に第2の値をとる第
3評価値を、各候補四角形要素について計算するステッ
プをさらに含むようにすることも考えられる。位相的な
規則性の向上のための第3評価値を導入するものであ
る。
【0015】先に述べた選択ステップは、第3評価値が
第1の値を有する候補四角形要素の優先度を選択におい
て高くして実施することも考えられる。この優先度を高
くするために、以下で述べる実施例では、第1及び第2
の評価値を考慮したリスト、及び第1乃至第3の評価値
を考慮したリストを用いている。
第1の値を有する候補四角形要素の優先度を選択におい
て高くして実施することも考えられる。この優先度を高
くするために、以下で述べる実施例では、第1及び第2
の評価値を考慮したリスト、及び第1乃至第3の評価値
を考慮したリストを用いている。
【0016】さらに、第1及び第2評価値を用いて第4
評価値を計算するステップと、第1乃至第3評価値を用
いて第5評価値を計算するステップと、第4評価値と第
5評価値のいずれか大きい方の候補四角形要素を抽出す
るステップとをさらに含むようにすることも考えられ
る。以下の実施例で述べる2つのリスト作成に関連する
処理である。
評価値を計算するステップと、第1乃至第3評価値を用
いて第5評価値を計算するステップと、第4評価値と第
5評価値のいずれか大きい方の候補四角形要素を抽出す
るステップとをさらに含むようにすることも考えられ
る。以下の実施例で述べる2つのリスト作成に関連する
処理である。
【0017】先に述べた選択ステップは、抽出された候
補四角形要素を構成する三角形要素が選択済か否か判断
するステップと、いずれも処理済でなければ、抽出され
た候補四角形要素を選択するステップとを含むようにす
ることも考えられる。
補四角形要素を構成する三角形要素が選択済か否か判断
するステップと、いずれも処理済でなければ、抽出され
た候補四角形要素を選択するステップとを含むようにす
ることも考えられる。
【0018】選択された候補四角形要素に隣接し且つ未
選択の三角形要素を含む候補四角形要素について、当該
候補四角形要素を構成するいずれかの三角形要素にとっ
て対となる三角形要素が他にない場合に第1の値をと
り、他にある場合に第2の値をとる第3評価値を計算す
るステップをさらに実施するようにすることも可能であ
る。これは、候補四角形要素を四角形要素として選択し
た場合には、三角形要素によっては孤立三角形になって
しまう可能性が新たに生じるかもしれないからである。
選択の三角形要素を含む候補四角形要素について、当該
候補四角形要素を構成するいずれかの三角形要素にとっ
て対となる三角形要素が他にない場合に第1の値をと
り、他にある場合に第2の値をとる第3評価値を計算す
るステップをさらに実施するようにすることも可能であ
る。これは、候補四角形要素を四角形要素として選択し
た場合には、三角形要素によっては孤立三角形になって
しまう可能性が新たに生じるかもしれないからである。
【0019】以上述べた処理のフローは、専用の装置と
して実施することも、また、コンピュータのプログラム
として実施することも可能である。さらに、このコンピ
ュータのプログラムは、CD−ROMやフロッピー・デ
ィスク、MO(Magneto-optic)ディスクなどの記憶媒
体、又はハードディスクなどの記憶装置に記憶される。
して実施することも、また、コンピュータのプログラム
として実施することも可能である。さらに、このコンピ
ュータのプログラムは、CD−ROMやフロッピー・デ
ィスク、MO(Magneto-optic)ディスクなどの記憶媒
体、又はハードディスクなどの記憶装置に記憶される。
【0020】
【発明の実施の形態】本実施例では、非多様体データ構
造のメッシングの例を説明する。図2に非多様体データ
構造にて表されるオブジェクトの例を表す。この図2の
オブジェクトは、3次元オブジェクトである四面体の立
体6002に、稜線6005を境界線として2次元オブ
ジェクトである三角形6004が接している。また、三
角形6004に一次元オブジェクトである直線6008
が点6007を共有して接している。さらに、立体60
02の1つの側面には一次元オブジェクトである「×」
形状の図形が張り付いている。加えて、立体6002は
自身を分ける境界線6012を内在している。
造のメッシングの例を説明する。図2に非多様体データ
構造にて表されるオブジェクトの例を表す。この図2の
オブジェクトは、3次元オブジェクトである四面体の立
体6002に、稜線6005を境界線として2次元オブ
ジェクトである三角形6004が接している。また、三
角形6004に一次元オブジェクトである直線6008
が点6007を共有して接している。さらに、立体60
02の1つの側面には一次元オブジェクトである「×」
形状の図形が張り付いている。加えて、立体6002は
自身を分ける境界線6012を内在している。
【0021】では、図2のようなオブジェクトをメッシ
ングする場合の処理フローを図3に示す。最初に、メッ
シングするオブジェクトと、メッシュの整列方向とを入
力する(ステップ110)。入力された情報は記憶装置
に格納する。メッシングするオブジェクトは図2に示し
たようなオブジェクトである。メッシュの整列方向は、
入力されたオブジェクト内部の各メッシュ要素の向きを
表すもので、ベクトルで与えられる。三次元形状に対し
てはテンソル場が与えられる。例えば、平面をメッシン
グする際には、図4に示すようにメッシュ要素をそろえ
る方向(図4に描かれた線の方向)を入力する。但し、
このような細かさで入力する必要はないし、入力しなく
ともよい。
ングする場合の処理フローを図3に示す。最初に、メッ
シングするオブジェクトと、メッシュの整列方向とを入
力する(ステップ110)。入力された情報は記憶装置
に格納する。メッシングするオブジェクトは図2に示し
たようなオブジェクトである。メッシュの整列方向は、
入力されたオブジェクト内部の各メッシュ要素の向きを
表すもので、ベクトルで与えられる。三次元形状に対し
てはテンソル場が与えられる。例えば、平面をメッシン
グする際には、図4に示すようにメッシュ要素をそろえ
る方向(図4に描かれた線の方向)を入力する。但し、
このような細かさで入力する必要はないし、入力しなく
ともよい。
【0022】次に、入力されたオブジェクトの頂点及び
稜線にメッシュ・ノードを配置する(ステップ12
0)。この頂点及び稜線の取扱いは、従来のバブル・メ
ッシュ法と変わらない。また、別の方法で実施すること
も可能である。頂点及び稜線では、本発明を用いる効果
がないためである。例えば、特開平7−230487号
に記載されている方法では、(1)頂点にバブル(仮想
物体)を配置し、(2)稜線上にバブルを配置し、
(3)所定の法則で定義されたバブル間力によりバブル
を移動させ、バブルの粗密を検査することによりバブル
個数を制御し、これら処理によりバブルの安定配置を決
定し、(3)バブルの中心をメッシュ・ノードとし、そ
の位置を記憶装置に格納する。以上で、頂点及び稜線の
処理を終了する。このステップにおけるバブルの形状
は、円、球状、又は四角形が考えられる。
稜線にメッシュ・ノードを配置する(ステップ12
0)。この頂点及び稜線の取扱いは、従来のバブル・メ
ッシュ法と変わらない。また、別の方法で実施すること
も可能である。頂点及び稜線では、本発明を用いる効果
がないためである。例えば、特開平7−230487号
に記載されている方法では、(1)頂点にバブル(仮想
物体)を配置し、(2)稜線上にバブルを配置し、
(3)所定の法則で定義されたバブル間力によりバブル
を移動させ、バブルの粗密を検査することによりバブル
個数を制御し、これら処理によりバブルの安定配置を決
定し、(3)バブルの中心をメッシュ・ノードとし、そ
の位置を記憶装置に格納する。以上で、頂点及び稜線の
処理を終了する。このステップにおけるバブルの形状
は、円、球状、又は四角形が考えられる。
【0023】次に、入力されたオブジェクトの面にバブ
ルを初期配置する(ステップ130)。本実施例では、
このバブルの初期配置で特別なことを実施する必要はな
い。バブルの大きさについては別途指定する。なお、ベ
クトルで指定される大きさのバブルを生成し、面内に配
置することもできる。ここで初期配置されるバブルの形
状は四角形である。
ルを初期配置する(ステップ130)。本実施例では、
このバブルの初期配置で特別なことを実施する必要はな
い。バブルの大きさについては別途指定する。なお、ベ
クトルで指定される大きさのバブルを生成し、面内に配
置することもできる。ここで初期配置されるバブルの形
状は四角形である。
【0024】面には上で述べたように平面及び曲面があ
る。平面については問題は特にないが、曲面について
は、曲面に対応するパラメータ空間にてバブルを配置
し、この配置を曲面にマッピングすることにより、初期
配置を実施する方法もある。
る。平面については問題は特にないが、曲面について
は、曲面に対応するパラメータ空間にてバブルを配置
し、この配置を曲面にマッピングすることにより、初期
配置を実施する方法もある。
【0025】次に、バブルの安定配置を決定する(ステ
ップ140)。この処理をさらに詳しくすると、以下の
ようになる。
ップ140)。この処理をさらに詳しくすると、以下の
ようになる。
【表1】 10: for (各バブルの移動距離の中で最大のものが、しきい値以下になるまで 反復を繰り返す) { 15: 三角形分割 20: /* 力の計算及びバブル移動部分*/ 30: for (各バブルに対して) { 40: ・隣接するバブルにポテンシャル場の設定 50: ・隣接するバブルのポテンシャル場からの力の和を計算する 60: ・力に応じてバブルを移動させる 70: } 80: /* バブルの追加、削除部分 */ 90: for (各バブルについて) { 100: if (もしバブルに設けられた第1の領域内に 他のバブルの中心が存在しない){ 110: ・新しいバブルを領域内に追加する 120: } 130: if (もしバブルに設けられた第2の領域内に 他のバブルの中心が存在する){ 140: ・第2の領域内に存在する他のバブルを削除する 150: } 160: } 170: }
【0026】以下、この擬似コードを説明する。ここで
は、第10行から第170行までを、各バブルの移動距
離の中で最大のものが、しきい値以下になるまで繰り返
す。このしきい値は、全バブルの移動距離の平均値に対
するものでもよい。いずれにしても、バブルがあまり移
動しなくなるまで第10行から第170行までを繰り返
す。
は、第10行から第170行までを、各バブルの移動距
離の中で最大のものが、しきい値以下になるまで繰り返
す。このしきい値は、全バブルの移動距離の平均値に対
するものでもよい。いずれにしても、バブルがあまり移
動しなくなるまで第10行から第170行までを繰り返
す。
【0027】第10行から第170行は、大きく3つの
部分に分けられる。第1の部分は、第15行の三角形分
割であり、第2の部分はバブル間力及びバブルの移動を
計算する第20行から第70行、第3の部分はバブル個
数の制御を行う第80行から第160行までである。
部分に分けられる。第1の部分は、第15行の三角形分
割であり、第2の部分はバブル間力及びバブルの移動を
計算する第20行から第70行、第3の部分はバブル個
数の制御を行う第80行から第160行までである。
【0028】この第1の部分である第15行は、バブル
間の隣接関係を把握するための三角形分割である。三角
形分割の方法としては、例えばDelaunay三角形分割を用
いればよい。なお、バブルとバブルがどのように隣接し
ているかを判断するために三角形分割を実施するので、
三角形分割しないで隣接関係がわかるのであれば、三角
形分割しなくともよい。
間の隣接関係を把握するための三角形分割である。三角
形分割の方法としては、例えばDelaunay三角形分割を用
いればよい。なお、バブルとバブルがどのように隣接し
ているかを判断するために三角形分割を実施するので、
三角形分割しないで隣接関係がわかるのであれば、三角
形分割しなくともよい。
【0029】第2の部分である第30行から70行は、
さらに3つの部分に分けられる。第40行は、計算対象
のバブルに隣接するバブルを特定して、そのバブルに、
ポテンシャル場を設定する。このポテンシャル場は、例
えば、図5のようなポテンシャル場とすることが可能で
ある。すなわち、四角形バブルの中心又はその付近及び
当該四角形の頂点又はその付近にポテンシャル極大点を
設定し、四角形バブルの外側周辺に4つのポテンシャル
極小点を設定する。この四角形バブルの外側周辺に設定
された4つのポテンシャル極小点は、四角形の各辺の中
点又はその付近から伸びる、各辺の法線上に存在する。
また、図6のようなポテンシャル場も考えられる。但
し、図5のようなポテンシャル場の方がバブルの安定配
置が好ましい形になり易い。
さらに3つの部分に分けられる。第40行は、計算対象
のバブルに隣接するバブルを特定して、そのバブルに、
ポテンシャル場を設定する。このポテンシャル場は、例
えば、図5のようなポテンシャル場とすることが可能で
ある。すなわち、四角形バブルの中心又はその付近及び
当該四角形の頂点又はその付近にポテンシャル極大点を
設定し、四角形バブルの外側周辺に4つのポテンシャル
極小点を設定する。この四角形バブルの外側周辺に設定
された4つのポテンシャル極小点は、四角形の各辺の中
点又はその付近から伸びる、各辺の法線上に存在する。
また、図6のようなポテンシャル場も考えられる。但
し、図5のようなポテンシャル場の方がバブルの安定配
置が好ましい形になり易い。
【0030】以下に図5に示したポテンシャル場の数式
表現の例を示す。図5に示したような、重心点の位置が
xiであり、4頂点の位置がそれぞれxi1,xi2,
xi3,xi 4である四角形バブルの場合、重心点から計算
対象バブルの重心点までの距離の関数と、頂点から計算
対象バブルの重心点までの距離の関数を用いて、合計5
点からの距離の関数の重ね合せで実現する。四角形バブ
ルiが四角形バブルjに与える力を求める際、2つの四
角形バブルの重心点の位置をxi,xjとし、辺の長さを
d(xi),d(xj)とすると、2つの四角形バブルの
重心点間の安定距離l0(xi,xj)は、 l0(xi,xj)=d(xi)/2+d(xj)/2 で与えられる。
表現の例を示す。図5に示したような、重心点の位置が
xiであり、4頂点の位置がそれぞれxi1,xi2,
xi3,xi 4である四角形バブルの場合、重心点から計算
対象バブルの重心点までの距離の関数と、頂点から計算
対象バブルの重心点までの距離の関数を用いて、合計5
点からの距離の関数の重ね合せで実現する。四角形バブ
ルiが四角形バブルjに与える力を求める際、2つの四
角形バブルの重心点の位置をxi,xjとし、辺の長さを
d(xi),d(xj)とすると、2つの四角形バブルの
重心点間の安定距離l0(xi,xj)は、 l0(xi,xj)=d(xi)/2+d(xj)/2 で与えられる。
【0031】2つの四角形バブルの重心点間の距離をl
(xi,xj)とし、l0とlの比率をω=l/l0とする
と、ポテンシャル場を算出するための距離の関数Ψ0は
以下の式で与えられる。
(xi,xj)とし、l0とlの比率をω=l/l0とする
と、ポテンシャル場を算出するための距離の関数Ψ0は
以下の式で与えられる。
【数1】
【0032】また、四角形バブルiの4頂点の位置をx
ik(k=1,2,3,4)とする。また、sを数2のよ
うに定義し、この時頂点kと四角形バブルjの重心点と
の安定距離l0kは以下のように表される。
ik(k=1,2,3,4)とする。また、sを数2のよ
うに定義し、この時頂点kと四角形バブルjの重心点と
の安定距離l0kは以下のように表される。
【数2】 l0k(xik,xj)=s・d(xik)/2+d(xj)/
2 但し、d(xik)=(20.5−1)d(xi)。
2 但し、d(xik)=(20.5−1)d(xi)。
【0033】2頂点間の距離をlk(xik,xj)とし、
l0kとlkとの比率をωk=lk/l0 kとすると、ポテン
シャル場を算出するための距離の関数Ψkは、以下のよ
うに表される。
l0kとlkとの比率をωk=lk/l0 kとすると、ポテン
シャル場を算出するための距離の関数Ψkは、以下のよ
うに表される。
【数3】
【0034】これらを重ね合せることにより、ポテンシ
ャル値Ψは、以下のようになる。Ψ=Ψ0+sΨ1+sΨ
2+sΨ3+sΨ4
ャル値Ψは、以下のようになる。Ψ=Ψ0+sΨ1+sΨ
2+sΨ3+sΨ4
【0035】次に、表1の第50行で、隣接する四角形
バブルのポテンシャル場からの力の和を計算する。バブ
ルは、本実施例では、質量mを有する仮想的な物体であ
る。全てのバブルは同一の質量を持つようにしてもよい
し、バブルの大きさ等によって異なる質量を設定するこ
とも可能である。図7に四角形バブルに働く引力及び斥
力の例を示す。計算対象バブルAは、ポテンシャル場を
有する近隣バブルBから最終的に点線で表された力を受
ける。この力は、近隣バブルの頂点xb3からの斥力、重
心xbからの引力、そして頂点xb2からの引力を合成し
たものである。図8にも同じように四角形バブルに働く
引力及び斥力の例を示している。計算対象バブルAは、
xb2及びxbから斥力、xb3から引力を受けて、最終的
には点線で表された力を受ける。このような力を、隣接
する四角形バブルについてそれぞれ求め、加算する。
バブルのポテンシャル場からの力の和を計算する。バブ
ルは、本実施例では、質量mを有する仮想的な物体であ
る。全てのバブルは同一の質量を持つようにしてもよい
し、バブルの大きさ等によって異なる質量を設定するこ
とも可能である。図7に四角形バブルに働く引力及び斥
力の例を示す。計算対象バブルAは、ポテンシャル場を
有する近隣バブルBから最終的に点線で表された力を受
ける。この力は、近隣バブルの頂点xb3からの斥力、重
心xbからの引力、そして頂点xb2からの引力を合成し
たものである。図8にも同じように四角形バブルに働く
引力及び斥力の例を示している。計算対象バブルAは、
xb2及びxbから斥力、xb3から引力を受けて、最終的
には点線で表された力を受ける。このような力を、隣接
する四角形バブルについてそれぞれ求め、加算する。
【0036】続いて第60行は、実際にバブルを移動さ
せる処理である。これは、どれだけバブルが移動するの
かということを計算すればよい。ここでは、個々のバブ
ルを質量mの質点とみなし(慣性モーメントを有しな
い)、上記のバブル間力と粘性を考慮して二階の常微分
方程式を解くことによって、バブルの位置を変化させ
る。ニュートン方程式は次のようになる。
せる処理である。これは、どれだけバブルが移動するの
かということを計算すればよい。ここでは、個々のバブ
ルを質量mの質点とみなし(慣性モーメントを有しな
い)、上記のバブル間力と粘性を考慮して二階の常微分
方程式を解くことによって、バブルの位置を変化させ
る。ニュートン方程式は次のようになる。
【数4】 ここで、xiはi番目のバブルのx座標、miはi番目の
バブルの質量、yiはi番目のバブルのy座標、ziはi
番目のバブルのz座標である。一階微分の項は粘性係数
ciを含み、粘性を考慮した項である。この粘性係数
は、各バブルごとに、またx、y、z方向で、それぞれ
違う値を設定することができるが、全て一定の値cとす
ることも可能である。数4の右辺のfxi(t),f
yi(t)及びfzi(t)は、それぞれ時間tにおけるi
番目のバブルに対する、隣接バブルからの力の、x成分
の和とy成分の和とz成分の和である。
バブルの質量、yiはi番目のバブルのy座標、ziはi
番目のバブルのz座標である。一階微分の項は粘性係数
ciを含み、粘性を考慮した項である。この粘性係数
は、各バブルごとに、またx、y、z方向で、それぞれ
違う値を設定することができるが、全て一定の値cとす
ることも可能である。数4の右辺のfxi(t),f
yi(t)及びfzi(t)は、それぞれ時間tにおけるi
番目のバブルに対する、隣接バブルからの力の、x成分
の和とy成分の和とz成分の和である。
【0037】この数4をRunge-Kutta法などの周知の常
微分方程式の数値解析技法により、時間tを△tだけ増
分して、個々のバブルの座標値を計算する。先に述べた
ように、擬似コードの第10行から第170行の繰り返
しは、移動距離がしきい値以下であるか判断して決定さ
れるものであるから、移動距離(△x,△y,△z)も計算
する。元の座標値は分かっているから、移動距離(△x,
△y,△z)のみ計算してもよい。なお、常微分方程式の
数値解析技法としては、Runge-Kutta法に限定されず、A
damsの方法、Eulerの方法などを用いてもよい。例え
ば、洲之内 治男著、サイエンス社、理工系の数学1
5、「数値計算」、1978年9月などを参照のこと。
微分方程式の数値解析技法により、時間tを△tだけ増
分して、個々のバブルの座標値を計算する。先に述べた
ように、擬似コードの第10行から第170行の繰り返
しは、移動距離がしきい値以下であるか判断して決定さ
れるものであるから、移動距離(△x,△y,△z)も計算
する。元の座標値は分かっているから、移動距離(△x,
△y,△z)のみ計算してもよい。なお、常微分方程式の
数値解析技法としては、Runge-Kutta法に限定されず、A
damsの方法、Eulerの方法などを用いてもよい。例え
ば、洲之内 治男著、サイエンス社、理工系の数学1
5、「数値計算」、1978年9月などを参照のこと。
【0038】このような擬似コード第40行及び第60
行の処理を、全てのバブルについて実行する。ここまで
の処理で、微小時間△t後の各バブルの座標(及び又は
移動距離(△x,△y,△z))が計算できた。座標位置は
記憶装置に格納する。
行の処理を、全てのバブルについて実行する。ここまで
の処理で、微小時間△t後の各バブルの座標(及び又は
移動距離(△x,△y,△z))が計算できた。座標位置は
記憶装置に格納する。
【0039】なお、移動させると面内にとどまらないバ
ブルも存在する。曲面の場合には、このようなバブルに
ついては、面内に引き戻す処理を実施する。これには、
例えば面の法線方向にバブルを面上に引き戻す等の処理
が考えられが、その他の方法でもよい。また、平面の場
合そのようなバブルを破壊する。
ブルも存在する。曲面の場合には、このようなバブルに
ついては、面内に引き戻す処理を実施する。これには、
例えば面の法線方向にバブルを面上に引き戻す等の処理
が考えられが、その他の方法でもよい。また、平面の場
合そのようなバブルを破壊する。
【0040】次に、第3の部分である第80行から第1
60行までの、バブルの追加又は削除に関する処理につ
いて説明する。第90行では、各バブルについて第16
0行までを繰り返すことが示されている。そして、計算
対象バブルに設けられた第1の領域内に他のバブルの中
心が存在しないかどうか判断する(第100行)。この
第1の領域とは、図9に示したように、ポテンシャル極
小点を中心点とした4つの四角形領域から構成される。
この四角形領域の辺は、本実施例では四角形バブルの辺
の1.1倍の長さを有している。但し、本発明はこれに
限定されるものではない。この四角形領域の各々に四角
形バブルの中心点が存在していない場合には、当該四角
形領域の内部に四角形バブルを1つ生成する(第110
行)。当該四角形領域の内部に1つの四角形バブルが存
在することにより四角形バブルの安定配置がなされるた
めである。
60行までの、バブルの追加又は削除に関する処理につ
いて説明する。第90行では、各バブルについて第16
0行までを繰り返すことが示されている。そして、計算
対象バブルに設けられた第1の領域内に他のバブルの中
心が存在しないかどうか判断する(第100行)。この
第1の領域とは、図9に示したように、ポテンシャル極
小点を中心点とした4つの四角形領域から構成される。
この四角形領域の辺は、本実施例では四角形バブルの辺
の1.1倍の長さを有している。但し、本発明はこれに
限定されるものではない。この四角形領域の各々に四角
形バブルの中心点が存在していない場合には、当該四角
形領域の内部に四角形バブルを1つ生成する(第110
行)。当該四角形領域の内部に1つの四角形バブルが存
在することにより四角形バブルの安定配置がなされるた
めである。
【0041】一方、計算対象バブルに設けられた第2の
領域内に他のバブルが存在するか判断する(第130
行)。この第2の領域とは、図10に示したように、四
角形バブルの中心点を同じく中心点とし、辺の長さが四
角形バブルの辺の1.1倍である四角形領域である。但
し、本発明はこれに限定されるものではない。この四角
形領域の内部に他の四角形バブルの中心点が存在する場
合には、その四角形バブルを削除する(第140行)。
この四角形領域の内部には1つの四角形バブルのみ存在
すべきだからである。
領域内に他のバブルが存在するか判断する(第130
行)。この第2の領域とは、図10に示したように、四
角形バブルの中心点を同じく中心点とし、辺の長さが四
角形バブルの辺の1.1倍である四角形領域である。但
し、本発明はこれに限定されるものではない。この四角
形領域の内部に他の四角形バブルの中心点が存在する場
合には、その四角形バブルを削除する(第140行)。
この四角形領域の内部には1つの四角形バブルのみ存在
すべきだからである。
【0042】以上の処理により、バブル個数の適応的制
御が実施される。
御が実施される。
【0043】処理が第10行に戻ると、第60行で計算
されたバブルの移動距離の最大がしきい値を超えている
かの判断が行われる。移動距離は、(△x2+△y2+△z2)
0.5を用いてもよいし、単純に|△x|+|△y|+|△z|
として用いることも可能である。もし、最大の移動距離
がしきい値を超えている場合には、再度第10行乃至第
170行の処理を実施し、しきい値を超えていない場合
には、後の処理に移行する。しきい値を超えていない場
合には、バブルは安定的に配置されたと見なされる。安
定配置におけるバブル中心の位置は記憶装置に格納され
る。
されたバブルの移動距離の最大がしきい値を超えている
かの判断が行われる。移動距離は、(△x2+△y2+△z2)
0.5を用いてもよいし、単純に|△x|+|△y|+|△z|
として用いることも可能である。もし、最大の移動距離
がしきい値を超えている場合には、再度第10行乃至第
170行の処理を実施し、しきい値を超えていない場合
には、後の処理に移行する。しきい値を超えていない場
合には、バブルは安定的に配置されたと見なされる。安
定配置におけるバブル中心の位置は記憶装置に格納され
る。
【0044】以上の処理が、図3におけるステップ14
0の処理である。次に、四角形メッシュを生成する(図
3,ステップ150)。この四角形メッシュの生成は、
本実施例においては、三角形メッシュの四角形メッシュ
への変換にて行う。三角形メッシュの生成は、表1の第
15行でも示されているように、四角形バブルの中心を
メッシュ・ノードとするDelaunay三角形分割で実施する
ことができる。そして、生成された三角形メッシュを以
下の処理にて四角形メッシュに変換する。なお、メッシ
ング対象形状の境界線上にある三角形要素辺以外のすべ
ての三角形要素辺は、2個の三角形要素に共有されてい
るものとする。また、以下の説明では隣接三角形要素ペ
アPijとは、1辺を共有する2個の隣接三角形要素Ti
及びTjを指す。
0の処理である。次に、四角形メッシュを生成する(図
3,ステップ150)。この四角形メッシュの生成は、
本実施例においては、三角形メッシュの四角形メッシュ
への変換にて行う。三角形メッシュの生成は、表1の第
15行でも示されているように、四角形バブルの中心を
メッシュ・ノードとするDelaunay三角形分割で実施する
ことができる。そして、生成された三角形メッシュを以
下の処理にて四角形メッシュに変換する。なお、メッシ
ング対象形状の境界線上にある三角形要素辺以外のすべ
ての三角形要素辺は、2個の三角形要素に共有されてい
るものとする。また、以下の説明では隣接三角形要素ペ
アPijとは、1辺を共有する2個の隣接三角形要素Ti
及びTjを指す。
【0045】まず、導入する評価関数について説明す
る。これらの評価関数は、幾何学的な規則性の向上、整
列方向の制御及び位相的な規則性の向上という観点から
導入されている。 (1)四角形要素の配列方向に関する評価関数F1 整列方向の制御のために導入された評価関数である。隣
接三角形要素ペア(候補四角形要素とも言う)Pijを変
換してできる四角形要素について、それぞれの辺とベク
トル場(図3:ステップ110、例えば図4)が示すベ
クトルとのなす角が小さいほど高い値を示す評価関数F
1(Pij)を用いる。このF1(Pij)は、例えば以下の
ように表される。 F1=v・E1+v・E2+v・E3+v・E4 Ei(i=1,2,3,4)は四角形要素の辺のベクト
ルで、vはベクトル場から与えられるベクトルで、各項
はベクトルの内積である。内積は両者のなす角が0の時
最大となるので、四角形要素の各辺がベクトルと同じ方
向を向いている時F1が最大となる。よって、F1の値が
大きい隣接三角形要素ペアを優先的に四角形要素に変換
することで、指定した整列方向に沿った四角形要素が多
く生成される。
る。これらの評価関数は、幾何学的な規則性の向上、整
列方向の制御及び位相的な規則性の向上という観点から
導入されている。 (1)四角形要素の配列方向に関する評価関数F1 整列方向の制御のために導入された評価関数である。隣
接三角形要素ペア(候補四角形要素とも言う)Pijを変
換してできる四角形要素について、それぞれの辺とベク
トル場(図3:ステップ110、例えば図4)が示すベ
クトルとのなす角が小さいほど高い値を示す評価関数F
1(Pij)を用いる。このF1(Pij)は、例えば以下の
ように表される。 F1=v・E1+v・E2+v・E3+v・E4 Ei(i=1,2,3,4)は四角形要素の辺のベクト
ルで、vはベクトル場から与えられるベクトルで、各項
はベクトルの内積である。内積は両者のなす角が0の時
最大となるので、四角形要素の各辺がベクトルと同じ方
向を向いている時F1が最大となる。よって、F1の値が
大きい隣接三角形要素ペアを優先的に四角形要素に変換
することで、指定した整列方向に沿った四角形要素が多
く生成される。
【0046】(2)四角形要素の形状に関する評価関数
F2 幾何学的な規則性の向上のために導入された評価関数で
ある。隣接三角形要素ペアPijを変換してできる四角形
要素について、形状が正方形に近いほど高い値を示す評
価関数F2(Pij)を用いる。このF2(Pij)は、例え
ば以下のように表される。 Fij=4.0−(|E1E2|+|E2E3|+|E3E4|
+|E4E1| 各項は四角形要素の隣接辺の内積の絶対値である。四角
形要素の各頂点が直角のときF2の値は最大となる。よ
って、F2の値が大きい隣接三角形要素ペアを優先的に
四角形要素に変換することで、形状が正方形に近い良質
な四角形要素が多く生成されるようになる。
F2 幾何学的な規則性の向上のために導入された評価関数で
ある。隣接三角形要素ペアPijを変換してできる四角形
要素について、形状が正方形に近いほど高い値を示す評
価関数F2(Pij)を用いる。このF2(Pij)は、例え
ば以下のように表される。 Fij=4.0−(|E1E2|+|E2E3|+|E3E4|
+|E4E1| 各項は四角形要素の隣接辺の内積の絶対値である。四角
形要素の各頂点が直角のときF2の値は最大となる。よ
って、F2の値が大きい隣接三角形要素ペアを優先的に
四角形要素に変換することで、形状が正方形に近い良質
な四角形要素が多く生成されるようになる。
【0047】(3)孤立三角形要素の生成防止に関する
評価関数F3 位相的な規則性の向上のために導入された評価関数であ
る。隣接三角形要素ペアPijを構成する2個の三角形要
素T1及びT2について、T1の隣接未処理三角形要素が
T2のみである場合、あるいはT2の隣接未処理三角形要
素がT1のみである場合に限り第1の値(例えば1)を
とり、それ以外の場合には第2の値(例えば0)をとる
評価関数F3(Pij)を用いる。F3の値が第1の値であ
る隣接三角形要素ペアは、それが四角形要素に変換され
なければ、確実に孤立三角形要素が生じることを意味し
ており、このような四角形要素を優先的に変換すること
で、四角形メッシュの中の孤立三角形要素を削減するこ
とができる。
評価関数F3 位相的な規則性の向上のために導入された評価関数であ
る。隣接三角形要素ペアPijを構成する2個の三角形要
素T1及びT2について、T1の隣接未処理三角形要素が
T2のみである場合、あるいはT2の隣接未処理三角形要
素がT1のみである場合に限り第1の値(例えば1)を
とり、それ以外の場合には第2の値(例えば0)をとる
評価関数F3(Pij)を用いる。F3の値が第1の値であ
る隣接三角形要素ペアは、それが四角形要素に変換され
なければ、確実に孤立三角形要素が生じることを意味し
ており、このような四角形要素を優先的に変換すること
で、四角形メッシュの中の孤立三角形要素を削減するこ
とができる。
【0048】以上の前提のもと、図11に処理フローを
示す。まず、隣接三角形要素ペアごとに、評価値V1=
aF1+bF2(a、bは正の定数で各々F1及びF2の重
要度を示す)を計算し、隣接三角形要素ペアをV1の大
きい順にソートして、リストL1に登録する(ステップ
210)。次に、隣接三角形要素ペアの中で、F3>0
であるものを抽出し、評価値V2=aF1+bF2+cF3
(cは正の定数でF3の重要度を表す)の大きい順にリ
ストL2に登録する(ステップ220)。そして、リス
トL1中でV1の値が最大のものと、リストL2中でV2の
値が最大ものとを比較し、値の大きい方の隣接三角形要
素ペアPijを抽出する(ステップ230)。このように
F3>0となる隣接三角形要素ペアについてはL2に入れ
られてL2における順序で比較されるようになるため、
優先度が上がったことになる。また、cF3の項をV2は
有しているので、V1値がL1のものと同じでも、V2は
V1より大きくなるため、この点においても優先されて
いると言える。
示す。まず、隣接三角形要素ペアごとに、評価値V1=
aF1+bF2(a、bは正の定数で各々F1及びF2の重
要度を示す)を計算し、隣接三角形要素ペアをV1の大
きい順にソートして、リストL1に登録する(ステップ
210)。次に、隣接三角形要素ペアの中で、F3>0
であるものを抽出し、評価値V2=aF1+bF2+cF3
(cは正の定数でF3の重要度を表す)の大きい順にリ
ストL2に登録する(ステップ220)。そして、リス
トL1中でV1の値が最大のものと、リストL2中でV2の
値が最大ものとを比較し、値の大きい方の隣接三角形要
素ペアPijを抽出する(ステップ230)。このように
F3>0となる隣接三角形要素ペアについてはL2に入れ
られてL2における順序で比較されるようになるため、
優先度が上がったことになる。また、cF3の項をV2は
有しているので、V1値がL1のものと同じでも、V2は
V1より大きくなるため、この点においても優先されて
いると言える。
【0049】もし、抽出されたペアPijを構成する三角
形要素Ti及びTjのいずれかが処理済である場合(ステ
ップ240)には、当該PijをリストL1及びL2から削
除し(ステップ250)、ステップ230に戻る。処理
済か否かの検査については、処理済チェック用のリスト
を設けてもよいし、三角形要素管理テーブルに処理済の
フラグを立てる等様々な方法が考えられる。一方、三角
形要素Ti及びTjのいずれも処理済でない場合には、隣
接三角形要素ペアPijを四角形要素に変換し、Pijをリ
ストL1及びL2から削除する(ステップ260)。ま
た、Pijを構成する三角形要素Ti及びTjに処理済のマ
ークを付する。さらに、三角形要素Ti及びTjの隣接三
角形要素の中で、未処理の三角形要素Tnを抽出する。
そして、三角形要素Ti及びTjに処理済マークが付され
た時点において、Tnを含む隣接三角形要素ペアPmnの
F3の値を再計算する(ステップ270)。これは、Tn
の隣接未処理三角形要素の数は1減少しているので、T
nは孤立三角形になってしまうかもしれないからであ
る。そして、F3が再計算され、F3>0のペアが存在す
れば、評価値V2も変わるのでV2も再計算し、リストL
2の登録も行う(ステップ270)。
形要素Ti及びTjのいずれかが処理済である場合(ステ
ップ240)には、当該PijをリストL1及びL2から削
除し(ステップ250)、ステップ230に戻る。処理
済か否かの検査については、処理済チェック用のリスト
を設けてもよいし、三角形要素管理テーブルに処理済の
フラグを立てる等様々な方法が考えられる。一方、三角
形要素Ti及びTjのいずれも処理済でない場合には、隣
接三角形要素ペアPijを四角形要素に変換し、Pijをリ
ストL1及びL2から削除する(ステップ260)。ま
た、Pijを構成する三角形要素Ti及びTjに処理済のマ
ークを付する。さらに、三角形要素Ti及びTjの隣接三
角形要素の中で、未処理の三角形要素Tnを抽出する。
そして、三角形要素Ti及びTjに処理済マークが付され
た時点において、Tnを含む隣接三角形要素ペアPmnの
F3の値を再計算する(ステップ270)。これは、Tn
の隣接未処理三角形要素の数は1減少しているので、T
nは孤立三角形になってしまうかもしれないからであ
る。そして、F3が再計算され、F3>0のペアが存在す
れば、評価値V2も変わるのでV2も再計算し、リストL
2の登録も行う(ステップ270)。
【0050】そして、全てのペアについて処理していな
い場合(ステップ280)にはステップ230に戻り、
ステップ230乃至270を繰り返す。全てのペアにつ
いて処理した場合にはステップ290で処理を終了す
る。なお、ステップ280はステップ260の後に実施
してもよい。
い場合(ステップ280)にはステップ230に戻り、
ステップ230乃至270を繰り返す。全てのペアにつ
いて処理した場合にはステップ290で処理を終了す
る。なお、ステップ280はステップ260の後に実施
してもよい。
【0051】図12(a)に三角形メッシュの例を示
す。斜線が付された三角形要素を含む三角形要素ペアは
F3>0でありV2が計算される。図12(b)は、3つ
の隣接三角形要素ペアが四角形要素に変換された後の状
態を示している。先にV2を計算された隣接三角形要素
ペアは、四角形要素に変換されている。濃く塗られた部
分が変換された四角形要素である。斜線が付された三角
形要素を含む三角形要素ペアはF3>0でありV2が計算
される。さらに変換が進むと図12(c)のようにな
る。図12(b)の後に四角形要素に変換されたものに
ついては、異なる態様で塗られている。また、斜線が付
された三角形は上と同じ意味である。さらに変換が進む
と図12(d)のようになる。図12(c)の後に四角
形要素に変換されたものは、さらに他の態様で塗られて
いる。ここで、1つの三角形が孤立三角形(斜線の付さ
れた三角形要素)として確定している。この三角形を四
角形にするより、他の隣接三角形要素を四角形要素に変
換した方が評価値が高くなるからである。最終的に変換
された四角形メッシュを図12(e)に示す。
す。斜線が付された三角形要素を含む三角形要素ペアは
F3>0でありV2が計算される。図12(b)は、3つ
の隣接三角形要素ペアが四角形要素に変換された後の状
態を示している。先にV2を計算された隣接三角形要素
ペアは、四角形要素に変換されている。濃く塗られた部
分が変換された四角形要素である。斜線が付された三角
形要素を含む三角形要素ペアはF3>0でありV2が計算
される。さらに変換が進むと図12(c)のようにな
る。図12(b)の後に四角形要素に変換されたものに
ついては、異なる態様で塗られている。また、斜線が付
された三角形は上と同じ意味である。さらに変換が進む
と図12(d)のようになる。図12(c)の後に四角
形要素に変換されたものは、さらに他の態様で塗られて
いる。ここで、1つの三角形が孤立三角形(斜線の付さ
れた三角形要素)として確定している。この三角形を四
角形にするより、他の隣接三角形要素を四角形要素に変
換した方が評価値が高くなるからである。最終的に変換
された四角形メッシュを図12(e)に示す。
【0052】以上のようにすると、面についてのメッシ
ングが終了する。
ングが終了する。
【0053】次に、3次元の空間に六面体メッシュを生
成する。最初に、空間に六面体バブルを初期配置する
(図3、ステップ160)。ここまでの処理で、頂点、
稜線及び面についてはバブルの安定的な配置を計算して
いるので、頂点、稜線及び面についてはそれらを用い、
例えば図2の立体6002の内部にのみバブルを配置す
る。
成する。最初に、空間に六面体バブルを初期配置する
(図3、ステップ160)。ここまでの処理で、頂点、
稜線及び面についてはバブルの安定的な配置を計算して
いるので、頂点、稜線及び面についてはそれらを用い、
例えば図2の立体6002の内部にのみバブルを配置す
る。
【0054】そして、六面体バブルの安定配置を計算す
る(ステップ170)。安定配置におけるバブルの中心
位置は記憶装置に格納される。この計算は、面について
の処理とほぼ同じである。但し、差異は以下の通りであ
る。(1)ポテンシャル極小点は、4点でなく6点とな
る。これらの点の位置は、六面体の各面の中心点を通
り、当該面の法線上に設けられる。また、ポテンシャル
極大点は、各頂点上及び六面体の重心点に設けられる。
(2)六面体バブルの重心点をメッシュ・ノードとし
て、四面体メッシュを生成する。その後、四面体要素を
5つ選択して、六面体を生成し、六面体メッシュとす
る。(3)面から外れたバブルを面上に引き戻す処理に
触れたが、空間から外れたバブルは単に削除するのみで
ある。このような変更を考慮すれば、面についての処理
は空間についての処理に拡張可能である。
る(ステップ170)。安定配置におけるバブルの中心
位置は記憶装置に格納される。この計算は、面について
の処理とほぼ同じである。但し、差異は以下の通りであ
る。(1)ポテンシャル極小点は、4点でなく6点とな
る。これらの点の位置は、六面体の各面の中心点を通
り、当該面の法線上に設けられる。また、ポテンシャル
極大点は、各頂点上及び六面体の重心点に設けられる。
(2)六面体バブルの重心点をメッシュ・ノードとし
て、四面体メッシュを生成する。その後、四面体要素を
5つ選択して、六面体を生成し、六面体メッシュとす
る。(3)面から外れたバブルを面上に引き戻す処理に
触れたが、空間から外れたバブルは単に削除するのみで
ある。このような変更を考慮すれば、面についての処理
は空間についての処理に拡張可能である。
【0055】以上本発明の一実施例を説明したが、本発
明は上述の実施例に限定されるものではない。例えば、
三角形分割の方法にDelaunay三角形分割を用いるとした
が、他の方法でも可能である。また、四角形バブルに設
定されるポテンシャル場は、上で述べたものに限定され
ない。ポテンシャル極小点の位置を個別に設定すること
によって、バブルの整列を制御することも考えられる。
また、ポテンシャル場の設定により長方形メッシュ又は
ひし形メッシュを生成することも可能である。さらに、
バブル形状を正方形でなく、長方形又はひし形等にする
ことも考えられ、その際にポテンシャル場はそれに合わ
せて変形される。ポテンシャル場の数式表現も上述した
ものは一例であって同じポテンシャル場を他の形式で表
現することも可能である。バブル個数の制御について
も、従来用いられていたバブル中心を結ぶ線分上を占め
る割合や複数のバブルの重なり具合からバブルを追加又
は削除する方法を使用することも可能である。また、本
実施例で示された第1の領域及び第2の領域は他の形状
にすることも可能である。例えば第1の領域をポテンシ
ャル極小点を中心とする円や、三角形及び四角形以外の
多角形にしたり、第2の領域を四角形バブルの中心点を
中心とする円や、三角形及び四角形以外の多角形にした
りすることも可能である。また大きさも上の実施例述べ
た1.1倍に限定されるものではない。この数値を適応
的に変更することも考えられる。さらに、本発明では、
一旦三角形メッシュを生成してから四角形メッシュに変
換する方法を用いているが、直接四角形を生成可能な場
合にはそのようにすることも可能である。
明は上述の実施例に限定されるものではない。例えば、
三角形分割の方法にDelaunay三角形分割を用いるとした
が、他の方法でも可能である。また、四角形バブルに設
定されるポテンシャル場は、上で述べたものに限定され
ない。ポテンシャル極小点の位置を個別に設定すること
によって、バブルの整列を制御することも考えられる。
また、ポテンシャル場の設定により長方形メッシュ又は
ひし形メッシュを生成することも可能である。さらに、
バブル形状を正方形でなく、長方形又はひし形等にする
ことも考えられ、その際にポテンシャル場はそれに合わ
せて変形される。ポテンシャル場の数式表現も上述した
ものは一例であって同じポテンシャル場を他の形式で表
現することも可能である。バブル個数の制御について
も、従来用いられていたバブル中心を結ぶ線分上を占め
る割合や複数のバブルの重なり具合からバブルを追加又
は削除する方法を使用することも可能である。また、本
実施例で示された第1の領域及び第2の領域は他の形状
にすることも可能である。例えば第1の領域をポテンシ
ャル極小点を中心とする円や、三角形及び四角形以外の
多角形にしたり、第2の領域を四角形バブルの中心点を
中心とする円や、三角形及び四角形以外の多角形にした
りすることも可能である。また大きさも上の実施例述べ
た1.1倍に限定されるものではない。この数値を適応
的に変更することも考えられる。さらに、本発明では、
一旦三角形メッシュを生成してから四角形メッシュに変
換する方法を用いているが、直接四角形を生成可能な場
合にはそのようにすることも可能である。
【0056】これまで述べた処理は、通常のコンピュー
タ・プログラムとして具現化することができる。そし
て、例えば図13で示すようなコンピュータ・システム
において実行可能である。この場合、コンピュータ・プ
ログラム及び必要なデータはハードディスク・ドライブ
HDDに格納されており、必要に応じてメインメモリに
呼び出され、CPUにて実行される。処理の結果(中間
データを含む)もメインメモリに格納される。データ
は、キーボードやフロッピー・ディスク・ドライブFD
Dその他の記憶媒体、また、モデム等の通信機器によっ
て接続された通信回線から供給され得る。コンピュータ
・プログラムも他のコンピュータ・システムから送られ
てくるようにしてもよい。同様に、コンピュータ・プロ
グラムはFDやCD−ROMその他の記憶媒体にて提供
される場合がある。本発明の処理結果は、HDDなどに
記憶された他のコンピュータ・プログラムによって数値
解析等に用いられる。さらに、表示装置や印刷装置によ
ってユーザに提示することも可能である。
タ・プログラムとして具現化することができる。そし
て、例えば図13で示すようなコンピュータ・システム
において実行可能である。この場合、コンピュータ・プ
ログラム及び必要なデータはハードディスク・ドライブ
HDDに格納されており、必要に応じてメインメモリに
呼び出され、CPUにて実行される。処理の結果(中間
データを含む)もメインメモリに格納される。データ
は、キーボードやフロッピー・ディスク・ドライブFD
Dその他の記憶媒体、また、モデム等の通信機器によっ
て接続された通信回線から供給され得る。コンピュータ
・プログラムも他のコンピュータ・システムから送られ
てくるようにしてもよい。同様に、コンピュータ・プロ
グラムはFDやCD−ROMその他の記憶媒体にて提供
される場合がある。本発明の処理結果は、HDDなどに
記憶された他のコンピュータ・プログラムによって数値
解析等に用いられる。さらに、表示装置や印刷装置によ
ってユーザに提示することも可能である。
【0057】さらに、本発明は専用の装置にて実施する
ことも可能である。例えば、上記処理の各ステップを実
行するようなモジュールを作成して、それらのモジュー
ルのデータのやり取りによって最終結果を出力するよう
に構成することできる。また、上記実施例では三角形分
割処理(三角形メッシュ生成処理)を何回も実施するよ
うになっているので、この三角形分割処理のみを実行す
るモジュールを作成し、そのモジュールを共用するよう
な構成を作ることも可能である。
ことも可能である。例えば、上記処理の各ステップを実
行するようなモジュールを作成して、それらのモジュー
ルのデータのやり取りによって最終結果を出力するよう
に構成することできる。また、上記実施例では三角形分
割処理(三角形メッシュ生成処理)を何回も実施するよ
うになっているので、この三角形分割処理のみを実行す
るモジュールを作成し、そのモジュールを共用するよう
な構成を作ることも可能である。
【0058】
【効果】三角形メッシュから四角形メッシュを生成する
ことができた。
ことができた。
【0059】また、幾何学的な規則性の向上、整列方向
の制御、及び位相的な規則性の向上を考慮した、三角形
メッシュから四角形メッシュへの変換方法を提供するこ
ともできた。
の制御、及び位相的な規則性の向上を考慮した、三角形
メッシュから四角形メッシュへの変換方法を提供するこ
ともできた。
【0060】図14に四角形バブルの充填例を示す。図
14のように四角形バブルが配置された場合、三角形メ
ッシュは図15のようになる。そして、評価関数F2の
係数b及びF3の係数cをそれぞれb=1.0、c=
0.5に固定して、F1の係数aを0.0、0.15、
0.5に変えて四角形メッシュを生成した例をそれぞれ
図16乃至図18に示す。この例では図18の四角形メ
ッシュが一番良い。すなわち、評価関数F1の係数aが
大きいほど良いメッシュが生成できている。
14のように四角形バブルが配置された場合、三角形メ
ッシュは図15のようになる。そして、評価関数F2の
係数b及びF3の係数cをそれぞれb=1.0、c=
0.5に固定して、F1の係数aを0.0、0.15、
0.5に変えて四角形メッシュを生成した例をそれぞれ
図16乃至図18に示す。この例では図18の四角形メ
ッシュが一番良い。すなわち、評価関数F1の係数aが
大きいほど良いメッシュが生成できている。
【0061】図14の場合であって、評価関数F1の係
数a及びF2の係数bをそれぞれa=0.5,b=1.
0に固定して、F3の係数cを0.0,1.3,3.0
に変えて、三角形メッシュから四角形メッシュを生成し
た例をそれぞれ図19乃至図21に示す。図19乃至図
21における三角形要素の数はそれぞれ39、29、2
5であり、係数cの値を変更することにより孤立三角形
要素の数を制御できている。
数a及びF2の係数bをそれぞれa=0.5,b=1.
0に固定して、F3の係数cを0.0,1.3,3.0
に変えて、三角形メッシュから四角形メッシュを生成し
た例をそれぞれ図19乃至図21に示す。図19乃至図
21における三角形要素の数はそれぞれ39、29、2
5であり、係数cの値を変更することにより孤立三角形
要素の数を制御できている。
【図1】本発明の基本原理を説明するための図である。
【図2】入力されたオブジェクトの例を説明するための
図である。
図である。
【図3】本発明の処理フローを示した図である。
【図4】整列方向の例を説明するための図である。
【図5】四角形バブルに設定されるポテンシャル場の一
例を示すための図である。
例を示すための図である。
【図6】四角形バブルに設定されるポテンシャル場の一
例を示すための図である。
例を示すための図である。
【図7】2つの四角形バブルに生じる力の例を説明する
ための図である。
ための図である。
【図8】2つの四角形バブルに生じる力の例を説明する
ための図である。
ための図である。
【図9】バブル個数制御において用いられる第1の領域
の例を示す図である。
の例を示す図である。
【図10】バブル個数制御において用いられる第2の領
域の例を示す図である。
域の例を示す図である。
【図11】三角形メッシュを四角形メッシュに変換する
処理フローを説明するための図である。
処理フローを説明するための図である。
【図12】三角形メッシュを四角形メッシュに変換する
場合の処理例を示す図である。(a)から順に(e)ま
で処理が実施される。
場合の処理例を示す図である。(a)から順に(e)ま
で処理が実施される。
【図13】通常のコンピュータ・システムを説明するた
めの図である。
めの図である。
【図14】四角形バブル充填の例である。
【図15】図14から三角形メッシュを生成したところ
の図である。
の図である。
【図16】図15の三角形メッシュから四角形メッシュ
を生成したところの図である。なお、評価関数F2及び
F3の係数b及びcは固定で、F1の係数aは0.0であ
る。
を生成したところの図である。なお、評価関数F2及び
F3の係数b及びcは固定で、F1の係数aは0.0であ
る。
【図17】図15の三角形メッシュから四角形メッシュ
を生成したところの図である。なお、評価関数F2及び
F3の係数b及びcは固定で、F1の係数aは0.15で
ある。
を生成したところの図である。なお、評価関数F2及び
F3の係数b及びcは固定で、F1の係数aは0.15で
ある。
【図18】図15の三角形メッシュから四角形メッシュ
を生成したところの図である。なお、評価関数F2及び
F3の係数b及びcは固定で、F1の係数aは0.5であ
る。
を生成したところの図である。なお、評価関数F2及び
F3の係数b及びcは固定で、F1の係数aは0.5であ
る。
【図19】図15の三角形メッシュから四角形メッシュ
を生成したところの図である。なお、評価関数F1及び
F2の係数a及びbは固定で、F3の係数cは0.0であ
る。
を生成したところの図である。なお、評価関数F1及び
F2の係数a及びbは固定で、F3の係数cは0.0であ
る。
【図20】図15の三角形メッシュから四角形メッシュ
を生成したところの図である。なお、評価関数F1及び
F2の係数a及びbは固定で、F3の係数cは1.3であ
る。
を生成したところの図である。なお、評価関数F1及び
F2の係数a及びbは固定で、F3の係数cは1.3であ
る。
【図21】図15の三角形メッシュから四角形メッシュ
を生成したところの図である。なお、評価関数F1及び
F2の係数a及びbは固定で、F3の係数cは3.0であ
る。
を生成したところの図である。なお、評価関数F1及び
F2の係数a及びbは固定で、F3の係数cは3.0であ
る。
100−290 処理ステップ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 伊藤 貴之 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 東京基礎研究所 内 (72)発明者 古畑 智武 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 東京基礎研究所 内 (72)発明者 嶋田 憲司 アメリカ合衆国15237 ペンシルバニア州、 ピッツバーグ、ラコスタ コート 1704
Claims (14)
- 【請求項1】複数の三角形要素を含む三角形メッシュか
ら複数の四角形要素を含む四角形メッシュを生成する方
法であって、 隣接する三角形要素の対により生成される各候補四角形
要素について、当該候補四角形要素とユーザにより指定
される、四角形要素の整列方向との関係を表す第1評価
値及び当該候補四角形要素の形状に関する第2評価値を
計算するステップと、 前記第1及び第2評価値を用いて、候補四角形要素のう
ち前記四角形メッシュの要素として使用する候補四角形
要素を選択する選択ステップと、 を含む四角形メッシュ生成方法。 - 【請求項2】前記候補四角形要素を構成するいずれかの
三角形要素にとって対となる三角形要素が他にない場合
に第1の値をとり、他にある場合に第2の値をとる第3
評価値を、各候補四角形要素について計算するステッ
プ、 をさらに含む請求項1記載の四角形メッシュ生成方法。 - 【請求項3】前記選択ステップは、 前記第3評価値が前記第1の値を有する候補四角形要素
の優先度を選択において高くするステップと、 を含む請求項2記載の四角形メッシュ生成方法。 - 【請求項4】前記第1及び第2評価値を用いて第4評価
値を計算するステップと、 前記第1乃至第3評価値を用いて第5評価値を計算する
ステップと、 前記第4評価値と前記第5評価値のいずれか大きい方の
候補四角形要素を抽出するステップと、 をさらに含む請求項2記載の四角形メッシュ生成方法。 - 【請求項5】前記選択ステップは、 抽出された前記候補四角形要素を構成する三角形要素が
選択済か否か判断するステップと、 いずれも処理済でなければ、前記抽出された候補四角形
要素を選択するステップと、 を含む請求項4記載の四角形メッシュ生成方法。 - 【請求項6】選択された候補四角形要素に隣接し且つ未
選択の三角形要素を含む候補四角形要素について、当該
候補四角形要素を構成するいずれかの三角形要素にとっ
て対となる三角形要素が他にない場合に第1の値をと
り、他にある場合に第2の値をとる第3評価値を計算す
るステップをさらに含む請求項1記載の四角形メッシュ
生成方法。 - 【請求項7】複数の三角形要素を含む三角形メッシュか
ら複数の四角形要素を含む四角形メッシュを生成する装
置であって、 隣接する三角形要素の対により生成される各候補四角形
要素について、当該候補四角形要素とユーザにより指定
される、四角形要素の整列方向との関係を表す第1評価
値及び当該候補四角形要素の形状に関する第2評価値を
計算する計算機と、 前記第1及び第2評価値を用いて、候補四角形要素のう
ち前記四角形メッシュの要素として使用する候補四角形
要素を選択するセレクタと、 を有する四角形メッシュ生成装置。 - 【請求項8】前記候補四角形要素を構成するいずれかの
三角形要素にとって対となる三角形要素が他にない場合
に第1の値をとり、他にある場合に第2の値をとる第3
評価値を、各候補四角形要素について計算する第2計算
機、 をさらに有する請求項7記載の四角形メッシュ生成装
置。 - 【請求項9】複数の三角形要素を含む三角形メッシュか
ら複数の四角形要素を含む四角形メッシュをコンピュー
タに生成させるプログラムを格納した記憶媒体であっ
て、 前記プログラムは、前記コンピュータに、 隣接する三角形要素の対により生成される各候補四角形
要素について、当該候補四角形要素とユーザにより指定
される、四角形要素の整列方向との関係を表す第1評価
値及び当該候補四角形要素の形状に関する第2評価値を
計算するステップと、 前記第1及び第2評価値を用いて、候補四角形要素のう
ち前記四角形メッシュの要素として使用する候補四角形
要素を選択する選択ステップと、 を実行させる、記憶媒体。 - 【請求項10】前記プログラムは、 前記候補四角形要素を構成するいずれかの三角形要素に
とって対となる三角形要素が他にない場合に第1の値を
とり、他にある場合に第2の値をとる第3評価値を、各
候補四角形要素について計算するステップ、 をさらに実行させる、請求項9記載の記憶媒体。 - 【請求項11】前記選択ステップは、 前記第3評価値が前記第1の値を有する候補四角形要素
の優先度を選択において高くするステップ、 を含む、請求項10記載の記憶媒体。 - 【請求項12】前記プログラムは、 前記第1及び第2評価値を用いて第4評価値を計算する
ステップと、 前記第1乃至第3評価値を用いて第5評価値を計算する
ステップと、 前記第4評価値と前記第5評価値のいずれか大きい方の
候補四角形要素を抽出するステップと、 をさらに実行させる、請求項10記載の記憶媒体。 - 【請求項13】前記選択ステップは、 抽出された前記候補四角形要素を構成する三角形要素が
選択済か否か判断するステップと、 いずれも処理済でなければ、前記抽出された候補四角形
要素を選択するステップと、 を含む、請求項12記載の記憶媒体。 - 【請求項14】前記プログラムは、 選択された候補四角形要素に隣接し且つ未選択の三角形
要素を含む候補四角形要素について、当該候補四角形要
素を構成するいずれかの三角形要素にとって対となる三
角形要素が他にない場合に第1の値をとり、他にある場
合に第2の値をとる第3評価値を計算するステップをさ
らに実行させる、請求項9記載の記憶媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/132886 | 1998-08-12 | ||
US09/132,886 US6121973A (en) | 1998-08-12 | 1998-08-12 | Quadrilateral mesh generation method and apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000067272A true JP2000067272A (ja) | 2000-03-03 |
JP3245134B2 JP3245134B2 (ja) | 2002-01-07 |
Family
ID=22456034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22641999A Expired - Fee Related JP3245134B2 (ja) | 1998-08-12 | 1999-08-10 | 四角形メッシュ生成方法及び装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6121973A (ja) |
EP (1) | EP0980048B1 (ja) |
JP (1) | JP3245134B2 (ja) |
AT (1) | ATE252256T1 (ja) |
DE (1) | DE69912045T2 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3208358B2 (ja) * | 1997-09-05 | 2001-09-10 | インターナショナル・ビジネス・マシーンズ・コーポレーション | メッシング方法及びコンピュータ |
JP3050184B2 (ja) * | 1997-09-19 | 2000-06-12 | 日本電気株式会社 | 四面体格子の生成方式およびそのプログラムを記録した記録媒体 |
JP2004157724A (ja) * | 2002-11-06 | 2004-06-03 | Canon Inc | 解析モデル変換方法 |
US6970165B2 (en) * | 2002-12-19 | 2005-11-29 | Ford Motor Company | Method and system for optimizing a finite element mesh |
US7131105B2 (en) * | 2003-09-19 | 2006-10-31 | Coventor, Inc. | System and method for automatic mesh generation from a system-level MEMS design |
US20080002889A1 (en) * | 2006-06-02 | 2008-01-03 | Kenji Shimada | Systems and methods for extracting an approximated medial surface from a thin-wall solid |
US7813907B2 (en) | 2007-07-12 | 2010-10-12 | Seiko Epson Corporation | Hybrid method for enforcing curvature related boundary conditions in solving one-phase fluid flow over a deformable domain |
US20090158309A1 (en) * | 2007-12-12 | 2009-06-18 | Hankyu Moon | Method and system for media audience measurement and spatial extrapolation based on site, display, crowd, and viewership characterization |
US7899654B2 (en) | 2008-03-06 | 2011-03-01 | Seiko Epson Corporation | Hybrid front tracking algorithm for solving single phase fluid equations with a moving boundary on a quadrilateral grid |
US7930155B2 (en) | 2008-04-22 | 2011-04-19 | Seiko Epson Corporation | Mass conserving algorithm for solving a solute advection diffusion equation inside an evaporating droplet |
US8730235B2 (en) * | 2010-07-14 | 2014-05-20 | Disney Enterprises, Inc. | Method for determining point connectivity on a two manifold in 3D space |
US11126766B2 (en) | 2016-10-31 | 2021-09-21 | Siemens Industry Software Inc. | System and method for element quality improvement in 3D quadrilateral-dominant surface meshes |
CN118799528B (zh) * | 2024-09-13 | 2024-11-22 | 中国空气动力研究与发展中心计算空气动力研究所 | 一种结构化四边形网格自动生成方法、装置、设备及介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2689272B1 (fr) * | 1992-03-31 | 1997-01-24 | Inst Nat Rech Inf Automat | Dispositif de traitement d'informations d'images tridimensionnelles, avec extraction de lignes remarquables. |
US5497453A (en) * | 1993-01-05 | 1996-03-05 | International Business Machines Corporation | Method and apparatus for detecting and visualizing interferences between solids |
JP2603902B2 (ja) * | 1994-02-16 | 1997-04-23 | 日本アイ・ビー・エム株式会社 | 自動メッシュ生成方法及びシステム |
JP3015262B2 (ja) * | 1994-09-27 | 2000-03-06 | 松下電器産業株式会社 | 3次元形状データ加工装置 |
JP2881389B2 (ja) * | 1995-05-16 | 1999-04-12 | 日本アイ・ビー・エム株式会社 | 自動メッシュ生成方法及びシステム |
-
1998
- 1998-08-12 US US09/132,886 patent/US6121973A/en not_active Expired - Fee Related
-
1999
- 1999-08-10 AT AT99306321T patent/ATE252256T1/de not_active IP Right Cessation
- 1999-08-10 DE DE69912045T patent/DE69912045T2/de not_active Expired - Fee Related
- 1999-08-10 EP EP99306321A patent/EP0980048B1/en not_active Expired - Lifetime
- 1999-08-10 JP JP22641999A patent/JP3245134B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6121973A (en) | 2000-09-19 |
DE69912045D1 (de) | 2003-11-20 |
EP0980048A2 (en) | 2000-02-16 |
EP0980048A3 (en) | 2002-09-11 |
DE69912045T2 (de) | 2004-06-24 |
JP3245134B2 (ja) | 2002-01-07 |
EP0980048B1 (en) | 2003-10-15 |
ATE252256T1 (de) | 2003-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3245133B2 (ja) | メッシング方法及び装置 | |
Trotts et al. | Simplification of tetrahedral meshes with error bounds | |
Delingette | Simplex meshes: a general representation for 3D shape reconstruction | |
Baraff | Issues in computing contact forces for non-penetrating rigid bodies | |
JP3245134B2 (ja) | 四角形メッシュ生成方法及び装置 | |
Mirante et al. | The radial sweep algorithm for constructing triangulated irregular networks | |
US20240153123A1 (en) | Isogeometric Analysis Method Based on a Geometric Reconstruction Model | |
JP3963334B2 (ja) | メッシング方法及び装置 | |
JPH05266212A (ja) | データプロセッサによってオブジェクトの作成を実行する方法及びグラフィックスディスプレイ装置 | |
JP3208358B2 (ja) | メッシング方法及びコンピュータ | |
Zhang et al. | Resolving topology ambiguity for multiple-material domains | |
JP3988925B2 (ja) | 混合格子型解適合格子法を用いた数値解析装置 | |
CN113763563A (zh) | 一种基于平面识别的三维点云几何网格结构生成方法 | |
US7181377B1 (en) | Method of modifying a volume mesh using sheet extraction | |
CN111047684A (zh) | 一种基于三维模型特征的模型简化方法 | |
CN106875487A (zh) | 一种基于邻域作用力的地质六面体网格平滑方法 | |
JP2603902B2 (ja) | 自動メッシュ生成方法及びシステム | |
Takai et al. | A cellular automaton model of particle motions and its applications | |
Chuang et al. | Drawing graphs with nonuniform nodes using potential fields | |
JP4829885B2 (ja) | いくつかのデジタルシミュレーション化幾何学的オブジェクト間で近接領域を同定する方法およびシステム | |
JP2001067495A (ja) | 三角形メッシュの生成方法、装置及び記録媒体 | |
CN115512075A (zh) | 一种基于拓扑有向图的四边形网格保特征重划分方法 | |
Merrell et al. | Constraint-based model synthesis | |
Itoh et al. | Automated Conversion of 2D Triangular Mesh into Quadrilateral Mesh with Directionality Control. | |
CN112085834B (zh) | 一种室内环境下的墙面重建方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071026 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081026 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |