JP2881389B2 - Automatic mesh generation method and system - Google Patents

Automatic mesh generation method and system

Info

Publication number
JP2881389B2
JP2881389B2 JP7117244A JP11724495A JP2881389B2 JP 2881389 B2 JP2881389 B2 JP 2881389B2 JP 7117244 A JP7117244 A JP 7117244A JP 11724495 A JP11724495 A JP 11724495A JP 2881389 B2 JP2881389 B2 JP 2881389B2
Authority
JP
Japan
Prior art keywords
elliptical
bubble
bubbles
mesh
force
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP7117244A
Other languages
Japanese (ja)
Other versions
JPH08315183A (en
Inventor
憲司 嶋田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NIPPON AI BII EMU KK
Original Assignee
NIPPON AI BII EMU KK
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 NIPPON AI BII EMU KK filed Critical NIPPON AI BII EMU KK
Priority to JP7117244A priority Critical patent/JP2881389B2/en
Publication of JPH08315183A publication Critical patent/JPH08315183A/en
Application granted granted Critical
Publication of JP2881389B2 publication Critical patent/JP2881389B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

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

【0001】[0001]

【産業上の利用分野】この発明の目的は、有限要素法、
CADシステム、コンピュータ・グラフィックスなどの
技術分野において適用される自動三角要素分割技法に関
するものである。
BACKGROUND OF THE INVENTION An object of the present invention is to provide a finite element method,
The present invention relates to an automatic triangular element division technique applied in a technical field such as a CAD system and computer graphics.

【0002】[0002]

【従来の技術】近年、形状の美しさと機能の向上を目的
として、自動車や家庭電化製品を始めとする製品形状に
複雑な自由曲面が多く使われるようになってきた。一般
に、これらの曲面は設計時には Bezier、B−スプライ
ン、NURBS などのパラメトリック曲面としてCADシス
テム内で表現されるが、他方、解析のために有限要素法
などを用いて製品性能を確認する際には別の形状表現、
すなわちメッシュが必要となる。したがって設計と解析
の工程を有機的に結ぶためには、CADにおける曲面形
状から三角形メッシュへの効率良い自動変換の方法が求
められている。
2. Description of the Related Art In recent years, complicated free-form surfaces have been frequently used in product shapes such as automobiles and home appliances for the purpose of improving the beauty and function of the shapes. Generally, these surfaces are represented in the CAD system as parametric surfaces such as Bezier, B-spline, and NURBS at the time of design.On the other hand, when confirming product performance using the finite element method for analysis, Another shape representation,
That is, a mesh is required. Therefore, in order to organically connect the steps of design and analysis, there is a need for an efficient automatic conversion method from a curved surface shape to a triangular mesh in CAD.

【0003】従来より、この技術分野の刊行物として次
のようなものが知られている。
Conventionally, the following publications are known in this technical field.

【0004】すなわち、特開昭3−163669号公報
は、CADの分野で図形解析などに用いられるメッシュ
発生方法に関し、特に、2次元又は3次元領域に点を逐
次追加して三角形または四面体要素でデローニ(Delaun
ay)分割を行うメッシュ発生方法に関し、2次元又は3
次元領域の領域を予め規則的パケット要素に分割し、新
たなメッシュ点を追加した際、接続が組み換えられる要
素群の検出を、その点が所属するパケットに外接円また
は外接球が登録されている要素に限って行うことによ
り、組み換え要素検出を高速に行うようにすることを開
示する。
That is, Japanese Patent Application Laid-Open No. 3-163669 relates to a mesh generation method used for graphic analysis in the field of CAD, in particular, by adding points sequentially to a two-dimensional or three-dimensional region to form a triangular or tetrahedral element. In Delaun
ay) Two-dimensional or three-dimensional mesh generation method
When the area of the dimensional area is divided into regular packet elements in advance and a new mesh point is added, the detection of an element group whose connection is recombined is performed, and a circumcircle or a circumscribed sphere is registered in the packet to which the point belongs. Disclosed is that the recombination element detection is performed at high speed by performing only the elements.

【0005】特開平1−286081号公報は、多次元
オブジェクトの多角形ドメインに関する情報を入力し
て、この情報を処理し、上記処理の結果に従って表示を
発生するタイプの、予測された物理現象の多重多角形表
示を発生する方法において、直線の辺もしくは曲線部分
である境界を有し、各々が少なくとも1点で上記ドメイ
ンの境界と接する、複数の第1の領域に、上記ドメイン
を分割し、任意の曲線部分を、該曲線部分の両終点を接
続する少なくとも一本の直線で置換して、上記第1の領
域を調整し、これによって該調整された第1の領域のす
べての辺が線分で囲まれるようにし、共通の境界によっ
て囲まれた、上記調整された第1の領域の対を有限数の
クラスに分類し、該各々のクラスに適した規則に従っ
て、上記第1の領域を第2の領域に分割して、該第2の
領域を上記発生の表示に使用することを開示する。
Japanese Patent Application Laid-Open No. 1-260881 discloses a predicted physical phenomenon of a type in which information on a polygon domain of a multidimensional object is input, the information is processed, and a display is generated according to the result of the above processing. In a method for generating a multi-polygonal display, the domain is divided into a plurality of first regions, each having a boundary that is a side of a straight line or a curved portion and each contacting at least one point with the boundary of the domain, The first area is adjusted by replacing any curve part with at least one straight line connecting both end points of the curve part, so that all sides of the adjusted first area are lines. Classifying the adjusted pair of first regions, bounded by a common boundary, into a finite number of classes, and dividing the first region according to rules appropriate for each class. Divided into 2 areas, the second areas are disclosed to be used for display of the generator.

【0006】上記刊行物に示されているものも含め、こ
れまで、三角要素分割問題は計算力学の分野において最
も多く研究・開発されてきた。実際、2次元形状につい
ては多くの方法が提案されているが、3次元形状につい
ては必ずしも十分に研究されていないのが現状である。
Up to now, the triangular element division problem has been most studied and developed in the field of computational mechanics, including those shown in the above publications. In fact, many methods have been proposed for two-dimensional shapes, but at present, three-dimensional shapes have not always been sufficiently studied.

【0007】また、従来の方法は主として2次元・3次
元形状領域に特化しており、非多様体形状に対して一般
的に適応できるものではない。これはいくつかの市販の
CADシステムにおいて3次元非多様体形状が表現でき
るようになったのが比較的最近のことだからであろうと
思われる。
Further, the conventional method is mainly specialized in a two-dimensional / three-dimensional shape region, and cannot be generally applied to a non-manifold shape. This may be because it is relatively recent that three-dimensional non-manifold shapes can be represented in some commercially available CAD systems.

【0008】さて、従来の典型的な三角要素分割法を、
K. Ho-Le, "Finite element mesh generation methods:
a review and classification," Computer Aided Des
ign,Vol.20, No.1, 1988に基づき、次の4グループに分
けて説明する。
Now, the conventional typical triangular element division method is
K. Ho-Le, "Finite element mesh generation methods:
a review and classification, "Computer Aided Des
Based on ign, Vol. 20, No. 1, 1988, the explanation is divided into the following four groups.

【0009】部分領域分割法 与えられた領域を凸領域や穴のない領域などの単純で扱
いやすい部分領域に切り分けて、次にそれぞれの部分領
域を三角要素分割する。部分領域の分割は、規則正しい
格子を写像関数でマッピングしたり、簡単なルールによ
って内部ノードを加えたりして行う。従来実現されてい
る方法では、部分領域への分割を人手に頼っていること
が多く、完全には自動化されていないものがほとんどで
あった。また、それぞれの部分領域に指定されたノード
間距離分布に忠実にノードを配置する方法がなかった。
The given area is divided into simple and easy-to-handle partial areas such as convex areas and areas without holes, and then each partial area is divided into triangular elements. The division of the partial area is performed by mapping a regular grid with a mapping function or adding internal nodes according to a simple rule. In the conventionally implemented method, the division into the partial areas is often performed manually, and most of the methods are not completely automated. Further, there is no method for arranging nodes faithfully in the inter-node distance distribution specified in each partial area.

【0010】階層的空間分割法 2次元領域を4分木で、3次元領域を8分木で階層的に
再分割してゆく方法.滑らかな領域境界を表すために、
境界近傍の要素として一部が欠けた正方形や立方体を扱
えるように拡張する方法も提案されている。最大の問題
点は分割の深さによって要素の大きさを離散的にしか制
御できないことであろう。また、分割軸に対する形状の
置きかたが分割結果に大きく影響することや、解析など
で重要となる形状の角や表面に歪みの大きい要素が数多
く生成されるなどの問題点も指摘されている。
Hierarchical space division method A method of hierarchically subdividing a two-dimensional region with a quadtree and a three-dimensional region with an octree. To represent a smooth area boundary,
There is also proposed a method of extending a partly missing square or cube as an element in the vicinity of a boundary. The biggest problem is that the size of the element can only be controlled discretely by the depth of division. It has also been pointed out that the placement of the shape with respect to the division axis greatly affects the division result, and that many elements with large distortion are generated on the corners and surfaces of the shape that are important in analysis etc. .

【0011】再帰的二分割法 三角要素として使える形状が得られるまで、領域を再帰
的に二分割してゆく方法.部分領域分割法と異なり、要
素のレベルまで二分割だけで領域を切り分けていく。こ
の際に必要となる形状モデリングのデータ操作などの議
論は多く行われているが、ノード間距離の連続的な制御
や要素の歪みを少なくすることなどの基本的要求に対し
てはまだ十分に考慮されていない。
Recursive bisection method A method of recursively dividing a region into two until a shape usable as a triangular element is obtained. Unlike the partial area division method, the area is divided by only two divisions up to the element level. There are many discussions on the data manipulation of shape modeling required at this time, but the basic requirements such as continuous control of the distance between nodes and reduction of element distortion are still insufficient. Not considered.

【0012】ノード結合法 まず領域の境界と内部にノードを配置し、次にこれらを
結んでメッシュを構成する方法。いったんノードの集合
が与えられると、Delaunayの方法を用いてこれを結合し
て歪みの少ないメッシュを生成できる。この方法は計算
幾何学の分野で長く研究されてきたもので、2次元・3
次元空間に散らばった点を接続して正三角形や正四面体
に近いメッシュを生成するための効率的かつ安定なアル
ゴリズムである。(例えば、伊理,計算幾何学と地理情
報処理,bit 別冊,共立出版,1989を参照)。残された
問題はいかにして指定されたノード間距離分布を満たし
歪みの少ない要素を生成するようなノード配置を得るか
である。特に3次元の場合は難しい。
Node connection method A method of first arranging nodes on the boundary and inside of a region, and then connecting them to form a mesh. Once a set of nodes is given, it can be combined using Delaunay's method to generate a less distorted mesh. This method has been studied for a long time in the field of computational geometry.
It is an efficient and stable algorithm for connecting points scattered in a dimensional space to generate a mesh close to an equilateral triangle or tetrahedron. (See, for example, Iri, Computational Geometry and Geographic Information Processing, Bit Separate Volume, Kyoritsu Shuppan, 1989). The remaining problem is how to obtain a node arrangement that satisfies the specified distance distribution between nodes and generates an element with little distortion. It is particularly difficult in the case of three dimensions.

【0013】ところで、有限要素法などを用いた解析に
おいて、計算時間や記憶空間を増やさずに解精度を改善
するには、領域全体にわたりノード間距離(すなわち三
角形の辺の長さ)を連続的な分布関数にしたがって変化
させなければならない。この際、解析解の値が急に変化
する領域では細かな三角要素(三角要素という用語は、
平面における三角形要素と、空間における四面体要素の
総称である)を、それ以外では粗い要素を使うことが大
切となる。
By the way, in the analysis using the finite element method or the like, in order to improve the solution accuracy without increasing the calculation time and the storage space, the distance between the nodes (that is, the length of the sides of the triangle) is continuously set over the entire region. Must be varied according to a distribution function. At this time, fine triangular elements (the term triangular element
It is important to use triangular elements in the plane and tetrahedral elements in the space), and coarse elements in other areas.

【0014】また、与えられたトリミング曲線上や、特
に指定された点や曲線上にノードが正確に置かれている
ことが必要である。また、解析においてこれらの曲線上
で境界条件を与えることができるように、各曲線の近似
形状が三角形の辺の列としてメッシュ内に表現されてい
なくてはならない。
Further, it is necessary that nodes are accurately placed on a given trimming curve, and particularly on a specified point or curve. Also, in order to be able to give boundary conditions on these curves in the analysis, the approximate shape of each curve must be represented in the mesh as a row of triangle sides.

【0015】[0015]

【発明が解決しようとする課題】一般に、メッシュを構
成する要素は、正三角形や正四面体等の等方的なメッシ
ュを用いることが好ましいとされてきた。これは、著し
く歪んだメッシュは解析の精度を低下させるからであ
る。しかしながら、いくつかの解析問題においては、等
方性メッシュではなく、ある自然現象と関連性を有する
ベクトル場の方向に対応した細長く伸びた非等方性メッ
シュを用いる方が、解の精度や収束性の改善という点
で、好ましい場合がある。例として、自動車の衝突解析
や板成形のシミュレーションなどの大変形の弾塑性変形
解析があげられる。衝突解析においては、梁部材に力が
流れる方向に細長く伸びたメッシュを用いるのがよい。
すなわち、力の流れる方向というベクトル場に沿って、
非等方的なメッシュを用いることが好ましい。また、流
体解析でも流線の方向というベクトル場に沿って細長く
伸びたメッシュを用いる方が解析の効率がよい。
In general, it has been considered preferable to use an isotropic mesh such as a regular triangle or a regular tetrahedron as an element constituting the mesh. This is because a significantly distorted mesh reduces the accuracy of the analysis. However, in some analysis problems, it is better to use an elongated anisotropic mesh corresponding to the direction of a vector field related to a certain natural phenomenon, instead of an isotropic mesh. It may be preferable from the viewpoint of improving the performance. Examples include elasto-plastic deformation analysis of large deformations such as automobile collision analysis and plate forming simulation. In the collision analysis, it is preferable to use a mesh elongated in a direction in which a force flows through the beam member.
That is, along the vector field of the direction of force flow,
It is preferable to use an anisotropic mesh. Also, in the fluid analysis, it is more efficient to use a mesh elongated in a vector field called a streamline direction.

【0016】図18は、流線のベクトル場の一例を示す
図である。この例におけるベクトル場は、自動車の風洞
実験における風の流れであり、この風の流れに応じてメ
ッシュを非等方的に形成することが好ましい。また、構
造解析を行う場合、ベクトル場は力の流れであり、曲面
の近似においては、最大曲率ベクトルである。
FIG. 18 is a diagram showing an example of a streamline vector field. The vector field in this example is a wind flow in a wind tunnel experiment of an automobile, and it is preferable to form a mesh anisotropically in accordance with the wind flow. When performing structural analysis, the vector field is a flow of force, and in the approximation of a curved surface, it is the maximum curvature vector.

【0017】このように、ある自然現象に関係するベク
トル場に応じて、メッシュを非等方性にする理由は、自
然現象を表すベクトルと解となる物理量の変化に一定の
関係があることに基づく。すなわち、「力の流れの方
向」、「板が曲げられる方向」或いは、「流線の方向」
などといった自然現象を表すベクトルの方向と同一方向
に対しては、解となる物理量の変化が少なく、これと直
交する方向は、物理量の変化が大きいという先験的知識
に基づいている。このような関係ゆえに、自然現象を示
すベクトルの方向と同一方向については、物理量の変化
が少ないためメッシュを大きくしても解の精度を低下さ
せることがないので構わないが、これと直交する方向に
ついては、物理量の変化が大きいためメッシュを小さく
することが好ましいわけである。
As described above, the reason why the mesh is made anisotropic in accordance with the vector field related to a certain natural phenomenon is that there is a fixed relation between the vector representing the natural phenomenon and the change of the physical quantity as a solution. Based. That is, "direction of force flow", "direction in which plate is bent" or "direction of streamline"
In the same direction as the direction of the vector representing a natural phenomenon, such as the above, there is little change in the physical quantity as a solution, and in the direction orthogonal to this, it is based on a priori knowledge that the physical quantity is large. Due to such a relationship, in the same direction as the direction of the vector indicating the natural phenomenon, there is little change in the physical quantity, so even if the mesh is enlarged, the accuracy of the solution will not be reduced. Regarding the above, it is preferable to reduce the mesh because the change in the physical quantity is large.

【0018】そこで、この発明の目的は、自然現象を示
すベクトル場を考慮して、解の精度が高く処理速度の速
い自動メッシュ分割を適用するためのシステム及び方法
を提供することにある。
An object of the present invention is to provide a system and method for applying automatic mesh division with high solution accuracy and high processing speed in consideration of a vector field indicating a natural phenomenon.

【0019】この発明の他の目的は、非多様体データ・
モデルに複数の楕円バブルを配置し、該複数の楕円バブ
ルの間での定義された引力・斥力に基づき力学的な方程
式を解き、楕円バブルの中心点を結ぶことにより、自動
的に最適な三角要素分割を実行するシステム及び方法を
提供することにある。
Another object of the present invention is to provide non-manifold data
By arranging a plurality of elliptical bubbles in the model, solving a dynamic equation based on the defined attractive and repulsive forces among the plurality of elliptical bubbles, and connecting the center points of the elliptical bubbles, an optimal triangle is automatically obtained. An object of the present invention is to provide a system and a method for performing element division.

【0020】[0020]

【課題を解決するための手段】上記目的は、次に示すよ
うな本発明のステップ、及びそれらのステップを実現す
るシステムによって達成される。
The above object is achieved by the following steps of the present invention and a system for implementing the steps.

【0021】本発明は、予め用意された非多様体データ
・モデルに対して、以下に示すステップ1乃至ステップ
5の手順により最適な数のノードを最適な位置に発生す
る。また、以下のステップ6に示したようにこのノード
発生方法をワイヤーフレーム(稜線)、サーフェス(曲
面)、ソリッド(空間領域)の順に適用し、さらに三角
要素に結んでいくことにより、3次元非多様体の自動三
角要素分割を実現するものである。なお、図1は、本発
明の概要を示す図である。
According to the present invention, an optimum number of nodes is generated at an optimum position by a procedure of steps 1 to 5 shown below for a non-manifold data model prepared in advance. Also, as shown in the following step 6, this node generation method is applied in the order of a wire frame (ridge line), a surface (curved surface), and a solid (space area), and further connected to a triangular element, so that a three-dimensional It implements automatic triangulation of manifolds. FIG. 1 is a diagram showing an outline of the present invention.

【0022】ステップ1.自然現象を示すベクトル場の指定 メッシュの特性を表す基本となるベクトル場を指定す
る。すなわち、要素の大きさを指定するスカラー場d及
びメッシュの方向性とアスペクト比を指定するベクトル
場vを指定する(図1(a))。
Step 1. A basic vector field representing the characteristics of the specified mesh of the vector field indicating a natural phenomenon is specified. That is, a scalar field d that specifies the size of the element and a vector field v that specifies the directionality and aspect ratio of the mesh are specified (FIG. 1A).

【0023】ステップ2.楕円バブルの定義 所望の三角要素が得られるような理想的なメッシュ・ノ
ード配置を求めるために、各ノードを上記のスカラー場
dとベクトル場vに応じて大きさと方向が決められる楕
円(以下、楕円バブルという)として表現する(図1
(b))。
Step 2. Definition of Elliptic Bubble In order to obtain an ideal mesh node arrangement that can obtain a desired triangular element, each node is defined by an ellipse whose size and direction are determined according to the scalar field d and the vector field v (hereinafter, ellipse). Expressed as an elliptical bubble (Fig. 1)
(B)).

【0024】ステップ3.楕円バブル間力を定義 楕円バブルを形状領域内に最密に充填するために、隣接
する二つの楕円バブル間に働く力を定義する。すなわ
ち、楕円バブル間には分子間力に似た力の場をバブル間
距離の関数として定義する。二つの楕円バブルは、接し
ているとき等、二つの楕円バブルの距離がある所定の安
定距離内にある場合が安定状態であり、楕円バブル間力
は働かない。そして、この距離よりも近づくと斥力が働
き、遠ざかると引力が働くようにする。好ましい楕円バ
ブル間力は、例えば三次曲線の一部分などにより定義さ
れる。
Step 3. Defining Force Between Elliptical Bubbles The force acting between two adjacent elliptical bubbles in order to fill the elliptical bubbles in the shape region most closely is defined. That is, a force field similar to the intermolecular force is defined between the elliptical bubbles as a function of the distance between the bubbles. The two elliptical bubbles are in a stable state when the distance between the two elliptical bubbles is within a predetermined stable distance, such as when they are in contact with each other, and the force between the elliptical bubbles does not work. Then, a repulsive force acts when approaching the distance, and an attractive force acts when the distance increases. The preferred force between the elliptical bubbles is defined, for example, by a part of a cubic curve.

【0025】ステップ4.動力学シミュレーションによる楕円バブル
間力の均衡位置の算出 本ステップの動力学シミュレーションと以下のステップ
の適応的楕円バブルの個数制御により、適切な楕円バブ
ルの個数と全ての楕円バブル間力が均衡して安定する配
置を求める。この状態では、楕円バブルが最密充填され
た状態になる。このような状態にするために、上記の楕
円バブル間力に加えて、楕円バブルの中心点に質量と楕
円バブルの速度に比例する粘性抵抗を与えて古典的ニュ
ートン力学の運動方程式をたてる。ある初期位置から始
めてこの運動方程式をRunge-Kutta法などの数値積分に
よって解くと、時間の経過とともに楕円バブルの配置が
力の均衡状態に近づいてゆくので、十分に近づいたとこ
ろで数値積分をうちきり最終的な解とする。ただし、ワ
イヤー・フレーム上とサーフェス上の楕円バブルはそれ
らの幾何要素上から楕円バブルが外に出ないように移動
させなければならない。
Step 4. Elliptical bubble by dynamics simulation
Calculation of Balance Position of Interforce By the dynamic simulation of this step and the adaptive control of the number of elliptical bubbles in the following steps, an arrangement is obtained in which the appropriate number of elliptic bubbles and all the forces between the elliptical bubbles are balanced and stable. In this state, the elliptical bubbles are in a state of being packed closest. In order to achieve such a state, classical Newtonian equation of motion is established by giving a viscous resistance proportional to the mass and the velocity of the elliptical bubble to the center point of the elliptical bubble in addition to the above-mentioned force between the elliptical bubbles. If this equation of motion is solved by a numerical integration such as the Runge-Kutta method starting from a certain initial position, the arrangement of the elliptical bubble approaches the equilibrium state of the force with the passage of time. Solution. However, the elliptical bubbles on the wire frame and on the surface must be moved so that the elliptical bubbles do not come out of those geometric elements.

【0026】ステップ5.楕円バブル個数の適応制御 上記の動力学シミュレーションの最中に楕円バブル同士
の重なり状態を計算して、この重なりの程度を重なり度
として定義する。そして、この重なり度に応じて、楕円
バブルの密度が大きすぎる場所では適宜、楕円バブルを
破壊して個数を減らし、小さすぎる場所では***させて
個数を増やす。このメカニズムによってある領域に対し
て適切な数の楕円バブルを過不足なく充填することがで
きる(図1(c))。
Step 5. Adaptive control of the number of elliptical bubbles The state of overlap between elliptical bubbles is calculated during the dynamic simulation, and the degree of this overlap is defined as the degree of overlap. Then, according to the degree of overlap, the elliptical bubbles are destroyed to reduce the number as appropriate in places where the density of the elliptical bubbles is too large, and the number is increased by dividing them in places where the density is too small. By this mechanism, a certain area can be filled with an appropriate number of elliptical bubbles without excess or deficiency (FIG. 1C).

【0027】ステップ6.非多様体形状上への楕円バブルの配置と三
角要素分割 最密充填された楕円バブルの中心点をメッシュ・ノード
とし、これらのメッシュ方向性とアスペクト比とを考慮
した「デローニ三角形の判定条件」を用いて、各メッシ
ュ・ノードを自然現象を示すベクトル場の方向に細長く
なるように結んで三角メッシュを形成する(図1
(d))。幾何要素に対して上述の楕円バブルの発生方
法が用意されているとき、3次元非多様体形状の三角要
素分割は以下の手順で行うことができる。
Step 6. Placement of Elliptical Bubbles on Nonmanifold Shapes and Three
Corner element division The center point of the closest-filled elliptical bubble is defined as a mesh node, and each mesh node is transformed into a natural phenomenon using the "Deloni triangle decision condition" that considers these mesh directionality and aspect ratio. A triangular mesh is formed by tying in the direction of the vector field shown to be elongated (FIG. 1).
(D)). When the above-described method for generating the elliptical bubble is prepared for the geometric element, the triangular element division of the three-dimensional non-manifold shape can be performed by the following procedure.

【0028】 1.全ての頂点に楕円バブルを配置する。 2.全ての稜線上に楕円バブルを最密充填する。 3.稜線上の楕円バブルの中心点を順に結んで線分要素
に分割する。 4.全ての面上の閉じた領域に楕円バブルを最密充填す
る。 5.面上の閉じた領域内の楕円バブルの中心点を、後に
詳述する変更されたDelaunayの方法などで結んで三角形
要素に分割する。 6.全ての空間内の閉じた領域に楕円バブルを最密充填
する。 7.空間内の閉じた領域内の楕円バブルの中心点を変更
されたDelaunayの方法などで結んで四面体要素に分割す
る。
1. Place elliptical bubbles at all vertices. 2. Closely fill elliptical bubbles on all ridges. 3. The center point of the elliptical bubble on the ridge is connected in order and divided into line segment elements. 4. Closely packed closed areas on all surfaces with elliptical bubbles. 5. The center points of the elliptical bubbles in the closed area on the surface are connected to each other by a modified Delaunay method, which will be described in detail later, and divided into triangular elements. 6. Closely packed closed areas in all spaces are filled with elliptical bubbles. 7. The center point of the elliptical bubble in the closed area in the space is connected by the modified Delaunay method and divided into tetrahedral elements.

【0029】尚、特に非多様体モデルにあっては、上記
楕円バブルの充填順序を上述の順序で行うことが望まし
い。さらに、本発明にあっては、非多様体モデルの通常
の稜線と、次元の異なるオブジェクト間の境界をなす稜
線を区別せず同様に楕円バブル充填を行うことが望まし
い。また、最初に配置される初期楕円バブルは、規則的
格子の位置に置いてもよいし、階層的な領域分割(2分
木、4分木、8分木など)を用いてもよい。
In particular, in the case of a non-manifold model, it is desirable that the filling order of the elliptical bubbles is performed in the order described above. Further, in the present invention, it is desirable to similarly perform elliptical bubble filling without distinguishing a normal edge line of a non-manifold model from an edge line that forms a boundary between objects having different dimensions. In addition, the initial elliptical bubble to be initially placed may be placed at a regular grid position, or a hierarchical area division (a binary tree, a quad tree, an oct tree, etc.) may be used.

【0030】[0030]

【実施例】以下図面に基づき、本発明の好ましい実施例
について説明する。
Preferred embodiments of the present invention will be described below with reference to the accompanying drawings.

【0031】図2は、本発明の自動三角要素分割システ
ムを実現するための処理モジュールのブロック図であ
る。この実施例では、図2に示す各々の処理モジュール
のブロックは、AIX(IBMの商標)の下で動作する
ワークステーション上で、C言語で作成された個別のプ
ログラム、ルーチンまたは関数である。しかし、これら
個々のモジュールを、ディスクリートなハードウェアで
実現してもよいし、複数台のワークステーションをLA
Nなどで相互接続した分散処理環境で、個別のワークス
テーションに別の処理モジュールをロードし、分散並列
処理を行うようにしてもよい。
FIG. 2 is a block diagram of a processing module for realizing the automatic triangular element division system of the present invention. In this embodiment, the blocks of each processing module shown in FIG. 2 are individual programs, routines or functions written in C on a workstation running under AIX (trademark of IBM). However, these individual modules may be realized by discrete hardware, or a plurality of workstations may be connected to LA.
In a distributed processing environment interconnected by N or the like, another processing module may be loaded on an individual workstation to perform distributed parallel processing.

【0032】図2において、形状入力ブロック1は、メ
ッシュ分割すべき入力形状を定義し、要素分割に際して
必要な情報を提供するもので、メッシュ分割すべき入力
形状を定義する非多様体入力形状定義手段102と、こ
の形状から、これらを構成する頂点、稜線、面、空間な
どの位相要素を得る入力形状位相情報抽出手段104
と、これらの位相要素の位置と形状などの幾何情報を得
る入力形状幾何情報抽出手段106とから構成される。
Referring to FIG. 2, a shape input block 1 defines an input shape to be mesh-divided and provides information necessary for element division. A non-manifold input shape definition for defining an input shape to be mesh-divided. Means 102 and input shape phase information extracting means 104 for obtaining topological elements such as vertices, ridges, surfaces, spaces, etc., from these shapes.
And input shape geometric information extracting means 106 for obtaining geometric information such as the position and shape of these phase elements.

【0033】形状入力ブロック1は、スカラー場定義手
段107及びベクトル場抽出手段108を有している。
スカラー場定義手段107により、要素の大きさを指定
するスカラー場dが定義される。またベクトル場定義手
段108により、メッシュの方向性とアスペクト比とを
指定するベクトル場vが定義される。このスカラー場d
及びベクトル場vはそれぞれ、2次元ではd(x、
y)、v(x、y)で表され、3次元ではd(x、y、
z)、v(x、y、z)で表される。なお、このベクト
ル場は、上述のように力の流れの方向や流線の方向等の
ある自然現象の方向を表すものである。
The shape input block 1 has a scalar field definition means 107 and a vector field extraction means 108.
The scalar field definition means 107 defines a scalar field d for specifying the size of the element. Further, the vector field defining means 108 defines a vector field v which specifies the directionality and aspect ratio of the mesh. This scalar field d
And the vector field v are d (x,
y), v (x, y), and in three dimensions d (x, y,
z) and v (x, y, z). Note that this vector field represents the direction of a certain natural phenomenon such as the direction of the flow of the force or the direction of the streamline as described above.

【0034】要素分割ブロック2は、形状入力ブロック
1から順次、必要な位相的・幾何的な情報を得て、メッ
シュ・ノードを配置するとともにメッシュ要素を発生
し、さらに生成されたメッシュ出力ブロック3に順次出
力する。
The element dividing block 2 sequentially obtains necessary topological and geometrical information from the shape input block 1, arranges mesh nodes, generates mesh elements, and generates the generated mesh output block 3. Are output sequentially.

【0035】より具体的には、要素分割ブロック2は、
形状入力ブロック1からの情報に基づき頂点のノードに
楕円バブル(詳細は後述する)を配置する頂点ノード配
置手段202と、形状入力ブロック1からの情報に基づ
き稜線上に楕円バブルを配置する稜線ノード配置手段2
04と、配置された頂点及び稜線から線要素を発生する
線要素発生手段206と、形状入力ブロック1からの情
報に基づき面ノード上に楕円バブルを配置する面ノード
配置手段208と、配置された面ノードから2次元のDe
launayの方法に基づき三角形要素を発生する三角形要素
発生手段210と、形状入力ブロック1からの情報に基
づき空間ノード上に楕円バブルを配置する空間ノード発
生手段212と、配置された空間ノードから3次元のDe
launayの方法に基づき四面体要素を発生する四面体要素
発生手段214からなる。特に非多様体データ構造の三
角形分割を適切に行うために、要素分割ブロック2にお
ける各手段202〜214は、図1に示す上から下に順
次実行する。
More specifically, the element division block 2
Vertex node arranging means 202 for arranging an elliptical bubble (to be described in detail later) at a vertex node based on information from the shape input block 1, and ridge node for arranging an elliptical bubble on a ridge line based on information from the shape input block 1 Arrangement means 2
04, a line element generating means 206 for generating a line element from the arranged vertices and edges, a surface node arranging means 208 for arranging an elliptical bubble on a surface node based on information from the shape input block 1, and 2D De from surface node
a triangular element generating means 210 for generating a triangular element based on the launay method; a spatial node generating means 212 for arranging an elliptical bubble on a spatial node based on information from the shape input block 1; De
It comprises tetrahedral element generating means 214 for generating tetrahedral elements based on the launay method. In particular, in order to appropriately perform the triangulation of the non-manifold data structure, the units 202 to 214 in the element division block 2 sequentially execute from top to bottom shown in FIG.

【0036】メッシュ出力ブロック3は、要素分割ブロ
ック2から出力されるノードと、メッシュ要素の位相的
・幾何的情報を記憶しておき、必要に応じて要素分割ブ
ロック2の処理過程に、保持していた値をフィードバッ
クする。このため、メッシュ出力ブロック3は、ノード
とメッシュ要素の位相的・幾何的情報を記憶しておくメ
ッシュ定義手段310と、メッシュ定義手段310に位
相的情報を書き込むメッシュ位相情報生成手段302
と、メッシュ定義手段310に幾何的情報を書き込むメ
ッシュ位相情報生成手段304と、メッシュ定義手段3
10から情報を得て要素分割ブロック2に位相的情報を
フィードバックするメッシュ位相情報抽出手段306
と、メッシュ定義手段310から情報を得て要素分割ブ
ロック2に幾何的情報をフィードバックするメッシュ幾
何情報抽出手段308から構成される。
The mesh output block 3 stores the nodes output from the element division block 2 and the topological and geometric information of the mesh elements, and holds them in the process of the element division block 2 as necessary. The value that was used is fed back. Therefore, the mesh output block 3 includes a mesh definition unit 310 that stores topological and geometric information of nodes and mesh elements, and a mesh phase information generation unit 302 that writes topological information to the mesh definition unit 310.
A mesh phase information generating means 304 for writing geometric information to the mesh defining means 310;
Mesh phase information extracting means 306 which obtains information from 10 and feeds back topological information to the element division block 2
And mesh information extraction means 308 which obtains information from the mesh definition means 310 and feeds back geometric information to the element division block 2.

【0037】次に、図3及び図7を参照して、本発明の
処理ステップについて説明する。図3は、本発明に係る
処理の概要ステップを示すフローチャートである。図3
では、図2の形状入力ブロック1によって、図7(a)
に示すような非多様体入力形状が与えられているものと
する。尚、図7(a)において、3次元図形である四面
体の立体6002に、稜線6005を境界線として2次
元図形である三角形6004が接し、さらに三角形60
04に、一次元図形である直線6008が一点6007
を共有して接している。このような異なる次元のオブジ
ェクトからなる複合図形は、非多様体データ構造を使用
しないと表現が困難であるかまたは実質的に不可能であ
る。また、立体6002の1つの側面にはやはり一次元
の図形である「×」形状の図形が張り付いており、さら
には、立体6002は、自身を分ける境界線6012を
内在している。このような形状を保持することも、非多
様体データ構造の1つの特徴である。
Next, the processing steps of the present invention will be described with reference to FIGS. FIG. 3 is a flowchart showing the outline steps of the processing according to the present invention. FIG.
Then, the shape input block 1 shown in FIG.
It is assumed that a non-manifold input shape as shown in FIG. In FIG. 7A, a triangle 6004, which is a two-dimensional figure, is in contact with a three-dimensional tetrahedron solid 6002, with a ridgeline 6005 as a boundary line.
04, a straight line 6008 which is a one-dimensional figure has a point 6007
Share and treat. Such a complex figure composed of objects of different dimensions is difficult or substantially impossible to express without using a non-manifold data structure. In addition, a figure having an “x” shape, which is also a one-dimensional figure, is attached to one side surface of the solid 6002, and the solid 6002 includes a boundary line 6012 that separates itself. Retaining such a shape is also a feature of the non-manifold data structure.

【0038】図3において、ステップ2002では先
ず、図2の頂点ノード配置手段202と、稜線ノード配
置手段204によって、稜線上の頂点と、両端点及び内
部点と、稜線上に楕円バブルが配置される(図7の
(b)及び(c)を参照)。ここで、3次元の非多様体
データ構造において注意すべきなのは、点は稜線、面及
び空間の全てにおいて境界になり得るものであり、稜線
は、面及び空間の両方において境界になり得るものであ
り、面は、空間において境界になり得るものである、と
いうことである。以下の説明では、「境界」とは、この
意味で使用される。例えば、非多様体データ構造では、
空間中に、孤立した点が単独で存在し得るのであって、
この場合、その点自体が、周囲の空間との境界をなして
いる。
In FIG. 3, in step 2002, first, the vertices on the ridge line, both end points and internal points, and the elliptical bubble on the ridge line are arranged by the vertex node arrangement means 202 and the ridge line node arrangement means 204 in FIG. (See (b) and (c) of FIG. 7). Here, it should be noted that in a three-dimensional non-manifold data structure, a point can be a boundary in all of edges, faces, and space, and an edge can be a boundary in both faces and space. Yes, a surface can be a boundary in space. In the following description, “boundary” is used in this sense. For example, in a non-manifold data structure:
In space, an isolated point can exist alone,
In this case, the point itself forms a boundary with the surrounding space.

【0039】ステップ2004では、後に詳述するよう
な力学的技法によって楕円バブルが移動され、必要に応
じて楕円バブルが破壊・***される。ステップ2006
では、楕円バブル位置にメッシュ・ノードが配置され
る。ステップ2007では、線要素発生手段206によ
って、楕円バブルの中心位置を繋ぐように線要素が発生
される。尚、ステップ2002〜2007は、図4のフ
ローチャートに関連して詳述される。
In step 2004, the elliptical bubble is moved by a mechanical technique as will be described in detail later, and the elliptical bubble is broken or split as necessary. Step 2006
In the example, a mesh node is arranged at an elliptical bubble position. In step 2007, a line element is generated by the line element generation means 206 so as to connect the center positions of the elliptical bubbles. Steps 2002 to 2007 will be described in detail with reference to the flowchart of FIG.

【0040】ステップ2008では、図2の線要素発生
手段206によって、線要素を発生した後(図7
(d))、面ノード配置手段208によって面の境界上
と面上に楕円バブルが配置され、ステップ2010では
上記ステップ2004と同様の技法によって楕円バブル
が移動され、必要に応じて楕円バブルが破壊・***され
る。ステップ2012では、楕円バブル位置にメッシュ
・ノードが配置される(図7(e))。すると、ステッ
プ2013では、三角形要素発生手段210により、後
に詳述する修正された2次元のDelaunayの方法を利用し
て、楕円バブルの中心位置が繋がれ、以って三角形要素
が発生される(図7(f))。このとき注意すべきであ
るのは、非多様体データ構造においては、図7(a)の
「×」形状6010で示されるように、2次元の面上に
1次元の線が埋めこまれていたりすることである。従っ
て、修正された2次元のDelaunayの方法を適用する際に
は、このような埋めこまれた1次元の線に交差しないよ
うに、三角形要素を発生する必要があることに留意され
たい。ステップ2008〜2013は、図5のフローチ
ャートに関連して詳述される。
In step 2008, after a line element is generated by the line element generating means 206 of FIG.
(D)) Elliptical bubbles are arranged on the boundary of the surface and on the surface by the surface node arranging means 208. In step 2010, the elliptical bubble is moved by the same technique as in step 2004, and the elliptical bubble is destroyed as necessary.・ It is divided. In step 2012, a mesh node is arranged at the position of the elliptical bubble (FIG. 7 (e)). Then, in step 2013, the triangular element is generated by the triangular element generating means 210 using the modified two-dimensional Delaunay method described later to connect the center positions of the elliptical bubbles ( FIG. 7 (f)). At this time, it should be noted that in the non-manifold data structure, a one-dimensional line is embedded on a two-dimensional surface as shown by an “x” shape 6010 in FIG. Or Therefore, it should be noted that when applying the modified two-dimensional Delaunay method, it is necessary to generate triangular elements so as not to intersect such embedded one-dimensional lines. Steps 2008-2013 are described in detail with reference to the flowchart of FIG.

【0041】ステップ2014では、図2の三角形要素
発生手段210によって三角形要素が発生された後(図
7(f))、空間ノード配置手段212によって空間の
境界上と空間の内部に楕円バブルが配置され、ステップ
2016では上記ステップ2004と同様の技法によっ
て楕円バブルが移動され、必要に応じて楕円バブルが破
壊・***される。ステップ2018では、楕円バブル位
置にメッシュ・ノードが配置され、ステップ2019で
は、修正された3次元のDelaunayの方法を利用して、そ
の空間内のメッシュ・ノードに関連して、四面体要素発
生手段214によって四面体要素が発生される(図7
(g))。この場合にも、非多様体であるが故に、空間
内に埋めこまれた、空間よりも低次元の領域に交差しな
いように四面体要素を発生する必要があることに留意さ
れたい。ステップ2014〜2019は、図6のフロー
チャートに関連して詳述される。なお、変更されたDela
unayの方法については、後に詳述する。
In step 2014, after the triangular element is generated by the triangular element generating means 210 of FIG. 2 (FIG. 7 (f)), the elliptic bubble is arranged on the boundary of the space and inside the space by the space node arranging means 212. Then, in step 2016, the elliptical bubble is moved by the same technique as in step 2004, and the elliptical bubble is destroyed / split as necessary. In step 2018, the mesh node is placed at the position of the elliptical bubble. In step 2019, the modified three-dimensional Delaunay method is used to associate the mesh node in the space with the tetrahedral element generating means. A tetrahedral element is generated by 214 (FIG. 7).
(G)). Note also that in this case, because of the non-manifold, it is necessary to generate tetrahedral elements so as not to intersect areas embedded in the space and lower in dimension than the space. Steps 2014-2019 are described in detail with reference to the flowchart of FIG. The modified Dela
The unay method will be described later in detail.

【0042】このようにして結局、図7(h)に示すメ
ッシュが生成される。
As a result, the mesh shown in FIG. 7H is generated.

【0043】次に、図4以下を参照して、本発明に係る
メッシュ生成の詳細な処理について説明する。
Next, a detailed process of mesh generation according to the present invention will be described with reference to FIG.

【0044】図4を参照すると、稜線上の頂点及び稜線
上に楕円バブルを配置し、動力学的モデルに従い楕円バ
ブルを移動させ、必要に応じて楕円バブルを破壊・***
させるための処理のフローチャートが示されている。
Referring to FIG. 4, a flow chart of a process for arranging an elliptical bubble on a vertex on an edge line and on an edge line, moving the elliptical bubble according to a dynamic model, and breaking and splitting the elliptical bubble as necessary. It is shown.

【0045】まず、本発明で使用する楕円バブルについ
て説明する。座標(x、y、z)に位置する楕円バブル
は、定義されたスカラー場d≡d(x、y、z)に応じ
た大きさを有し、メッシュの方向性及びアスペクト比と
して指定されたベクトル場v≡v(x、y、z)に応じ
た方向を有する楕円であって、質量mを有するような仮
想的な物体である。このスカラー場d(x、y、z)及
びベクトル場v(x、y、z)は、一般的には、定数で
はなく、空間の座標値に依存する関数として、それぞれ
スカラー場定義手段107、ベクトル場定義手段108
によって定義されている。例えば、建築物のCADデー
タのメッシュ生成を行う場合、応力が大きい箇所では、
比較的密なメッシュを生成させるように、dの値が小さ
くなる。ただし、スカラー場dというのは、楕円バブル
の近接度合い及び楕円バブル間力を示す指標として使用
されるものである。そして、ベクトル場vは、力の流れ
等のある自然現象を示している。従って、図8(c)に
示すように、1つの楕円バブルは、他の楕円バブルと重
なり合わないようにも存在し得るし、互いに丁度接触す
るようにも存在し得るし、所定範囲以内にも近接し得
る。
First, the elliptical bubble used in the present invention will be described. The elliptical bubble located at the coordinates (x, y, z) has a size corresponding to the defined scalar field d≡d (x, y, z) and is specified as the directionality and aspect ratio of the mesh. An ellipse having a direction corresponding to the vector field v≡v (x, y, z), which is a virtual object having a mass m. The scalar field d (x, y, z) and the vector field v (x, y, z) are generally not constants, but functions that depend on coordinate values in space. Vector field definition means 108
Defined by For example, when generating a mesh of CAD data of a building, in places where stress is large,
The value of d is reduced so as to generate a relatively dense mesh. However, the scalar field d is used as an index indicating the degree of proximity of the elliptical bubbles and the force between the elliptical bubbles. The vector field v indicates a natural phenomenon such as a flow of force. Therefore, as shown in FIG. 8 (c), one elliptical bubble may exist so as not to overlap with another elliptical bubble, may exist just in contact with each other, or may fall within a predetermined range. May also be in close proximity.

【0046】楕円バブルは、基本となる円状のバブルの
大きさがスカラー場dによって決定され、さらにベクト
ル場vの方向にアスペクト比|v|倍に引き伸ばすこと
によって、その大きさと形が定義される。
The size of an elliptical bubble is determined by the size of the basic circular bubble determined by the scalar field d, and further expanded in the direction of the vector field v by the aspect ratio | v | to define its size and shape. You.

【0047】また、楕円バブル同志は、分子間力として
のファン・デル・ワース力をモデルとする引力・斥力を
受けるようにモデルされている。図8(a)に示すよう
に、ファン・デル・ワース力は、r0<rで引力であ
り、rが大きくなるにつれて0に近づき、一方、0<r
<r0で、rが0に近づくにつれて急速に増大するよう
な斥力を呈する。これを擬して、この発明では、rがr
0とr1の間にあるときは引力を示し、rがr0では0
で、rがr0以下では、次第に増加しある有限の値にと
どまるような斥力を呈するように、楕円バブル間力が定
義される。
The elliptical bubbles are modeled to receive attractive and repulsive forces modeled on van der Waals' forces as intermolecular forces. As shown in FIG. 8A, the van der Waals force is attractive at r 0 <r, and approaches zero as r increases, while 0 <r
At <r 0, it exhibits a repulsive force that increases rapidly as r approaches 0. Simulating this, in the present invention, r is r
When in between 0 and r 1 represents an attraction, the r is r 0 0
When r is equal to or less than r 0 , the force between the elliptical bubbles is defined so as to exhibit a repulsive force that gradually increases and stays at a certain finite value.

【0048】尚、楕円バブルの方向は図8(c)のよう
に一方向にそろっているとは限らず、自然現象を示すベ
クトルの方向に応じて楕円バブルの方向が異なるため、
2つの楕円バブルの中心間の距離の計算は複雑となる。
そこで、計算量を少なくするために、以下の簡略化され
た手法を用いることにより中心間距離を算出する。この
距離の算出を図9をもとに説明する。まず、図9(a)
のように、2つの楕円バブルの中心点を結ぶ線分を考
え、この線分の長さをrとする。次にこの線分と楕円バ
ブルとの交点を算出し、これらの交点と楕円との中心点
の距離をそれぞれri、rjとする。ここで、この距離の
和ri+rjの大きさを楕円バブルの中心間の距離rと比
較する。図9(a)のように、ri+rjがrより小さい
場合には、2つの楕円バブルは離れすぎているものと判
断し、2つの楕円バブル間に引力が発生するように定義
する。また、図9(b)のように、ri+rjがrより大
きい場合には、2つの楕円バブルは近づきすぎているも
のと判断し、2つの楕円バブル間に斥力が発生するよう
に定義する。さらに、図9(c)のように、ri+rj
rと等しい場合もしくは、実質的に等しいものと定義し
た所定の範囲内の場合には、2つの楕円バブルはほぼ接
しているものと判断し、2つの楕円バブル間には力の働
かないように定義する。
Note that the directions of the elliptical bubbles are not necessarily aligned in one direction as shown in FIG. 8C, and the directions of the elliptical bubbles are different depending on the directions of the vectors indicating the natural phenomena.
The calculation of the distance between the centers of two elliptical bubbles is complicated.
Therefore, in order to reduce the calculation amount, the center distance is calculated by using the following simplified method. The calculation of this distance will be described with reference to FIG. First, FIG.
Consider a line segment connecting the center points of two elliptical bubbles as shown below, and let the length of this line segment be r. Then calculate the point of intersection between this line segment and the elliptical bubbles, the distance between the center points of these intersections and elliptic respectively r i, and r j. Here, the magnitude of the sum of the distances r i + r j is compared with the distance r between the centers of the elliptical bubbles. When r i + r j is smaller than r as shown in FIG. 9A, it is determined that the two elliptical bubbles are too far apart, and the attraction is generated between the two elliptical bubbles. Further, as shown in FIG. 9B, when r i + r j is larger than r, it is determined that the two elliptical bubbles are too close, and the repulsive force is generated between the two elliptical bubbles. I do. Further, as shown in FIG. 9C, when r i + r j is equal to r or within a predetermined range defined to be substantially equal, the two elliptical bubbles are assumed to be almost in contact with each other. Judgment is made so that no force acts between the two elliptical bubbles.

【0049】r0は、例えば図9(c)のようにして定
義されたものであり、2つの楕円バブルの間の安定的な
距離を示している。さらに、r1<rでは楕円バブル間
力を0と定義しているのは(図8(c))、後の力学的
な計算の際に、遠隔の楕円バブルからの影響を無視して
計算量を低減するためである。
R 0 is defined, for example, as shown in FIG. 9C, and indicates a stable distance between two elliptical bubbles. Furthermore, the force between the elliptical bubbles is defined as 0 when r 1 <r (FIG. 8 (c)), which is calculated by ignoring the influence from a remote elliptical bubble in the subsequent mechanical calculation. This is to reduce the amount.

【0050】このような手法により中心間距離の計算を
簡略化することは、コンピュータの処理速度の向上及び
ベクトル場が複雑に変化する場所においても精度の高い
小さめの三角形を形成できる点で重要である。
The simplification of the calculation of the center-to-center distance by such a method is important in that the processing speed of the computer is improved and a small triangle with high accuracy can be formed even in a place where the vector field changes complicatedly. is there.

【0051】この実施例では、楕円バブル間力f(r)
は、次の数1のような3次関数を使用して定義されてい
る。尚、数1では、r1=1.5r0としている。また、
本発明はこのような楕円バブル間力の定義に限定される
ものではないが、この実施例では、数1には、楕円バブ
ルの質量が関与する項はあらわれない。従ってこの場
合、楕円バブル間力は、専ら楕円バブル間の距離と各々
の楕円バブルの直径によって決まる。
In this embodiment, the force f (r) between the elliptical bubbles
Is defined using a cubic function such as In Equation 1 , r 1 = 1.5r 0 . Also,
Although the present invention is not limited to such a definition of the force between the elliptical bubbles, in this embodiment, the term involving the mass of the elliptical bubble does not appear in Equation 1. Therefore, in this case, the force between the elliptical bubbles is exclusively determined by the distance between the elliptical bubbles and the diameter of each elliptical bubble.

【数1】 (Equation 1)

【0052】楕円バブル間力f(r)や楕円バブルの中
心間距離の定義は、もちろんこのような式によるものに
限定されず、この分野の当業者なら、さまざまな式を考
え出すことができるであろう。しかし、楕円バブル間力
f(r)は、少なくとも次のような条件は満たす必要が
ある。
The definition of the force f (r) between the elliptical bubbles and the distance between the centers of the elliptical bubbles is not limited to the above expression, and those skilled in the art can devise various expressions. There will be. However, the force f (r) between the elliptical bubbles must satisfy at least the following conditions.

【0053】(1) rが十分大きいとき、f(r)が実質
的に0になること。これは、遠方の楕円バブルからの影
響を無視できるようにするためである。 (2) rがある程度小さいと、引力を呈する。これは、離
れて存在する楕円バブル群を互いに近接する方向に移動
させるためである。 (3) rがさらに小さいと、斥力に転じる。これは、楕円
バブル群が凝集してきたとき、一定の楕円バブル間距離
を保たせるためである。実際、もし引力しか存在しない
と、楕円バブル群は、局所的に1点に収束してしまい、
後でメッシュを形成することができなくなる。 (4) rがいくら0に近づいても、斥力は、ある一定値よ
りも大きくならない。これは、楕円バブル群の安定性を
保つためである。例えば、ファン・デル・ワース力のよ
うに、rが小さくなるにつれ斥力が急速に増大すると、
接近してきた楕円バブル同士が強い斥力で反発しあい、
安定な位置にとどまりにくい。
(1) When r is sufficiently large, f (r) becomes substantially zero. This is to make it possible to ignore the influence of a distant elliptical bubble. (2) When r is small to some extent, attractive force is exhibited. This is to move the elliptical bubble groups that are apart from each other in a direction approaching each other. (3) If r is even smaller, it turns into repulsive force. This is to maintain a constant distance between the elliptical bubbles when the group of elliptical bubbles aggregates. In fact, if there is only attraction, the group of elliptical bubbles converges locally to one point,
The mesh cannot be formed later. (4) No matter how r approaches 0, the repulsion does not become larger than a certain value. This is to maintain the stability of the elliptical bubble group. For example, as r decreases, the repulsion increases rapidly, as in the van der Waals force,
The approaching elliptical bubbles repel each other with strong repulsion,
It is difficult to stay in a stable position.

【0054】図4に戻って、先ず、ステップ3002で
は、図2に示す頂点ノード配置手段202を利用して、
稜線上の頂点に楕円バブルが配置される。このとき留意
すべきなのは、非多様体データ構造においては、ここで
いう「稜線」には、面と面の間の境界としての稜線以外
にも、図7の参照番号6010で示すような、面上に埋
め込まれた1次元の領域も含まれることである。
Returning to FIG. 4, first, in step 3002, using the vertex node arrangement means 202 shown in FIG.
Elliptical bubbles are placed at vertices on the ridge. At this time, it should be noted that, in the non-manifold data structure, the “edge” here includes not only an edge as a boundary between the faces but also a face as indicated by reference numeral 6010 in FIG. A one-dimensional area embedded above is also included.

【0055】次に、ステップ3004に関連して、図2
に示す稜線ノード配置手段204を利用して、稜線上に
複数の楕円バブルを配置する手続きについて図10を参
照して、説明する。
Next, referring to step 3004, FIG.
The procedure for arranging a plurality of elliptical bubbles on an edge line using the edge line node arrangement means 204 shown in FIG. 10 will be described with reference to FIG.

【0056】図10において、楕円バブルを配置しよう
とする稜線は、一般的には直線とは限らず、sをパラメ
ータとして、L=(x(s),y(s),z(s))で
あらわされるような曲線となる。そこで、例えば、パラ
メータsが[0,1]の範囲に亙っているものとする
と、[a,b]⊂[0,1]のような値a,bを引数と
して、上記関数Lを用いてそれぞれの点a,bを実際の
稜線上に投影し、その投影された点での座標(x,y,
z)に基づき、d(x,y,z)を計算し、その値の直
径をもつ楕円バブルを、その投影された点に配置する。
こうして、a及びbの2つの点にそれぞれ1つずつ楕円
バブルが配置されることになる。このような手続き(手
続き1とする)を一旦用意しておくと、先ず、0,1に
対してその手続きを適用することにより頂点への楕円バ
ブル配置が行われる。続いて、2分木的に、区間を半分
に分けてそれぞれに手続き1を再帰的に適用する手続き
2を用意しておくことにより、楕円バブルの配置が稜線
全体に亙って続けられる。
In FIG. 10, the ridge line where the elliptical bubble is to be arranged is not necessarily a straight line, and L = (x (s), y (s), z (s)) using s as a parameter. It becomes a curve as represented by Therefore, for example, assuming that the parameter s extends over the range of [0, 1], the function L is used with the values a and b such as [a, b] ⊂ [0, 1] as arguments. Each point a, b on the actual ridge line, and coordinates (x, y,
Based on z), calculate d (x, y, z) and place an elliptical bubble with that value diameter at the projected point.
In this way, one elliptic bubble is arranged at each of the two points a and b. Once such a procedure (procedure 1) is once prepared, first, the elliptical bubble is arranged at the vertex by applying the procedure to 0 and 1. Subsequently, the procedure of recursively applying the procedure 1 to each of the sections by dividing the section into halves in the form of a binary tree is prepared, so that the arrangement of the elliptical bubbles is continued over the entire edge line.

【0057】そこで、手続き1の停止条件を、配置され
ているバフルがすべて隣接するか部分的に重なっている
ことであるとすることにより、結局、与えられた稜線全
域に亙って楕円バブルが隙間なく並べられた状態が得ら
れる。
Therefore, by making the stop condition of the procedure 1 that all the arranged baffles are adjacent or partially overlapping, the elliptical bubble is eventually formed over the entire area of the given ridge line. A state in which there are no gaps is obtained.

【0058】しかし、こうして単に配置された楕円バブ
ルは通常、そのまま最適な配置であることはあり得な
い。そこで、ステップ3006以下で、楕円バブルの最
適配置を図るための動力学的シミュレーションのステッ
プに移行する。
However, an elliptical bubble simply arranged in this way cannot usually be the optimum arrangement as it is. Therefore, in step 3006 and subsequent steps, the process shifts to a dynamic simulation step for optimally arranging elliptical bubbles.

【0059】「動力学的シミュレーション」と称する所
以は、個々の楕円バブルを、ある質量をもつ質点と見な
し(これによって、楕円バブルは、慣性モーメントをも
たないと仮定し、従って)、並進運動だけを考慮して、
上記で定義した楕円バブル間力と、粘性を考慮して、二
階の常微分方程式であるニュートン方程式を立て、この
方程式を解くことによって、楕円バブルの位置を時間的
に変化させるからである。楕円バブルがn個配置された
として、ニュートン方程式は、次の数2のとおりとな
る。この式からも理解されるように、楕円バブルは初期
的には、1次元の稜線上に配置されるが、運動方程式と
しては、3次元空間を想定している。このため、運動方
程式を解いていくに従って、楕円バブルが稜線上から離
れていくような動きが生じ得る。そこで、後述するよう
に、これに対処する処理がステップ3010で行われる
ことになる。
The reason we call "kinetic simulation" is to treat each elliptical bubble as a mass with a certain mass (thus assuming that the elliptical bubble has no moment of inertia; Just consider
This is because the Newton's equation, which is a second-order ordinary differential equation, is established in consideration of the force between the elliptical bubbles defined above and the viscosity, and by solving this equation, the position of the elliptical bubble is changed with time. Assuming that n elliptical bubbles are arranged, the Newton's equation is as shown in the following Expression 2. As can be understood from this equation, the elliptical bubble is initially arranged on a one-dimensional edge, but a three-dimensional space is assumed as the equation of motion. Therefore, as the equation of motion is solved, a movement may occur in which the elliptical bubble moves away from the ridge. Therefore, as will be described later, processing to cope with this is performed in step 3010.

【数2】 (Equation 2)

【0060】この数2において、xiはi番目の楕円バブ
ルのx座標、miは、i番目の楕円バブルの質量、一階微
分の項は、粘性係数ciを含む、粘性を考慮した項であ
る。1つの実施例では、質量miは、どの楕円バブルで
も等しい値に設定される。しかし、場合によっては、質
量miは、楕円バブルの直径または体積に比例する値に
設定される。yi、ziについても、同様である。粘性係
数ciも、個別の楕円バブルによって異なる値をとり得る
ように表現されているが、多くの場合、それを一定値c
であるとして十分である。本願発明者の試みによれば、
粘性を考慮した項を省くと、楕円バブルの振動が減衰す
ることなく残存し、安定状態に全く達することができな
い。また、右辺のfxi(t)、fyi(t)及びf
zi(t)はそれぞれ、時間tにおける、i番目の楕円バ
ブルに対する、上記で定義した周辺の楕円バブルからの
引力・斥力のx,y,z軸成分の和である。数1から見
て取れるように、楕円バブル間力は、距離r1より遠方
では0であると定義されているので、比較的近傍の楕円
バブルからの寄与のみを考慮すればよい。また、この式
では、質量や粘性係数を個別の楕円バブルi毎に異なる
ように表現しているが、通常、個々の楕円バブルによら
ない一定値にしても差し支えない。これが、ステップ3
006に対応する処理である。
[0060] In this number 2, x i is the x coordinate of the i-th elliptic bubble, m i is the mass of the i-th elliptic bubble, terms of first-order differential includes a viscosity coefficient c i, considering viscous Term. In one embodiment, the mass mi is set equal for any elliptical bubble. However, in some cases, the mass mi is set to a value proportional to the diameter or volume of the elliptical bubble. The same applies to y i and z i . The viscosity coefficient c i is also expressed so that it can take different values depending on the individual elliptical bubbles.
That is enough. According to the inventor's attempt,
If the term in which the viscosity is taken into consideration is omitted, the vibration of the elliptical bubble remains without attenuation and cannot reach a stable state at all. Also, f xi (t), f yi (t) and f
zi (t) is the sum of the x-, y-, and z-axis components of the attractive and repulsive forces from the surrounding elliptical bubbles defined above with respect to the i-th elliptical bubble at time t. As can be seen from Equation 1, since the force between the elliptical bubbles is defined to be 0 at a distance farther than the distance r 1 , it is only necessary to consider the contribution from the relatively close elliptical bubble. Further, in this equation, the mass and the viscosity coefficient are expressed so as to be different for each individual elliptical bubble i. However, in general, a constant value which does not depend on each elliptical bubble may be used. This is step 3
This is processing corresponding to 006.

【0061】さて、通常、多体の力学系の運動方程式は
厳密には解けないので、Runge-Kutta法などの周知の常
微分方程式の数値解析技法により、時間tをわずかな値
ずつ増分して、個々の楕円バブルの座標値を計算する。
尚、常微分方程式の数値解析技法として、本発明は、Ru
nge-Kutta法に限定されるものではなく、Adamsの方法な
どの任意の方法を使用してもよい(例えば、洲之内 治
男著、サイエンス社、理工系の数学15、「数値計
算」、1978年9月刊などを参照)。これが、ステッ
プ3008に対応する処理である。
Now, since the equation of motion of a many-body dynamical system cannot usually be solved exactly, the time t is incremented by a small value by a well-known numerical analysis technique of ordinary differential equations such as the Runge-Kutta method. Calculate the coordinates of each elliptical bubble.
Incidentally, as a numerical analysis technique of ordinary differential equations, the present invention, Ru
The method is not limited to the nge-Kutta method, and any method such as the Adams method may be used (for example, Haruo Sunouchi, Science Inc., Science and Engineering Mathematics 15, "Numerical Computation", September 1978) See monthly publication). This is the process corresponding to step 3008.

【0062】このようにして楕円バブルを移動すると、
楕円バブルは必ずしも稜線上に拘束されている訳ではな
いので、個々の楕円バブルを運動方程式に従い移動させ
てゆくに従い、楕円バブルは、稜線上から離れることが
あり得る(図11(a)の矢印p1及び楕円バブルA参
照)。そこで、ステップ3010では、1つの方法とし
て、稜線との法線方向p2に従って、楕円バブルを稜線
に引き戻す、という処理を行う。運動方程式としては、
特定の楕円バブルの座標値を強制的にオフセットさせ、
そのときの楕円バブルの系の座標値と速度を初期値とし
てRunge-Kutta法の計算を再開する、という手続きをと
る。ところが、図11の楕円バブルBのように、矢印q
1に離れたものを、法線方向である矢印q2に引き戻す
と、最早それはもとの稜線上にない、という場合があり
得る。このような楕円バブルBは破壊される。これが、
ステップ3010で行われる処理である。
When the elliptical bubble is moved in this manner,
Since the elliptical bubble is not necessarily constrained on the ridge, the elliptical bubble may move away from the ridge as the individual elliptical bubbles are moved according to the equation of motion (arrow in FIG. 11A). p1 and elliptical bubble A). Therefore, in step 3010, as one method, processing is performed to pull the elliptical bubble back to the ridge line in accordance with the normal direction p2 to the ridge line. The equation of motion is
Forcibly offset the coordinates of a particular elliptical bubble,
The procedure of restarting the calculation of the Runge-Kutta method with the coordinate values and velocity of the elliptical bubble system at that time as initial values is taken. However, like the elliptical bubble B in FIG.
When the object separated from 1 is pulled back to the arrow q2 which is the normal direction, it may no longer be on the original ridge line. Such an elliptical bubble B is destroyed. This is,
This is the processing performed in step 3010.

【0063】ステップ3010で行われる処理として
は、次のような別の方法もある。すなわち、楕円バブル
が稜線から離れた稜線上の地点(図11(b)ではt1、こ
れを、(x(s1),y(s1),z(s1))とする)
での接線ベクトルq(現在、3次元空間内での運動を考
えているので、接線ベクトルqは3次元ベクトルであ
る)を計算し、ベクトルの移動ベクトルp(これは、該
稜線上の地点から、Runge-Kuttaによって計算された新
しい楕円バブルの位置までの点を結ぶものである)との
内積p・qを計算する。さらにこれを、qの長さ|q|
で割ると、それは、ほぼ、新しい楕円バブルの位置の、
1からの、稜線に沿った距離Dをあらわす値となって
いる。ところが、Δsが微小な値であるとき、以下の数
3が成立する。
As the processing performed in step 3010, there is another method as follows. That is, the point on the edge line ellipse bubble away from the ridge line (t 1 in FIG. 11 (b), the this, the (x (s 1), y (s 1), z (s 1)))
, The tangent vector q (which is currently considering motion in a three-dimensional space, the tangent vector q is a three-dimensional vector) is calculated, and the vector's movement vector p (which is , Which connects the points to the position of the new elliptical bubble calculated by Runge-Kutta). Further, this is expressed as q length | q |
Divided by, it is almost the position of the new elliptical bubble,
from t 1, it has a value representing a distance D along the edge line. However, when Δs is a small value, the following Expression 3 holds.

【数3】 ΔL/Δs≒|q|Equation 3 ΔL / Δs / | q |

【0064】ここで、上記Dは、ΔLに相当する値と見
なすことができるので、
Here, D can be regarded as a value corresponding to ΔL.

【数4】 Δs=D/|q| すなわち、 Δs=p・q/|q|2 Δs = D / | q | That is, Δs = p · q / | q | 2

【0065】よって、このようなΔsを以て、楕円バブ
ルを引き戻す稜線上の地点は、t2=(x(s1+Δ
s),y(s1+Δs),z(s1+Δs))と計算され
る。
Thus, with such Δs, the point on the ridge line that pulls back the elliptical bubble is t 2 = (x (s 1 + Δ)
s), y (s 1 + Δs), z (s 1 + Δs)).

【0066】次に、ステップ3012では、力の均衡状
態かどうかが決定される。これは、例えば次のように行
われる。すなわち、Runge-Kutta法においては(あるい
は他の常微分方程式の数値解法でも同様であるが)、各
ステップ毎に、各々の座標値の差分が計算される。そこ
で、ステップ3012では、各々の座標値の差分の絶対
値のうちの最大値を求め、この差分の最大値が、予め定
めた値より小さい場合に、力の均衡状態に達したと判断
する。そうでないなら、処理は、直ちにステップ300
6に戻る。
Next, in step 3012, it is determined whether or not the force is in an equilibrium state. This is performed, for example, as follows. That is, in the Runge-Kutta method (or the same is true for the numerical solution of other ordinary differential equations), the difference between the coordinate values is calculated for each step. Therefore, in step 3012, the maximum value of the absolute values of the differences between the respective coordinate values is obtained, and if the maximum value of the differences is smaller than a predetermined value, it is determined that the state of equilibrium has been reached. If not, the process immediately proceeds to step 300
Return to 6.

【0067】ステップ3014では、個々の楕円バブル
の重なり度、すなわち楕円バブルの過疎、過密を判断す
るパラメータを算出する。すなわち、ある楕円バブルに
対して、これと隣接する全ての楕円バブルとの重なりの
距離を加算した値を算出し、この値が第1のしきい値よ
り大きい場合には、「過密」と判断して楕円バブルを減
らし、第2のしきい値より小さい場合には、「過疎」と
し判断して楕円バブルを増やす。このような制御によ
り、バブルの個数を過不足なく充填する。その算出方法
を、図12を参照して説明する。この重なり度は、上述
の楕円バブルの中心間距離の算出方法と同様の方法を用
いて計算する。すなわち、楕円バブルAと楕円バブルB
の中心点を結ぶ線分の長さをr、この線分と楕円バブル
A,Bとのそれぞれの交点とそれぞれの中心までの距離
をrA、rBとすると、楕円バブルAに対する楕円バブル
Bの重なり度は、{(2rA+rB−r)/rA}×10
0で表される。
In step 3014, the degree of overlap between the individual elliptical bubbles, that is, a parameter for determining whether the elliptical bubbles are sparse or overcrowded, is calculated. That is, a value obtained by adding the overlap distance between a certain elliptical bubble and all the adjacent elliptical bubbles is calculated, and when this value is larger than the first threshold value, it is determined that “overcrowding”. To reduce the number of elliptical bubbles. If the number of elliptic bubbles is smaller than the second threshold value, it is determined as "sparse" and the number of elliptical bubbles is increased. By such control, the number of bubbles is filled without excess and deficiency. The calculation method will be described with reference to FIG. This degree of overlap is calculated using the same method as the above-described method of calculating the center-to-center distance of elliptical bubbles. That is, elliptical bubble A and elliptical bubble B
Let r be the length of a line segment connecting the center points of the above, and let r A and r B be the intersections of this line segment with the elliptical bubbles A and B and the respective centers. the degree of overlap of, {(2r a + r B -r) / r a} × 10
It is represented by 0.

【0068】このような重なり度の計算が、個々の楕円
バブルについて、ステップ3014で行われる。従っ
て、ステップ3016では、個々の楕円バブルにつき、
上記重なり度が所定の閾値よりも小さく且つ上記疎ら度
が別の所定の閾値よりも大きいかについて判断が行わ
れ、もしそうなら、任意の楕円バブルの位置で適切な楕
円バブル配置が達成されている、ということであるの
で、ステップ3020に進み、そこで個々の楕円バブル
の中心位置に、メッシュ・ノードを配置する。もしそう
でないなら、ステップ3018に進み、特定の楕円バブ
ルの重なり度が上記所定の閾値よりも大きい(すなわ
ち、過密部である)という条件に応答して、その楕円バ
ブルを破壊する。また、特定の楕円バブルの疎ら度が上
記別の所定の閾値よりも小さい(すなわち、過疎部であ
る)という条件に応答して、楕円バブルを***させる。
実際上、楕円バブルの***とは、実際には、新たな楕円
バブルを、過疎であると判断された楕円バブルの近傍に
配置することを意味する。こうして楕円バブルの破壊・
***を行った後、ステップ3006に戻り、Runge-Kutt
aの新たなサイクルに入る。
The calculation of the degree of overlap is performed in step 3014 for each elliptic bubble. Therefore, in step 3016, for each elliptical bubble,
A determination is made as to whether the overlap is less than a predetermined threshold and the sparseness is greater than another predetermined threshold, and if so, an appropriate elliptical bubble location is achieved at any elliptical bubble location. Therefore, the process proceeds to step 3020, where a mesh node is arranged at the center position of each elliptical bubble. If not, proceed to step 3018 and destroy the particular elliptical bubble in response to the condition that the degree of overlap of the particular elliptical bubble is greater than the predetermined threshold (ie, overcrowded). Further, the elliptical bubble is split in response to a condition that the sparsity of the specific elliptical bubble is smaller than the another predetermined threshold (that is, the specific elliptic bubble is a depopulated portion).
In practice, splitting an elliptical bubble actually means placing a new elliptical bubble near an elliptical bubble determined to be sparse. The destruction of the elliptical bubble
After the division, return to Step 3006 and execute Runge-Kutt
Enter a new cycle.

【0069】次に、図5を参照すると、面の頂点、稜線
及び面上に楕円バブルを配置し、動力学的モデルに従い
楕円バブルを移動させ、必要に応じて楕円バブルを破壊
・***させるための処理のフローチャートが示されてい
る。図5の処理は、図4の処理の完了後に行われる。こ
のとき留意すべきなのは、非多様体データ構造において
は、ここでいう「面」には、ソリッド間の境界としての
面以外にも、図7の参照番号6012で示すような、ソ
リッド内に埋め込まれた2次元の領域も含まれることで
ある。
Next, referring to FIG. 5, in order to dispose elliptical bubbles on the vertices, ridge lines and surfaces of the surface, to move the elliptical bubbles according to the dynamic model, and to break and split the elliptical bubbles as necessary. Is shown. The processing in FIG. 5 is performed after the processing in FIG. 4 is completed. At this time, it should be noted that, in the non-manifold data structure, the “face” here is not only a face as a boundary between solids but also embedded in a solid as indicated by reference numeral 6012 in FIG. That is, a two-dimensional region is included.

【0070】図5において、ステップ4002では、図
4のフローチャートで示したのと同様の手続きにより、
面の頂点と稜線上に、楕円バブルが最適配置される。
尚、図5のフローチャートのステップが図4のフローチ
ャートのステップの続きとして実行されるのなら、ステ
ップ4002は既に完了しているので、スキップされる
ことになる。
In FIG. 5, in step 4002, a procedure similar to that shown in the flowchart of FIG.
Elliptical bubbles are optimally placed on the vertices and edges of the surface.
Note that if the steps of the flowchart of FIG. 5 are executed as a continuation of the steps of the flowchart of FIG. 4, step 4002 has already been completed, and will be skipped.

【0071】次に、ステップ4004に関連して、図2
に示す面ノード配置手段208を利用して、稜線上に複
数の楕円バブルを配置する手続きについて図13を参照
して、説明する。
Next, referring to step 4004, FIG.
A procedure for arranging a plurality of elliptical bubbles on a ridge line using the surface node arranging means 208 shown in FIG. 13 will be described with reference to FIG.

【0072】図13において、楕円バブルを配置しよう
とする面は、一般的には平面とは限らず、u,vをパラ
メータとして、x=x(u,v)、y=y(u,v)、
z=z(u,v)であらわされるような曲面となる。そ
こで、例えば、パラメータu,vが[0,1]の範囲に
亙っているものとすると、パラメータu,vの[0,
1]×[0,1]の平面における矩形領域の4つの頂点
上を上記(x,y,z)に投影した点の各々に、もしそ
の点が面領域の内部であるなら、それぞれ直径d(x,
y,z)の楕円バブルを配置するような手続きを用意し
ておき、これによって、[0,1]×[0,1]を4等
分した領域の各々にこの手続きを適用し、4等分した領
域の各々をさらに4等分してこの手続きを呼び出すとい
うことを再帰的に行い、各々の再帰呼び出しにおいて、
配置された楕円バブルの全てが互いに接触または交差し
た時点で処理をリターンするようにすることにより、与
えられた平面全体が楕円バブルで稠密に埋め尽くされる
ことになる。
In FIG. 13, the surface on which an elliptical bubble is to be placed is not limited to a plane in general, and x = x (u, v) and y = y (u, v) using u and v as parameters. ),
The curved surface is represented by z = z (u, v). Therefore, for example, assuming that the parameters u and v are in the range of [0, 1], [0, 1]
1] × [0,1], the four vertices of the rectangular area on the plane are projected onto each of the above points (x, y, z). If the point is inside the plane area, the diameter d (X,
A procedure for arranging an elliptical bubble of (y, z) is prepared, and this procedure is applied to each of the areas obtained by dividing [0, 1] × [0, 1] into four equal parts. Recursively, each of the divided areas is further divided into four equal parts and this procedure is called, and in each recursive call,
By causing the process to return when all of the placed elliptical bubbles touch or intersect each other, the entire given plane is densely filled with elliptical bubbles.

【0073】尚、注意を要するのは、上記のような
[0,1]×[0,1]の矩形領域との対応づけによっ
て曲面に楕円バブルを充填するためには、その曲面は、
立方体と、位相幾何学的に同相な形状でなくてはなら
ず、例えば、図13に示すように、その曲面の一部がト
リミングされていたり、穴があいていたりすると、楕円
バブルを配置する際に、その楕円バブルが、面領域の内
部か外部かの判定を行って、内部の場合に限って実際に
楕円バブルの配置を行う必要があることである。
It should be noted that in order to fill a curved surface with an elliptical bubble by associating it with a rectangular area of [0, 1] × [0, 1] as described above, the curved surface must be
It must have a shape that is topologically in phase with the cube. For example, as shown in FIG. 13, if a part of the curved surface is trimmed or has a hole, an elliptical bubble is arranged. In this case, it is necessary to determine whether the elliptical bubble is inside or outside the surface area, and to actually arrange the elliptical bubble only in the case of the inside.

【0074】以下のステップ4006〜4018は、そ
れぞれ、図4とステップ3006〜3018と、実質的
に同様であるが、以下のことには留意する必要がある。
The following steps 4006 to 4018 are substantially the same as FIG. 4 and steps 3006 to 3018, respectively, but the following points must be noted.

【0075】先ず、ステップ4002(あるいは図4の
フローチャートのステップ)によって最適に配置された
頂点および稜線上の(あるいは、総称的に面の境界上
の)楕円バブルは、面の内部の楕円バブルの運動方程式
の計算の際には、座標位置が不動のものとして扱われ
る。すなわち、面の内部の楕円バブルに対しては、上記
で定義された力に基づき、引力・斥力を及ぼすものとし
て運動方程式の右辺にのみあらわれ、運動方程式の左辺
の常微分の項にはあらわれない。
First, the elliptical bubbles on the vertices and ridge lines (or generically on the boundary of the surface) optimally arranged by step 4002 (or the steps in the flowchart of FIG. 4) are the elliptic bubbles inside the surface. In calculating the equation of motion, the coordinate position is treated as immovable. In other words, for the elliptical bubble inside the surface, based on the force defined above, it appears only on the right side of the equation of motion as exerting attractive and repulsive forces, and does not appear in the ordinary differential term on the left side of the equation of motion .

【0076】また、ステップ4010では、稜線ではな
く、面からの楕円バブルの離隔を調べる。そして、面か
ら楕円バブルが離隔していると、例えば、面の法線方向
に、楕円バブルを引き戻す。あるいは、図11(b)で行
った方法を2次元的に適用して、x方向の移動量Δu、
及びy方向の移動量Δvをそれぞれ計算することによ
り、楕円バブルを引き戻す面上の位置を決定してもよ
い。
In step 4010, the separation of the elliptical bubble from the surface, not the ridge line, is checked. If the elliptical bubble is separated from the surface, the elliptical bubble is pulled back, for example, in the normal direction of the surface. Alternatively, by applying the method performed in FIG. 11B two-dimensionally, the movement amount Δu in the x direction,
And the amount of movement Δv in the y direction may be calculated to determine the position on the surface where the elliptical bubble is pulled back.

【0077】ステップ4012の力の均衡状態の判断
は、ステップ3012と同様の処理でよい。
The determination of the equilibrium state of the force in step 4012 may be the same processing as in step 3012.

【0078】ステップ4014での楕円バブルの重なり
度の算出は、稜線上の場合とはやや異なって、楕円バブ
ルが2次元的に隣接することになるので、図14を参照
して説明を行う。
The calculation of the degree of overlap of the elliptical bubbles in step 4014 is slightly different from that on the ridgeline, because the elliptical bubbles are two-dimensionally adjacent to each other, and will be described with reference to FIG.

【0079】図14において、楕円バブルAを基準とし
て見たとき、その周りに6個の楕円バブルB、C、D、
E、F、Gがあり、それぞれの重なり度{(2ra+rb
−r)/ra}×100=130%ずつ重なりあってい
るとすると、全体の重なり度は、130×6=780%
であると定義する。破壊するための閾値を例えば700
%に設定してあれば、このバブルは過密と判断され、破
壊されることになる。
In FIG. 14, when the ellipse bubble A is viewed as a reference, six elliptical bubbles B, C, D,
E, F, and G, and their respective degrees of overlap {(2r a + r b
−r) / r a } × 100 = 130%, and the total degree of overlap is 130 × 6 = 780%
Is defined as The threshold value for destruction is, for example, 700
If it is set to%, this bubble will be considered overcrowded and will be destroyed.

【0080】また、全体の重なり度が所定の下限閾値、
例えば400%、よりも小さい場合、ステップ4018
で楕円バブルを新たに配置(換言すると、***)させる
ようにする。
The overall degree of overlap is a predetermined lower threshold,
If less than 400%, for example, step 4018
To newly arrange (in other words, split) the elliptical bubble.

【0081】こうして、ステップ4016では、各々の
楕円バブルの重なり度から、適切な楕円バブル配置かど
うか決定し、そうでないならステップ4018で、過密
部の楕円バブルを破壊し、過疎部の楕円バブルを***さ
せて、Runge-Kuttaの計算の次のサイクルに進み、適切
な楕円バブル配置であると判断されたなら、ステップ4
020で、楕円バブルの中心位置にメッシュ・ノードを
配置する。
Thus, in step 4016, it is determined from the degree of overlap of each elliptical bubble whether or not an appropriate elliptical bubble arrangement is made. Otherwise, in step 4018, the elliptical bubble in the dense part is destroyed, Divide and proceed to the next cycle of Runge-Kutta calculation. If it is determined that the elliptical bubble arrangement is appropriate, step 4
At 020, a mesh node is placed at the center of the elliptical bubble.

【0082】次に、図6を参照すると、空間の境界及び
内部に楕円バブルを配置し、動力学的モデルに従い楕円
バブルを移動させ、必要に応じて楕円バブルを破壊・分
裂させるための処理のフローチャートが示されている。
図6の処理は、図4及び図5の処理の完了後に行われ
る。
Next, referring to FIG. 6, a process for arranging elliptical bubbles at the boundary and inside of the space, moving the elliptical bubbles according to the dynamic model, and breaking and splitting the elliptical bubbles as necessary. A flowchart is shown.
The processing in FIG. 6 is performed after the processing in FIGS. 4 and 5 is completed.

【0083】図6において、ステップ5002では、図
5のフローチャートで示したのと同様の手続きにより、
空間境界上の面の頂点と稜線上に、楕円バブルが最適配
置される。尚、図6のフローチャートのステップが図5
のフローチャートのステップの続きとして実行されるの
なら、ステップ5002は既に完了しているので、スキ
ップされることになる。
In FIG. 6, in step 5002, a procedure similar to that shown in the flowchart of FIG.
Elliptical bubbles are optimally placed on the vertices and ridges of the surface on the space boundary. The steps in the flowchart of FIG.
If it is executed as a continuation of the steps in the flowchart of step (a), step 5002 has already been completed, and will be skipped.

【0084】次に、ステップ5004に関連して、図2
に示す空間ノード配置手段212を利用して、空間内に
複数の楕円バブルを配置する手続きについて図15を参
照して説明する。
Next, referring to step 5004, FIG.
The procedure for arranging a plurality of elliptical bubbles in a space using the space node arranging means 212 shown in FIG.

【0085】図15において、楕円バブルを配置しよう
とする空間は、一般的には立方体または直方体とは限ら
ない。そこで、立方体の8隅に楕円バブルを配置する手
続きを予め用意しておき、空間領域1702を十分に覆
う立方体1704を定義する。空間領域1702は、一
般的に、穴1706や窪みをもつことがある。さて、立
方体1704を8分木的に8等分し、おのおのの領域に
ついて、その候補点(すなわち、分割された立方体の8
隅)が、空間領域1702の内部であるかどうか判断
し、もしそうであるなら、楕円バブルをその候補点に配
置し、そうでないなら、配置しない。このような処理を
8等分された各々の立方体領域について再帰的に行う。
その再帰的処理の停止条件は、その8等分された立方体
領域において配置された全ての楕円バブルが、互いに接
触または交差することである。
In FIG. 15, the space in which elliptical bubbles are to be arranged is not necessarily limited to a cube or a rectangular parallelepiped. Therefore, a procedure for arranging elliptical bubbles at the eight corners of the cube is prepared in advance, and a cube 1704 that sufficiently covers the space area 1702 is defined. Spatial region 1702 may generally have holes 1706 or depressions. Now, the cube 1704 is divided into eight equal parts in the form of an octree, and the candidate point (that is, the divided cube 8
It is determined whether the (corner) is inside the spatial region 1702, and if so, the elliptical bubble is placed at that candidate point, otherwise it is not placed. Such processing is performed recursively for each cubic region divided into eight.
The condition for stopping the recursive processing is that all the elliptical bubbles arranged in the octagonal cubic region touch or intersect with each other.

【0086】以下のステップ5006〜5018は、そ
れぞれ、図4とステップ3006〜3018と、実質的
に同様であるが、以下のことには留意する必要がある。
The following steps 5006 to 5018 are substantially the same as FIG. 4 and steps 3006 to 3018, respectively, but the following points must be noted.

【0087】先ず、ステップ5002(あるいは図4及
び図5のフローチャートのステップ)によって最適に配
置された頂点および稜線上(総称的には、空間の境界
上)の楕円バブルは、空間の内部の楕円バブルの運動方
程式の計算の際には、座標位置が不動のものとして扱わ
れる。すなわち、空間の境界上の楕円バブルについて
は、上記で定義された力に基づき、空間内部に配置され
る楕円バブルに対して引力・斥力を及ぼすものとして運
動方程式の右辺にのみあらわれ、運動方程式の左辺の常
微分の項にはあらわれない。
First, the elliptical bubbles on the vertices and ridge lines (generally on the boundary of the space) optimally arranged in step 5002 (or the steps in the flowcharts of FIGS. 4 and 5) are transformed into the ellipse inside the space. When calculating the equation of motion of the bubble, the coordinate position is treated as being stationary. In other words, the elliptical bubble on the boundary of the space appears only on the right side of the equation of motion as exerting an attractive force / repulsive force on the elliptical bubble arranged inside the space based on the force defined above, and It does not appear in the ordinary derivative term on the left side.

【0088】また、ステップ3010やステップ401
0では、楕円バブル移動の結果として稜線や曲面から離
隔した楕円バブルを法線方向に引き戻すようにしていた
が、ステップ5010では、空間境界の外に移動した楕
円バブルは、単に破壊される。というのは、空間境界上
には既に、ステップ5002(あるいは、図5のフロー
チャートの処理によって)最適に楕円バブルが配置され
ているからである。
Steps 3010 and 401
In the case of 0, the elliptical bubble separated from the ridgeline or the curved surface is drawn back in the normal direction as a result of the elliptical bubble movement. However, in the step 5010, the elliptical bubble which has moved out of the space boundary is simply destroyed. This is because the elliptical bubble is already optimally arranged on the space boundary at step 5002 (or by the processing of the flowchart of FIG. 5).

【0089】ステップ5012の力の均衡状態の判断
は、ステップ3012またはステップ4012と同様の
処理でよい。
The determination of the equilibrium state of the force in step 5012 may be the same processing as in step 3012 or step 4012.

【0090】ステップ5014での楕円バブルの重なり
度の算出については、曲面上の場合とはやや異なって、
楕円バブルが3次元的に隣接する。この場合、最密充填
状態では、1つの楕円バブルの周囲には、12個の楕円
バブルが隣接する。従って、3次元における楕円バブル
の重なり度及び疎ら度の閾値の適切な値の1つの例は、
それぞれ、2次元の場合の2倍の値を使用することであ
る。
The calculation of the degree of overlap of the elliptical bubbles in step 5014 is slightly different from that on the curved surface.
Elliptical bubbles are three-dimensionally adjacent. In this case, in the close-packed state, 12 elliptical bubbles are adjacent to one elliptical bubble. Thus, one example of a suitable value of the threshold for the overlap and sparseness of elliptical bubbles in three dimensions is:
In each case, twice the value of the two-dimensional case is used.

【0091】こうして、ステップ5016では、各々の
楕円バブルの重なり度から、適切な楕円バブル配置かど
うか決定し、そうでないならステップ5018で、過密
部の楕円バブルを破壊し、過疎部の楕円バブルを***さ
せて、Runge-Kuttaの計算の次のサイクルに進み、適切
な楕円バブル配置であると判断されたなら、ステップ5
020で、楕円バブルの中心位置にメッシュ・ノードを
配置する。
Thus, in step 5016, it is determined from the degree of overlap of each elliptical bubble whether or not an appropriate elliptical bubble is arranged. Otherwise, in step 5018, the elliptical bubble in the dense part is destroyed, Divide and proceed to the next cycle of Runge-Kutta calculation, if it is determined that the elliptical bubble arrangement is appropriate, step 5
At 020, a mesh node is placed at the center of the elliptical bubble.

【0092】最後に、配置されたメッシュノードからベ
クトル場により指定された方向に沿うように三角形メッ
シュを結ぶ方法について述べる。上述のように、楕円バ
ブル間力が均衡する楕円バブルの配置が求まると、こら
らの中心点を結んで三角形メッシュを生成しなけらばな
らない。従来のバブル・メッシュ法ではこの作業を計算
幾何学で研究されたデローニ三角分割法と呼ばれるアル
ゴリズムで行っていた。このアルゴリズムを用いること
により、4つの隣接する点が与えられたときに、二通り
の対角線のうちどちらを選ぶとより正三角形に近い三角
形ができるかを自動的に選択することができる。しかし
ながら、この従来のデローニ三角分割では、非等方性メ
ッシュの方向性が全く考慮されていないので本発明では
直接使うことはできない。そこで、以下に述べるよう
に、指定されたメッシュの方向性とアスペクト比を用い
て変更されたデローニ三角分割を行うことにより、指定
された方向に沿うように三角形分割を行えるようにし
た。
Finally, a description will be given of a method of connecting triangular meshes from the arranged mesh nodes so as to follow the direction specified by the vector field. As described above, when the arrangement of the elliptical bubbles in which the force between the elliptical bubbles is balanced is determined, a triangular mesh must be generated by connecting these center points. In the conventional bubble mesh method, this work was performed by an algorithm called Delaunay triangulation, which was studied in computational geometry. By using this algorithm, when four adjacent points are given, it is possible to automatically select which of two diagonal lines is selected to form a triangle closer to an equilateral triangle. However, in the conventional Delaunay triangulation, since the directionality of the anisotropic mesh is not considered at all, it cannot be directly used in the present invention. Therefore, as described below, the modified Delaunay triangulation is performed using the specified directionality and aspect ratio of the mesh, so that the triangulation can be performed along the specified direction.

【0093】まず、従来のデローニ三角分割を図16を
元に説明する。メッシュ・ノードとして与えられた4つ
の円のそれぞれの中心点に対して、2つの三角分割が考
えられるので、それぞれについて三角形の外接円を作
る。このとき、デローニ三角形、すなわち、正三角形に
より近い三角形を得るには、「外接円の中にもう一つの
点が含まれない」という条件を満たす方を選べばよい。
図16では、メッシュ・ノードA、B、Cを結んででき
る外接円aの中にもう一つのメッシュ・ノードDが含ま
れないケース1がこの条件を満たしている。これが、よ
く知られているデローニ三角形の判定条件である。
First, the conventional Delaunay triangulation will be described with reference to FIG. For each center point of the four circles given as mesh nodes, two triangulations are conceivable, so that a circumscribed circle of a triangle is created for each. At this time, in order to obtain a Delaunay triangle, that is, a triangle closer to an equilateral triangle, one that satisfies the condition that “another point is not included in the circumscribed circle” may be selected.
In FIG. 16, case 1 in which another mesh node D is not included in a circumscribed circle a formed by connecting the mesh nodes A, B, and C satisfies this condition. This is a well-known Delaunay triangle determination condition.

【0094】これに対して、本発明では、上記の判定方
法を調べる際に、指定されている方向にアスペクト比の
逆数倍だけ縮めた座標値を用いてデローニ三角形の判定
条件を実行することにより、ベクトルにより指定された
方向に細長いメッシュができやすいように重みづけして
いる。すなわち、まず、楕円メッシュの中心点A、B、
C、Dの結線方法を考えた場合、まずそれぞれの楕円メ
ッシュのベクトル(ベクトル場により指定されている)
を合成する。そして、この合成ベクトルを中心点の数で
割った(すなわち4で割った)大きさを有するベクトル
を加重平均ベクトルxとして求める。そして、各中心点
の座標に加重平均ベクトルの成分の逆数倍だけ縮めた座
標値を用いて、従来と同様にデローニ三角形の判定を実
行する。そして、条件を満たす結線方法で4つの中心点
を結線することにより三角形分割ができる。例として、
2次元座標を考えた場合、加重平均ベクトルxの方向が
(2.0、0.0)でアスペクト比が2.0と指定され
ているとすると、各中心点A、B、C、Dのx座標値を
1/2.0(=0.5)倍した座標値を用いて判定条件
を調べる。そして、デローニ三角形の判定条件を満たす
結線方法で、中心点A、B、C、Dを結ぶ。なお、逆数
倍縮めた座標値は、あくまで判定条件を調べる場合にの
み用い、結線は本来の中心点の座標を用いている点に注
意されたい。このようにすることにより、ベクトル方向
に沿った三角形分割を行うことができる。
On the other hand, in the present invention, when examining the above-described determination method, the condition for determining the Delaunay triangle is executed by using the coordinate value contracted by the reciprocal multiple of the aspect ratio in the designated direction. Are weighted so that an elongated mesh is easily formed in the direction specified by the vector. That is, first, the center points A, B,
When considering the connection method of C and D, first, the vector of each elliptic mesh (specified by the vector field)
Are synthesized. Then, a vector having a magnitude obtained by dividing the composite vector by the number of center points (that is, divided by 4) is obtained as a weighted average vector x. Then, using the coordinate values reduced by the reciprocal times the component of the weighted average vector as the coordinates of each center point, the Deloni triangle is determined in the same manner as in the related art. Then, by connecting the four center points by a connection method satisfying the condition, triangulation can be performed. As an example,
Considering two-dimensional coordinates, assuming that the direction of the weighted average vector x is (2.0, 0.0) and the aspect ratio is 2.0, each of the center points A, B, C, D The determination condition is examined using a coordinate value obtained by multiplying the x coordinate value by 1 / 2.0 (= 0.5). Then, the center points A, B, C, and D are connected by a connection method that satisfies the determination condition of the Delaunay triangle. It should be noted that the coordinate values contracted by the reciprocal are used only for checking the determination conditions, and that the connection uses the coordinates of the original center point. This makes it possible to perform triangulation along the vector direction.

【0095】図17は、従来のデローニ法と本発明の方
法による三角分割の結果を比較した図である。与えられ
たノードは正三角形のグリッドなので、従来の方法で
は、要素が正三角形になるように分割が行われている
(図17(a))。これに対して、本発明の方法では、
ベクトル場の流れ方向(図17(b))が考慮された非
等方性メッシュを形成することができる(図17
(c))。
FIG. 17 is a diagram comparing the results of triangulation with the conventional Delaunay method and the method of the present invention. Since a given node is a grid of an equilateral triangle, in the conventional method, division is performed so that elements become equilateral triangles (FIG. 17A). In contrast, in the method of the present invention,
An anisotropic mesh in which the flow direction of the vector field (FIG. 17B) is considered can be formed (FIG. 17).
(C)).

【0096】なお、以上に詳述した非等方メッシュは、
計算力学を用いた解析以外にも、コンピュータ・グラフ
ィックスやCAMなどのさまざまな計算機応用分野にお
いて利用することができる。本発明の応用例として、以
下の2つを例示する。
The anisotropic mesh described in detail above is
In addition to analysis using computational mechanics, it can be used in various computer application fields such as computer graphics and CAM. The following two examples are given as application examples of the present invention.

【0097】コンピュータ・グラフィックスの応用分野
では、曲面で定義された形状を、表示のために三角形パ
ッチの集合に切り分けて近似する作業が不可欠となる。
この際、曲面を多数の細かい三角形メッシュに分割すれ
ば、このメッシュは元の曲面形状を忠実に表現できるの
で近似の質は向上するが、処理速度は低下する。逆に、
全体に粗い三角形メッシュを用いて処理速度を向上させ
ようとすると、近似精度は低下する。そこで、曲率が大
きい部分(大きく曲がっている部分)を小さい三角形で
近似し、曲率が小さい部分(平坦な部分)を大きい三角
形で近似するのが効率のよい三角形分割である。また、
曲面上の曲率の大きさは方向によって異なるので、メッ
シュの大きさを方向に応じて変えることができれば効率
を一層向上させることができる。本発明の非等方性メッ
シュ分割は、このような要求を満たすものである。例え
ば、円筒面に対しては、曲率が小さい円筒の軸方向には
長い辺を有し、曲率が大きい円周方向には短い辺を有す
る非等方性メッシュが最適な分割法となる。
In the application field of computer graphics, it is essential to divide a shape defined by a curved surface into a set of triangular patches for display and approximate the shape.
At this time, if the curved surface is divided into a large number of fine triangular meshes, the mesh can faithfully represent the original curved surface shape, so that the quality of approximation is improved, but the processing speed is reduced. vice versa,
If an attempt is made to improve the processing speed by using a coarse triangular mesh as a whole, the approximation accuracy is reduced. Therefore, it is efficient triangulation to approximate a portion having a large curvature (a portion that is largely bent) with a small triangle, and approximate a portion having a small curvature (a flat portion) with a large triangle. Also,
Since the magnitude of the curvature on the curved surface varies depending on the direction, if the size of the mesh can be changed according to the direction, the efficiency can be further improved. The anisotropic mesh division of the present invention satisfies such a requirement. For example, for a cylindrical surface, an anisotropic mesh having a long side in the axial direction of a cylinder having a small curvature and a short side in a circumferential direction having a large curvature is an optimal division method.

【0098】また、製造過程では、NCマシンによる金
型の曲面形状切削や産業用ロボットによる部品の搬送な
ど、工具や部品が三次元平面を移動して作業を行うこと
が多い。この動作の軌道(カッター・パスやロボットの
運動軌跡)を作成する際には、工具やロボットが被作業
物と干渉しないことを、コンピュータ・シミュレーショ
ンによって予め確認しておくことが必要となる。このよ
うな干渉チェックにおいては、三次元曲面の近似形状が
用いられるが、効率のよい近似形状を得るためには、本
発明の非等方性メッシュ分割を行うことが望ましい。
In the manufacturing process, tools and parts often move on a three-dimensional plane, such as cutting a curved surface of a mold by an NC machine or transporting parts by an industrial robot. When creating the trajectory of this operation (cutter path or motion trajectory of the robot), it is necessary to confirm in advance by computer simulation that the tool or robot does not interfere with the work. In such an interference check, an approximate shape of a three-dimensional curved surface is used, but in order to obtain an efficient approximate shape, it is desirable to perform the anisotropic mesh division of the present invention.

【0099】[0099]

【発明の効果】この発明によれば、3次元図形中に1次
元の線や2次元曲面が埋めこまれて成る、いわゆる非多
様体形状データ構造に対しても、動力学的モデルに基づ
く楕円バブル充填法を適用し、最適なメッシュを自動的
に形成することが可能ならしめられる。
According to the present invention, a so-called non-manifold shape data structure in which a one-dimensional line or a two-dimensional surface is embedded in a three-dimensional figure can be used as an ellipse based on a dynamic model. By applying the bubble filling method, it is possible to automatically form an optimal mesh.

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

【図1】 本発明の概要を示す図である。FIG. 1 is a diagram showing an outline of the present invention.

【図2】 本発明の処理手段のブロック図である。FIG. 2 is a block diagram of a processing unit of the present invention.

【図3】 本発明の全体的な処理を示すフローチャート
の図である。
FIG. 3 is a flowchart showing the overall processing of the present invention.

【図4】 稜線ノード配置手段の処理を示すフローチャ
ートの図である。
FIG. 4 is a flowchart showing a process of an edge line node arrangement unit.

【図5】 面ノード配置手段の処理を示すフローチャー
トの図である。
FIG. 5 is a flowchart showing a process of a plane node arrangement unit.

【図6】 空間ノード配置手段の処理を示すフローチャ
ートの図である。
FIG. 6 is a flowchart showing a process of a spatial node arrangement unit.

【図7】 非多様体形状データの要素分割手順を示す図
である。
FIG. 7 is a diagram showing a procedure for dividing elements of non-manifold shape data.

【図8】 本発明で定義される楕円バブル間力を説明す
るための図である。
FIG. 8 is a diagram for explaining an elliptical bubble force defined in the present invention.

【図9】 2つの楕円バブルの間の距離と力の関係示す
図である。
FIG. 9 is a diagram illustrating a relationship between a distance between two elliptical bubbles and a force.

【図10】 稜線上への楕円バブル配置を示す図であ
る。
FIG. 10 is a diagram showing an elliptical bubble arrangement on a ridge line.

【図11】 稜線から離隔した楕円バブルを引き戻す様
子を示す図である。
FIG. 11 is a diagram showing a state in which an elliptical bubble separated from a ridge line is pulled back.

【図12】 稜線上での楕円バブルの重なりを示す図で
ある。
FIG. 12 is a diagram showing overlapping of elliptical bubbles on a ridge line.

【図13】 曲面上への楕円バブル配置を示す図であ
る。
FIG. 13 is a diagram showing an elliptical bubble arrangement on a curved surface.

【図14】 曲面上での楕円バブルの重なりを示す図で
ある。
FIG. 14 is a diagram showing overlapping of elliptical bubbles on a curved surface.

【図15】 空間領域中への楕円バブル配置を示す図で
ある。
FIG. 15 is a diagram showing an elliptical bubble arrangement in a spatial region.

【図16】 従来のデローニ三角分割を示す図である。FIG. 16 is a diagram showing a conventional Delaunay triangulation.

【図17】 従来のデローニ法と本発明の方法による三
角分割の結果を比較した図である。
FIG. 17 is a diagram comparing the results of triangulation with the conventional Delaunay method and the method of the present invention.

【図18】 流線のベクトル場の具体例を示す概念図で
ある。
FIG. 18 is a conceptual diagram showing a specific example of a streamline vector field.

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06T 17/20 JICSTファイル(JOIS)────────────────────────────────────────────────── ─── Continued on the front page (58) Fields surveyed (Int.Cl. 6 , DB name) G06T 17/20 JICST file (JOIS)

Claims (8)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】非等方的なメッシュを生成するメッシュ生
成方法であって、 所定領域内において、それぞれの要素が大きさとアスペ
クト比を有するベクトル場を指定する段階と、 上記要素の大きさに対応した大きさを有し、上記アスペ
クト比に対応した方向性を有する楕円バブルを発生する
段階と、 所定の安定距離よりも、上記楕円バブルが近づいた場合
には斥力を生じさせ、上記安定距離よりも、上記楕円バ
ブルが遠ざかる場合には引力を生じさせるようにバブル
間力を定義し、該バブル間力に基づいて、各々の上記楕
円バブルを移動させ、かつ上記楕円バブル同士の重なり
状態を示す重なり度に応じて、上記楕円バブルの個数を
適応的に制御することにより、上記楕円バブルの安定し
た配置を求める段階と、安定した配置における楕円バブルの中心点をノードとし
て記憶手段に記憶する段階と、 上記楕円バブルの中心点をもとにして、三角メッシュを
形成する段階とを有するッシュ生成方法。
1. A mesh generation method for generating an anisotropic mesh in a predetermined area, the method comprising: specifying a vector field in which each element has a size and aspect ratio, the size of the elements Generating an elliptical bubble having a corresponding size and a directionality corresponding to the aspect ratio; and generating a repulsive force when the elliptical bubble is closer than a predetermined stable distance. Rather than defining the inter-bubble force to generate an attractive force when the elliptical bubble moves away, moving each of the elliptical bubbles based on the inter-bubble force , and overlapping the elliptical bubbles
A step of obtaining a stable arrangement of the elliptical bubbles by adaptively controlling the number of the elliptical bubbles in accordance with the degree of overlap indicating the state, and setting a center point of the elliptical bubbles in the stable arrangement as a node.
And storing in the storage means Te, based on the center point of the ellipse bubble, mesh generation method having the steps of forming a triangular mesh.
【請求項2】上記ベクトル場は、上記ベクトル場は、あ
る自然現象に基づいて定められる、請求項1に記載のメ
ッシュ生成方法。
2. The mesh generation method according to claim 1, wherein the vector field is determined based on a certain natural phenomenon.
【請求項3】上記バブル間力は、2つの楕円バブルの中
心間の距離の関数である、請求項1に記載のメッシュ生
成方法。
3. The mesh generation method according to claim 1, wherein the inter-bubble force is a function of a distance between centers of two elliptical bubbles.
【請求項4】上記三角メッシュを形成する段階は、上記
楕円バブルの中心点をもとにして、メッシュの方向性と
アスペクト比とを考慮したデローニ三角形の判定条件を
用いて形成されることを特徴とする請求項1乃至3の
ずれかに記載のメッシュ生成方法。
4. The method according to claim 1, wherein the step of forming the triangular mesh is performed based on a center point of the elliptical bubble and using a Delaunay triangular determination condition in consideration of the directionality and aspect ratio of the mesh. There of claims 1 to 3, wherein
A mesh generation method according to any of the above.
【請求項5】3次元非多様体データ・モデルにおいて、
コンピュータの演算処理によってメッシュを自動生成す
る方法であって、 要素の大きさとアスペクト比を示すベクトル場を指定す
る段階と、 上記3次元非多様体データ・モデルの全ての頂点に、コ
ンピュータによって計算される物理モデルとして、質量
を有すると共に、前記要素の大きさに対応した大きさを
有し、かつ前記アスペクト比に対応した方向を有する楕
円バブルを配置する段階と、 上記3次元非多様体データ・モデルの全ての稜線上に、
コンピュータによって計算される物理モデルとして、質
量を有すると共に、前記要素の大きさに対応した大きさ
を有し、かつ前記アスペクト比に対応した方向性を有す
る複数の楕円バブルを填する段階と、 上記複数の楕円バブル間に、バブル間の距離に関連する
バブル間力を定義し、該バブル間力に基づき上記複数の
楕円バブル全体からなる力学系の動方程式を解くこと
によって、上記稜線上の複数の楕円バブルの移動量及び
移動方向を決定し、該決定された移動量及び移動方向に
従い各々の楕円バブルを移動させる段階と、 上記各々の楕円バブルの移動量が所定の大きさよりも小
さくなったことに応答して、上記稜線上の楕円バブルの
中心点をノードとして記憶手段に記憶する段階と、 上記楕円バブルの中心点を 順に結んで線分要素に分割す
る段階と、 上記3次元非多様体データ・モデルの全ての面上の閉じ
た領域に、コンピュータによって計算される物理モデル
として、質量を有すると共に、前記要素の大きさに対応
した大きさを有し、かつ前記アスペクト比に対応した方
向を有する楕円バブルを填する段階と、 上記複数の楕円バブル間に、上記バブル間力に基づき上
記面上の複数のバブル全体からなる力学系の運動方程式
を解くことによって、上記面上の複数の楕円バブルの移
動量及び移動方向を決定し、該決定された移動量及び移
動方向に従い各々の楕円バブルを移動させる段階と、 上記面上の各々の楕円バブルの移動量が所定の大きさよ
りも小さくなったことに応答して、上記面上の閉じた領
域内の楕円バブルの中心点をノードとして記憶手段に記
憶する段階と、 上記楕円バブルの中心点を 結んで三角形要素に分割する
段階と、 上記3次元非多様体データ・モデルの全ての空間内の閉
じた領域に、コンピュータによって計算される物理モデ
ルとして、質量を有すると共に、前記要素の大きさに対
応した大きさを有し、かつ前記アスペクト比に対応した
方向を有する楕円バブルを填する段階と、 上記複数の楕円バブル間に、上記バブル間力に基づき上
記空間内の複数のバブル全体からなる力学系の運動方程
式を解くことによって、上記空間内の複数の楕円バブル
の移動量及び移動方向を決定し、該決定された移動量及
び移動方向に従い各々の楕円バブルを移動させる段階
と、 上記空間内の各々の楕円バブルの移動量が所定の大きさ
よりも小さくなったことに応答して、上記空間内の各々
の楕円バブルの中心点をノードとして記憶手段に記憶す
る段階と、 上記楕円バブルの中心点を 結んで四面体要素に分割する
段階とを有する多様体データ・モデルにおいてメッシ
ュを自動生成する方法。
5. In a three-dimensional non-manifold data model,
A method of automatically generating a mesh by computer processing, comprising the steps of: specifying a vector field indicating the size and aspect ratio of an element; and calculating by computer all vertices of the three-dimensional non-manifold data model. Arranging an elliptical bubble having a mass, a size corresponding to the size of the element, and a direction corresponding to the aspect ratio as a physical model, On all ridges of the model,
As a physical model which is calculated by the computer, which has a mass, comprising the steps of: having a size corresponding to the size of the element, and to Hama charging a plurality of elliptical bubbles having a directionality corresponding to the aspect ratio, between said plurality of elliptical bubbles, by defining the inter-bubble force related to the distance between the bubble, solving the equations of motion of the dynamic system consisting of the whole plurality of elliptical bubbles on the basis of the bubble force, the edge line Determining the moving amount and moving direction of the plurality of elliptical bubbles, moving each elliptical bubble according to the determined moving amount and moving direction, and the moving amount of each of the elliptical bubbles is smaller than a predetermined size. in response to became, the segment elements by connecting and storing in the storage means the center point of the ellipse bubbles on the edge line as a node, the center point of the ellipse bubble in order Dividing, in a closed area on all surfaces of the three-dimensional non-manifold data model, a physical model calculated by a computer as a physical model having a mass and a size corresponding to the size of the element. a, and a step of Hama an elliptical bubble charge having a direction corresponding to the aspect ratio, among the plurality of elliptical bubble motion of dynamical system consisting of the entire plurality of bubbles on the surface based on the force between the bubble Determining the moving amounts and moving directions of the plurality of elliptical bubbles on the surface by solving the equations; moving each elliptical bubble according to the determined moving amount and moving direction; In response to the movement amount of the elliptical bubble becoming smaller than the predetermined size, the central point of the elliptical bubble in the closed area on the surface is recorded in the storage means as a node.
Remembering , dividing the elliptical bubble into the triangular element by connecting the center points thereof , and performing a computer-calculated physical model on a closed region in all spaces of the three-dimensional non-manifold data model. , which has a mass having a size corresponding to the size of the element, and the steps of Hama an elliptical bubble charge having a direction corresponding to the aspect ratio, among the plurality of elliptical bubbles between the bubble The moving amount and moving direction of the plurality of elliptical bubbles in the space are determined by solving the equation of motion of the dynamic system composed of a plurality of bubbles in the space based on the force, and the determined moving amount and moving direction are determined. Moving each elliptical bubble in accordance with the following, and in response to the amount of movement of each elliptical bubble in the space becoming smaller than a predetermined size, Be stored in the storage means the center point of the ellipse bubble as a node
That step and a method for automatically generating a mesh in a non-manifold data model having the steps of dividing the tetrahedral element by connecting the center points of the ellipse bubble.
【請求項6】非等方的なメッシュを生成するメッシュ生
成システムであって、 所定領域内において、ある自然現象に関係し、それぞれ
の要素が大きさとアスペクト比を有するベクトル場のデ
ータを記憶する手段と、 上記要素の大きさに対応した大きさを有し、上記アスペ
クト比に対応した方向性を有する楕円バブルを表すデー
タを発生する手段と、 所定の安定距離よりも、上記楕円バブルが近づいた場合
には斥力を生じさせ、上記安定距離よりも、上記楕円バ
ブルが遠ざかる場合には引力を生じさせるようにバブル
間力を定義し、該バブル間力に基づいて、各々の上記楕
円バブルデータを修正する手段と、 上記楕円バブル同士の重なり状態を示す重なり度に応じ
て、上記楕円バブルの個数を適応的に制御する手段と、 上記楕円バブル間力により上記楕円バブルを移動させ、
かつ上記楕円バブルの個数を適応的に制御することによ
り、上記楕円バブルの安定した配置を求める手段と、 上記楕円バブルの中心点をもとにして、三角メッシュデ
ータを生成する手段とを有するッシュ生成システム。
6. A mesh generation system for generating an anisotropic mesh in a predetermined area, related to the natural phenomenon that, each element stores the data of the vector field with a size and aspect ratio Means for generating data representing an elliptical bubble having a size corresponding to the size of the element and having a directionality corresponding to the aspect ratio, wherein the elliptical bubble is closer than a predetermined stable distance. In this case, a repulsive force is generated, and an inter-bubble force is defined so as to generate an attractive force when the elliptical bubble moves away from the stable distance. Based on the inter-bubble force, each of the elliptical bubble data is defined. Means for correcting the number of the elliptical bubbles, and means for adaptively controlling the number of the elliptical bubbles according to the degree of overlap indicating the overlapping state of the elliptical bubbles. More move the elliptical bubbles,
And by adaptively controlling the number of the elliptical bubbles, main having a means for obtaining a stable arrangement of the elliptical bubbles, based on the center point of the ellipse bubble, and means for generating a triangular mesh data Ash generation system.
【請求項7】生成された上記三角メッシュデータに基づ
いて、三角メッシュを表示する手段をさらに有すること
を特徴とする請求項に記載されたメッシュ生成システ
ム。
7. The mesh generation system according to claim 7 , further comprising means for displaying a triangular mesh based on the generated triangular mesh data.
【請求項8】非等方的なメッシュを生成するメッシュ生
成システムであって、 所定領域内において、それぞれの要素が大きさとアスペ
クト比を有するベクトル場のデータを記憶する手段と、 上記要素の大きさに対応した大きさを有し、上記アスペ
クト比に対応した方向性を有する楕円バブルを表すデー
タを発生する手段と、 所定の安定距離よりも、上記楕円バブルが近づいた場合
には斥力を生じさせ、上記安定距離よりも、上記楕円バ
ブルが遠ざかる場合には引力を生じさせるようにバブル
間力を定義し、該バブル間力に基づいて、各々の上記楕
円バブルを移動させ、かつ上記楕円バブル同士の重なり
状態を示す重なり度に応じて、上記楕円バブルの個数を
適応的に制御することにより、上記楕円バブルの安定し
た配置を求める手段と、 安定した配置における楕円バブルの中心点をノードとし
て記憶手段に記憶する手段と、 上記楕円バブルの中心点をもとにして、三角メッシュを
生成する手段とを有するメッシュ生成システム。
8. A mesh generation system for generating an anisotropic mesh, comprising: means for storing data of a vector field in which each element has a size and an aspect ratio within a predetermined area; Means for generating data representing an elliptical bubble having a size corresponding to the height and having a directionality corresponding to the aspect ratio; and generating a repulsive force when the elliptical bubble is closer than a predetermined stable distance. When the elliptical bubble moves away from the stable distance, an inter-bubble force is defined so as to generate an attractive force. Based on the inter-bubble force, each of the elliptical bubbles is moved, and the elliptical bubble is moved. Means for obtaining a stable arrangement of the elliptical bubbles by adaptively controlling the number of the elliptical bubbles in accordance with the degree of overlap indicating the overlapping state of each other; A mesh generation system, comprising: means for storing a center point of an elliptical bubble in a fixed arrangement as a node in a storage means; and means for generating a triangular mesh based on the center point of the elliptical bubble.
JP7117244A 1995-05-16 1995-05-16 Automatic mesh generation method and system Expired - Lifetime JP2881389B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7117244A JP2881389B2 (en) 1995-05-16 1995-05-16 Automatic mesh generation method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7117244A JP2881389B2 (en) 1995-05-16 1995-05-16 Automatic mesh generation method and system

Publications (2)

Publication Number Publication Date
JPH08315183A JPH08315183A (en) 1996-11-29
JP2881389B2 true JP2881389B2 (en) 1999-04-12

Family

ID=14706964

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7117244A Expired - Lifetime JP2881389B2 (en) 1995-05-16 1995-05-16 Automatic mesh generation method and system

Country Status (1)

Country Link
JP (1) JP2881389B2 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3561732B2 (en) * 1997-05-27 2004-09-02 トヨタ自動車株式会社 Finite element division method
US6124857A (en) * 1998-08-12 2000-09-26 International Business Machines Corporation Meshing method and apparatus
US6121973A (en) * 1998-08-12 2000-09-19 International Business Machines Corporation Quadrilateral mesh generation method and apparatus
JP3803562B2 (en) * 2001-07-09 2006-08-02 新日本非破壊検査株式会社 Drawing method of cylindrical tank bottom plate
JP4005803B2 (en) * 2001-12-11 2007-11-14 富士重工業株式会社 Fluid analysis method and fluid analysis apparatus using the fluid analysis method
JP2003178099A (en) * 2001-12-11 2003-06-27 Fuji Heavy Ind Ltd Fluid analysis method and fluid analysis device using the same
JP3779620B2 (en) * 2002-01-17 2006-05-31 コナミ株式会社 Image processing program
JP4721282B2 (en) * 2006-06-14 2011-07-13 富士重工業株式会社 Element division method, element division calculation device, and damage progress analysis device
KR101671359B1 (en) * 2015-05-11 2016-11-01 동서대학교 산학협력단 Graphical presenting method of point group with liquid attribute by logical spring
CN109316781B (en) * 2018-11-02 2021-03-19 四川大学 Bubble separation method in bubble level visualization
WO2021049202A1 (en) * 2019-09-13 2021-03-18 佳央 徳山 Information processing device, program, and information processing method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
情報処理学会研究報告,vol.94,no.17(CG−67),p1−8,嶋田憲司、「球の最密充填とDelaunay網による曲面の自動三角形メッシュ分割」

Also Published As

Publication number Publication date
JPH08315183A (en) 1996-11-29

Similar Documents

Publication Publication Date Title
CN106407605B (en) A kind of particlized computer dynamic stimulating method of three-dimensional garment
Löhner Progress in grid generation via the advancing front technique
Shimada et al. Quadrilateral Meshing with Directionality Control through the Packing of Square Cells.
JP4662959B2 (en) Evolutionary direct manipulation of freeform deformation representation for design optimization (EvolutionaryDirectManipulation)
CN101241602B (en) Computer three-dimensional grid pattern abridging method
JP2881389B2 (en) Automatic mesh generation method and system
CN111581776B (en) Iso-geometric analysis method based on geometric reconstruction model
US11763048B2 (en) Computer simulation of physical fluids on a mesh in an arbitrary coordinate system
CN116229015B (en) Based on 2 N Method for generating body-attached Cartesian grid with Tree attached surface layer
JP3963334B2 (en) Meshing method and apparatus
US20220373996A1 (en) Computer aided generative design with filtering to facilitate 2.5-axis subtractive manufacturing processes
JP2006185444A (en) Evolutionary optimization method and free form deformation method
JP2603902B2 (en) Automatic mesh generation method and system
CN111028335B (en) Point cloud data block surface patch reconstruction method based on deep learning
CN106875487B (en) Geological hexahedral mesh smoothing method based on neighborhood acting force
CN104463934B (en) A kind of point-based surface Automatic Generation of Computer Animation method of &#34; mass spring &#34; system drive
JP2023084699A (en) Computer aided generative design with feature thickness control to facilitate manufacturing and structural performance
Zhang et al. Piecewise B-spline surfaces fitting to arbitrary triangle meshes
Wang et al. Data representation of machine models
Franc Methods for polygonal mesh simplification: technical report no. DCSE/TR-2002-01
Gold et al. Surface modelling with guaranteed consistency—an object-based approach
Aldrich et al. Collision-Driven Volumetric Deformation on the GPU.
Inui et al. Simple offset algorithm for generating workpiece solid model for milling simulation
Inui et al. Visualization of 3+ 2 Axis Machining Result by Combining Multiple Z-map Models
Gandotra et al. Representation of model for efficient collision detection in virtual reality environment