JP5668373B2 - Simulation apparatus, program, and method - Google Patents
Simulation apparatus, program, and method Download PDFInfo
- Publication number
- JP5668373B2 JP5668373B2 JP2010197228A JP2010197228A JP5668373B2 JP 5668373 B2 JP5668373 B2 JP 5668373B2 JP 2010197228 A JP2010197228 A JP 2010197228A JP 2010197228 A JP2010197228 A JP 2010197228A JP 5668373 B2 JP5668373 B2 JP 5668373B2
- Authority
- JP
- Japan
- Prior art keywords
- particle
- particles
- color
- grouping
- velocity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000004088 simulation Methods 0.000 title claims description 86
- 238000000034 method Methods 0.000 title claims description 62
- 239000002245 particle Substances 0.000 claims description 392
- 239000013598 vector Substances 0.000 claims description 143
- 238000004364 calculation method Methods 0.000 claims description 25
- 238000009877 rendering Methods 0.000 claims description 18
- 239000012530 fluid Substances 0.000 claims description 15
- 238000012800 visualization Methods 0.000 description 100
- 238000012545 processing Methods 0.000 description 79
- 230000006399 behavior Effects 0.000 description 14
- 230000033001 locomotion Effects 0.000 description 11
- 238000001914 filtration Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 239000003086 colorant Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 238000007794 visualization technique Methods 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000011859 microparticle Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Landscapes
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Description
本明細書は、計算機による流体のシミュレーションの可視化技術に関する。 The present specification relates to a visualization technique for fluid simulation by a computer.
近年の計算機技術の進歩により、ある物理現象に対して大規模な数値計算を実行し、その結果を高解像度の表示機器に表示してその物理現象を理解する、という場面が増えてきた。更に、より多くのオブジェクトを表示機器に同時に表示し、かつそのオブジェクトの拡大・縮小や回転もインタラクティブに指定しつつ、リアルタイムに表示することができるようになった。 Recent advances in computer technology have increased the number of cases where large-scale numerical calculations are performed on a physical phenomenon and the results are displayed on a high-resolution display device to understand the physical phenomenon. Furthermore, more objects can be displayed simultaneously on a display device, and the objects can be displayed in real time while interactively specifying enlargement / reduction and rotation of the objects.
一方、計算結果がベクトル場である場合の表示方法のひとつとして、パーティクルフローという手法がある。パーティクルフローとは、パーティクルという無質量の微小粒子が任意時間において置かれた周辺のベクトルの方向に沿って移動することで、流れを表現する手法である。計算機の性能向上によって、これまでより多数のパーティクルを広範囲に分布させることができるようになり、非常に細かい領域の流れを確認できるようになった。 On the other hand, as a display method when the calculation result is a vector field, there is a method called particle flow. Particle flow is a technique for expressing a flow by moving massless microparticles called particles along the direction of a surrounding vector placed at an arbitrary time. Thanks to the improved performance of computers, it has become possible to distribute a larger number of particles in a wider range and to check the flow of very fine areas.
多数のパーティクルを同時に表示できたとしても、人間の視覚や認識には限界がある。例えば、乱流境界層内の縦渦をシミュレーションし、パーティクルフローによって結果を観察しようとする場合について考える。この場合、マクロ的には多数の渦を表現しないパーティクルが動く中において、いくつもの小さな渦内をパーティクルが回り、一方渦を渡り歩くように動くパーティクルも同時に表示される。結果としてパーティクルが複雑な動きを示すことになり、目で追えなくなって誤認識を起こす可能性が高い。 Even if a large number of particles can be displayed simultaneously, human vision and recognition are limited. For example, consider a case where a vertical vortex in a turbulent boundary layer is simulated and the result is observed by particle flow. In this case, while a large number of particles that do not represent a vortex move macroscopically, particles move around a number of small vortices, while particles that move as if walking around the vortex are also displayed. As a result, the particles show complex movements, which are not likely to be followed by the eyes and are likely to cause misrecognition.
よって、パーティクルの動きについては、パーティクルの複雑な振る舞いのため、3次元的な挙動を追跡することは難しかった。また、パーティクルは領域を示さないため、例えば渦領域のような部位の形状を表示することは難しかった。 Therefore, it is difficult to track the three-dimensional behavior of the particles due to the complicated behavior of the particles. Further, since the particles do not indicate a region, it is difficult to display the shape of a part such as a vortex region.
上記課題に鑑み、本明細書では、パーティクルの3次元的な挙動を追跡することができるシミュレーション装置、該プログラム、及び該方法を提供する。 In view of the above problems, the present specification provides a simulation apparatus, the program, and the method that can track the three-dimensional behavior of particles.
本明細書に記載のシミュレーション装置の一例は、速度算出部、群化部、描画情報生成部を含む。速度算出部は、流体の流れについてのシミュレーションにより算出されるパーティクルの時間毎の物理量に関するシミュレーション結果情報に基づいて、各位置における前記パーティクルの速度を算出する。 An example of the simulation apparatus described in this specification includes a speed calculation unit, a grouping unit, and a drawing information generation unit. The velocity calculation unit calculates the velocity of the particle at each position based on simulation result information regarding the physical quantity of the particle for each hour calculated by simulation of the fluid flow.
群化部は、前記パーティクルの位置に基づいて、2つの前記パーティクル間の距離を算出する。群化部は、前記パーティクルの速度に基づいて、2つの前記パーティクル間の速度差を算出する。群化部は、前記パーティクル間の距離の値が第1の閾値より小さく、かつ前記パーティクル間の速度差の値が第2の閾値より小さい場合、該2つのパーティクルを群化する。 The grouping unit calculates a distance between the two particles based on the position of the particles. The grouping unit calculates a speed difference between the two particles based on the speed of the particles. The grouping unit groups the two particles when the distance between the particles is smaller than a first threshold and the speed difference between the particles is smaller than a second threshold.
描画情報生成部は、前記群化された2つのパーティクルの速度ベクトルに基づいて、前記群化された2つのパーティクルの挙動を示す表示オブジェクトを描画する描画情報を生成する。 The drawing information generation unit generates drawing information for drawing a display object indicating the behavior of the two grouped particles based on the velocity vector of the two grouped particles.
本明細書に記載のシミュレーション装置の一例によれば、パーティクルの3次元的な挙動を追跡することが容易になる。 According to an example of the simulation apparatus described in this specification, it becomes easy to track the three-dimensional behavior of particles.
<第1の実施形態>
図1は、パーティクルフローの一例を示す。図1(A)は、隣接する2つの渦を形成するパーティクルフローを示す。曲線で描かれた矢印は、渦の方向を示す。それ以外の、小さな、直線で描かれた矢印は、パーティクルの向かう方向を示す。なお、渦の形状を認識しやすくするために、1対の曲線で描かれた矢印を上面及び底面とする略円筒形状を形成するための側面の輪郭線が、便宜上描かれている。
<First Embodiment>
FIG. 1 shows an example of a particle flow. FIG. 1A shows a particle flow that forms two adjacent vortices. An arrow drawn in a curve indicates the direction of the vortex. Other small arrows drawn with straight lines indicate the direction of the particles. In order to make it easy to recognize the shape of the vortex, a contour line on the side surface for forming a substantially cylindrical shape having an upper surface and a bottom surface with arrows drawn by a pair of curves is drawn for convenience.
パーティクルのみを表示させた場合、その表示内容に奥行き感がなく、またパーティクルの動きが分かりづらい。例えば、右側の渦では、パーティクルが反時計回りに回っている。左側の渦では、パーティクルが時計回りに回っている。 When only particles are displayed, there is no sense of depth in the displayed content, and the movement of the particles is difficult to understand. For example, in the right vortex, the particles are turning counterclockwise. In the vortex on the left, the particles are turning clockwise.
もし、表示内容に奥行きを認識することができなければ、略円筒状の渦の外縁の前面側と背面側のパーティクルの動きを同一平面上での動きと認識してしまうおそれもある。この場合、渦形状を認識することができない。 If the depth cannot be recognized in the display content, the movement of the particles on the front side and the back side of the outer edge of the substantially cylindrical vortex may be recognized as the movement on the same plane. In this case, the vortex shape cannot be recognized.
図1(B)は、複数発生したパーティクルフローを示す。図1(B)に示すように、パーティクルフローが複数発生すると、パーティクルだけでは領域を認識するのは難しい。
ところで、人間の認識の癖として多数の対象を「固まり」で理解しようとする傾向があり、心理学の分野で「群化」と呼ばれている。無秩序で複雑な配置をした点集合は観察者の脳内で自動的に固まりに分けられ、「群化されたある集団の中の1点」という形で認識される。例えば、上記の渦をまくパーティクルの可視化の例では、見たいパーティクルとその周辺に見えている類似の動きをなすパーティクルがあるならば、それらをひとつの固まりとして認識するのはごく自然なことである。
FIG. 1B shows a plurality of generated particle flows. As shown in FIG. 1B, when a plurality of particle flows are generated, it is difficult to recognize an area only with particles.
By the way, as a trap of human recognition, there is a tendency to try to understand a large number of objects as “lumps”, which is called “grouping” in the field of psychology. A random and complex arrangement of points is automatically divided into clusters in the observer's brain and recognized as "one point in a grouped group". For example, in the above vortex particle visualization example, if there are particles that you want to see and have similar movements in the vicinity, it is quite natural to recognize them as a lump. is there.
そこで、複雑な動きをする多数のパーティクルから、位置的に近接し、かつ特定の速度で移動するパーティクル同士を群化して可視化する。これについて、図2を用いて説明する。 Therefore, particles that are close in position and move at a specific speed are grouped and visualized from a large number of particles that move in a complicated manner. This will be described with reference to FIG.
図2は、パーティクルフローの群化可視化を説明するための図である。図2(A)は、図1(A)のパーティクルフローを群化可視化したものである。図2(B)は、図1(B)のパーティクルフローを群化可視化したものである。 FIG. 2 is a diagram for explaining grouped visualization of particle flows. FIG. 2A is a grouped visualization of the particle flow of FIG. FIG. 2B is a grouped visualization of the particle flow of FIG.
図2(A)(B)では、複雑な動きをする多数のパーティクルから、位置的に近接し、かつ特定の速度で移動するパーティクル同士を群化して面を生成し、さらに、渦外周の前面側、背面側、及び渦境界領域に応じて色分けしたものである。なお、図2(A)(B)は、後述する処理において、1ステップ分の面生成を行ったものである。 In FIGS. 2A and 2B, a surface is generated by grouping particles that are close in position and moving at a specific speed from a large number of particles that move in a complex manner. It is color-coded according to the side, back side, and vortex boundary region. 2A and 2B are diagrams in which surface generation for one step is performed in the process described later.
図1(A)(B)に比べて、図2(A)(B)では、その表示内容に奥行き感があり、視覚的に、渦外周の前面側、背面側、及び渦間の境界領域にあるパーティクルの挙動が分かりやすい。なお、流れの特性に応じて任意ステップ分の面を生成すると、境界面を近似的に表現することもできる。 Compared to FIGS. 1A and 1B, in FIGS. 2A and 2B, the display content has a sense of depth, and visually, the front side, the back side, and the boundary region between the vortices It is easy to understand the behavior of the particles. Note that if a surface for an arbitrary step is generated according to the flow characteristics, the boundary surface can also be expressed approximately.
このように、群化可視化により、パーティクルの「固まり」を面として表示することができるので、パーティクルの3次元的な挙動を追跡することが容易になる。
また、渦状に動くパーティクルの渦中心からの距離が同じならば、パーティクルの速度も、ある同程度になる。従って、ある速度しきい値でパーティクルを抽出することにより渦領域の外周部を動くパーティクルが抽出できる。その抽出したパーティクルのうち、位置的に近接し、かつ特定の速度で移動するパーティクル同士をつながりのあるように描画すると、細切れながらも全体で観察すると渦領域がその外縁に沿って円状に見える。よって、渦のような部位の形状を表示され、渦が認識しやすくなる。
As described above, the grouping visualization enables to display the “cluster” of the particles as a surface, so that the three-dimensional behavior of the particles can be easily traced.
In addition, if the distance from the vortex center of the particles moving in a vortex is the same, the speed of the particles will be about the same. Therefore, particles moving around the outer periphery of the vortex region can be extracted by extracting the particles with a certain speed threshold. Of the extracted particles, if particles that are close to each other and move at a specific speed are drawn so as to be connected, the vortex region appears to be circular along the outer edge when viewed as a whole even though it is cut finely . Therefore, the shape of a part like a vortex is displayed and the vortex is easily recognized.
さらに、パーティクルフローの群化可視化について説明する。具体的なパーティクルフローの群化可視化方法として、一定の範囲にある2つのパーティクルがなす2つのベクトル間で2つの三角形を構成し、その三角形を描画することによって群化可視化が行われる。 Furthermore, grouped visualization of particle flows will be described. As a specific particle flow grouping visualization method, two triangles are formed between two vectors formed by two particles in a certain range, and grouping visualization is performed by drawing the triangles.
図3は、群化したパーティクルの可視化時の色分け規制(面の表裏による色分け)を示す。渦外周の前面側、背面側とでは、それぞれの面側の法線ベクトルの向きが異なる。このことに着目して、渦外周の前面側にある群化されたパーティクル同士が形成する面と、背面側にある群化されたパーティクル同士が形成する面とに対して、異なる色を着色する。 FIG. 3 shows color-coding restrictions (color-coding by the front and back of a surface) at the time of visualization of the grouped particle. The direction of the normal vector on each surface side is different between the front side and the back side of the outer periphery of the vortex. Paying attention to this, the surface formed by the grouped particles on the front side of the outer periphery of the vortex and the surface formed by the grouped particles on the back side are colored differently. .
例えば、位置的に近接し、かつ特定の速度で移動する、第1のパーティクルの速度ベクトルP0P1の始点及び終点と、第2のパーティクルの速度ベクトルQ0Q1の始点及び終点の、4つの点から2つの三角形状をした面を作成する。 For example, the start point and end point of the velocity vector P 0 P 1 of the first particle and the start point and end point of the velocity vector Q 0 Q 1 of the second particle, which are close in position and move at a specific speed, Create two triangular faces from four points.
そして、三角形の面の法線ベクトルの向きが視線方向を向いている場合(すなわち、面の表側)(図3(A))と、逆に向いている場合(すなわち、面の裏側)(図3(B))で、それぞれの面に対して異なる色を着色して表示する(色分け)。 Then, when the direction of the normal vector of the triangular surface is in the line-of-sight direction (that is, the front side of the surface) (FIG. 3A), and when the direction is opposite (that is, the back side of the surface) (FIG. 3 (B)), different colors are displayed for each surface (color coding).
図3(A)は、法線が手前向き(法線方向は線分P0P1を基準)である場合の面、すなわち渦外周部の前面側にある面を示す。図3(B)は、法線が向こう向き(法線方向は線分P0P1を基準)である場合の面、すなわち渦外周部の背面側にある面を示す。このように、法線方向による面の向きに応じて、色分けを行う。
これにより、図2に示すように、パーティクルが渦の手前側を通過しているか、奥側を通過しているかが認識しやすくなる。
FIG. 3A shows a surface when the normal is facing forward (the normal direction is based on the line segment P 0 P 1 ), that is, a surface on the front side of the outer periphery of the vortex. FIG. 3B shows a surface in the case where the normal is away (the normal direction is based on the line segment P 0 P 1 ), that is, a surface on the back side of the outer periphery of the vortex. In this way, color coding is performed according to the direction of the surface in the normal direction.
Thereby, as shown in FIG. 2, it becomes easy to recognize whether the particle passes the near side of the vortex or the far side.
図4は、群化したパーティクルの可視化時の色分け規制(ベクトルのねじれ量による色分け)を示す。渦同士の境界にあるパーティクルは、近接したパーティクルがそれぞれ、別々の渦の中心へと分かれていくような挙動を示す。そのため、パーティクルの速度ベクトルの向きに着目すると互いにねじれた方向を向いている。 FIG. 4 shows color-coding restrictions (color-coding based on the amount of vector twist) when visualizing grouped particles. Particles at the boundary between vortices behave in such a way that adjacent particles are divided into separate vortex centers. Therefore, when attention is paid to the direction of the velocity vector of the particles, they are directed to twisted directions.
そこで、第1のパーティクルの速度ベクトルP0P1と第2のパーティクルの速度ベクトルQ0Q1とが同一平面にある場合(図4(A))と、ねじれている場合(図4(B))とで異なる表示(たとえば色分けする)を施す。 Therefore, when the velocity vector P 0 P 1 of the first particle and the velocity vector Q 0 Q 1 of the second particle are in the same plane (FIG. 4A), or when they are twisted (FIG. 4B )) And a different display (for example, color-coded).
このねじれを検出する方法としては、例えば、次の方法が考えられる。まず、位置的に近接し、かつ特定の速度で移動する、第1のパーティクルの速度ベクトルP0P1の始点及び終点と、第2のパーティクルの速度ベクトルQ0Q1の始点及び終点の、4つの点から2つの三角形状をした面を作成する。そして、その三角形の面の法線方向を比較する。 As a method for detecting this twist, for example, the following method can be considered. First, the start point and end point of the velocity vector P 0 P 1 of the first particle and the start point and end point of the velocity vector Q 0 Q 1 of the second particle, which are close in position and move at a specific speed, Create two triangular faces from four points. Then, the normal directions of the triangular surfaces are compared.
図4(A)に示すように、渦外周部では、三角形P0P1Q0の法線aと三角形Q0Q1P1の法線bの方向がそろっている。このことから、三角形P0P1Q0と三角形Q0Q1P1とはねじれていないことが分かる。一方、図4(B)に示すように、渦境界領域では法線aの方向と法線bの方向がねじれている。このことから、三角形P0P1Q0と三角形Q0Q1P1とはねじれていることが分かる。 As shown in FIG. 4A, the direction of the normal line a of the triangle P 0 P 1 Q 0 and the normal line b of the triangle Q 0 Q 1 P 1 are aligned at the outer periphery of the vortex. From this, it can be seen that the triangle P 0 P 1 Q 0 and the triangle Q 0 Q 1 P 1 are not twisted. On the other hand, as shown in FIG. 4B, the direction of the normal line a and the direction of the normal line b are twisted in the vortex boundary region. From this, it can be seen that the triangle P 0 P 1 Q 0 and the triangle Q 0 Q 1 P 1 are twisted.
このように、2つの法線の角度に応じて、渦領域だけでなく渦同士の境界を示すことが可能である。
ちなみに、ここでは法線の方向を決めるルールとして、例えば「ベクトルP0P1とベクトルQ0Q1のうち上方にある(y軸で正の方向にある)ベクトルの方向に三角形の頂点をたどり、左手系で上を向く方向」といったように決定するものとした。
In this way, it is possible to show not only the vortex region but also the boundary between vortices according to the angle of the two normals.
Incidentally, here, as a rule for determining the direction of the normal line, for example, “trace the vertex of the triangle in the direction of the vector above the vector P 0 P 1 and the vector Q 0 Q 1 (in the positive direction on the y-axis). , The direction of facing up in the left hand system ".
従来、このような技術が存在しなかったのは、次の2つの理由が考えられる。まず、第1の理由として、大規模シミュレーションにより多くの渦領域を出力できるようになったのはここ数年であることが考えられる。第2の理由として、第1の理由のように大規模シミュレーションにより多くの渦領域を出力するような計算を行わない場合には、一般的に渦度による等値面表示、速度の絶対値による等値面表示、或いはλ2法などの渦領域抽出を使用することが考えられる。 There are two reasons why such a technique has not existed in the past. First, as a first reason, it is considered that it has been several years that a large number of vortex regions can be output by a large-scale simulation. As a second reason, when a calculation that outputs many vortex regions by large-scale simulation is not performed as in the first reason, generally, an isosurface display by vorticity and an absolute value of velocity are used. It is conceivable to use isosurface display or vortex region extraction such as the λ2 method.
上記第1の理由について、例えば速度境界中の縦渦は計算機の発展によりようやく解析可能となってきている。この可視化では、例えば、多数の速度境界層中の縦渦が表示されており、縦渦はそれぞれ後流方向に移動し、且つ互い違いの回転方向を持っている。これまでは、これらの領域を包含するような非常に大きな渦領域について、上記第2の理由で挙げた方法など、或いはそれぞれの領域をベクトルの大きさによる等値面表示などによって可視化されてきた。 With respect to the first reason, for example, longitudinal vortices in the velocity boundary can finally be analyzed by the development of computers. In this visualization, for example, vertical vortices in a large number of velocity boundary layers are displayed, and the vertical vortices each move in the wake direction and have alternate rotation directions. Until now, very large vortex areas that encompass these areas have been visualized by the method mentioned in the second reason above, or by isosurface display based on the size of the vector. .
一方、一般的なパーティクルフローによる可視化では、ユーザが空間内のパーティクル数や動き(時間ステップの刻み幅)を制御することで、結果的に複雑な流れを分かりやすく表現してきた。一つの粒子の回転運動を軌跡に加える手法も存在したが、空間に可視化オブジェクトを増やすだけの結果となって、やはりユーザがパラメータにより制御せざるを得なかった。 On the other hand, in general visualization by particle flow, the user controls the number of particles in the space and the movement (step size of time step), and as a result, the complicated flow has been expressed in an easy-to-understand manner. Although there was a method of adding the rotational motion of one particle to the trajectory, the result was that the number of visualization objects was increased in the space, and the user still had to be controlled by parameters.
本実施形態では、速度的に近く任意時間内では方向が似通っているパーティクルをグループ化することでパーティクル数を制御し、観察をより分かりやすくすることが可能である。また、対の粒子間に面を生成することで、離散的に境界形状を表現する。 In the present embodiment, it is possible to control the number of particles by grouping particles that are close in speed and similar in direction within an arbitrary time, thereby making observation easier to understand. Moreover, a boundary shape is discretely expressed by generating a surface between a pair of particles.
図5は、本実施形態における流体の流れのシミュレーションを実行するシミュレーションシステムの機能構成の一例を示す。シミュレーションシステムは、シミュレーション装置1、入力部2、表示装置15を含む。シミュレーション装置1は、シミュレーション結果格納部3、群化可視化実行部10、格納部11、パーティクルフロー描画処理部12、描画指示部13、グラフィック処理部14を含む。 FIG. 5 shows an example of a functional configuration of a simulation system that executes a fluid flow simulation in the present embodiment. The simulation system includes a simulation device 1, an input unit 2, and a display device 15. The simulation apparatus 1 includes a simulation result storage unit 3, a grouping visualization execution unit 10, a storage unit 11, a particle flow drawing processing unit 12, a drawing instruction unit 13, and a graphic processing unit 14.
シミュレーション結果格納部3には、流体の流れについてのシミュレーション処理により算出される流体の時間毎の物理量がパーティクル位置結果として格納されている。格納部11には、その他のオブジェクトに関する情報が格納されている。 In the simulation result storage unit 3, a physical quantity for each time of the fluid calculated by a simulation process on the fluid flow is stored as a particle position result. The storage unit 11 stores information related to other objects.
群化可視化実行部10は、パーティクルフローの群化可視化を実行する。群化可視化実行部10は、速度計算部5、群化判定部7、群化可視化処理部9、格納部16を含む。格納部16には、パーティクル位置テーブル4、パーティクル位置速度テーブル6、群化テーブル8、及び後述する閾値や、レンダリング設定条件等の情報が格納されている。 The grouping visualization execution unit 10 executes grouping visualization of particle flows. The grouping visualization execution unit 10 includes a speed calculation unit 5, a grouping determination unit 7, a grouping visualization processing unit 9, and a storage unit 16. The storage unit 16 stores a particle position table 4, a particle position speed table 6, a grouping table 8, and information such as threshold values and rendering setting conditions described later.
速度計算部5は、シミュレーション結果格納部3からシミュレーション結果を読み出し、そのシミュレーション結果に基づいて、パーティクルの位置情報をパーティクル位置テーブル4に格納する。そして、速度計算部5は、パーティクル位置テーブル4を用いてパーティクルの速度を算出する。パーティクル位置テーブル4については、図6を用いて説明する。 The speed calculation unit 5 reads the simulation result from the simulation result storage unit 3 and stores the particle position information in the particle position table 4 based on the simulation result. Then, the velocity calculation unit 5 calculates the particle velocity using the particle position table 4. The particle position table 4 will be described with reference to FIG.
図6は、パーティクル位置テーブル4の一例を示す。パーティクル位置テーブル4は2つ存在する。一方のパーティクル位置テーブル4は、時間T=t,t+1,t+2,・・・の場合にパーティクルの位置データが格納されるワークテーブルである。他方のパーティクル位置テーブル4は、時間T=t+1,t+2,t+3,・・・の場合にパーティクルの位置データが格納されるワークテーブルである。いずれのパーティクル位置テーブル4も、パーティクルを識別するパーティクルIDと、そのパーティクルIDに対応するパーティクルの位置(x,y,z)が格納される。では、図5の説明に戻る。 FIG. 6 shows an example of the particle position table 4. There are two particle position tables 4. One particle position table 4 is a work table in which particle position data is stored at times T = t, t + 1, t + 2,. The other particle position table 4 is a work table in which particle position data is stored at times T = t + 1, t + 2, t + 3,. Each particle position table 4 stores a particle ID for identifying a particle and a particle position (x, y, z) corresponding to the particle ID. Returning to the description of FIG.
速度計算部5は、2つのパーティクル位置テーブル4を用いて、パーティクルの速度を算出し、その結果をパーティクル位置速度テーブル6に格納する。パーティクル位置速度テーブル6については、図7を用いて説明する。 The velocity calculator 5 calculates the velocity of the particles using the two particle position tables 4 and stores the result in the particle position velocity table 6. The particle position speed table 6 will be described with reference to FIG.
図7は、パーティクル位置速度テーブル6の一例を示す。パーティクル位置速度テーブル6には、パーティクルID、そのパーティクルIDに対応するパーティクルの位置(x,y,z)及び速度ベクトル(速度x,速度y,速度z)が格納される。では、図5の説明に戻る。 FIG. 7 shows an example of the particle position velocity table 6. The particle position velocity table 6 stores a particle ID, a particle position (x, y, z) and a velocity vector (velocity x, velocity y, velocity z) corresponding to the particle ID. Returning to the description of FIG.
群化判定部7は、パーティクル位置速度テーブル6を用いて、どのパーティクルが対になって群化できるかを判定する。そして、群化判定部7は、その群化できると判定された一対のパーティクルのパーティクルIDを群化テーブル8に格納する。群化テーブル8について、図8を用いて説明する。 The grouping determination unit 7 uses the particle position velocity table 6 to determine which particles can be grouped together. The grouping determination unit 7 stores the particle IDs of the pair of particles determined to be grouped in the grouping table 8. The grouping table 8 will be described with reference to FIG.
図8は、群化テーブル9の一例を示す。群化テーブル9では、群化できると判定された一対のパーティクルのパーティクルID(パーティクルID1、パーティクルID2)と、その一対のパーティクルを識別する群化IDが格納されている。では、図5の説明に戻る。 FIG. 8 shows an example of the grouping table 9. The grouping table 9 stores a particle ID (particle ID1, particle ID2) of a pair of particles determined to be grouped and a grouping ID for identifying the pair of particles. Returning to the description of FIG.
群化可視化処理部9は、群化テーブル9を用いて、群化されたパーティクルについて可視化処理を行う。これにより、群化描画データが生成される。
パーティクルフロー描画処理部12は、入力部2からの入力情報、シミュレーション結果、及び格納部11に格納されているその他のオブジェクトデータを基にして、通常のパーティクルフローを描画する処理を行う。これにより、パーティクルフロー描画データが生成される。
The grouping visualization processing unit 9 uses the grouping table 9 to perform visualization processing on the grouped particles. Thereby, grouped drawing data is generated.
The particle flow drawing processing unit 12 performs processing for drawing a normal particle flow based on the input information from the input unit 2, the simulation result, and other object data stored in the storage unit 11. Thereby, particle flow drawing data is generated.
描画調整部13は、群化可視化実行部10から出力された群化描画データと、パーティクルフロー描画処理部12から出力されたパーティクルフロー描画データとを重畳表示する調整を行う。
グラフィック処理部14は、描画調整部13により調整された描画データに対して、グラフィック処理を行い、表示装置15へ出力する。
The drawing adjustment unit 13 performs adjustment to superimpose and display the grouped drawing data output from the grouping visualization execution unit 10 and the particle flow drawing data output from the particle flow drawing processing unit 12.
The graphic processing unit 14 performs graphic processing on the drawing data adjusted by the drawing adjusting unit 13 and outputs the processed graphic data to the display device 15.
図9は、パーティクルフローの群化可視化処理の全体フローを示す。図9は、図5の群化可視化実行部10(速度計算部5、群化判定部7、群化可視化処理部9)で実行される処理フローを示す。 FIG. 9 shows an overall flow of particle flow grouping visualization processing. FIG. 9 shows a processing flow executed by the grouping visualization execution unit 10 (speed calculation unit 5, grouping determination unit 7, grouping visualization processing unit 9) in FIG.
速度計算部5は、まず時間tを0で初期化する(S1)。速度計算部5は、シミュレーション結果格納部3から、ある時間(この時間を、時間t=0とする)におけるパーティクルの位置を取得し、一方のパーティクル位置テーブル4へ格納する(S2)。 The speed calculator 5 first initializes the time t with 0 (S1). The speed calculation unit 5 acquires the position of the particle at a certain time (this time is set as time t = 0) from the simulation result storage unit 3, and stores it in one particle position table 4 (S2).
速度計算部5は、時間tをインクリメントする(S3)。速度計算部5は、シミュレーション結果格納部3から、時間t=1におけるパーティクルの位置を取得し、他方のパーティクル位置テーブル4へ格納する(S4)。 The speed calculation unit 5 increments the time t (S3). The speed calculation unit 5 acquires the position of the particle at time t = 1 from the simulation result storage unit 3 and stores it in the other particle position table 4 (S4).
速度計算部5は、パーティクルの速度場を算出する(S5)。すなわち、速度計算部5は、2つのパーティクル位置テーブル4を用いて、Δt(Δt=1−0)でのパーティクル位置の移動量(Δx,Δy,Δz)を算出する。速度計算部5は、(パーティクル位置の移動量)/Δtより、パーティクルの速度を算出する。速度計算部5は、パーティクルIDと共に、時間t=1におけるパーティクルの位置と、その算出した速度を、パーティクル位置速度テーブル6に格納する。 The velocity calculation unit 5 calculates the velocity field of the particles (S5). That is, the velocity calculation unit 5 uses the two particle position tables 4 to calculate the movement amount (Δx, Δy, Δz) of the particle position at Δt (Δt = 1-0). The speed calculation unit 5 calculates the speed of the particle from (movement amount of the particle position) / Δt. The velocity calculation unit 5 stores the particle position at the time t = 1 and the calculated velocity in the particle position velocity table 6 together with the particle ID.
次に、群化判定部7は、パーティクル位置速度テーブル6に格納されたパーティクルについて、速さに関してフィルタリング処理を行う。すなわち、群化判定部7は、パーティクル位置速度テーブル6に格納されたパーティクルのうち、所定の速さの範囲外にあるパーティクルを削除し、所定の速さの範囲にあるパーティクルのみをパーティクル位置速度テーブル6に残す(S6)。 Next, the grouping determination unit 7 performs a filtering process on the speed of the particles stored in the particle position speed table 6. That is, the grouping determination unit 7 deletes the particles stored in the particle position / velocity table 6 that are out of the predetermined speed range, and selects only the particles within the predetermined speed range as the particle position / speed. It remains in the table 6 (S6).
群化判定部7は、S6でのフィルタリング処理後のパーティクル位置速度テーブル6に含まれるパーティクルのうち、任意のパーティクルに対してパーティクル番号n=1を割り当てる(S7)。以下、nが割り当てられたパーティクルを、対象パーティクルまたは対象パーティクルnという。 The grouping determination unit 7 assigns a particle number n = 1 to an arbitrary particle among particles included in the particle position speed table 6 after the filtering process in S6 (S7). Hereinafter, the particles to which n is assigned are referred to as target particles or target particles n.
群化判定部7は、その対象パーティクルがすでに群化されているかどうかを群化テーブル8を用いて判定する(S8)。対象パーティクルが、群化テーブル8の「パーティクルID1」または「パーティクルID2」に既に格納されている場合、群化判定部7は、対象パーティクルが群化されていると判定する。 The grouping determination unit 7 determines whether or not the target particles are already grouped using the grouping table 8 (S8). When the target particles are already stored in “Particle ID1” or “Particle ID2” of the grouping table 8, the grouping determination unit 7 determines that the target particles are grouped.
群化判定部7は、対象パーティクルが既に群化されている場合(S8で「Yes」)、対象パーティクルと対になっているパーティクルが現在時間においても、対象パーティクルの近傍にあるかどうかを判定する(S9)。すなわち、群化判定部7は、対象パーティクルと、その対象パーティクルと対になっているパーティクルとの距離Δdの値が閾値dqより小さいか否かを判定する。 When the target particles are already grouped (“Yes” in S8), the grouping determination unit 7 determines whether the particles paired with the target particles are in the vicinity of the target particles even at the current time. (S9). That is, the grouping determination unit 7 determines whether or not the value of the distance Δd between the target particle and the particle paired with the target particle is smaller than the threshold value d q .
Δd<のdq場合(S9で「Yes」)、群化判定部7は、対象パーティクルと対になっているパーティクルが現在時間においても速さの値が対象パーティクルと近いかどうかを判定する(S10)。群化判定部7は、対象パーティクルと、その対象パーティクルと対になっているパーティクルとの速さの差Δvの値が閾値vqより小さいか否かを判定する。対象パーティクルと、その対象パーティクルと対になっているパーティクルとの速さの差Δvの値が閾値vqより小さい場合(S10で「No」)、S12へ進む。 When dq of Δd <(“Yes” in S9), the grouping determination unit 7 determines whether the speed of the particle paired with the target particle is close to that of the target particle even at the current time ( S10). The grouping determination unit 7 determines whether or not the value of the speed difference Δv between the target particle and the particle paired with the target particle is smaller than the threshold value v q . When the value of the speed difference Δv between the target particle and the particle paired with the target particle is smaller than the threshold value v q (“No” in S10), the process proceeds to S12.
対象パーティクルが群化されていない場合(S8で「No」)、または対になるパーティクルが群化の対象から外れた場合(すなわち、Δd≧のdq(S9で「No」)もしくはΔv≧のvq(S10で「No」)の場合)、群化判定部7は次を行う。すなわち、群化判定部7は、対象パーティクルと対になるパーティクルを探索する(群化探索処理)(S11)。S11の群化探索処理については、後述する。 When the target particles are not grouped (“No” in S8), or the paired particles are excluded from the grouping target (that is, dq of Δd ≧ (“No” in S9)) or Δv ≧ In the case of v q (“No” in S10)), the grouping determination unit 7 performs the following. That is, the grouping determination unit 7 searches for particles that are paired with the target particles (grouping search process) (S11). The grouping search process in S11 will be described later.
S6でのフィルタリング処理後のパーティクル位置速度テーブル6に、未処理のパーティクルがある場合(S12で「Yes」)、群化判定部7は、次を行う。すなわち、群化判定部7は、nをインクリメントして(S13)、その未処理のパーティクルを対象パーティクルとしてS8−S11の処理を行う。 When there is an unprocessed particle in the particle position speed table 6 after the filtering process in S6 (“Yes” in S12), the grouping determination unit 7 performs the following. That is, the grouping determination unit 7 increments n (S13), and performs the processing of S8-S11 using the unprocessed particles as target particles.
S6でのフィルタリング処理後のパーティクル位置速度テーブル6に含まれる全てのパーティクルについて、S8−S11の処理が終わったら(S12で「No」)、群化可視化処理部9は、可視化処理を行う(S14)。S14の処理については、後述する。 When all the particles included in the particle position / velocity table 6 after the filtering process in S6 have been processed in S8-S11 (“No” in S12), the grouping visualization processing unit 9 performs the visualization process (S14). ). The process of S14 will be described later.
可視化処理(S14)の終了後、シミュレーション結果格納部3に次のt(すなわち、t+1)におけるシミュレーション結果があれば(S15で「Yes」)、群化可視化処理部9は、tをインクリメントし(S16)、S4−S14の処理を行う。 If the simulation result storage unit 3 has a simulation result at the next t (that is, t + 1) after the visualization process (S14) ends (“Yes” in S15), the grouping visualization processing unit 9 increments t ( Steps S16) and S4-S14 are performed.
なお、ループ処理(S4−S15)の度に、S4にて用いられるパーティクル位置テーブル4は交互に変更される。また、群化テーブル8は、tがインクリメントされる毎に書き換わる。
シミュレーション結果格納部3に格納された最終の時間についてのシミュレーション結果について処理を終えるまでS4−S14の処理を繰り返す。
Note that the particle position table 4 used in S4 is alternately changed every time the loop processing (S4-S15) is performed. The grouping table 8 is rewritten every time t is incremented.
The process of S4-S14 is repeated until the process is completed for the simulation result for the final time stored in the simulation result storage unit 3.
図10は、図9のS11の群化探索処理の詳細なフローを示す。群化判定部7は、まず探索領域を設定する(S21)。ここで、探索領域とは、対象パーティクルと対となるパーティクルを探索するための、対象パーティクルを中心とする3次元上の所定の探索範囲をいう。 FIG. 10 shows a detailed flow of the group search process in S11 of FIG. The grouping determination unit 7 first sets a search area (S21). Here, the search area refers to a predetermined three-dimensional search range centered on the target particle for searching for a particle that is paired with the target particle.
次に、群化判定部7は、S6でのフィルタリング処理後のパーティクル位置速度テーブル6に含まれるパーティクルのうち、対象パーティクルnとは異なる任意のパーティクルに対して、パーティクル番号m(m≠n)を設定する(S22)。対象パーティクルのパーティクル番号nが1でない限り、初期値として、m=1とする。対象パーティクルのパーティクル番号nが1の場合には、初期値として、m=2とする。なお、以下では、対象パーティクルに対して探索対象となるパーティクルのパーティクル番号mを有するパーティクルを、パーティクルmという。 Next, the grouping determination unit 7 determines the particle number m (m ≠ n) for an arbitrary particle different from the target particle n among the particles included in the particle position speed table 6 after the filtering process in S6. Is set (S22). Unless the particle number n of the target particle is 1, the initial value is m = 1. When the particle number n of the target particle is 1, m = 2 is set as an initial value. Hereinafter, a particle having the particle number m of a particle to be searched for the target particle is referred to as a particle m.
群化判定部7は、探索対象となるパーティクルmがすでに群化されているかどうかを群化テーブル8から判定する(S23)。すなわち、パーティクルmのパーティクル番号mが、群化テーブル8の「パーティクルID1」または「パーティクルID2」に存在する場合(S23で「Yes」)、群化判定部7は、パーティクルmが群化されていると判定する。 The grouping determination unit 7 determines whether or not the particles m to be searched are already grouped from the grouping table 8 (S23). That is, when the particle number m of the particle m exists in “Particle ID 1” or “Particle ID 2” of the grouping table 8 (“Yes” in S23), the grouping determination unit 7 determines that the particle m is grouped. It is determined that
パーティクルmが群化テーブル8に存在しない場合(S23で「No」)、群化判定部7は、パーティクルmが探索領域の内側にあるかどうかを判定する(S24)。すなわち、群化判定部7は、パーティクル位置速度テーブル6から、パーティクルmの位置情報(x,y,z)を取得し、その位置情報の示す位置が探索領域の範囲内にあるかを判定する。 When the particle m does not exist in the grouping table 8 (“No” in S23), the grouping determination unit 7 determines whether the particle m is inside the search area (S24). That is, the grouping determination unit 7 acquires the position information (x, y, z) of the particle m from the particle position / velocity table 6 and determines whether the position indicated by the position information is within the search area. .
パーティクルmが探索領域の内側にあると判定された場合(S24で「Yes」)、群化判定部7は、パーティクルmの速さから対象パーティクルnの速さを差し引いて、パーティクルm,nの速さの差Δvを算出する。それから、群化判定部7は、パーティクルm,nの速さの差Δvの値が閾値vgよりも小さいか否かを判定する(S25)。 When it is determined that the particle m is inside the search area (“Yes” in S24), the grouping determination unit 7 subtracts the speed of the target particle n from the speed of the particle m, The speed difference Δv is calculated. Then, the grouping determination unit 7 determines whether the particles m, the value of the speed difference Δv of n is smaller than the threshold value v g (S25).
Δv<vgの場合(S25で「Yes」)、群化判定部7は、そのパーティクルmが対象パーティクルnと対になるパーティクルであると判定する。この場合、群化判定部7は、パーティクルmのパーティクル番号mと対象パーティクルnのパーティクル番号nとを組にし、その組に群化IDを付与する。そして、群化判定部7は、群化IDとパーティクル番号m,nを群化テーブル8に格納する(S26)。 Delta] v <v For g ( "Yes" in S25), the grouping determination unit 7 determines that the particles whose particle m is subject particle n paired. In this case, the grouping determination unit 7 sets the particle number m of the particle m and the particle number n of the target particle n, and gives a grouping ID to the set. Then, the grouping determination unit 7 stores the grouping ID and the particle numbers m and n in the grouping table 8 (S26).
一方、パーティクルmが群化テーブル8に存在する場合(S23で「Yes」)、パーティクルmが探索領域の内側にない場合(S24で「No」)、またはΔv≧vqの場合(S25で「No」)、群化判定部7は次を行う。すなわち、群化判定部7は、S6でのフィルタリング処理後のパーティクル位置速度テーブル6に含まれるパーティクルのうち、未処理のパーティクルが存在すれば(S27で「Yes」)、mをインクリメントして(S28)、S23−S26の処理を行う。なお、S28でインクリメントした結果、m=nとなる場合には、群化判定部7は、さらにmをインクリメントする。 On the other hand, if the particles m are present in the grouping table 8 ( "Yes" in S23), if the particles m is not inside the search area ( "No" in S24), or Delta] v ≧ v For q (S25 " No "), the grouping determination unit 7 performs the following. That is, if there is an unprocessed particle among the particles included in the particle position speed table 6 after the filtering process in S6 (“Yes” in S27), the grouping determination unit 7 increments m ( S28) and S23-S26 are performed. In addition, when m = n is obtained as a result of the increment in S28, the grouping determination unit 7 further increments m.
群化IDとパーティクル番号m,nを群化テーブル7に格納した場合(S26)、またはパーティクル位置速度テーブル6に次のパーティクルが存在しない場合、群化判定部7は、群化探索処理を終了する。 When the grouping ID and the particle numbers m and n are stored in the grouping table 7 (S26), or when the next particle does not exist in the particle position / velocity table 6, the grouping determination unit 7 ends the grouping search process. To do.
図11は、第1の実施形態における図9のS14の可視化処理の詳細なフローを示す。本実施形態では、パーティクルをレンダリング(rendering)により可視化する。ここでいうレンダリングとは、所定方向から照明された3次元空間の物体を所定の視点で観察した場合に観察される3次元画像であって、影、色相、濃淡等を考慮した3次元画像を生成することをいう。 FIG. 11 shows a detailed flow of the visualization processing in S14 of FIG. 9 in the first embodiment. In this embodiment, the particles are visualized by rendering. Rendering here refers to a three-dimensional image observed when an object in a three-dimensional space illuminated from a predetermined direction is observed from a predetermined viewpoint, and a three-dimensional image taking shadows, hues, shades, etc. into consideration. It means to generate.
群化可視化処理部9は、まず、シミュレーション装置1の格納部16から予め設定されたレンダリング設定条件を読み出す(S31)。レンダリング設定条件には、照明の方向、視点位置等の条件が含まれる。 The grouping visualization processing unit 9 first reads preset rendering setting conditions from the storage unit 16 of the simulation apparatus 1 (S31). The rendering setting conditions include conditions such as illumination direction and viewpoint position.
群化可視化処理部9は、2つのパーティクル位置テーブル4を用いて、Δtの間で移動した対象パーティクルnの位置についての速度ベクトルの始点をP0、終点をP1とする。ここで、始点P0は時間tのときの対象パーティクルnの位置であり、P1は時間t+1のときの対象パーティクルnの位置である。 The grouping visualization processing unit 9 uses the two particle position tables 4 to set the start point of the velocity vector for the position of the target particle n moved between Δt as P 0 and the end point as P 1 . Here, the starting point P 0 is the position of the target particle n at time t, and P 1 is the position of the target particle n at time t + 1.
また、群化可視化処理部9は、2つのパーティクル位置テーブルを用いて、Δtの間で移動したパーティクルmの位置についての速度ベクトルの始点をQ0、終点をQ1とする。ここで、始点Q0は時間tのときのパーティクルmの位置であり、Q1は時間t+1のときのパーティクルmの位置である。 In addition, the grouping visualization processing unit 9 uses the two particle position tables to set the start point of the velocity vector for the position of the particle m moved between Δt as Q 0 and the end point as Q 1 . Here, the starting point Q 0 is the position of the particle m at time t, and Q 1 is the position of the particle m at time t + 1.
群化可視化処理部9は、三角形P0P1Q0の法線aを算出する(S32)。また、群化可視化処理部9は、三角形Q0Q1P1の法線bを算出する(S33)。それから、群化可視化処理部9は、三角形P0P1Q0と三角形Q0Q1P1とを面として設定する(S34)。 The grouping visualization processing unit 9 calculates the normal a of the triangle P 0 P 1 Q 0 (S32). The grouping visualization processing unit 9 calculates the normal b of the triangle Q 0 Q 1 P 1 (S33). Then, the grouping visualization processing unit 9 sets the triangle P 0 P 1 Q 0 and the triangle Q 0 Q 1 P 1 as faces (S34).
群化可視化処理部9は、法線ベクトルa,bのなす角φから、法線ベクトルa,bのねじれを判定する(S45)。角φが閾値φt以上の場合(S35で「No」)、群化可視化処理部9は、描画色C3に第3の色をセットする(S39)。ここで、描画色C3は、渦領域境界を表す描画色である(図4)。 The grouping visualization processing unit 9 determines the twist of the normal vectors a and b from the angle φ formed by the normal vectors a and b (S45). When the angle φ is equal to or larger than the threshold φ t (“No” in S35), the grouping visualization processing unit 9 sets the third color as the drawing color C3 (S39). Here, the drawing color C3 is a drawing color representing the vortex region boundary (FIG. 4).
角φが閾値φtより小さい場合(S35で「Yes」)、群化可視化処理部9は、法線ベクトルaのz成分(az)の向きを判定する(S36)。法線ベクトルaのz成分(az)がaz≧0、すなわち正方向を向いていると判定された場合(S36で「Yes」)、群化可視化処理部9は、描画色C1に第1の色をセットする(S37)。ここで、描画色C1は、渦外縁を表す描画色であり、図3(A)で説明したように、三角形P0P1Q0のなす面の表側を判別するために用いられる。 When the angle φ is smaller than the threshold φ t (“Yes” in S35), the grouping visualization processing unit 9 determines the direction of the z component (a z ) of the normal vector a (S36). When it is determined that the z component (a z ) of the normal vector a is a z ≧ 0, that is, in the positive direction (“Yes” in S36), the grouping visualization processing unit 9 sets the drawing color C1 to the first color The color 1 is set (S37). Here, the drawing color C1 is a drawing color representing the outer edge of the vortex, and is used to determine the front side of the surface formed by the triangle P 0 P 1 Q 0 as described with reference to FIG.
一方、法線ベクトルaのz成分(az)がaz<0、すなわち負方向を向いていると判定された場合(S36で「No」)、群化可視化処理部9は、描画色C2に第2の色をセットする(S38)。ここで、描画色C2は、渦外縁を表す描画色であり、図3(B)で説明したように、三角形P0P1Q0のなす面の裏側を判別するために用いられる。 On the other hand, when it is determined that the z component (a z ) of the normal vector a is a z <0, that is, in the negative direction (“No” in S36), the grouping visualization processing unit 9 displays the drawing color C2. The second color is set to (S38). Here, the drawing color C2 is a drawing color representing the outer edge of the vortex, and is used to determine the back side of the surface formed by the triangle P 0 P 1 Q 0 as described with reference to FIG.
それから、群化可視化処理部9は、レンダリング設定条件に基づいて、レンダリングにより三角形P0P1Q0と三角形Q0Q1P1とを描画する。さらに、群化可視化処理部9は、描画色C1、描画色C2、または描画色C3を用いて、描画した三角形P0P1Q0がなす面と三角形Q0Q1P1がなす面に対して色付けを行う(S35)。すなわち、群化可視化処理部9は、照明の方向、視点位置、三角形P0P1Q0と三角形Q0Q1P1の位置及び形状に基づいて、レンダリングを行う。このとき、描画色C1に第1の色が設定されている場合、群化可視化処理部9は、三角形P0P1Q0がなす面と三角形Q0Q1P1がなす面に対して、第1の色を付与する。また、描画色C2に第2の色が設定されている場合、群化可視化処理部9は、三角形P0P1Q0がなす面と三角形Q0Q1P1がなす面に対して、第2の色を付与する。また、描画色C3に第3の色が設定されている場合、群化可視化処理部9は、三角形P0P1Q0がなす面と三角形Q0Q1P1がなす面に対して、第3の色を付与する。 Then, the grouping visualization processing unit 9 draws the triangle P 0 P 1 Q 0 and the triangle Q 0 Q 1 P 1 by rendering based on the rendering setting condition. Further, the grouping visualization processing unit 9 uses the drawing color C1, the drawing color C2, or the drawing color C3 to form a surface formed by the drawn triangle P 0 P 1 Q 0 and a surface formed by the triangle Q 0 Q 1 P 1. Coloring is then performed (S35). That is, the grouping visualization processing unit 9 performs rendering based on the illumination direction, the viewpoint position, and the positions and shapes of the triangles P 0 P 1 Q 0 and the triangles Q 0 Q 1 P 1 . At this time, when the first color is set as the drawing color C1, the grouping visualization processing unit 9 applies to the surface formed by the triangle P 0 P 1 Q 0 and the surface formed by the triangle Q 0 Q 1 P 1 . The first color is applied. In addition, when the second color is set as the drawing color C2, the grouping visualization processing unit 9 performs the following operations on the surface formed by the triangle P 0 P 1 Q 0 and the surface formed by the triangle Q 0 Q 1 P 1 . A second color is applied. In addition, when the third color is set as the drawing color C3, the grouping visualization processing unit 9 performs the following operation on the surface formed by the triangle P 0 P 1 Q 0 and the surface formed by the triangle Q 0 Q 1 P 1 . A third color is imparted.
このようにして、群化可視化処理部9は、群化描画データを生成する。その結果、例えば、1ステップ分であれば、図2に示すような群化描画データを得ることができる。
なお、図11では、固定した視点位置から見える範囲で、三角形の面の表と裏に色を付与しているので、視点位置を移動させれば、再度S35−S39の処理を行って、描画色を付与する。しかしながら、レンダリングの設定環境に応じて、これに限定されず、固定した視点位置から見えない範囲においても、三角形の面の表と裏の両方に色を付与してもよい。
In this way, the grouping visualization processing unit 9 generates grouping drawing data. As a result, for example, for one step, grouped drawing data as shown in FIG. 2 can be obtained.
In FIG. 11, since colors are given to the front and back of the triangular surface within the range that can be seen from the fixed viewpoint position, if the viewpoint position is moved, the processing of S35 to S39 is performed again, and the drawing is performed. Add color. However, the present invention is not limited to this depending on the rendering setting environment, and colors may be given to both the front and back of the triangular surface even in a range invisible from a fixed viewpoint position.
本実施形態によれば、位置と速度の近いパーティクル同士がクラスタリング(群化、グルーピング)され、面として表示される。この群化表示によりパーティクルが固まりとして認識しやすくなる。また渦領域の外縁部と渦同士の境界部が表示されるので、誤認識を起こすことなく、渦状に移動するパーティクルを追跡することができる。 According to this embodiment, particles having similar positions and velocities are clustered (grouped, grouped) and displayed as a surface. This grouped display makes it easier to recognize particles as a mass. In addition, since the outer edge of the vortex region and the boundary between the vortices are displayed, particles moving in a vortex can be tracked without causing erroneous recognition.
また、S6のフィルタリング、S9,S10の閾値、S21の探索領域を調整することにより、群化の対象となるパーティクルを調整することができる。その結果、表示精度を調整することができる。 Further, by adjusting the filtering in S6, the threshold values in S9 and S10, and the search area in S21, the particles to be grouped can be adjusted. As a result, the display accuracy can be adjusted.
<第2の実施形態>
本実施形態は、図9のS14の可視化処理の変形例である。第1の実施形態では、レンダリングによりパーティクルフローの視覚化を行った。それに対して、本実施形態では、位置と速度の近い2つのパーティクルの速度ベクトル間を複数の線分で描画し、その線分の集合体を面と見立てて視覚化を行う。本実施形態において、第1の実施形態と同様の構成については、同一の符号を付し、その説明を省略する。
<Second Embodiment>
This embodiment is a modification of the visualization process in S14 of FIG. In the first embodiment, the particle flow is visualized by rendering. On the other hand, in the present embodiment, visualization is performed by drawing a plurality of line segments between the velocity vectors of two particles whose positions and velocities are close, and regarding the aggregate of the line segments as a surface. In the present embodiment, the same components as those in the first embodiment are denoted by the same reference numerals, and the description thereof is omitted.
図12は、本実施形態における群化したパーティクルの視覚化について説明するための図である。本実施形態では、ある一定の範囲にあるパーティクルを2つで1組となし、その2つのパーティクル同士を結ぶ線分を考える。パーティクルの速度ベクトルP0P1,Q0Q1をそれぞれ、単位長さのベクトルに分割し、その単位長さのベクトルの始点(または終点)同士を結ぶ線分を描画する。双方のパーティクルの速度ベクトルの始点から終点に向かって、単位長さのベクトルの始点(または終点)を結んだ線分を順次描画する。すると、図12に示すように、線分の集合体が同一平面状に並ぶことにより、面をなす。これにより、2つのパーティクル間の群化可視化を行うことができる。 FIG. 12 is a diagram for explaining visualization of grouped particles in the present embodiment. In the present embodiment, two particles in a certain range form one set, and a line segment connecting the two particles is considered. The particle velocity vectors P 0 P 1 and Q 0 Q 1 are each divided into unit length vectors, and a line segment connecting the start points (or end points) of the unit length vectors is drawn. A line segment connecting the start points (or end points) of unit length vectors is sequentially drawn from the start point to the end point of the velocity vectors of both particles. Then, as shown in FIG. 12, the assembly of line segments forms a plane by being arranged in the same plane. Thereby, grouping visualization between two particles can be performed.
図13は、本実施形態における流体の流れのシミュレーションを実行するシミュレーションシステムの機能構成の一例を示す。図13は、図5の群化可視化実行部10に線分描画テーブル21を追加したものである。群化可視化処理部9は、線分描画テーブル21を用いて、2つのパーティクル間での群化可視化を行う。 FIG. 13 shows an example of a functional configuration of a simulation system that executes a fluid flow simulation in the present embodiment. FIG. 13 is obtained by adding a line segment drawing table 21 to the grouping visualization execution unit 10 of FIG. The grouping visualization processing unit 9 uses the line segment drawing table 21 to perform grouping visualization between two particles.
図14は、線分描画テーブル21の一例を示す。線分描画テーブル21には、速度ベクトルP0P1(=vp)の、始点の座標P0=rpo=(rpox,rpoy,rpoz)、正規化したベクトルvp=rp=(rpx,rpy,rpz)、終点の座標P1=rp1=(rp1x,rp1y,rp1z)が格納される。また、線分描画テーブル21には、速度ベクトルQ0Q1(=vq)の、始点の座標Q0=rqo=(rqox,rqoy,rqoz)、正規化したベクトルvq=rq=(rqx,rqy,rqz)、終点の座標Q1=rq1=(rq1x,rq1y,rq1z)が格納される。 FIG. 14 shows an example of the line segment drawing table 21. In the line segment drawing table 21, the coordinates P 0 = r po = (r pox , r poy , r poz ) of the velocity vector P 0 P 1 (= v p ) and the normalized vector v p = r p = (R px , r py , r pz ), end point coordinates P 1 = r p1 = (r p1x , r p1y , r p1z ) are stored. Further, the line segment drawing table 21 includes the coordinates Q 0 = r qo = (r qox , r qoy , r qoz ) of the velocity vector Q 0 Q 1 (= v q ), and the normalized vector v q = r q = (r qx , r qy , r qz ), and end point coordinates Q 1 = r q1 = (r q1x , r q1y , r q1z ) are stored.
図15は、図9のS14の可視化処理の詳細なフローを示す。群化可視化処理部9は、まず、線分描画テーブル21の設定を行う(S41)。具体的には、群化可視化処理部9は、2つのパーティクル位置テーブル4のうち、直近(T=t+1)にパーティクル位置が格納されたパーティクル位置テーブル4から対象パーティクルの位置P1(rpx,rpy,rpz)を取得する。そして、群化可視化処理部9は、その取得した位置P1(rpx,rpy,rpz)を線分描画テーブル21の「vp終点」に対応する位置x,y,zへ格納する。 FIG. 15 shows a detailed flow of the visualization process in S14 of FIG. The grouping visualization processing unit 9 first sets the line segment drawing table 21 (S41). Specifically, the grouping visualization processing unit 9 selects the target particle position P 1 (r px , r) from the particle position table 4 in which the particle position is stored most recently (T = t + 1) out of the two particle position tables 4. r py , r pz ). Then, the grouping visualization processing unit 9 stores the acquired position P 1 (r px , r py , r pz ) in the position x, y, z corresponding to the “v p end point” of the line segment drawing table 21. .
また、群化可視化処理部9は、他方(T=t)のパーティクル位置テーブル4から対象パーティクルの位置P0(rpox,rpoy,rpoz)を取得し、線分描画テーブル21の「vp始点」に対応する位置x,y,zへ格納する。 In addition, the grouping visualization processing unit 9 acquires the position P 0 (r pox , r poy , r poz ) of the target particle from the other (T = t) particle position table 4, and displays “v” in the line segment drawing table 21. Store in the position x, y, z corresponding to “ p start point”.
さらに、群化可視化処理部9は、2つのパーティクル位置テーブル4から、対象パーティクルnの単位時間Δtでの位置の移動量(Δx,Δy,Δz)、すなわち速度ベクトルを算出する。群化可視化処理部9は、(Δx/|Δx|,Δy/|Δy|,Δz/|Δz|)により、その速度ベクトルを正規化する。群化可視化処理部9は、その正規化した速度ベクトルを線分描画テーブル21の「正規化したvp」に対応する位置x,y,zへ格納する。 Further, the grouping visualization processing unit 9 calculates the amount of movement (Δx, Δy, Δz) of the target particle n in the unit time Δt, that is, the velocity vector, from the two particle position tables 4. The grouping visualization processing unit 9 normalizes the velocity vector based on (Δx / | Δx |, Δy / | Δy |, Δz / | Δz |). The grouping visualization processing unit 9 stores the normalized velocity vector in the position x, y, z corresponding to “normalized v p ” in the line segment drawing table 21.
また、群化可視化処理部9は、2つのパーティクル位置テーブル4のうち、直近(T=t+1)にパーティクル位置が格納されたパーティクル位置テーブルからパーティクルmの位置Q1(rqx,rqy,rqz)を取得する。そして、群化可視化処理部9は、その取得した位置Q1(rqx,rqy,rqz)を線分描画テーブル21の「vq終点」に対応する位置x,y,zへ格納する。 In addition, the grouping visualization processing unit 9 of the two particle position tables 4 stores the position Q 1 (r qx , r qy , r) of the particle m from the particle position table in which the particle position is stored most recently (T = t + 1). qz ) to get. Then, the grouping visualization processing unit 9 stores the acquired position Q 1 (r qx , r qy , r qz ) in the position x, y, z corresponding to the “v q end point” of the line segment drawing table 21. .
また、群化可視化処理部9は、他方(T=t)のパーティクル位置テーブル4からパーティクルmの位置Q0(rqox,rqoy,rqoz)を取得し、線分描画テーブル21の「vq始点」に対応する位置x,y,zへ格納する。 Further, the grouping visualization processing unit 9 acquires the position Q 0 (r qox , r qoy , r qoz ) of the particle m from the other (T = t) particle position table 4, and displays “v” in the line segment drawing table 21. Store in the position x, y, z corresponding to “ q start point”.
さらに、群化可視化処理部9は、2つのパーティクル位置テーブル4から、パーティクルmの単位時間Δtでの位置の移動量(Δx,Δy,Δz)、すなわち速度ベクトルを算出する。群化可視化処理部9は、(Δx/|Δx|,Δy/|Δy|,Δz/|Δz|)により、その速度ベクトルを正規化する。群化可視化処理部9は、その正規化した速度ベクトルを線分描画テーブル21の「正規化したvq」に対応する位置x,y,zへ格納する。 Further, the grouping visualization processing unit 9 calculates the movement amount (Δx, Δy, Δz) of the position of the particle m in the unit time Δt, that is, the velocity vector, from the two particle position tables 4. The grouping visualization processing unit 9 normalizes the velocity vector based on (Δx / | Δx |, Δy / | Δy |, Δz / | Δz |). The grouping visualization processing unit 9 stores the normalized velocity vector at positions x, y, and z corresponding to “normalized v q ” of the line segment drawing table 21.
次に、群化可視化処理部9は、三角形P0P1Q0の法線aを算出する(S42)。また、群化可視化処理部9は、三角形Q0Q1P1の法線bを算出する(S43)。
群化可視化処理部9は、法線ベクトルa,bのなす角φから、法線ベクトルa,bのねじれを判定する(S44)。角φが閾値φt以上の場合(S44で「No」)、群化可視化処理部9は、描画色C3に第3の色をセットする(S48)。ここで、描画色C3は、渦領域境界を表す描画色である(図4)。
Next, the grouping visualization processing unit 9 calculates the normal a of the triangle P 0 P 1 Q 0 (S42). The grouping visualization processing unit 9 calculates the normal b of the triangle Q 0 Q 1 P 1 (S43).
The grouping visualization processing unit 9 determines the twist of the normal vectors a and b from the angle φ formed by the normal vectors a and b (S44). When the angle φ is equal to or larger than the threshold φ t (“No” in S44), the grouping visualization processing unit 9 sets the third color as the drawing color C3 (S48). Here, the drawing color C3 is a drawing color representing the vortex region boundary (FIG. 4).
角φが閾値φtより小さい場合(S44で「Yes」)、群化可視化処理部9は、法線ベクトルaのz成分(az)の向きを判定する(S45)。法線ベクトルaのz成分(az)がaz≧0、すなわち正方向を向いていると判定された場合(S45で「Yes」)、群化可視化処理部9は、描画色C1に第1の色をセットする(S46)。ここで、描画色C1は、渦外縁を表す描画色であり、図3(A)で説明したように、三角形P0P1Q0のなす面の表側を判別するために用いられる。 When the angle φ is smaller than the threshold φ t (“Yes” in S44), the grouping visualization processing unit 9 determines the direction of the z component (a z ) of the normal vector a (S45). When it is determined that the z component (a z ) of the normal vector a is a z ≧ 0, that is, in the positive direction (“Yes” in S45), the grouping visualization processing unit 9 sets the drawing color C1 to the first color The color 1 is set (S46). Here, the drawing color C1 is a drawing color representing the outer edge of the vortex, and is used to determine the front side of the surface formed by the triangle P 0 P 1 Q 0 as described with reference to FIG.
一方、法線ベクトルaのz成分(az)がaz<0、すなわち負方向を向いていると判定された場合(S45で「No」)、群化可視化処理部9は、描画色C2に第2の色をセットする(S47)。ここで、描画色C2は、渦外縁を表す描画色であり、図3(B)で説明したように、三角形P0P1Q0のなす面の裏側を判別するために用いられる。 On the other hand, when the z component (a z ) of the normal vector a is determined to be a z <0, that is, in the negative direction (“No” in S45), the grouping visualization processing unit 9 uses the drawing color C2. The second color is set to (S47). Here, the drawing color C2 is a drawing color representing the outer edge of the vortex, and is used to determine the back side of the surface formed by the triangle P 0 P 1 Q 0 as described with reference to FIG.
本実施形態の可視化処理では、図12で示すように2つの速度ベクトルP0P1,Q0Q1の始点から終点へと向かう、正規化した速度ベクトルvp,vqの終点同士を線分で結ぶ描画処理を行う。そのため、群化可視化処理部9は、その描画点の位置を決定するカウンタiを0で初期化する(S49)。 In the visualization process of the present embodiment, as shown in FIG. 12, the end points of the normalized velocity vectors v p and v q are drawn from the start point to the end point of the two velocity vectors P 0 P 1 and Q 0 Q 1. A drawing process that connects in minutes is performed. Therefore, the grouping visualization processing unit 9 initializes a counter i for determining the position of the drawing point with 0 (S49).
群化可視化処理部9は、線分描画テーブル21を読み込み(S50)、ベクトルvpの始点rpo=(rpox,rpoy,rpoz)、正規化したベクトルvp=(rpx,rpy,rpz)、ベクトルvpの終点rp1=(rp1x,rp1y,rp1z)を取得する。群化可視化処理部9は、さらに、ベクトルvpの始点rpoと終点rp1とから、ベクトルvpの長さを算出し、その算出した長さをLvpに代入する。また、群化可視化処理部9は、線分描画テーブル21を読み込み、ベクトルvqの始点rqo=(rqox,rqoy,rqoz)、正規化したベクトルvq=(rqx,rqy,rqz)を取得する。 Grouping visualization processing unit 9 reads the line segment drawing table 21 (S50), the start point of the vector v p r po = (r pox , r poy, r poz), the vector v p = (r px normalized, r py , r pz ), the end point r p1 = (r p1x , r p1y , r p1z ) of the vector v p is acquired. Grouping visualization processing unit 9 is further from the origin r po and end r p1 Metropolitan vector v p, calculates the length of a vector v p, assigns a length that the calculated L vp. Further, the grouping visualization processing unit 9 reads the line segment drawing table 21, starts the vector v q starting point r qo = (r qox , r qoy , r qoz ), and the normalized vector v q = (r qx , r qy , R qz ).
群化可視化処理部9は、rp=rp0+i×(正規化したベクトルvp)より、ベクトルvpの描画点rpを算出する(S51)。また、群化可視化処理部9は、rq=rq0+i×(正規化したベクトルvq)より、ベクトルvqの描画点rqを算出する(S52)。 The grouping visualization processing unit 9 calculates the drawing point r p of the vector v p from r p = r p0 + i × (normalized vector v p ) (S51). Further, the grouping visualization processing unit 9 calculates the drawing point r q of the vector v q from r q = r q0 + i × (normalized vector v q ) (S52).
群化可視化処理部9は、描画色C1、描画色C2または描画色C3を用いて、算出した描画点rpと描画点rqを結ぶ線分rprqの描画を行う(S53)。すなわち、描画色C1に第1の色が設定されている場合、群化可視化処理部9は、第1の色を用いて、線分rprqを描画する。また、描画色C2に第2の色が設定されている場合、群化可視化処理部9は、第2の色を用いて、線分rprqを描画する。また、描画色C3に第3の色が設定されている場合、群化可視化処理部9は、第3の色を用いて、線分rprqを描画する。 The grouping visualization processing unit 9 draws a line segment r p r q connecting the calculated drawing point r p and the drawing point r q using the drawing color C1, the drawing color C2, or the drawing color C3 (S53). That is, when the first color is set as the drawing color C1, the grouping visualization processing unit 9 draws the line segment r p r q using the first color. When the second color is set as the drawing color C2, the grouping visualization processing unit 9 draws the line segment r p r q using the second color. When the third color is set as the drawing color C3, the grouping visualization processing unit 9 draws the line segment r p r q using the third color.
群化可視化処理部9は、ベクトルvpの長さ分(Lvp)に到達したかどうかを判定する(S54)。群化可視化処理部9は、双方のベクトルの単位長さ分だけ描画点を進める毎に線分rprqの描画を行い、ベクトルvpの長さ分(Lvp)だけ繰り返すと、図2の可視化を1組分行うことができる。群化可視化処理部9は、i<のLvp場合、カウンタiをインクリメントし、S51−S53の処理を繰り返す。これにより、位置と速度の近いパーティクルの速度ベクトル間を複数の線分で描画し、その線分の集合体を面と見立てて視覚化を行うことができる。 The grouping visualization processing unit 9 determines whether or not the length (L vp ) of the vector v p has been reached (S54). The grouping visualization processing unit 9 draws a line segment r p r q each time the drawing point is advanced by the unit length of both vectors, and repeats the length of the vector v p (L vp ). Two visualizations can be performed for one set. The grouping visualization processing unit 9 increments the counter i when i <L vp and repeats the processing of S51 to S53. As a result, it is possible to perform visualization by drawing a plurality of line segments between the velocity vectors of particles whose positions and velocities are close, and regarding the aggregate of the line segments as a surface.
上記の方法により、位置と速度の近いパーティクル間が複数の線分で結ばれることにより、この線分の集合体を面として見立てることができる。これにより、パーティクルが固まりとして認識しやすくなる。また渦領域の外縁部と渦同士の境界部が表示されるので、誤認識を起こすことなく渦状に移動するパーティクルを追跡することができる。 By the above method, particles having close positions and velocities are connected by a plurality of line segments, whereby the aggregate of the line segments can be regarded as a surface. This makes it easier to recognize particles as a mass. Further, since the outer edge of the vortex region and the boundary between the vortices are displayed, it is possible to track the particles moving in a vortex without causing erroneous recognition.
また、S6のフィルタリング、S9,S10の閾値、S21の探索領域を調整することにより、群化の対象となるパーティクルを調整することができる。その結果、表示精度を調整することができる。 Further, by adjusting the filtering in S6, the threshold values in S9 and S10, and the search area in S21, the particles to be grouped can be adjusted. As a result, the display accuracy can be adjusted.
図16は、シミュレーションシステムのハードウェア環境の構成ブロック図である。シミュレーション装置1は、CPU32、ROM33、RAM36、通信I/F34、記憶装置37、出力I/F31、入力I/F35、読み取り装置38、バス39、出力機器41、入力機器42によって構成されている。 FIG. 16 is a configuration block diagram of the hardware environment of the simulation system. The simulation apparatus 1 includes a CPU 32, a ROM 33, a RAM 36, a communication I / F 34, a storage device 37, an output I / F 31, an input I / F 35, a reading device 38, a bus 39, an output device 41, and an input device 42.
ここで、CPUは、中央演算装置を示す。ROMは、リードオンリメモリを示す。RAMは、ランダムアクセスメモリを示す。I/Fは、通信インターフェースを示す。バス39には、CPU32、ROM33、RAM36、通信I/F34、記憶装置37、出力I/F31、入力I/F35、及び読み取り装置38が接続されている。読み取り装置38は、可搬型記録媒体を読み出す装置である。出力機器41は、出力I/F31に接続されている。入力機器42は、入力I/F35に接続にされている。 Here, CPU indicates a central processing unit. ROM indicates a read-only memory. RAM indicates random access memory. I / F indicates a communication interface. A CPU 32, ROM 33, RAM 36, communication I / F 34, storage device 37, output I / F 31, input I / F 35, and reading device 38 are connected to the bus 39. The reading device 38 is a device that reads a portable recording medium. The output device 41 is connected to the output I / F 31. The input device 42 is connected to the input I / F 35.
記憶装置37としては、ハードディスク、フラッシュメモリ、磁気ディスクなど様々な形式の記憶装置を使用することができる。
格納部11,16としての記憶装置37またはROM33には、例えば、上記第1または第2の実施形態で説明した処理を実現するプログラムが格納されている。また、記憶装置37またはROM33には、パーティクル位置テーブル4、パーティクル位置速度テーブル6、群化テーブル8、線分描画テーブル21、シミュレーション結果、閾値、レンダリング設定条件、その他のオブジェクトに関する情報等が格納されている。
As the storage device 37, various types of storage devices such as a hard disk, a flash memory, and a magnetic disk can be used.
The storage device 37 or the ROM 33 as the storage units 11 and 16 stores, for example, a program that realizes the processing described in the first or second embodiment. Further, the storage device 37 or the ROM 33 stores the particle position table 4, the particle position speed table 6, the grouping table 8, the line segment drawing table 21, the simulation result, the threshold value, the rendering setting condition, and other information related to the object. ing.
CPU82は、記憶装置87等に格納した上記第1または第2の実施形態で説明した処理を実現するプログラムを読み出し、当該プログラムを実行する。
第1または第2の実施形態で説明した処理を実現するプログラムは、プログラム提供者側から通信ネットワーク40、および通信I/F34を介して、例えば記憶装置37に格納してもよい。また、第1または第2の実施形態で説明した処理を実現するプログラムは、市販され、流通している可搬型記憶媒体に格納されていてもよい。この場合、この可搬型記憶媒体は読み取り装置38にセットされて、CPU32によってそのプログラムが読み出されて、実行されてもよい。可搬型記憶媒体としてはCD−ROM、フレキシブルディスク、光ディスク、光磁気ディスク、ICカード、USBメモリ装置など様々な形式の記憶媒体を使用することができる。このような記憶媒体に格納されたプログラムが読み取り装置38によって読み取られる。
The CPU 82 reads out a program that realizes the processing described in the first or second embodiment, stored in the storage device 87 or the like, and executes the program.
The program for realizing the processing described in the first or second embodiment may be stored in, for example, the storage device 37 from the program provider side via the communication network 40 and the communication I / F 34. Moreover, the program which implement | achieves the process demonstrated in 1st or 2nd embodiment may be stored in the portable storage medium marketed and distribute | circulated. In this case, the portable storage medium may be set in the reading device 38 and the program read by the CPU 32 and executed. As the portable storage medium, various types of storage media such as a CD-ROM, a flexible disk, an optical disk, a magneto-optical disk, an IC card, and a USB memory device can be used. The program stored in such a storage medium is read by the reading device 38.
また、入力機器42には、キーボード、マウス、電子カメラ、ウェブカメラ、マイク、スキャナ、センサ、タブレットなどを用いることが可能である。また、出力機器41には、ディスプレイ、プリンタ、スピーカなどを用いることが可能である。また、ネットワーク40は、インターネット、LAN、WAN、専用線、有線、無線等の通信網であってよい。 As the input device 42, a keyboard, a mouse, an electronic camera, a web camera, a microphone, a scanner, a sensor, a tablet, or the like can be used. The output device 41 can be a display, a printer, a speaker, or the like. The network 40 may be a communication network such as the Internet, a LAN, a WAN, a dedicated line, a wired line, and a wireless line.
第1及び第2の実施形態におけるシミュレーション装置は、速度算出部、群化部、描画情報生成部を含む。
速度算出部は、流体の流れについてのシミュレーションにより算出されるパーティクルの時間毎の物理量に関するシミュレーション結果情報に基づいて、各位置における前記パーティクルの速度を算出する。例えば、速度計算部5は、速度算出部に含まれる。
The simulation apparatus in the first and second embodiments includes a speed calculation unit, a grouping unit, and a drawing information generation unit.
The velocity calculation unit calculates the velocity of the particle at each position based on simulation result information regarding the physical quantity of the particle for each hour calculated by simulation of the fluid flow. For example, the speed calculation unit 5 is included in the speed calculation unit.
群化部は、前記パーティクルの位置に基づいて、2つの前記パーティクル間の距離を算出し、前記パーティクルの速度に基づいて、2つの前記パーティクル間の速度差を算出し、前記パーティクル間の距離の値が第1の閾値より小さく、かつ前記パーティクル間の速度差の値が第2の閾値より小さい場合、該2つのパーティクルを群化する。例えば、群化判定部7は、群化部に含まれる。 The grouping unit calculates a distance between the two particles based on the position of the particle, calculates a speed difference between the two particles based on the speed of the particle, and calculates a distance between the particles. When the value is smaller than the first threshold and the value of the speed difference between the particles is smaller than the second threshold, the two particles are grouped. For example, the grouping determination unit 7 is included in the grouping unit.
描画情報生成部は、前記群化された2つのパーティクルの速度ベクトルに基づいて、前記群化された2つのパーティクルの挙動を示す表示オブジェクトを描画する描画情報を生成する。例えば、群化可視化処理部9は、描画情報生成部に含まれる。 The drawing information generation unit generates drawing information for drawing a display object indicating the behavior of the two grouped particles based on the velocity vector of the two grouped particles. For example, the grouping visualization processing unit 9 is included in the drawing information generation unit.
このように構成することにより、パーティクルフローの群化可視化により、パーティクルの3次元的な挙動を追跡することが容易になる。
前記描画情報生成部は、前記群化された2つのパーティクルの速度ベクトルのうち、一方のパーティクルの速度ベクトルの始点及び終点と、他方のパーティクルの速度ベクトル始点または終点とを頂点とする2つの三角形を生成する。それから、前記描画情報生成部は、該各三角形を形成する面の法線ベクトルを算出する。そして、前記描画情報生成部は、該法線ベクトルの向きまたは該2つの法線ベクトルのなす角度に応じて、前記表示オブジェクトの表示形態を変化させる。
With this configuration, it becomes easy to track the three-dimensional behavior of particles by grouping visualization of particle flows.
The drawing information generation unit includes two triangles having, as vertices, a start point and an end point of a velocity vector of one particle and a start point or an end point of the other particle of the two grouped particle velocity vectors Is generated. Then, the drawing information generation unit calculates a normal vector of the surface forming each triangle. Then, the drawing information generation unit changes the display form of the display object according to the direction of the normal vector or the angle formed by the two normal vectors.
このように構成することにより、例えば、乱流におけるパーティクルの挙動を、容易に判別することができる。
また、前記描画情報生成部は、前記2つの法線ベクトルのなす角度の値が第3の閾値より小さく、かついずれかの法線ベクトルの所定方向の成分の向きが正の場合、前記表示オブジェクトに第1の色を付与する。また、前記描画情報生成部は、前記2つの法線ベクトルのなす角度の値が前記第3の閾値より小さく、かついずれかの法線ベクトルの所定方向の成分の向きが負の場合、前記表示オブジェクトに第2の色を付与する。また、前記描画情報生成部は、前記2つの法線ベクトルのなす角度の値が前記第3の閾値以上である場合、前記表示オブジェクトに第3の色を付与する。
With this configuration, for example, the behavior of particles in turbulent flow can be easily determined.
In addition, the drawing information generation unit, when the value of the angle formed by the two normal vectors is smaller than a third threshold value and the direction of the component in a predetermined direction of one of the normal vectors is positive, the display object A first color is assigned to the. In addition, the drawing information generation unit is configured to display the display when the value of the angle formed by the two normal vectors is smaller than the third threshold value and the direction of a component in a predetermined direction of one of the normal vectors is negative. Give the object a second color. Further, the drawing information generation unit assigns a third color to the display object when an angle value formed by the two normal vectors is equal to or greater than the third threshold value.
このように構成することにより、例えば、乱流における渦外周の手前側、奥側または渦間の境界を移動するパーティクルの挙動を、容易に判別することができる。
また、前記描画情報生成部は、レンダリングにより、前記三角形を形成する面を仮想的な3次元空間内に構成し、該三角形を形成する面に対して、前記第1の色、第2の色、または第3の色を付与することができる。
With this configuration, for example, it is possible to easily determine the behavior of particles moving on the near side, the far side, or the boundary between vortices in the turbulent flow.
Further, the rendering information generation unit configures a surface forming the triangle in a virtual three-dimensional space by rendering, and the first color and the second color are formed on the surface forming the triangle. Or a third color can be applied.
このように構成することにより、レンダリングを用いて、群化された位置と速度の近いパーティクルの速度ベクトルにより形成される面に対して色付けを行うことができる。
また、前記描画情報生成部は、前記2つのパーティクルの速度ベクトルそれぞれを単位長さのベクトルに分割する。そして、前記描画情報生成部は、該分割した単位長さの2つのパーティクルの速度ベクトルの始点同士または終点同士を結ぶ線分を、前記第1の色、第2の色、または第3の色を用いて描画して、前記表示オブジェクトを生成する。
By configuring in this way, it is possible to color the surface formed by the velocity vectors of the particles whose velocities are close to the grouped positions using rendering.
The drawing information generation unit divides each of the two particle velocity vectors into a unit length vector. The drawing information generation unit uses the first color, the second color, or the third color as a line segment connecting the start points or the end points of the velocity vectors of the two particles having the divided unit length. The display object is generated by drawing using.
このように構成することにより、位置と速度の近いパーティクル間が複数の線分で結ばれることにより、この線分の集合体を面として見立てることができる。
なお、第1及び第2の実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
By configuring in this way, particles having close positions and velocities are connected by a plurality of line segments, so that an aggregate of the line segments can be regarded as a surface.
The first and second embodiments are not limited to the above-described embodiments, and can take various configurations or embodiments without departing from the gist of the present embodiments.
上記実施形態に関し、更に以下の付記を開示する。
(付記1)
流体の流れについてのシミュレーションにより算出されるパーティクルの時間毎の物理量に関するシミュレーション結果情報に基づいて、各位置における前記パーティクルの速度を算出する速度算出部と、
前記パーティクルの位置に基づいて、2つの前記パーティクル間の距離を算出し、前記パーティクルの速度に基づいて、2つの前記パーティクル間の速度差を算出し、前記パーティクル間の距離の値が第1の閾値より小さく、かつ前記パーティクル間の速度差の値が第2の閾値より小さい場合、該2つのパーティクルを群化する群化部と、
前記群化された2つのパーティクルの速度ベクトルに基づいて、前記群化された2つのパーティクルの挙動を示す表示オブジェクトを描画する描画情報を生成する描画情報生成部と、
を備えることを特徴とするシミュレーション装置。
(付記2)
前記描画情報生成部は、前記群化された2つのパーティクルの速度ベクトルのうち、一方のパーティクルの速度ベクトルの始点及び終点と、他方のパーティクルの速度ベクトル始点または終点とを頂点とする2つの三角形を生成し、該各三角形を形成する面の法線ベクトルを算出し、該法線ベクトルの向きまたは該2つの法線ベクトルのなす角度に応じて、前記表示オブジェクトの表示形態を変化させる
ことを特徴とする付記1に記載のシミュレーション装置。
(付記3)
前記描画情報生成部は、前記2つの法線ベクトルのなす角度の値が第3の閾値より小さく、かついずれかの法線ベクトルの所定方向の成分の向きが正の場合、前記表示オブジェクトに第1の色を付与し、前記2つの法線ベクトルのなす角度の値が前記第3の閾値より小さく、かついずれかの法線ベクトルの所定方向の成分の向きが負の場合、前記表示オブジェクトに第2の色を付与し、前記2つの法線ベクトルのなす角度の値が前記第3の閾値以上である場合、前記表示オブジェクトに第3の色を付与する
ことを特徴とする付記2に記載のシミュレーション装置。
(付記4)
前記描画情報生成部は、レンダリングにより、前記三角形を形成する面を仮想的な3次元空間内に構成し、該三角形を形成する面に対して、前記第1の色、第2の色、または第3の色を付与する
ことを特徴とする付記3に記載のシミュレーション装置。
(付記5)
前記描画情報生成部は、前記2つのパーティクルの速度ベクトルそれぞれを単位長さのベクトルに分割し、該分割した単位長さの2つのパーティクルの速度ベクトルの始点同士または終点同士を結ぶ線分を、前記第1の色、第2の色、または第3の色を用いて描画して、前記表示オブジェクトを生成する
ことを特徴とする付記3に記載のシミュレーション装置。
(付記6)
流体の流れについてのシミュレーション結果を表示する処理をコンピュータに実行させるシミュレーション結果表示プログラムであって、
前記シミュレーションにより算出されるパーティクルの時間毎の物理量に関するシミュレーション結果情報に基づいて、各位置における前記パーティクルの速度を算出する速度算出処理と、
前記パーティクルの位置に基づいて、2つの前記パーティクル間の距離を算出し、前記パーティクルの速度に基づいて、2つの前記パーティクル間の速度差を算出し、前記パーティクル間の距離の値が第1の閾値より小さく、かつ前記パーティクル間の速度差の値が第2の閾値より小さい場合、該2つのパーティクルを群化する群化処理と、
前記群化された2つのパーティクルの速度ベクトルに基づいて、前記群化された2つのパーティクルの挙動を示す表示オブジェクトを描画する描画情報を生成する描画情報生成処理と、
をコンピュータに実行させることを特徴とするシミュレーション結果表示プログラム。
(付記7)
前記描画情報生成処理は、前記群化された2つのパーティクルの速度ベクトルのうち、一方のパーティクルの速度ベクトルの始点及び終点と、他方のパーティクルの速度ベクトル始点または終点とを頂点とする2つの三角形を生成し、該各三角形を形成する面の法線ベクトルを算出し、該法線ベクトルの向きまたは該2つの法線ベクトルのなす角度に応じて、前記表示オブジェクトの表示形態を変化させる
ことを特徴とする付記6に記載のシミュレーション結果表示プログラム。
(付記8)
前記描画情報生成処理は、前記2つの法線ベクトルのなす角度の値が第3の閾値より小さく、かついずれかの法線ベクトルの所定方向の成分の向きが正の場合、前記表示オブジェクトに第1の色を付与し、前記2つの法線ベクトルのなす角度の値が前記第3の閾値より小さく、かついずれかの法線ベクトルの所定方向の成分の向きが負の場合、前記表示オブジェクトに第2の色を付与し、前記2つの法線ベクトルのなす角度の値が前記第3の閾値以上である場合、前記表示オブジェクトに第3の色を付与する
ことを特徴とする付記7に記載のシミュレーション結果表示プログラム。
(付記9)
前記描画情報生成処理は、レンダリングにより、前記三角形を形成する面を仮想的な3次元空間内に構成し、該三角形を形成する面に対して、前記第1の色、第2の色、または第3の色を付与する
ことを特徴とする付記8に記載のシミュレーション結果表示プログラム。
(付記10)
前記描画情報生成処理は、前記2つのパーティクルの速度ベクトルそれぞれを単位長さのベクトルに分割し、該分割した単位長さの2つのパーティクルの速度ベクトルの始点同士または終点同士を結ぶ線分を、前記第1の色、第2の色、または第3の色を用いて描画して、前記表示オブジェクトを生成する
ことを特徴とする付記8に記載のシミュレーション結果表示プログラム。
(付記11)
コンピュータにより実行される、流体の流れについてのシミュレーション結果を表示する処理をコンピュータに実行させるシミュレーション結果表示方法であって、
前記コンピュータは、
前記シミュレーションにより算出されるパーティクルの時間毎の物理量に関するシミュレーション結果情報に基づいて、各位置における前記パーティクルの速度を算出し、
前記パーティクルの位置に基づいて、2つの前記パーティクル間の距離を算出し、前記パーティクルの速度に基づいて、2つの前記パーティクル間の速度差を算出し、前記パーティクル間の距離の値が第1の閾値より小さく、かつ前記パーティクル間の速度差の値が第2の閾値より小さい場合、該2つのパーティクルを群化し、
前記群化された2つのパーティクルの速度ベクトルに基づいて、前記群化された2つのパーティクルの挙動を示す表示オブジェクトを描画する描画情報を生成する、
ことを特徴とするシミュレーション結果表示方法。
(付記12)
前記表示オブジェクトを描画する描画情報を生成する場合、前記コンピュータは、前記群化された2つのパーティクルの速度ベクトルのうち、一方のパーティクルの速度ベクトルの始点及び終点と、他方のパーティクルの速度ベクトル始点または終点とを頂点とする2つの三角形を生成し、該各三角形を形成する面の法線ベクトルを算出し、該法線ベクトルの向きまたは該2つの法線ベクトルのなす角度に応じて、前記表示オブジェクトの表示形態を変化させる
ことを特徴とする付記11に記載のシミュレーション結果表示方法。
(付記13)
前記表示オブジェクトを描画する描画情報を生成する場合、前記コンピュータは、前記2つの法線ベクトルのなす角度の値が第3の閾値より小さく、かついずれかの法線ベクトルの所定方向の成分の向きが正の場合、前記表示オブジェクトに第1の色を付与し、前記2つの法線ベクトルのなす角度の値が前記第3の閾値より小さく、かついずれかの法線ベクトルの所定方向の成分の向きが負の場合、前記表示オブジェクトに第2の色を付与し、前記2つの法線ベクトルのなす角度の値が前記第3の閾値以上である場合、前記表示オブジェクトに第3の色を付与する
ことを特徴とする付記12に記載のシミュレーション結果表示方法。
(付記14)
前記表示オブジェクトを描画する描画情報を生成する場合、前記コンピュータは、レンダリングにより、前記三角形を形成する面を仮想的な3次元空間内に構成し、該三角形を形成する面に対して、前記第1の色、第2の色、または第3の色を付与する
ことを特徴とする付記13に記載のシミュレーション結果表示方法。
(付記15)
前記表示オブジェクトを描画する描画情報を生成する場合、前記コンピュータは、前記2つのパーティクルの速度ベクトルそれぞれを単位長さのベクトルに分割し、該分割した単位長さの2つのパーティクルの速度ベクトルの始点同士または終点同士を結ぶ線分を、前記第1の色、第2の色、または第3の色を用いて描画して、前記表示オブジェクトを生成する
ことを特徴とする付記13に記載のシミュレーション結果表示方法。
Regarding the above embodiment, the following additional notes are disclosed.
(Appendix 1)
A speed calculation unit that calculates the speed of the particle at each position, based on simulation result information on the physical quantity of the particle for each time calculated by simulation of the flow of the fluid;
The distance between the two particles is calculated based on the position of the particle, the speed difference between the two particles is calculated based on the speed of the particle, and the distance value between the particles is a first value. A grouping unit that groups the two particles when the value of the velocity difference between the particles is smaller than a threshold and smaller than a second threshold;
A drawing information generating unit that generates drawing information for drawing a display object indicating the behavior of the two grouped particles based on the velocity vectors of the two grouped particles;
A simulation apparatus comprising:
(Appendix 2)
The drawing information generation unit includes two triangles having, as vertices, a start point and an end point of a velocity vector of one particle and a start point or an end point of the other particle of the two grouped particle velocity vectors Generating a normal vector of the surface forming each triangle, and changing the display form of the display object according to the direction of the normal vector or the angle formed by the two normal vectors. The simulation apparatus according to appendix 1, which is characterized.
(Appendix 3)
When the value of the angle formed by the two normal vectors is smaller than a third threshold value and the direction of the component in a predetermined direction of one of the normal vectors is positive, When the color of 1 is given, the angle value formed by the two normal vectors is smaller than the third threshold value, and the direction of the component in the predetermined direction of one of the normal vectors is negative, the display object The second color is given, and when the value of the angle formed by the two normal vectors is equal to or larger than the third threshold, the third color is given to the display object. Simulation equipment.
(Appendix 4)
The drawing information generation unit configures a surface forming the triangle in a virtual three-dimensional space by rendering, and the first color, the second color, or the surface forming the triangle The simulation apparatus according to appendix 3, wherein a third color is imparted.
(Appendix 5)
The drawing information generation unit divides each of the two particle velocity vectors into a unit length vector, and a line segment connecting the start points or end points of the two divided particle unit velocity vectors, The simulation apparatus according to appendix 3, wherein the display object is generated by drawing using the first color, the second color, or the third color.
(Appendix 6)
A simulation result display program for causing a computer to execute a process of displaying a simulation result of a fluid flow,
Based on simulation result information on the physical quantity of each particle calculated by the simulation, a speed calculation process for calculating the speed of the particle at each position;
The distance between the two particles is calculated based on the position of the particle, the speed difference between the two particles is calculated based on the speed of the particle, and the distance value between the particles is a first value. A grouping process for grouping the two particles when the value of the velocity difference between the particles is smaller than a threshold and smaller than a second threshold;
A drawing information generation process for generating drawing information for drawing a display object indicating the behavior of the two grouped particles based on the velocity vector of the two grouped particles;
A simulation result display program for causing a computer to execute.
(Appendix 7)
The drawing information generation process includes two triangles having apexes of the velocity vector start point and end point of one particle and the velocity vector start point or end point of the other particle among the grouped two particle velocity vectors. Generating a normal vector of the surface forming each triangle, and changing the display form of the display object according to the direction of the normal vector or the angle formed by the two normal vectors. The simulation result display program according to appendix 6, which is a feature.
(Appendix 8)
In the drawing information generation process, when the value of the angle formed by the two normal vectors is smaller than a third threshold value and the direction of a component in a predetermined direction of one of the normal vectors is positive, When the color of 1 is given, the angle value formed by the two normal vectors is smaller than the third threshold value, and the direction of the component in the predetermined direction of one of the normal vectors is negative, the display object The supplementary note 7 is characterized in that when a second color is given and an angle value formed by the two normal vectors is equal to or more than the third threshold value, a third color is given to the display object. Simulation result display program.
(Appendix 9)
The drawing information generation process includes rendering to form a surface forming the triangle in a virtual three-dimensional space, and the first color, the second color, or the surface forming the triangle, The simulation result display program according to appendix 8, wherein a third color is given.
(Appendix 10)
The drawing information generation process divides each of the two particle velocity vectors into a unit length vector, and a line segment connecting the start points or end points of the two divided unit length velocity vectors, The simulation result display program according to appendix 8, wherein the display object is generated by drawing using the first color, the second color, or the third color.
(Appendix 11)
A simulation result display method for causing a computer to execute a process of displaying a simulation result of a fluid flow, which is executed by a computer,
The computer
Based on the simulation result information about the physical quantity of each particle calculated by the simulation, the velocity of the particle at each position is calculated,
The distance between the two particles is calculated based on the position of the particle, the speed difference between the two particles is calculated based on the speed of the particle, and the distance value between the particles is a first value. If the value of the velocity difference between the particles is smaller than the threshold value and smaller than the second threshold value, the two particles are grouped,
Based on the velocity vectors of the two grouped particles, generating drawing information for drawing a display object indicating the behavior of the two grouped particles;
A simulation result display method characterized by that.
(Appendix 12)
When generating the drawing information for drawing the display object, the computer generates a start point and an end point of the velocity vector of one particle, and a start point of the velocity vector of the other particle among the two velocity vectors of the grouped particles. Alternatively, two triangles having vertices at the end points are generated, and normal vectors of surfaces forming the respective triangles are calculated, and depending on the direction of the normal vectors or the angle formed by the two normal vectors, The simulation result display method according to appendix 11, wherein the display form of the display object is changed.
(Appendix 13)
When generating the drawing information for drawing the display object, the computer has an angle value formed by the two normal vectors smaller than a third threshold value, and a direction of a component in a predetermined direction of one of the normal vectors. Is positive, the display object is given a first color, the angle value formed by the two normal vectors is smaller than the third threshold value, and the component of any normal vector in a predetermined direction When the direction is negative, the display object is given a second color, and when the angle between the two normal vectors is greater than or equal to the third threshold value, the display object is given a third color. The simulation result display method according to attachment 12, wherein the simulation result is displayed.
(Appendix 14)
When generating the drawing information for drawing the display object, the computer configures a surface forming the triangle in a virtual three-dimensional space by rendering, and the computer forms the first information on the surface forming the triangle. The simulation result display method according to appendix 13, wherein the first color, the second color, or the third color is assigned.
(Appendix 15)
When generating drawing information for drawing the display object, the computer divides each of the two particle velocity vectors into a unit length vector, and the start point of the divided two unit length velocity vectors 14. The simulation according to appendix 13, wherein the display object is generated by drawing a line segment connecting the end points or the end points using the first color, the second color, or the third color. Result display method.
1 シミュレーション装置
2 入力部
3 シミュレーション結果格納部
4 パーティクル位置テーブル
5 速度計算部
6 パーティクル位置速度テーブル
7 群化判定部
8 群化テーブル
9 群化可視化処理部
10 群化可視化実行部
11,16 格納部
12 パーティクルフロー描画処理部
13 描画指示部
14 グラフィック処理部
15 表示装置
21 線分描画テーブル
DESCRIPTION OF SYMBOLS 1 Simulation apparatus 2 Input part 3 Simulation result storage part 4 Particle position table 5 Speed calculation part 6 Particle position speed table 7 Grouping determination part 8 Grouping table 9 Grouping visualization process part 10 Grouping visualization execution part 11, 16 Storage part 12 Particle Flow Drawing Processing Unit 13 Drawing Instruction Unit 14 Graphic Processing Unit 15 Display Device 21 Line Segment Drawing Table
Claims (7)
前記パーティクルの位置に基づいて、2つの前記パーティクル間の距離を算出し、前記パーティクルの速度に基づいて、2つの前記パーティクル間の速度差を算出し、前記パーティクル間の距離の値が第1の閾値より小さく、かつ前記パーティクル間の速度差の値が第2の閾値より小さい場合、該2つのパーティクルを群化する群化部と、
前記群化された2つのパーティクルの速度ベクトルに基づいて、前記群化された2つのパーティクルの挙動を示す表示オブジェクトを描画する描画情報を生成する描画情報生成部と、
を備えることを特徴とするシミュレーション装置。 A speed calculation unit that calculates the speed of the particle at each position, based on simulation result information on the physical quantity of the particle for each time calculated by simulation of the flow of the fluid;
The distance between the two particles is calculated based on the position of the particle, the speed difference between the two particles is calculated based on the speed of the particle, and the distance value between the particles is a first value. A grouping unit that groups the two particles when the value of the velocity difference between the particles is smaller than a threshold and smaller than a second threshold;
A drawing information generating unit that generates drawing information for drawing a display object indicating the behavior of the two grouped particles based on the velocity vectors of the two grouped particles;
A simulation apparatus comprising:
ことを特徴とする請求項1に記載のシミュレーション装置。 Three said drawing information generating unit of the velocity vectors of the two particles are the grouped, shall be the starting point or vertex and the end point of the start point and the end point and the other side of the particle velocity vector of the velocity vector of one particle Generates a square , a start point and an end point of the velocity vector of the other particle, and a triangle whose vertex is the start point or end point of the velocity vector of the one particle, and calculates a normal vector of the surface forming each triangle The simulation apparatus according to claim 1, wherein the display form of the display object is changed according to a direction of the normal vector or an angle formed by the two normal vectors.
ことを特徴とする請求項2に記載のシミュレーション装置。 When the value of the angle formed by the two normal vectors is smaller than a third threshold value and the direction of the component in a predetermined direction of one of the normal vectors is positive, When the color of 1 is given, the angle value formed by the two normal vectors is smaller than the third threshold value, and the direction of the component in the predetermined direction of one of the normal vectors is negative, the display object The second color is given, and when the value of the angle formed by the two normal vectors is equal to or greater than the third threshold value, the third color is given to the display object. The simulation apparatus described.
ことを特徴とする請求項3に記載のシミュレーション装置。 The drawing information generation unit configures a surface forming the triangle in a virtual three-dimensional space by rendering, and the first color, the second color, or the surface forming the triangle The simulation apparatus according to claim 3, wherein a third color is imparted.
ことを特徴とする請求項3に記載のシミュレーション装置。 The drawing information generation unit divides each of the two particle velocity vectors into a unit length vector, and a line segment connecting the start points or end points of the two divided particle unit velocity vectors, The simulation apparatus according to claim 3, wherein the display object is generated by drawing using the first color, the second color, or the third color.
前記シミュレーションにより算出されるパーティクルの時間毎の物理量に関するシミュレーション結果情報に基づいて、各位置における前記パーティクルの速度を算出する速度算出処理と、
前記パーティクルの位置に基づいて、2つの前記パーティクル間の距離を算出し、前記パーティクルの速度に基づいて、2つの前記パーティクル間の速度差を算出し、前記パーティクル間の距離の値が第1の閾値より小さく、かつ前記パーティクル間の速度差の値が第2の閾値より小さい場合、該2つのパーティクルを群化する群化処理と、
前記群化された2つのパーティクルの速度ベクトルに基づいて、前記群化された2つのパーティクルの挙動を示す表示オブジェクトを描画する描画情報を生成する描画情報生成処理と、
をコンピュータに実行させることを特徴とするシミュレーション結果表示プログラム。 A simulation result display program for causing a computer to execute a process of displaying a simulation result of a fluid flow,
Based on simulation result information on the physical quantity of each particle calculated by the simulation, a speed calculation process for calculating the speed of the particle at each position;
The distance between the two particles is calculated based on the position of the particle, the speed difference between the two particles is calculated based on the speed of the particle, and the distance value between the particles is a first value. A grouping process for grouping the two particles when the value of the velocity difference between the particles is smaller than a threshold and smaller than a second threshold;
A drawing information generation process for generating drawing information for drawing a display object indicating the behavior of the two grouped particles based on the velocity vector of the two grouped particles;
A simulation result display program for causing a computer to execute.
前記コンピュータは、
前記シミュレーションにより算出されるパーティクルの時間毎の物理量に関するシミュレーション結果情報に基づいて、各位置における前記パーティクルの速度を算出し、
前記パーティクルの位置に基づいて、2つの前記パーティクル間の距離を算出し、前記パーティクルの速度に基づいて、2つの前記パーティクル間の速度差を算出し、前記パーティクル間の距離の値が第1の閾値より小さく、かつ前記パーティクル間の速度差の値が第2の閾値より小さい場合、該2つのパーティクルを群化し、
前記群化された2つのパーティクルの速度ベクトルに基づいて、前記群化された2つのパーティクルの挙動を示す表示オブジェクトを描画する描画情報を生成する、
ことを特徴とするシミュレーション結果表示方法。 A simulation result display method for causing a computer to execute a process of displaying a simulation result of a fluid flow, which is executed by a computer,
The computer
Based on the simulation result information about the physical quantity of each particle calculated by the simulation, the velocity of the particle at each position is calculated,
The distance between the two particles is calculated based on the position of the particle, the speed difference between the two particles is calculated based on the speed of the particle, and the distance value between the particles is a first value. If the value of the velocity difference between the particles is smaller than the threshold value and smaller than the second threshold value, the two particles are grouped,
Based on the velocity vectors of the two grouped particles, generating drawing information for drawing a display object indicating the behavior of the two grouped particles;
A simulation result display method characterized by that.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010197228A JP5668373B2 (en) | 2010-09-03 | 2010-09-03 | Simulation apparatus, program, and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010197228A JP5668373B2 (en) | 2010-09-03 | 2010-09-03 | Simulation apparatus, program, and method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012053794A JP2012053794A (en) | 2012-03-15 |
JP5668373B2 true JP5668373B2 (en) | 2015-02-12 |
Family
ID=45907003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010197228A Expired - Fee Related JP5668373B2 (en) | 2010-09-03 | 2010-09-03 | Simulation apparatus, program, and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5668373B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5892657B2 (en) * | 2012-07-17 | 2016-03-23 | 富士通株式会社 | Display processing program, display processing method, and display processing apparatus |
JP6024411B2 (en) * | 2012-11-16 | 2016-11-16 | 富士通株式会社 | Display program and display method |
CN105117004A (en) * | 2015-08-13 | 2015-12-02 | 小米科技有限责任公司 | Method and device for showing working state of equipment |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000242631A (en) * | 1999-02-24 | 2000-09-08 | Chokosoku Network Computer Gijutsu Kenkyusho:Kk | Data conversion system |
JP3433906B2 (en) * | 1999-03-18 | 2003-08-04 | 富士通株式会社 | Fluid visualization device and recording medium |
JP4785662B2 (en) * | 2005-10-03 | 2011-10-05 | キヤノン株式会社 | Information processing apparatus and information processing method |
-
2010
- 2010-09-03 JP JP2010197228A patent/JP5668373B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012053794A (en) | 2012-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Balzer et al. | Level-of-detail visualization of clustered graph layouts | |
US8698810B2 (en) | Reorienting properties in hair dynamics | |
US8154544B1 (en) | User specified contact deformations for computer graphics | |
US11309087B2 (en) | Method for the computation of voronoi diagrams | |
US10127711B2 (en) | Method and apparatus rendering caustics | |
JP7182976B2 (en) | Information processing device, information processing method, and program | |
US10467791B2 (en) | Motion edit method and apparatus for articulated object | |
US9519988B2 (en) | Subspace clothing simulation using adaptive bases | |
GB2478430A (en) | Scale separation in hair dynamics | |
CN107735815B (en) | Simplifying small grid assemblies with redundant backs | |
US8154548B2 (en) | Information processing apparatus and information processing method | |
JP5668373B2 (en) | Simulation apparatus, program, and method | |
US10482646B1 (en) | Directable cloth animation | |
JP2015184061A (en) | Extracting device, method, and program | |
JP5625700B2 (en) | Three-dimensional CAD program, apparatus, and three-dimensional CAD processing method | |
US9070221B1 (en) | Animation engine with hair animation using attenuation fields | |
Shi et al. | A mixed-depth visual rendering method for bleeding simulation | |
CN111739134A (en) | Virtual character model processing method and device and readable storage medium | |
CN109710054A (en) | Dummy object rendering method and device for head-mounted display apparatus | |
US9665955B1 (en) | Pose-space shape fitting | |
US20170024492A1 (en) | Method and apparatus for modeling and restoring target object using pre-computation | |
US11694414B2 (en) | Method and apparatus for providing guide for combining pattern pieces of clothing | |
US10121253B2 (en) | Method and apparatus for modeling target object to represent smooth silhouette | |
CN114254501A (en) | Large-scale grassland rendering and simulating method | |
US20170177759A1 (en) | Method and apparatus for modeling movement of target object by interaction with fluid |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130702 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140311 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140422 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140623 |
|
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: 20141118 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141201 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5668373 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |