JP7036207B2 - Mesh generation system, mesh generation program and mesh generation method - Google Patents
Mesh generation system, mesh generation program and mesh generation method Download PDFInfo
- Publication number
- JP7036207B2 JP7036207B2 JP2020522533A JP2020522533A JP7036207B2 JP 7036207 B2 JP7036207 B2 JP 7036207B2 JP 2020522533 A JP2020522533 A JP 2020522533A JP 2020522533 A JP2020522533 A JP 2020522533A JP 7036207 B2 JP7036207 B2 JP 7036207B2
- Authority
- JP
- Japan
- Prior art keywords
- dimensional
- polytope
- agent
- mesh generation
- shape
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
本発明は、メッシュ生成システム、メッシュ生成プログラムおよびメッシュ生成方法に係り、特に、エージェントベースモデル(Agent-based model,ABM)を用いたメッシュ生成手法に関する。 The present invention relates to a mesh generation system, a mesh generation program, and a mesh generation method, and more particularly to a mesh generation method using an agent-based model (ABM).
例えば、特許文献1には、動力学的モデルを用いたバブル充填によって、非多様体形状のデータ構造であっても最適なメッシュを生成する自動メッシュ生成方法が記載されている。具体的には、まず、非多様体データ・モデルの頂点および稜線上に複数のバブルが配置される。つぎに、バブル間力およびバブル質量に基づき、粘性の項も含めて、ニュートン方程式を数値解析技法で解いてバブルを移動させ、バブルの移動がある程度安定した時点で、バブルの中心点を結んで線分を生成する。つぎに、非多様体データ・モデルの面上にバブルを配置した上で同様にバブルを移動させ、バブルの移動がある程度安定した時点で、バブルの中心点を2次元のドロネー三角形分割で結んで三角形要素を生成する。最後に、非多様体データ・モデルのソリッド領域内部にバブルを配置した上でバブルを移動させ、バブルの移動がある程度安定した時点で、バブルの中心点を3次元のドロネー三角形分割で結んで四面体要素を生成する。
For example,
本発明の目的は、高品質なメッシュを生成する新規なメッシュ生成手法を提供することである。 An object of the present invention is to provide a novel mesh generation method for producing a high quality mesh.
かかる課題を解決すべく、第1の発明は、データ変換部と、1次元処理部と、n次元処理部と、メッシュ生成部とを有し、エージェントベースモデルを用いたメッシュ生成システムを提供する。データ変換部は、物体の構造データをポリトープで表現した形状データに変換する。1次元処理部は、形状データに対する1次元の処理として、1次元ポリトープである辺を特定の基準長に基づいて分割する。n次元処理部は、(n-1)次元(nは2以上の次元数)の処理が行われた形状データに対するn次元の処理として、n次元ポリトープ内をエージェント群で充填する。この充填処理では、エージェントの品質指標が最大限良好になるような形状でn次元ポリトープ内にエージェントが配置される。それとともに、n次元ポリトープ内で隣り合ったエージェントにおける品質指標の合計が現状よりも良好になるように、隣り合ったエージェントの形状が最適化される。品質指標は、エージェントの形状的な品質を示しており、所定の目的関数によってエージェント毎に算出される。メッシュ生成部は、n次元のポリトープ内に充填されたエージェント群に基づいて、メッシュを生成する。 In order to solve such a problem, the first invention provides a mesh generation system having a data conversion unit, a one-dimensional processing unit, an n-dimensional processing unit, and a mesh generation unit, and using an agent-based model. .. The data conversion unit converts the structural data of the object into shape data expressed by a polytope. The one-dimensional processing unit divides a side that is a one-dimensional polytope based on a specific reference length as one-dimensional processing for shape data. The n-dimensional processing unit fills the n-dimensional polytope with an agent group as n-dimensional processing for shape data that has been processed in (n-1) dimensions (n is a number of dimensions of 2 or more). In this filling process, the agent is arranged in the n-dimensional polytope in a shape that maximizes the quality index of the agent. At the same time, the shape of the adjacent agents is optimized so that the total quality index of the adjacent agents in the n-dimensional polytope is better than the current one. The quality index indicates the shape quality of the agent, and is calculated for each agent by a predetermined objective function. The mesh generation unit generates a mesh based on a group of agents filled in an n-dimensional polytope.
ここで、第1の発明において、上記品質指標は、エージェントにおける内角のばらつきが小さいほど良好であることが好ましく、これに加えて、エージェントにおけるエッジ長のばらつきが小さいほど良好であることが好ましい。 Here, in the first invention, it is preferable that the quality index is better as the variation in the internal angle in the agent is smaller, and in addition, it is preferable that the quality index is better as the variation in the edge length in the agent is smaller.
第1の発明において、上記1次元処理部は、2次元ポリトープのファセット数が偶数になるように、この2次元ポリトープが所有する1次元ポリトープの分割数を調整することが好ましい。また、上記1次元処理部は、物体の物性および表面形状の少なくとも一方に応じて、基準長を調整してもよい。 In the first invention, it is preferable that the one-dimensional processing unit adjusts the number of divisions of the one-dimensional polytope owned by the two-dimensional polytope so that the number of facets of the two-dimensional polytope becomes an even number. Further, the one-dimensional processing unit may adjust the reference length according to at least one of the physical characteristics and the surface shape of the object.
第1の発明において、上記n次元処理部は、ファセット数が2nではないポリトープに対してn次元の処理を行い、ファセット数が2nであるポリトープに対してはn次元の処理を行わないことが好ましい。また、上記エージェントのファセット数は2nであることが好ましい。 In the first invention, the n-dimensional processing unit performs n-dimensional processing on a polytope having a facet number of not 2n, and does not perform n-dimensional processing on a polytope having a facet number of 2n. preferable. Further, the number of facets of the agent is preferably 2n.
第1の発明において、ポリトープ管理部を設けてもよい。ポリトープ管理部は、形状データにおける次元間のポリトープの主従関係を管理すると共に、上記1次元の処理および上記n次元の処理に応じて、ポリトープの主従関係を更新する。また、上記メッシュ生成部は、n次元のポリトープ内に充填されたエージェント群を更に細分化することによって、メッシュを生成してもよい。 In the first invention, a polytope management unit may be provided. The polytope management unit manages the master-slave relationship of the polytope between the dimensions in the shape data, and updates the master-slave relationship of the polytope according to the one-dimensional processing and the n-dimensional processing. Further, the mesh generation unit may generate a mesh by further subdividing the agent group filled in the n-dimensional polytope.
第2の発明は、第1のステップから第4のステップを有する処理をコンピュータに実行させる、エージェントベースモデルを用いたメッシュ生成プログラムを提供する。第1のステップでは、物体の構造データをポリトープで表現した形状データに変換する。第2のステップでは、形状データに対する1次元の処理として、1次元ポリトープである辺を特定の基準長に基づいて分割する。第3のステップでは、(n-1)次元(nは2以上の次元数)の処理が行われた形状データに対するn次元の処理として、n次元ポリトープ内をエージェント群で充填する。この充填処理では、品質指標が最大限良好になるような形状で、n次元ポリトープ内にエージェントを配置する。それとともに、n次元ポリトープ内で隣り合ったエージェントにおける品質指標の合計が現状よりも良好になるように、隣り合ったエージェントの形状が最適化される。品質指標は、エージェントの形状的な品質を示しており、所定の目的関数によってエージェント毎に算出される。第4のステップでは、n次元のポリトープ内に充填されたエージェント群に基づいて、メッシュを生成する。 The second invention provides a mesh generation program using an agent-based model that causes a computer to execute a process having the first step to the fourth step. In the first step, the structural data of the object is converted into the shape data expressed by the polytope. In the second step, as a one-dimensional process for the shape data, the side which is a one-dimensional polytope is divided based on a specific reference length. In the third step, the n-dimensional polytope is filled with an agent group as an n-dimensional process for the shape data that has been processed in the (n-1) dimension (n is a number of dimensions of 2 or more). In this filling process, the agent is placed in the n-dimensional polytope in a shape that maximizes the quality index. At the same time, the shape of the adjacent agents is optimized so that the total quality index of the adjacent agents in the n-dimensional polytope is better than the current one. The quality index indicates the shape quality of the agent, and is calculated for each agent by a predetermined objective function. In the fourth step, a mesh is generated based on a group of agents filled in an n-dimensional polytope.
ここで、第2の発明において、上記品質指標は、エージェントにおける内角のばらつきが小さいほど良好であることが好ましく、これに加えて、エージェントにおけるエッジ長のばらつきが小さいほど良好であることが好ましい。 Here, in the second invention, it is preferable that the quality index is better as the variation in the internal angle in the agent is smaller, and in addition, it is preferable that the quality index is better as the variation in the edge length in the agent is smaller.
第2の発明において、上記第2のステップは、2次元ポリトープのファセット数が偶数になるように、当該2次元ポリトープが所有する1次元ポリトープの分割数を調整するステップを含むことが好ましい。また、上記第2のステップは、物体の物性および表面形状の少なくとも一方に応じて、基準長を調整するステップを含んでいてもよい。 In the second invention, it is preferable that the second step includes a step of adjusting the number of divisions of the one-dimensional polytope owned by the two-dimensional polytope so that the number of facets of the two-dimensional polytope becomes an even number. Further, the second step may include a step of adjusting the reference length according to at least one of the physical characteristics and the surface shape of the object.
第2の発明において、上記ステップ3におけるn次元の処理は、ファセット数が2nではないポリトープに対して実行され、ファセット数が2nであるポリトープに対しては実行されないことが好ましい。また、上記エージェントのファセット数は2nであることが好ましい。
In the second invention, it is preferable that the n-dimensional process in
第2の発明において、さらに第5のステップを有する処理をコンピュータに実行させてもよい。第5のステップでは、形状データにおける次元間のポリトープの主従関係を管理すると共に、1次元の処理およびn次元の処理に応じて、主従関係を更新する。また、上記第4のステップは、n次元のポリトープ内に充填されたエージェント群を更に細分化するステップを含んでいてもよい。 In the second invention, the computer may be made to perform the process further comprising the fifth step. In the fifth step, the master-slave relationship of the polytope between the dimensions in the shape data is managed, and the master-slave relationship is updated according to the one-dimensional processing and the n-dimensional processing. Further, the fourth step may include a step of further subdividing the agent group filled in the n-dimensional polytope.
第3の発明は、第1のステップから第4のステップを有し、エージェントベースモデルを用いたメッシュ生成方法を提供する。第1のステップでは、物体の構造データをポリトープで表現した形状データに変換する。第2のステップでは、形状データに対する1次元の処理として、1次元ポリトープである辺を特定の基準長に基づいて分割する。第3のステップでは、(n-1)次元(nは2以上の次元数)の処理が行われた形状データに対するn次元の処理として、n次元ポリトープ内をエージェント群で充填する。この充填処理では、品質指標が最大限良好になるような形状で、n次元ポリトープ内にエージェントを配置する。それとともに、n次元ポリトープ内で隣り合ったエージェントにおける品質指標の合計が現状よりも良好になるように、隣り合ったエージェントの形状が最適化される。品質指標は、エージェントの形状的な品質を示しており、所定の目的関数によってエージェント毎に算出される。第4のステップでは、n次元ポリトープ内に充填されたエージェント群に基づいて、メッシュを生成する。 The third invention comprises a first step to a fourth step and provides a mesh generation method using an agent-based model. In the first step, the structural data of the object is converted into the shape data expressed by the polytope. In the second step, as a one-dimensional process for the shape data, the side which is a one-dimensional polytope is divided based on a specific reference length. In the third step, the n-dimensional polytope is filled with an agent group as an n-dimensional process for the shape data that has been processed in the (n-1) dimension (n is a number of dimensions of 2 or more). In this filling process, the agent is placed in the n-dimensional polytope in a shape that maximizes the quality index. At the same time, the shape of the adjacent agents is optimized so that the total quality index of the adjacent agents in the n-dimensional polytope is better than the current one. The quality index indicates the shape quality of the agent, and is calculated for each agent by a predetermined objective function. In the fourth step, a mesh is generated based on a group of agents filled in the n-dimensional polytope.
本発明によれば、構造データより変換され、かつ、ポリトープで表現された形状データに対して1次元ポリトープである辺を基準長に基づいて分割した上で、(n-1)次元の処理が行われた形状データに対するn次元の処理として、n次元ポリトープ内にエージェントを配置していく。エージェントのサイズは基準長に依存しており、その形状は品質指標が最大限良好になるように設定される。また、隣り合ったエージェントの形状は、これらの品質指標の合計が現状、すなわち、最適化を行う前の状態よりも良好になるように最適化される。これにより、形状的に良好なエージェント群によってn次元ポリトープの内部空間が隙間なく充填・細分化されるので、高品質なメッシュを生成することができる。 According to the present invention, the (n-1) dimensional processing is performed after dividing the side which is a one-dimensional polytope based on the reference length with respect to the shape data which is converted from the structural data and expressed by the polytope. As an n-dimensional process for the performed shape data, an agent is placed in the n-dimensional polytope. The size of the agent depends on the reference length, and its shape is set to maximize the quality index. In addition, the shapes of adjacent agents are optimized so that the sum of these quality indicators is better than the current state, that is, the state before the optimization. As a result, the internal space of the n-dimensional polytope is filled and subdivided without gaps by a group of agents having a good shape, so that a high-quality mesh can be generated.
図1は、本実施形態に係るメッシュ生成システムのブロック図である。メッシュ生成システム1は、物体の構造データを入力とし、この物体の形状をメッシュで表現したメッシュデータを出力する。メッシュの生成過程では、エージェントベースモデル(Agent-based model,ABM)が用いられる。ここで、「エージェントベースモデル」とは、自律的なエージェントの振る舞いと、エージェント間の相互作用とが系全体に与える影響を評価するためのシミュレーションモデルの一つであり、マルチエージェントシミュレーションと称されることもある。また、「エージェント」とは、自己の状況および自己の周囲の状況に基づいて、予め定められた規則の下で自律的に行動する主体をいう。本実施形態の特徴は、物体の領域を細分化するためにエージェントベースモデルを用いること、より具体的には、ある領域の内部空間において、隣り合ったエージェントの相互作用を考慮しながらエージェントを配置していき、この領域内に充填されたエージェント群に基づいて、メッシュを生成することにある。
FIG. 1 is a block diagram of a mesh generation system according to the present embodiment. The
メッシュ生成システム1は、データ変換部2と、1次元処理部3と、n次元処理部4と、メッシュ生成部5と、ポリトープ管理部6とを有する。データ変換部2は、処理対象として入力された構造データを形状データに変換する。変換前の構造データは、物体の構造(形状を含む。)を規定する任意形式のデータであり、2次元CADデータや、STEP形式やSTL形式などの3次元CADデータである。この構造データは、自己が規定する形状として曲線や曲面を含んでいてもよい。一方、変換後の形状データは、物体の形状をポリトープで表現したデータである。特に、構造データが曲線や曲面を含んでいる場合には、これらが線分で離散化され、曲線は直線群、曲面は平面群でそれぞれ近似される。形状データの実装(クラス定義)の仕方は任意であるが、後述するように、異なる次元を参照する結晶化処理が行われる関係上、ポリトープおよびファセットの対応関係を保持・管理することが好ましい。ここで、「ポリトープ」とは、初等幾何学における超多面体をいい、0次元ポリトープは「点」、1次元ポリトープは「辺」、2次元ポリトープは「面」、3次元ポリトープは「立体」である。また、「ファセット」とは、ある次元のポリトープが所有する一つ下の次元ポリトープをいう。例えば、3次元ポリトープ(立体)に対しての「面」、2次元ポリトープ(面)に対しての「辺」、1次元ポリトープ(辺)に対しての「点」がファセットに相当する。
The
1次元処理部3は、データ変換部2によって変換された形状データに対する1次元の結晶化処理として、1次元ポリトープである辺を特定の基準長に基づいて分割する。1次元の結晶化処理は、形状データに含まれる1次元ポリトープ(辺)のうち、後述する条件を満たすものに対して行われる。ここで、基準長は、ユーザによって長さが定義され、これによってエージェントのサイズが規定される。具体的には、基準長が長くなるほどエージェントが大きくなり(領域分解能=粗)、これが短くなるほどのエージェントが小さくなる(領域分解能=密)。また、基準長は、物体全体に対して一定値を固定的に適用してもよいが、物体の物性および表面形状の少なくとも一方に応じて可変値を適用してもよい。例えば、材質が柔らかく変形が生じ易い部位については、他の部位よりも基準長を短くしたり、表面の曲率が大きい部位については、他の部位よりも基準長を短くするといった如くである。
The one-
n次元処理部4は、(n-1)次元(nは2以上の次元数)の処理が行われた形状データに対するn次元の結晶化処理として、n次元ポリトープの内部空間をエージェント群(エージェントの次元数=n)で充填・細分化する。例えば、n=2の場合、1次元処理部3によって1次元の結晶化処理が行われた形状データに対して2次元の結晶化処理が行われ、2次元ポリトープ(面)の内部空間が2次元エージェント群で充填・細分化される。また、n=3の場合、n次元処理部4によって2次元の結晶化処理が行われた形状データに対して3次元の結晶化処理が行われ、3次元ポリトープ(立体)の内部空間が3次元エージェント群で充填・細分化される。有効性が期待できるnの上限は4、すなわち、4次元ポリトープ(多胞体:polychoron)と考えられるが、n≧5を特段排除するものではない。
The n-
1次元を除くn次元の結晶化処理では、自律的な行動主体であるエージェントがn次元ポリトープの内部空間に個別に配置される。この内部空間において隣り合った複数のエージェント(隣接エージェント)は相互に作用し、この相互作用に基づいて、これらのエージェントの形状が最適化される。個々のエージェントの形状、および、自己を含む隣接エージェントの最適化形状は、品質指標という概念に基づいて決定される。詳細については後述するが、この品質指標は、エージェントの形状的な品質を示し、所定の目的関数(効用関数)によってエージェント毎に算出される。概略的にいえば、エージェントの個別的な形状は、このエージェントの品質指標が最大限良好になるように設定される。また、自己を含む隣接エージェントの最適化形状は、これらの品質指標の合計が現状、すなわち、最適化される前の状態よりも良好になるように設定される。 In the n-dimensional crystallization process excluding the one-dimensional process, agents that are autonomous action subjects are individually arranged in the internal space of the n-dimensional polytope. A plurality of adjacent agents (adjacent agents) interact with each other in this internal space, and the shape of these agents is optimized based on this interaction. The shape of each agent and the optimized shape of neighboring agents including self are determined based on the concept of quality index. Although the details will be described later, this quality index indicates the shape quality of the agent and is calculated for each agent by a predetermined objective function (utility function). Generally speaking, the individual shape of the agent is set so that the quality index of this agent is maximized. In addition, the optimized shape of the adjacent agent including the self is set so that the sum of these quality indicators is better than the current state, that is, the state before the optimization.
n次元処理部4は、出力目標であるメッシュデータの次元数に応じた回数で結晶化処理を実行する。例えば、2次元メッシュデータを出力する場合、2次元ポリトープ(面)に対する結晶化処理という1回の処理が行われる。また、3次元メッシュデータを出力する場合、2次元ポリトープ(面)に対する結晶化処理、および、これに続く3次元ポリトープ(立体)に対する結晶化処理という計2回の処理が行われる。
The n-
メッシュ生成部5は、n次元ポリトープ内に充填されたエージェント群に基づいて、四角形や六面体などの要素群で表現されたメッシュを生成する。その際、所望のメッシュ分解能を確保すべく、必要に応じて、個々のエージェントの内部を等分割するなどして、エージェント内を更に細分化してもよい。生成されたメッシュは、所定の出力形式に変換された上で、メッシュデータとして外部に出力される。
The
ポリトープ管理部6は、メッシュ生成システム1が備えるメモリ空間上において、データ変換部2によって変換された形状データにおける次元間のポリトープの主従関係、すなわち、高次元ポリトープがどの低次元ポリトープを所有しているのかを記憶・管理する。具体的には、データ変換部2によって形状データが生成された場合、この形状データに関するポリトープの主従関係が登録される。また、1次元処理部3の処理過程では、1次元ポリトープ(辺)の分割、および、これに伴う0次元ポリトープ(点)の追加に応じて、ポリトープの主従関係が随時更新される。さらに、n次元処理部4の処理過程では、n次元ポリトープの細分化に応じて、ポリトープの主従関係が随時更新される。ポリトープ管理部6によって管理されるポリトープの主従関係は、1次元処理部3およびn次元処理部4の双方によって随時参照される。
The
図2は、メッシュ生成処理のフローチャートである。同図に示すメッシュ生成処理は、コンピュータにプログラム(メッシュ生成プログラム)をインストールし、このプログラムによって規定された手順でコンピュータを動作させることによって実現される。以下、図3に示す形状の2次元構造データを一例として本処理の内容について詳述する。まず、ステップ1では、データ変換部2に処理対象となる構造データが入力される。
FIG. 2 is a flowchart of the mesh generation process. The mesh generation process shown in the figure is realized by installing a program (mesh generation program) on the computer and operating the computer according to the procedure specified by this program. Hereinafter, the content of this process will be described in detail using the two-dimensional structure data of the shape shown in FIG. 3 as an example. First, in
つぎに、ステップ2では、データ変換部2によって、構造データから形状データへの変換が行われる。例えば、図3に示した2次元構造データは、図4に示す2次元形状データに変換される。具体的には、構造データにおける3つの点が0次元ポリトープP0(1)~P0(3)に変換され、2本の直線が1次元ポリトープP1(1)~P1(2)に変換される。また、形状データへの変換過程では、図3に示した1本の円弧が複数の線分で直線近似される。これによって、隣り合った線分を接続する接続点のそれぞれが0次元ポリトープP0(4)~P0(6)に変換され、それぞれの線分が1次元ポリトープP1(3)~P1(6)に変換される。
Next, in
図5は、図4の形状データに関するポリトープの主従関係を示す概念図である。ポリトープの主従関係は、2次元ポリトープP2が所有する1次元ポリトープP1、1次元ポリトープP2が所有する0次元ポリトープP0の如く、ポリトープとファセットとの関係を次元毎に規定する。同図の例では、2次元ポリトープP2(1)は、そのファセット(辺)として、6つの1次元ポリトープP1(1)~P1(6)を所有している。また、例えば1次元ポリトープP1(1)は、このファセット(点)として、2つの0次元ポリトープP0(1),P0(2)を所有している。2次元ポリトープP2が複数存在する場合には、それぞれの2次元ポリトープP2について、上記のようなポリトープの主従関係が管理される。また、3次元形状データの場合、3次元ポリトープ(面)を含めたポリトープの主従関係が管理される。以後の説明は省略するが、ポリトープの主従関係は、以下のステップ3,4の処理過程で随時変更・更新される。
FIG. 5 is a conceptual diagram showing a master-slave relationship of a polytope with respect to the shape data of FIG. The master-slave relationship of the polytope defines the relationship between the polytope and the facet for each dimension, as in the case of the one-dimensional polytope P1 owned by the two-dimensional polytope P2 and the zero-dimensional polytope P0 owned by the one-dimensional polytope P2. In the example of the figure, the two-dimensional polytope P2 (1) possesses six one-dimensional polytopes P1 (1) to P1 (6) as its facets (sides). Further, for example, the one-dimensional polytope P1 (1) possesses two 0-dimensional polytopes P0 (1) and P0 (2) as facets (points). When a plurality of two-dimensional polytopes P2 exist, the master-slave relationship of the polytopes as described above is managed for each two-dimensional polytope P2. Further, in the case of three-dimensional shape data, the master-slave relationship of the polytope including the three-dimensional polytope (plane) is managed. Although the following description is omitted, the master-slave relationship of the polytope is changed / updated at any time in the processing process of
ステップ3では、1次元処理部3によって、特定の基準長を用いた1次元の結晶化処理が行われる。1次元の結晶化処理の対象となるのは、基準長よりも長い1次元ポリトープP1であり、この1次元ポリトープP1(辺)が基準長程度の長さに分割される。辺の分割数としては、例えば、1次元ポリトープP1の長さを基準長で除算し、この除算値を切り捨てまたは切り上げた整数とすることができる。
In
図6は、1次元の結晶化処理後の形状データを示す図である。図4に示された1本の辺に相当する1次元ポリトープP1(1),P1(2)のそれぞれが3つに分割される。これにより、1次元ポリトープP1(1)は削除され、その代わりに、3つの1次元ポリトープP1(1-1)~P1(1-3)と、2つの0次元ポリトープP0(7)~P0(8)とが追加される。同様に、1次元ポリトープP1(2)は削除され、その代わりに、3つの1次元ポリトープP1(2-1)~P1(2-3)と、2つの0次元ポリトープP0(9)~P0(10)とが追加される。 FIG. 6 is a diagram showing shape data after one-dimensional crystallization processing. Each of the one-dimensional polytopes P1 (1) and P1 (2) corresponding to one side shown in FIG. 4 is divided into three parts. As a result, the one-dimensional polytope P1 (1) is deleted, and instead, the three one-dimensional polytopes P1 (1-1) to P1 (1-3) and the two 0-dimensional polytopes P0 (7) to P0 ( 8) and is added. Similarly, the one-dimensional polytope P1 (2) is deleted, and instead, three one-dimensional polytopes P1 (2-1) to P1 (2-3) and two 0-dimensional polytopes P0 (9) to P0 ( 10) and is added.
1次元の結晶化処理では、2次元ポリトープP2が所有する1次元ポリトープP1の数、すなわち、2次元ポリトープP2のファセット数が偶数になるように、1次元ポリトープP1の分割数が調整される。図6の例では、2次元ポリトープP2(1)のファセット数が10なので、本条件を満たしている。分割数の調整を行う理由は、これ以降の処理過程でファセット数が2n(nは次元数)以外のポリトープが出現しないようにして、これに対する例外処理の発生を回避するためである。従来のメッシャーの場合、メッシングの過程で四角形の中に三角形、あるいは、六面体の中に四面体が混ざってしまうことがあるため、これらを取り除くために特殊な例外処理を施す必要がある。これに対して、本手法では、上記のような偶数化の調整を行うことで、フェセット数が2n以外のポリトープが以後の処理過程で発生することを有効に抑制できる。 In the one-dimensional crystallization process, the number of divisions of the one-dimensional polytope P1 is adjusted so that the number of one-dimensional polytopes P1 owned by the two-dimensional polytope P2, that is, the number of facets of the two-dimensional polytope P2 is even. In the example of FIG. 6, since the number of facets of the two-dimensional polytope P2 (1) is 10, this condition is satisfied. The reason for adjusting the number of divisions is to prevent a polytope having a facet number other than 2n (n is a number of dimensions) from appearing in the subsequent processing process and to avoid the occurrence of exception handling for the polytope. In the case of a conventional mesher, a triangle may be mixed in a quadrangle or a tetrahedron may be mixed in a hexahedron in the process of meshing, so it is necessary to perform special exception handling to remove these. On the other hand, in this method, by adjusting the even numbering as described above, it is possible to effectively suppress the generation of polytopes having a number of fesets other than 2n in the subsequent processing process.
ステップ4では、n次元処理部4によって、自律的な行動主体であるエージェントを用いたn次元の結晶化処理が行われる。図7は、n次元の結晶化処理ルーチンのフローチャートである。まず、ステップ41では、処理対象となるn次元ポリトープ(例えば、図6に示した2次元ポリトープP2(1))が指定される。処理対象となるn次元ポリトープはファセット数が2nでないこと、具体的には、2次元の結晶化処理では2次元ポリトープのファセット数が4でないこと、3次元の結晶化処理では3次元ポリトープのファセット数が6でないことが条件となる。すなわち、n次元の結晶化処理は、ファセット数が2nではないポリトープに対して行われ、ファセット数が2nであれば、このポリトープ自身が一個のエージェントとなり得るので、このポリトープに対しては行われない。
In
つぎに、ステップ42では、ステップ41で指定された処理対象の内部空間において、エージェントの配置場所が指定される。エージェントの配置場所およびその順序として、どのような規則を設定するかは任意であるが、本実施形態では、一例として、図14に示すように、(i)2つの端部への配置(A1→A2)、(ii)これらを結ぶ辺上への配置(A3)、(iii)上記(i),(ii)に基づくすべての辺上への配置(A4→A5→A6→A7)、(iv)空間内側への配置(A8)といった順序で、個々のエージェントを順次配置していく。 Next, in step 42, the placement location of the agent is designated in the internal space of the processing target designated in step 41. It is arbitrary to set the rules for the placement location and the order of the agents, but in the present embodiment, as an example, (i) placement at two ends (A1), as shown in FIG. → A2), (ii) Placement on the side connecting these (A3), (iii) Placement on all sides based on the above (i), (ii) (A4 → A5 → A6 → A7), ( iv) Individual agents are sequentially arranged in the order of arrangement inside the space (A8).
エージェントの配置等に関する規則としては次のものが挙げられる。第1の規則として、エージェントのファセット数は2nである。すなわち、2次元の結晶化処理における2次元エージェントは四角形であり、3次元の結晶化処理における3次元エージェントは六面体である。これは、2次元形状を四角形メッシュ、3次元形状を六面体メッシュでそれぞれ表現することに由来する。第2の規則として、エージェントのファセットは、このエージェントの配置場所の近傍にある既存のファセットを共有する。「既存のファセット」とは、エージェントが属するn次元ポリトープのファセット、あるいは、このn次元ポリトープ内に既に配置された他のエージェントのファセットである。これは、n次元ポリトープの内部空間にエージェントを隙間なく配置することに由来する。 The following are examples of rules regarding the placement of agents. As a first rule, the number of facets of the agent is 2n. That is, the two-dimensional agent in the two-dimensional crystallization process is a quadrangle, and the three-dimensional agent in the three-dimensional crystallization process is a hexahedron. This is because the two-dimensional shape is represented by a quadrilateral mesh and the three-dimensional shape is represented by a hexahedron mesh. As a second rule, agent facets share existing facets in the vicinity of this agent location. The "existing facet" is the facet of the n-dimensional polytope to which the agent belongs, or the facet of another agent already placed in this n-dimensional polytope. This is due to the fact that the agents are arranged without gaps in the internal space of the n-dimensional polytope.
ステップ43では、エージェントの品質指標Qが最大限良好になるように、このエージェントの形状が設定される。上述したように、エージェントの品質指標Qは、このエージェントの形状的な品質を示しており、一例として、以下の目的関数によって算出される「不満度」とすることができる。 In step 43, the shape of the agent is set so that the quality index Q of the agent is as good as possible. As described above, the quality index Q of the agent indicates the shape quality of this agent, and as an example, it can be the "dissatisfaction degree" calculated by the following objective function.
(不満度) = (内角の分散)*a+(エッジ長の(最長/最短))*b
(Dissatisfaction) = (Dispersion of internal angle) * a + (Edge length (longest / shortest)) * b
上記数式において、a,bはユーザ定義の定数である。また、(内角の分散)は、エージェントにおける内角のばらつきを示す。エージェントが四角形ならば内角θiは4個(i=4)、六面体ならば内角θiは24個(i=24)存在し、これらの分散は下式に基づいて算出される。なお、内角のばらつきは、内角の分散の代わりに、内角の(最大/最小)などの散布度を表す指標によって評価してもよい。 In the above formula, a and b are user-defined constants. Further, (dispersion of internal angle) indicates variation in internal angle in the agent. If the agent is a quadrangle, there are 4 internal angles θi (i = 4), and if it is a hexahedron, there are 24 internal angles θi (i = 24), and their variances are calculated based on the following equation. The variation in the internal angle may be evaluated by an index indicating the degree of dispersion such as (maximum / minimum) of the internal angle instead of the dispersion of the internal angle.
(内角の分散)=1/N*Σ(θi-Π/2)2
(Dispersion of internal angle) = 1 / N * Σ (θi-Π / 2) 2
エッジ長の(最長/最短)、すなわち、エッジ長の長短比は、エージェンにおけるエッジ長のばらつきを示す。ここで、「エッジ長」とは、2次元の結晶化処理の場合、辺すなわち1次元ポリトープP1の長さことである。なお、エッジ長のばらつきは、エッジの長短比の代わりに、エッジの分散などの散布度を表す指標によって評価してもよい。 The edge length (longest / shortest), that is, the length-to-short ratio of the edge length, indicates the variation in the edge length in the agency. Here, the "edge length" is the length of the side, that is, the one-dimensional polytope P1 in the case of the two-dimensional crystallization process. The variation in edge length may be evaluated by an index showing the degree of dispersion such as edge dispersion instead of the edge length ratio.
不満度は、その傾向として、内角のばらつきが小さくなるほど、そして、エッジ長のばらつきが小さくなるほど小さくなり、正方形や正六面体が最小となる。そして、不満度が小さくなるほどエージェントの形状的な品質は良好とされ、不満度が大きくなるほどその品質は良好でないとされる。このような傾向から理解できるように、「品質指標Qが最大限良好になる」ような形状とは、既存のファセットを共有するという制約条件の下、正方形や正六面体に極力近くなるような形状ということができる。なお、「品質指標Qが最大限良好になる」とは、品質指標Qが最大値をとることを条件としてもよいが、例えば、不満度が所定のしきい値よりも小さい、あるいは、以下に述べる幸福度が所定のしきい値よりも大きいといった如く、品質指標Qが所定のしきい値を超えるほど良好であることをもって、本条件を満たすとしてもよい。 The degree of dissatisfaction tends to be smaller as the variation in the internal angle becomes smaller and as the variation in the edge length becomes smaller, and the square or the regular hexahedron becomes the minimum. The smaller the dissatisfaction level, the better the shape quality of the agent, and the larger the dissatisfaction level, the poorer the quality. As can be understood from this tendency, a shape that "maximizes the quality index Q" is a shape that is as close as possible to a square or a regular hexahedron under the constraint of sharing an existing facet. It can be said. In addition, "the quality index Q becomes the best" may be a condition that the quality index Q takes the maximum value, but for example, the degree of dissatisfaction is smaller than a predetermined threshold value, or is as follows. This condition may be satisfied when the quality index Q is so good that it exceeds a predetermined threshold value, such that the stated happiness is larger than a predetermined threshold value.
品質指標Qとしては、上記数式に限定されるものではなく、様々なものが考えられる。例えば、エッジ長のばらつきを考慮することなく、内角のばらつきのみを評価してもよい。また、内角のばらつきに加えて、他の要件(例えば、エッジ長はなるべく大きいほうがよい等)も考慮した評価を行ってもよい。また、上記数式の不満度に-1を乗じたものを「幸福度」とし、この幸福度を評価指標Qとしてもよい。この場合、幸福度が大きくなるほどエージェントの形状的な品質は良好とされ、幸福度が小さくなるほどその品質は良好でないとされる。 The quality index Q is not limited to the above formula, and various ones can be considered. For example, only the variation in the internal angle may be evaluated without considering the variation in the edge length. Further, in addition to the variation in the internal angle, the evaluation may be performed in consideration of other requirements (for example, the edge length should be as large as possible). Further, the degree of dissatisfaction in the above formula multiplied by -1 may be defined as "happiness", and this degree of happiness may be used as the evaluation index Q. In this case, the larger the happiness level, the better the shape quality of the agent, and the smaller the happiness level, the poorer the quality.
ステップ44では、n次元ポリトープの内部空間において隣り合った複数のエージェント(自己を含む。)について、これらの形状が最適化される(スムージング)。この最適化は、自己を含む隣接エージェントにおける個々の品質指標Qの合計、すなわち、全体品質指標Qsumが現状、すなわち、最適化を行う前の状態よりも良好になるような変形を行うことで達成される。 In step 44, these shapes are optimized (smoothing) for a plurality of adjacent agents (including self) in the internal space of the n-dimensional polytope. This optimization is achieved by transforming the sum of the individual quality indicators Q in the adjacent agents including self, that is, the overall quality indicator Qsum to be better than the current state, that is, the state before the optimization. Will be done.
ここで、全体品質指標Qsum(以下「関数U」とする。)は、各内角(θ)や各エッジ長(l)に依存して決定されるが、内角やエッジ長は各P0の座標(ベクトルx)によって表現可能なので、以下のように表現できる。 Here, the overall quality index Qsum (hereinafter referred to as “function U”) is determined depending on each internal angle (θ) and each edge length (l), but the internal angle and edge length are the coordinates of each P0 (hereinafter referred to as “function U”). Since it can be expressed by the vector x), it can be expressed as follows.
この際に任意のP0の移動量(Δベクトルxi)を以下のように定義する。 At this time, the movement amount (Δ vector xi) of an arbitrary P0 is defined as follows.
この移動操作を形状の最適化のタイミングで繰り返し行う。繰り返し終了の条件は|Δベクトルx|/Δtがすべてのiに対して所定の閾値を下回ることである。 This movement operation is repeated at the timing of shape optimization. The condition for the end of the repetition is that | Δvector x | / Δt is below a predetermined threshold value for all i.
上記シミュレーションでは、Δtを十分に小さくすることにより厳密に全体品質指標Qsumの上昇を保証する。しかし、計算コストが非常に高い場合には、計算を近似するような簡易手法を用いることができる。この簡易手法では、各P0の移動量をP1の長さおよび基準長の乖離に由来する値(δベクトルxlength)と、P1同士の作る角度のπ/2からの乖離に由来する値(δベクトルxangle)とによって決定する。各タイムステップで2つの値をエージェント毎に評価してP0に移動量を加算していき、すべてのエージェントに関する評価が終了したタイミングで、移動量の合計分(Δベクトルx)だけP0を実際に移動させる。 In the above simulation, by making Δt sufficiently small, an increase in the overall quality index Qsum is strictly guaranteed. However, if the calculation cost is very high, a simple method that approximates the calculation can be used. In this simple method, the movement amount of each P0 is a value derived from the deviation between the length and the reference length of P1 (δ vector xlength) and a value derived from the deviation of the angle formed between P1s from π / 2 (δ vector). xangle) and. Two values are evaluated for each agent in each time step, and the movement amount is added to P0. At the timing when the evaluation for all agents is completed, P0 is actually calculated by the total movement amount (Δ vector x). Move it.
図8は、エージェント形状の最適化における簡易手法の説明図である。同図は、2つのP1が接続するP0について例示している。簡単のため2つのP1をそれぞれVi,Vjというベクトルに置き換えて説明する。 FIG. 8 is an explanatory diagram of a simple method for optimizing the agent shape. The figure illustrates P0 to which two P1s are connected. For the sake of simplicity, the two P1s will be replaced with the vectors Vi and Vj, respectively.
ただし、kangleおよびklengthはエージェントの不満度に比例する所定の定数である。また、上記数式において、イテレータiをある条件(cond.)下で1ずつインクリメントしながら、オペランドを足し合わせる演算記号を以下のように表現している。 However, kangle and length are predetermined constants proportional to the degree of dissatisfaction of the agent. Further, in the above formula, the operation symbol for adding the operands while incrementing the iterator i by 1 under a certain condition (cond.) Is expressed as follows.
以上の簡易手法は、全体品質指標Qsumを直接演算するものではないが、これに基づく処理結果として、全体品質指標Qsumが現状よりも良好になるような変形が行われる。なお、図7に示したフローチャートでは、形状の最適化をエージェントの配置毎に毎回行っているが、毎回行う必要は必ずしもなく、所定の条件を満たす場合のみ行ってもよい。 The above simple method does not directly calculate the overall quality index Qsum, but as a processing result based on this, the overall quality index Qsum is modified to be better than the current state. In the flowchart shown in FIG. 7, the shape is optimized every time the agent is arranged, but it is not always necessary to perform it every time, and it may be performed only when a predetermined condition is satisfied.
ステップ45では、処理対象となるn次元ポリトープの内部空間がエージェント群によって充填されたか否かが判定される。この判定結果が否定の場合、すなわち、n次元ポリトープ内の充填が完了していない場合には、次のエージェントに処理対象を移行し(ステップ46)、このエージェントについての処理が行われる(ステップ42~44)。そして、エージェント毎の繰り返し処理によって、n次元ポリトープ内の充填が完了した場合、ステップ45の判定結果が否定から肯定に変わって、ステップ47に進む。 In step 45, it is determined whether or not the internal space of the n-dimensional polytope to be processed is filled by the agent group. If this determination result is negative, that is, if the filling in the n-dimensional polytope is not completed, the processing target is transferred to the next agent (step 46), and processing for this agent is performed (step 42). ~ 44). Then, when the filling in the n-dimensional polytope is completed by the iterative processing for each agent, the determination result in step 45 changes from negative to affirmative, and the process proceeds to step 47.
ステップ47では、すべてのn次元ポリトープに対する処理が完了したか否かが判定される。この判定結果が否定の場合、すなわち、同一次元に属する全ポリトープに対する処理が完了していない場合には、同一次元における次のポリトープに処理対象を移行し(ステップ48)、同様の処理が行われる(ステップ41~46)。そして、同一次元におけるポリトープ毎の処理が繰り返されることよって、全ポリトープの処理が完了した場合、ステップ47の判定結果が否定から肯定に変わり、本ルーチンが終了する。 In step 47, it is determined whether or not the processing for all n-dimensional polytopes is completed. If this determination result is negative, that is, if the processing for all polytopes belonging to the same dimension is not completed, the processing target is transferred to the next polytope in the same dimension (step 48), and the same processing is performed. (Steps 41 to 46). Then, when the processing for all polytopes is completed by repeating the processing for each polytope in the same dimension, the determination result in step 47 changes from negative to affirmative, and this routine ends.
2次元メッシュを生成する場合には、2次元の結晶化処理の終了により、ステップ4の処理が終了する。また、3次元メッシュを生成する場合には、2次元の結晶化処理に続いて、3次元ポリトープを対象とした3次元の結晶化処理が行われ、その終了をもってステップ4の処理が終了する。
When the two-dimensional mesh is generated, the process of
以下、図9から図14を参照しつつ、エージェント群による2次元ポリトープP2(1)の充填プロセスについて説明する。まず、図9に示すように、2次元ポリトープP2(1)の右下端にエージェントA1が配置される。エージェントA1は、2次元ポリトープP2(1)が所有するファセットP1(2-3),P1(1-1)を共有する。ファセットの共有に関する実装上の手法としては、例えば、共役ファセットという鏡写しのようなファセットを別途に生成・所持することによって取り扱うことができる。3つの点P0(1),P0(7),P0(10)が既に特定された制約条件の下で残された自由度は、残りの点X1の配置場所ということになる。点X1は、エージェントA1の品質指標Q1が最大限良好になる位置に配置され、これによって、エージェントA1の形状が決定される。エージェントA1については、隣り合ったエージェントが存在しないので、形状の最適化は行われない。 Hereinafter, the filling process of the two-dimensional polytope P2 (1) by the agent group will be described with reference to FIGS. 9 to 14. First, as shown in FIG. 9, the agent A1 is arranged at the lower right end of the two-dimensional polytope P2 (1). Agent A1 shares facets P1 (2-3) and P1 (1-1) owned by the two-dimensional polytope P2 (1). As an implementation method for sharing facets, for example, it can be handled by separately generating and possessing a facet such as a mirror copy called a conjugated facet. The degree of freedom left under the constraint that the three points P0 (1), P0 (7), and P0 (10) have already been specified is the place where the remaining points X1 are placed. The point X1 is arranged at a position where the quality index Q1 of the agent A1 becomes as good as possible, whereby the shape of the agent A1 is determined. As for the agent A1, since there are no adjacent agents, the shape is not optimized.
つぎに、2次元ポリトープP2(1)の左下端にエージェントA2が配置される。エージェントA2は、2次元ポリトープP2(1)が所有するファセットP1(2-1),P1(6)を共有する。3つの点P0(3),P0(6),P0(9)が既に特定された制約条件の下で残された自由度は、残りの点X2の配置場所ということになる。点X2は、エージェントA2の品質指標Q2が最大限良好になる位置に配置され、これによって、エージェントA2の形状が決定される。エージェントA2については、隣り合ったエージェントが存在しないので、形状の最適化は行われない。 Next, the agent A2 is arranged at the lower left end of the two-dimensional polytope P2 (1). Agent A2 shares facets P1 (2-1) and P1 (6) owned by the two-dimensional polytope P2 (1). The degree of freedom left under the constraint that the three points P0 (3), P0 (6), and P0 (9) have already been specified is the place where the remaining points X2 are placed. The point X2 is arranged at a position where the quality index Q2 of the agent A2 becomes as good as possible, whereby the shape of the agent A2 is determined. As for the agent A2, since there are no adjacent agents, the shape is not optimized.
つぎに、図10に示すように、2つのエージェントA1,A2の間にエージェントA3が配置される。エージェントA3は、2次元ポリトープP2(1)が所有するファセットP1(2-2)と、エージェントA1,A2のファセットとを共有する。よって、エージェントA3の品質指標Q3を評価するまでもなく、エージェントA4の形状が一義的に特定される。また、エージェントA3については、2つのエージェントA1,A2と隣り合っている。よって、3つのエージェントA1~A3の合計品質指標Qsumが現状よりも良好になるように、エージェントA1~A3の形状が最適化される。これにより、エージェントA1~A3の形状は、図11に示すように、破線の状態から実線の状態に最適化される。 Next, as shown in FIG. 10, the agent A3 is arranged between the two agents A1 and A2. The agent A3 shares the facet P1 (2-2) owned by the two-dimensional polytope P2 (1) with the facets of the agents A1 and A2. Therefore, the shape of the agent A4 is uniquely specified without having to evaluate the quality index Q3 of the agent A3. Further, the agent A3 is adjacent to the two agents A1 and A2. Therefore, the shapes of the agents A1 to A3 are optimized so that the total quality index Qsum of the three agents A1 to A3 is better than the current state. As a result, the shapes of the agents A1 to A3 are optimized from the state of the broken line to the state of the solid line, as shown in FIG.
つぎに、図12に示すように、2次元ポリトープP2(1)の右上端にエージェントA4が配置される。エージェントA4は、2次元ポリトープP2(1)が所有するファセットP1(1-3),P1(3)を共有する。この制約条件の下で、エージェントA4の品質指標Q4が最大限良好になるように、エージェントA4の形状が決定される。エージェントA4については、隣り合ったエージェントが存在しないので、形状の最適化は行われない。 Next, as shown in FIG. 12, the agent A4 is arranged at the upper right end of the two-dimensional polytope P2 (1). Agent A4 shares facets P1 (1-3) and P1 (3) owned by the two-dimensional polytope P2 (1). Under this constraint, the shape of the agent A4 is determined so that the quality index Q4 of the agent A4 is as good as possible. As for the agent A4, since there are no adjacent agents, the shape is not optimized.
つぎに、図13に示すように、2つのエージェントA1,A4の間にエージェントA5が配置される。エージェントA5は、2次元ポリトープP2(1)が所有するファセットP1(1-2)と、エージェントA1,A4のファセットとを共有する。よって、エージェントA5の品質指標Q5を評価するまでもなく、エージェントA5の形状が一義的に特定される。また、エージェントA5については、2つのエージェントA1,A2と隣り合っている。よって、3つのエージェントA1,A4,A5の全体品質指標Qsumが現状よりも良好になるように、エージェントA1~A3の形状は破線の状態から実線の状態に最適化される。 Next, as shown in FIG. 13, the agent A5 is arranged between the two agents A1 and A4. The agent A5 shares the facet P1 (1-2) owned by the two-dimensional polytope P2 (1) with the facets of the agents A1 and A4. Therefore, the shape of the agent A5 is uniquely specified without having to evaluate the quality index Q5 of the agent A5. Further, the agent A5 is adjacent to the two agents A1 and A2. Therefore, the shapes of the agents A1 to A3 are optimized from the broken line state to the solid line state so that the overall quality index Qsum of the three agents A1, A4, and A5 is better than the current state.
以後、図14に示すように、エージェントA6~A8が形状の最適化を伴いながら順次配置されていく。これによって、2次元ポリトープP2(1)の内部空間は、8つのエージェントA1~A8によって隙間なく充填される。 After that, as shown in FIG. 14, the agents A6 to A8 are sequentially arranged while optimizing the shape. As a result, the internal space of the two-dimensional polytope P2 (1) is completely filled by the eight agents A1 to A8.
ステップ5では、メッシュ生成部5によってメッシュデータが生成される。この過程では、必要に応じてエージェントの領域が等分割され、これによって、図15に示すようなメッシュデータが生成される。生成されたメッシュデータは、最終的な出力データとして外部に出力される。
In
このように、本実施形態によれば、構造データより変換され、かつ、ポリトープで表現された形状データに対して、1次元ポリトープP1である辺を基準長に基づき分割する。そして、(n-1)次元の処理が行われた形状データに対するn次元の処理として、n次元ポリトープ内にエージェントを配置していく。エージェントのサイズは基準長に依存しており、その形状はエージェントの品質指標Qが最大限良好になるように設定される。また、隣り合ったエージェントの形状は、全体品質指標Qsumが現状、すなわち、最適化を行う前の状態よりも良好になるように最適化される。これにより、形状的に良好なエージェント群によってn次元ポリトープの内部空間が隙間なく充填・細分化されるので、高品質なメッシュを生成することができる。 As described above, according to the present embodiment, the side that is the one-dimensional polytope P1 is divided based on the reference length with respect to the shape data that is converted from the structural data and expressed by the polytope. Then, as an n-dimensional process for the shape data for which the (n-1) -dimensional process has been performed, an agent is arranged in the n-dimensional polytope. The size of the agent depends on the reference length, and the shape is set so that the quality index Q of the agent is as good as possible. In addition, the shapes of adjacent agents are optimized so that the overall quality index Qsum is better than the current state, that is, the state before the optimization. As a result, the internal space of the n-dimensional polytope is filled and subdivided without gaps by a group of agents having a good shape, so that a high-quality mesh can be generated.
また、本実施形態によれば、1次元処理部3およびn次元処理部4を組み合わせて、2次元データの場合には1次元から2次元に至る結晶化処理、3次元データの場合には1次元から3次元に至る結晶化処理を行うことで、ほぼあらゆる形状のメッシングを安定して行うことができ、例外処理を要することなくメッシングの完了を保証できる。メッシングの途中で続行不能となることを防止できることは、従来のメッシャーとの比較において、非常に重要かつ効果的である。
Further, according to the present embodiment, the one-
さらに、本実施形態によれば、メッシャーとしてのカスタマイズ性の向上を図ることができる。実際にメッシュを作成する過程では、単純にメッシュを均一に切るだけではなく、物体の物性(例えば材質)や表面形状(例えば曲率)といった条件に応じて、メッシュの細かさを調整することが多い。本実施形態では、物体の物性および表面形状の少なくとも一方に応じて基準長を調整することで、これらのファクターをメッシュの細かさに自動的に反映することができる。 Further, according to the present embodiment, it is possible to improve the customizability as a mesher. In the process of actually creating a mesh, it is often the case that the fineness of the mesh is adjusted according to conditions such as the physical characteristics (for example, material) and surface shape (for example, curvature) of the object, rather than simply cutting the mesh uniformly. .. In the present embodiment, these factors can be automatically reflected in the fineness of the mesh by adjusting the reference length according to at least one of the physical characteristics and the surface shape of the object.
なお、上述した実施形態では、n次元の結晶化処理において、n次元ポリトープの内部空間にエージェントを順次配置していく逐次処理を例について説明したが、処理の高速化を図るために、可能な範囲で、複数のエージェントを同時並行的に配置していく並列処理を行ってもよい。例えば、図14に示したエージェントA1~A3などは、互いに独立しており、他のエージェントとの相互作用を考慮する必要がないため、並列処理が可能である。 In the above-described embodiment, in the n-dimensional crystallization process, a sequential process in which agents are sequentially arranged in the internal space of the n-dimensional polytope has been described as an example, but it is possible to speed up the process. In the range, parallel processing may be performed in which a plurality of agents are arranged in parallel at the same time. For example, the agents A1 to A3 shown in FIG. 14 are independent of each other, and it is not necessary to consider the interaction with other agents, so that parallel processing is possible.
1 メッシュ生成システム
2 データ変換部
3 1次元処理部
4 n次元処理部
5 メッシュ生成部
6 ポリトープ管理部1
Claims (19)
物体の構造データをポリトープで表現した形状データに変換するデータ変換部と、
前記形状データに対する1次元の処理として、1次元ポリトープである辺を特定の基準長に基づいて分割する1次元処理部と、
(n-1)次元(nは2以上の次元数)の処理が行われた形状データに対するn次元の処理として、エージェントの形状的な品質を示しており、所定の目的関数によってエージェント毎に算出される品質指標が最大限良好になるような形状で、前記n次元ポリトープ内にエージェントを配置すると共に、前記n次元ポリトープ内で隣り合ったエージェントにおける前記品質指標の合計が現状よりも良好になるように、隣り合ったエージェントの形状を最適化することによって、前記n次元ポリトープ内をエージェント群で充填するn次元処理部と、
前記n次元のポリトープ内に充填されたエージェント群に基づいて、メッシュを生成するメッシュ生成部と
を有することを特徴とするメッシュ生成システム。In a mesh generation system using an agent-based model,
A data conversion unit that converts the structural data of an object into shape data expressed by polytope,
As one-dimensional processing for the shape data, a one-dimensional processing unit that divides a side that is a one-dimensional polytope based on a specific reference length, and a one-dimensional processing unit.
(N-1) The shape quality of the agent is shown as n-dimensional processing for the shape data that has been processed in three dimensions (n is a number of dimensions of 2 or more), and is calculated for each agent by a predetermined objective function. Agents are placed in the n-dimensional polytope in a shape that maximizes the quality index to be obtained, and the total quality index of adjacent agents in the n-dimensional polytope becomes better than the current state. As described above, by optimizing the shapes of adjacent agents, the n-dimensional processing unit that fills the n-dimensional polytope with the agent group and
A mesh generation system comprising a mesh generation unit for generating a mesh based on a group of agents filled in the n-dimensional polytope.
物体の構造データをポリトープで表現した形状データに変換する第1のステップと、
前記形状データに対する1次元の処理として、1次元ポリトープである辺を特定の基準長に基づいて分割する第2のステップと、
(n-1)次元(nは2以上の次元数)の処理が行われた形状データに対するn次元の処理として、エージェントの形状的な品質を示しており、所定の目的関数によってエージェント毎に算出される品質指標が最大限良好になるような形状で、前記n次元ポリトープ内にエージェントを配置すると共に、前記n次元ポリトープ内で隣り合ったエージェントにおける前記品質指標の合計が現状よりも良好になるように、隣り合ったエージェントの形状を最適化することによって、前記n次元ポリトープ内をエージェント群で充填する第3のステップと、
前記n次元のポリトープ内に充填されたエージェント群に基づいて、メッシュを生成する第4のステップと
を有する処理をコンピュータに実行させることを特徴とするメッシュ生成プログラム。In a mesh generation program using an agent-based model,
The first step of converting the structural data of an object into shape data expressed by polytope,
As a one-dimensional process for the shape data, a second step of dividing a side which is a one-dimensional polytope based on a specific reference length, and
(N-1) The shape quality of the agent is shown as n-dimensional processing for the shape data that has been processed in three dimensions (n is a number of dimensions of 2 or more), and is calculated for each agent by a predetermined objective function. Agents are placed in the n-dimensional polytope in a shape that maximizes the quality index to be obtained, and the total of the quality indexes in the agents adjacent to each other in the n-dimensional polytope becomes better than the current state. As described above, the third step of filling the n-dimensional polytope with the agent group by optimizing the shape of the adjacent agents, and
A mesh generation program comprising causing a computer to perform a process including a fourth step of generating a mesh based on a group of agents filled in the n-dimensional polytope.
物体の構造データをポリトープで表現した形状データに変換する第1のステップと、
前記形状データに対する1次元の処理として、1次元ポリトープである辺を特定の基準長に基づいて分割する第2のステップと、
(n-1)次元(nは2以上の次元数)の処理が行われた形状データに対するn次元の処理として、エージェントの形状的な品質を示しており、所定の目的関数によってエージェント毎に算出される品質指標が最大限良好になるような形状で、前記n次元ポリトープ内にエージェントを配置すると共に、前記n次元ポリトープ内で隣り合ったエージェントにおける前記品質指標の合計が現状よりも良好になるように、隣り合ったエージェントのそれぞれの形状を最適化することによって、前記n次元ポリトープ内をエージェント群で充填する第3のステップと、
前記n次元のポリトープ内に充填されたエージェント群に基づいて、メッシュを生成する第4のステップと
を有することを特徴とするメッシュ生成方法。In the mesh generation method using the agent-based model,
The first step of converting the structural data of an object into shape data expressed by polytope,
As a one-dimensional process for the shape data, a second step of dividing a side which is a one-dimensional polytope based on a specific reference length, and
(N-1) The shape quality of the agent is shown as n-dimensional processing for the shape data that has been processed in three dimensions (n is a number of dimensions of 2 or more), and is calculated for each agent by a predetermined objective function. Agents are placed in the n-dimensional polytope in a shape that maximizes the quality index to be obtained, and the total of the quality indexes in the agents adjacent to each other in the n-dimensional polytope becomes better than the current state. As described above, the third step of filling the n-dimensional polytope with the agent group by optimizing the shape of each of the adjacent agents.
A mesh generation method comprising a fourth step of generating a mesh based on a group of agents filled in the n-dimensional polytope.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/021098 WO2019229965A1 (en) | 2018-06-01 | 2018-06-01 | Mesh generation system, mesh generation program, and mesh generation method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2019229965A1 JPWO2019229965A1 (en) | 2021-07-15 |
JP7036207B2 true JP7036207B2 (en) | 2022-03-15 |
Family
ID=68697995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020522533A Active JP7036207B2 (en) | 2018-06-01 | 2018-06-01 | Mesh generation system, mesh generation program and mesh generation method |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP7036207B2 (en) |
TW (1) | TW202004538A (en) |
WO (1) | WO2019229965A1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011134279A (en) | 2009-12-25 | 2011-07-07 | Toshiba Corp | Device and method for generating lattice data, and storage medium storing lattice data generation program |
JP2011243016A (en) | 2010-05-19 | 2011-12-01 | Hitachi Ltd | Mesh generation device for analysis |
JP2015149052A (en) | 2014-02-05 | 2015-08-20 | 富士通株式会社 | Mesh quality improvement in computer aided engineering |
-
2018
- 2018-06-01 WO PCT/JP2018/021098 patent/WO2019229965A1/en active Application Filing
- 2018-06-01 JP JP2020522533A patent/JP7036207B2/en active Active
-
2019
- 2019-05-28 TW TW108118314A patent/TW202004538A/en unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011134279A (en) | 2009-12-25 | 2011-07-07 | Toshiba Corp | Device and method for generating lattice data, and storage medium storing lattice data generation program |
JP2011243016A (en) | 2010-05-19 | 2011-12-01 | Hitachi Ltd | Mesh generation device for analysis |
JP2015149052A (en) | 2014-02-05 | 2015-08-20 | 富士通株式会社 | Mesh quality improvement in computer aided engineering |
Also Published As
Publication number | Publication date |
---|---|
WO2019229965A1 (en) | 2019-12-05 |
TW202004538A (en) | 2020-01-16 |
JPWO2019229965A1 (en) | 2021-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4934789B2 (en) | Interpolation processing method and interpolation processing apparatus | |
Chougrani et al. | Lattice structure lightweight triangulation for additive manufacturing | |
RU2519331C2 (en) | Method of calculating physical value, numerical analysis method, programme for calculating physical value, numerical analysis programme, device for calculating physical value and numerical analysis device | |
JP5436416B2 (en) | Approximation processing method and approximation processing apparatus | |
EP1840841A1 (en) | Evolutionary direct manipulation of free form deformation representations for design optimisation | |
EP2869226A1 (en) | Updating a CAD model to reflect global or local shape changes | |
US11763048B2 (en) | Computer simulation of physical fluids on a mesh in an arbitrary coordinate system | |
Montenegro et al. | Tetrahedral mesh generation for environmental problems over complex terrains | |
Yoshihara et al. | Topologically robust B-spline surface reconstruction from point clouds using level set methods and iterative geometric fitting algorithms | |
Zhang et al. | Adaptive hexahedral mesh generation based on local domain curvature and thickness using a modified grid-based method | |
Letov et al. | A geometric modelling framework to support the design of heterogeneous lattice structures with non-linearly varying geometry | |
CN106875487B (en) | Geological hexahedral mesh smoothing method based on neighborhood acting force | |
Vucina et al. | Computational procedure for optimum shape design based on chained Bezier surfaces parameterization | |
JP7036207B2 (en) | Mesh generation system, mesh generation program and mesh generation method | |
CN116776401A (en) | Method for modeling an object affected by boundary conditions from a three-dimensional object model | |
Cheng et al. | Univariate cubic L 1 splines–A geometric programming approach | |
CN111047687B (en) | Three-dimensional T-spline-based heterogeneous material solid modeling method | |
JP2008171135A (en) | Deformation simulation method and its deformation simulation program for rheological object using real time adaptive tetrahedral mesh based on bisection/dual integration | |
JP5774404B2 (en) | Analysis apparatus, method thereof and program thereof | |
JP2005044146A (en) | Finite element analysis method, program and device | |
JP2009064164A (en) | Apparatus, method and program for generating curved surface shape | |
Hull et al. | Evolutionary optimization of a geometrically refined truss | |
JP2005078416A (en) | Method, device and program for generating analysis model and its recording medium | |
JP2005242651A (en) | System and program for generation of high quality mesh model | |
CN110100264A (en) | System and method for determining the mass property of modeling object |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201124 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220121 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220214 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7036207 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |