JP2022134806A - Display program, display method, and information processing device - Google Patents
Display program, display method, and information processing device Download PDFInfo
- Publication number
- JP2022134806A JP2022134806A JP2021034220A JP2021034220A JP2022134806A JP 2022134806 A JP2022134806 A JP 2022134806A JP 2021034220 A JP2021034220 A JP 2021034220A JP 2021034220 A JP2021034220 A JP 2021034220A JP 2022134806 A JP2022134806 A JP 2022134806A
- Authority
- JP
- Japan
- Prior art keywords
- points
- model
- information
- unit
- planes
- 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.)
- Pending
Links
Images
Landscapes
- Image Generation (AREA)
Abstract
Description
本発明は、表示プログラム、表示方法、及び、情報処理装置に関する。 The present invention relates to a display program, a display method, and an information processing apparatus.
物理現象の数値シミュレーションでは、解析プリポストと呼ばれるソフトウェアが、解析対象の解析モデルをコンピュータの画面上に表示して計算条件の設定及び計算結果の可視化を行なう。 In numerical simulations of physical phenomena, software called analysis pre-post displays an analysis model to be analyzed on a computer screen, sets calculation conditions, and visualizes calculation results.
数値シミュレーション手法の1つとして、粒子法を利用した解析モデルに基づく物理シミュレーションが知られている。粒子法とは、物体を、点群、例えば離散的に配置した点情報(粒子)として表現する手法である。 Physical simulation based on an analytical model using a particle method is known as one of numerical simulation techniques. The particle method is a method of representing an object as a point group, for example, discretely arranged point information (particles).
物理シミュレーションでは、サーバ上で動作するソフトウェアは、ユーザによるマウス及びキーボード等の入力装置を介した入力に応じて、解析モデルにおける計算条件を与えたい特定の面(物体表面)に対して、加重又は温度等の計算条件を与えて計算を行なう。 In physics simulation, software running on a server applies weights or Calculation is performed by giving calculation conditions such as temperature.
物体を6面体又は4面体等の幾何形状要素により分割して表現する有限体積法又は有限要素法といった手法では、物体の表面が面で表現される。例えば、有限体積法又は有限要素法等を利用するシミュレーションでは、ユーザは、ソフトウェア上で解析対象の面をマウスで選択する(ピックする)ことで、ポリゴンで表現された解析モデルの特定の面に対して、容易に条件を与えることができる。 In a technique such as the finite volume method or the finite element method, in which an object is expressed by dividing it into geometric elements such as hexahedrons or tetrahedrons, the surface of the object is expressed by planes. For example, in a simulation using the finite volume method or the finite element method, the user selects (picks) the surface to be analyzed on the software with a mouse, and the surface of the analysis model represented by polygons is displayed. Conditions can be easily given.
一方、粒子法を利用するシミュレーションでは、物体の解析モデルは粒子(点)の集合(点群)で表現される。このため、ユーザは、マウス等により、解析モデルを表現する粒子のうちの、解析対象の面に相当する特定の領域の粒子のみを選択することが困難な場合がある。 On the other hand, in simulations using the particle method, an analytical model of an object is represented by a collection (point group) of particles (points). For this reason, it may be difficult for the user to select only particles in a specific region corresponding to the surface to be analyzed among the particles representing the analysis model using a mouse or the like.
例えば、ソフトウェア上で解析対象の面に相当する粒子の表面をマウスで選択する場合、粒子の表面だけでなく、矩形選択された矩形領域に含まれる物体内部の粒子まで選択されることがある。 For example, when selecting the surface of a particle corresponding to the surface to be analyzed on software with a mouse, not only the surface of the particle but also the particles inside the object included in the selected rectangular area may be selected.
また、例えば、物体内部の粒子まで選択されることを防止するために、ユーザは、マウスクリック等により、解析対象の面に相当する位置の複数の粒子を目視で境界を判別しながら選択することも考えられる。しかし、ユーザにより表面の粒子を1つずつ選択することは、物体を表現する粒子数が増加するほど、労力が増大し、また、選択ミスが発生する可能性が増加する。 In addition, for example, in order to prevent the particles inside the object from being selected, the user can select a plurality of particles at positions corresponding to the surface to be analyzed by visually discriminating the boundaries by clicking a mouse or the like. is also conceivable. However, if the user selects particles on the surface one by one, as the number of particles representing the object increases, the effort increases and the possibility of selection errors increases.
このように、点群で表現される解析モデルにおいて、計算条件を与える面の選択が困難になる場合がある。 As described above, in an analysis model represented by a point group, it may be difficult to select a plane that provides calculation conditions.
1つの側面では、本発明は、点群で表現される解析モデルにおいて面を容易に選択可能とすることを目的の1つとする。 One of the objects of the present invention is to make it possible to easily select a plane in an analysis model represented by a point group.
1つの側面では、表示プログラムは、コンピュータに、以下の処理を実行させてよい。前記処理は、点群を含むモデルを表示する処理を含んでよい。また、前記処理は、第1の入力に応じて、前記点群のうちの第1の複数の点を特定する処理を含んでよい。さらに、前記処理は、前記第1の複数の点に基づいて、前記モデルの表面に対応する複数の面を生成する処理を含んでよい。また、前記処理は、第2の入力に応じて、前記第1の複数の点のうちの、前記複数の面に含まれる第1の面から閾値以下の距離にある第2の複数の点を選択状態にする処理を含んでよい。 In one aspect, the display program may cause the computer to perform the following processes. The processing may include displaying a model including the point cloud. The processing may also include identifying a first plurality of points of the point cloud in response to a first input. Further, the processing may include generating a plurality of surfaces corresponding to the surface of the model based on the first plurality of points. In addition, the processing may include, in response to a second input, determining a second plurality of points, among the first plurality of points, that are at a distance equal to or less than a threshold from a first plane included in the plurality of planes. It may include a process to put it in a selected state.
1つの側面では、本発明は、点群で表現される解析モデルにおいて面を容易に選択することができる。 In one aspect, the present invention can easily select faces in an analytical model represented by a point cloud.
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形又は技術の適用を排除する意図はない。例えば、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。なお、以下の説明で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。 BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the embodiments described below are merely examples, and are not intended to exclude various modifications or application of techniques not explicitly described below. For example, this embodiment can be modified in various ways without departing from the spirit of the embodiment. In the drawings used in the following description, parts with the same reference numerals represent the same or similar parts unless otherwise specified.
〔1〕一実施形態
〔1-1〕一実施形態について
図1は、一実施形態に係るサーバによる処理の一例を簡単に説明するための図である。図1に例示するように、一実施形態に係るサーバは、以下の(a)~(d)の処理を実行してよい。
[1] One Embodiment [1-1] About One Embodiment FIG. 1 is a diagram for simply explaining an example of processing by a server according to one embodiment. As illustrated in FIG. 1, a server according to one embodiment may perform the following processes (a) to (d).
(a)サーバは、点群を含むモデルを表示する。
例えば、サーバは、矢印(a)で示すように、モニタ等の表示装置の画面上にモデル101を表示する。図1の例では、モデル101は、粒子法を利用して点群により表現された3次元モデルであってよく、一例として、数値シミュレーションに利用される解析モデルであってよい。点群は、例えば、複数の粒子の組み合わせ(粒子群)を意味してよい。
(a) The server displays the model containing the point cloud.
For example, the server displays the
(b)サーバは、第1の入力に応じて、点群のうちの第1の複数の点を特定する。
例えば、サーバは、矢印(b)で示すように、マウス等の入力装置から入力される矩形領域102の指定(矩形選択)に応じて、モデル101を表現する点群のうちの、画面上で矩形領域102に含まれる(囲まれる)複数の点を特定してよい。矩形領域102の指定は、第1の入力の一例であり、矩形領域102に含まれる複数の点は、第1の複数の点の一例である。
(b) the server identifies a first plurality of points of the point cloud in response to the first input;
For example, as indicated by an arrow (b), the server selects a
(c)サーバは、第1の複数の点に基づいて、モデルの表面に対応する複数の面を生成してよい。
例えば、サーバは、矢印(c)で示すように、矩形領域102に含まれる複数の点により表わされる、モデル101のうちの一部の部分モデル103について、部分モデル103の表面に対応する複数の面104、105、106を生成してよい。図1の例では、面104、105、106のそれぞれを面A、B、Cと表記する。なお、矢印(c)では、便宜上、面104~106が部分モデル103から離間して表示されているが、面104~106のそれぞれは、部分モデル103の表面に存在する粒子群により形成されるものであるため、部分モデル103に重ねて表示されてもよい。
(c) The server may generate a plurality of surfaces corresponding to the surface of the model based on the first plurality of points.
For example, as indicated by an arrow (c), the server provides a plurality of points corresponding to the surface of the
(d)サーバは、第2の入力に応じて、第1の複数の点のうちの、複数の面に含まれる第1の面から閾値以下の距離にある第2の複数の点を選択状態にしてよい。
例えば、サーバは、矢印(d-1)で示すように、マウス等の入力装置から入力される面Aの指定A(面選択)を受け付けてよい。指定Aの対象である面Aは、第1の面の一例である。
(d) the server selects, in response to a second input, a second plurality of points that are at a distance equal to or less than a threshold from the first plane included in the plurality of planes, among the first plurality of points; can be
For example, the server may accept designation A (surface selection) of surface A input from an input device such as a mouse, as indicated by an arrow (d-1). The surface A that is the target of designation A is an example of a first surface.
矢印(d-2)は、指定Aの対象である面Aの一部を面Aの平面方向から見た図、換言すれば、面Aと交わり、且つ、面Aと垂直又は略垂直な面(部分モデル103の断面)を示す図である。サーバは、矢印(d-2)で示すように、部分モデル103を表す粒子107のうちの、面Aから閾値以下の距離にある複数の点108を選択してよい。複数の点108は、第2の複数の点の一例である。
Arrow (d-2) is a view of a part of surface A, which is the target of designation A, viewed from the plane direction of surface A, in other words, a surface that intersects surface A and is perpendicular or substantially perpendicular to surface A. 3 is a diagram showing (the cross section of the partial model 103). FIG. The server may select a plurality of
サーバは、矢印(d-3)で示すように、モニタ等の表示装置の画面上に表示したモデル101において、選択した複数の点108を選択状態109として表示してよい。選択状態109の複数の点108は、例えば、粒子法を利用するシミュレーションにおいて計算条件を与える対象となる面の要素として扱われてよい。
The server may display a plurality of selected
このように、一実施形態に係るサーバによれば、点群で表されるモデル101において、計算条件等の条件を与えるための面を容易に選択することが可能となる。
Thus, according to the server according to one embodiment, it is possible to easily select a surface for giving conditions such as calculation conditions in the
また、サーバによれば、矩形選択された部分モデル103に含まれる複数の粒子に制限して面A、B、Cの生成を行ない、面選択により選択された面A、B又はCに対応する複数の点108を選択状態109とすることができる。これにより、処理対象とする粒子数を限定できるため、サーバの処理負荷を軽減でき、上記(a)~(d)の処理による面(複数の点108)の選択を高速に実行することができる。
Further, according to the server, the surfaces A, B, and C are generated by restricting the plurality of particles included in the rectangular-selected
〔1-2〕機能構成例
図2は、一実施形態に係るシステム1の機能構成例を示すブロック図である。システム1は、解析モデルに基づくシミュレーションを行なう情報処理システムの一例であり、図2に示すように、例示的に、サーバ2、及び、端末装置3を備えてよい。なお、システム1が端末装置3を備えない構成が許容されてもよい。
[1-2] Functional Configuration Example FIG. 2 is a block diagram showing a functional configuration example of the
サーバ2は、コンピュータ又は情報処理装置の一例であり、例えば、数値シミュレーション等のシミュレーションを行なうための解析ソフトウェア(解析プリポスト)を実行するサーバであってよい。
The
図2に示すように、サーバ2は、例示的に、メモリ部21、入力制御部22、表示制御部23、選択粒子取得部24、面生成部25、グループ化処理部26、及び、粒子探索部27を備えてよい。
As shown in FIG. 2, the
メモリ部21は、記憶領域の一例であり、サーバ2が利用する種々のデータを記憶する。図2に示すように、メモリ部21は、例示的に、粒子情報21a、選択済粒子情報21b、頂点情報21c、面情報21d、グループ面情報21e、及び、表面粒子情報21fを記憶可能であってよい。以下、便宜上、これらの情報21a~21fのそれぞれをテーブル形式で表記するが、これに限定されるものではなく、情報21a~21fのうちの少なくとも1つは、DB(Database)形式又は配列等の種々の形式でメモリ部21に格納されてよい。
The
入力制御部22は、サーバ2に対する種々の情報の入力に関する制御を行なう。一例として、入力制御部22は、解析モデルのモデル情報、並びに、解析モデルに対する解析対象の面の選択に関する種々の操作情報(例えば選択情報)を受け付けてよい。モデル情報及び操作情報の「受け付け」には、例えば、取得したモデル情報及び操作情報を他のブロック21、23~27のうちの少なくとも1つに出力することが含まれてよい。例えば、入力制御部22は、モデル情報の一例としての粒子情報21aを取得し、メモリ部21に格納してよい。
The
モデル情報及び操作情報は、例えば、サーバ2に備えられる入力装置、通信装置又は読取装置等の種々の装置を介して入力されてもよい。なお、端末装置3は、端末装置3に備えられる入力装置をユーザが操作して入力した操作情報を、ネットワーク(図示省略)を経由してサーバ2に送信してもよい。この場合、サーバ2に備えられる通信装置は、端末装置3からネットワークを経由して操作情報を受信してよい。
The model information and operation information may be input via various devices such as an input device, a communication device, or a reading device provided in the
表示制御部23は、サーバ2における種々の画面表示に関する制御を行なう。一例として、表示制御部23は、ブロック21、22、24~27のうちの少なくとも1つから入力される情報又は指示、例えば操作情報又は制御情報等に基づき、解析モデルの表示制御を行なってよい。
The
例えば、表示制御部23は、入力される情報又は指示に基づく解析モデルの表示情報(画面情報)を生成し、表示情報をサーバ2に備えられる表示装置に出力してもよいし、ネットワークを経由して端末装置3に出力(送信)してもよい。端末装置3は、表示制御部23から受信した表示情報を、端末装置3に備えられる表示装置に出力してよい。
For example, the
図3は、画面表示される解析モデル11の表示例を示す図である。図3の例では、直方体形状を粒子により表現する解析モデル11を示す。表示制御部23は、モデル情報を取得すると、当該モデル情報に基づき、解析モデル11の全粒子を表示装置上に可視化するための表示情報を生成してよい。
FIG. 3 is a diagram showing a display example of the
一実施形態に係る解析モデル11は、粒子法を利用して表現されるものとする。例えば、表示制御部23は、入力制御部22により取得されメモリ部21に格納された粒子情報21aに基づき、解析モデル11の表示情報を生成してよい。粒子情報21aは、モデル情報の一例である。
The
図4は、粒子情報21aの一例を示す図である。図4に例示するように、粒子情報21aは、解析モデル11を表現する粒子Pごとの粒子データ211を含んでよい。図4の例では、粒子情報21aは、粒子P1~Pnのn個の粒子データ211を有するものとする。nは、解析モデル11を表現する粒子数を示す整数である。
FIG. 4 is a diagram showing an example of the
図4に例示するように、粒子データ211は、粒子Pの識別番号“id”と、粒子Pの位置情報“x,y,z”を少なくとも含んでよい。図4の例において、粒子P1~Pnの添字である“1”~“n”は、粒子P1~Pnのそれぞれの識別番号の一例である。位置情報は、例示的に、解析モデル11が表示される3次元空間における座標情報であってよい。なお、粒子データ211は、識別番号及び位置情報に加えて、粒子Pに属する種々の情報を含んでもよい。
As illustrated in FIG. 4 , the
選択粒子取得部24は、入力制御部22から、ユーザが入力装置により選択(例えば矩形選択)した、解析モデル11の表面粒子の抽出範囲を示す操作情報を取得し、抽出範囲に含まれる粒子Pを選択する。抽出範囲は、ユーザが解析モデル11から抽出したい表面付近の粒子Pの範囲であり、所定の領域範囲の一例である。選択粒子取得部24は、例えば、抽出範囲に含まれる粒子Pの情報を選択済粒子情報21bとしてメモリ部21に格納してよい。
The selected
なお、入力装置による抽出範囲の選択手法としては、例えば、マウス又はタッチパネル等による解析モデル11の表示領域に対する矩形、円形、楕円形、自由形状、その他種々の形状による選択、キーボード等による座標範囲の入力、等の種々の手法が挙げられる。
As a method of selecting the extraction range by the input device, for example, selection by a rectangle, circle, ellipse, free shape, or other various shapes for the display area of the
図5は、解析モデル11の表示領域に対する範囲選択処理の一例を説明するための図である。例えば、選択粒子取得部24は、入力装置から入力される矩形領域12の指定(矩形選択)に応じて、解析モデル11を表現するn個の粒子Pのうちの、画面上で矩形領域12に含まれる(囲まれる)m個の粒子Pを特定してよい。mは、解析モデル11における矩形領域12に含まれる(囲まれる)粒子数を示す、n以下の整数である。図5に例示するように、解析モデル11を矩形領域12で切り出したモデルを部分モデル13と表記する。図5に示す部分モデル13は、解析モデル11のn個の粒子Pのうちの抽出したm個の粒子Pのみを表示した状態を示す。
FIG. 5 is a diagram for explaining an example of range selection processing for the display area of the
図6は、選択済粒子情報21bの生成処理の一例を示す図である。選択粒子取得部24は、例えば、操作情報に含まれる矩形領域12の範囲を示す座標情報と、粒子情報21aに含まれるn個の各粒子Pの座標情報とに基づき、矩形領域12の範囲内に存在するm個の粒子Pを粒子情報21aから抽出してよい。そして、選択粒子取得部24は、抽出した粒子Pを選択済粒子情報21bに格納してよい。
FIG. 6 is a diagram showing an example of processing for generating the selected
図6の例では、選択粒子取得部24は、粒子情報21aの粒子P1~Pnのうちの、m個の粒子P2、P4、P9、…Pn-3、Pnを抽出して選択済粒子情報21bを生成してよい。なお、選択済粒子情報21bに含まれる各粒子データ211は、図4に示す粒子情報21aの粒子データ211と同様であってよい。
In the example of FIG. 6 , the selected
面生成部25は、矩形領域12内の粒子Pについて、解析モデル11、例えば部分モデル13における表面の粒子Pを抽出することで、面を生成する。
The
図7は、面生成処理の一例を説明するための図である。図7に例示するように、面生成部25は、部分モデル13に含まれるm個の粒子Pを取り囲む格子131を生成し、格子131の表面位置に相当する箇所に面132を生成してよい。例えば、面生成部25は、面132を示す情報として、頂点情報21c及び面情報21dを生成し、メモリ部21に格納してよい。なお、面132は、部分モデル13の表面と捉えられてもよい。
FIG. 7 is a diagram for explaining an example of surface generation processing. As illustrated in FIG. 7, the
図8は、頂点情報21cの一例を示す図である。図8に例示するように、頂点情報21cは、面132に含まれる(例えば面132を構成する)複数の単位面の頂点データ212を含んでよい。図8の例では、頂点情報21cは、頂点V1~Vtのt個の頂点データ212を有するものとする。tは、面132に含まれる頂点数を示す整数である。
FIG. 8 is a diagram showing an example of the
図8に例示するように、頂点データ212は、頂点Vの識別番号“id”と、頂点Vの位置情報“x,y,z”を少なくとも含んでよい。図8の例において、頂点V1~Vtの添字である“1”~“t”は、頂点V1~Vtのそれぞれの識別番号の一例である。位置情報は、例示的に、解析モデル11が表示される3次元空間における座標情報であってよい。なお、頂点データ212は、識別番号及び位置情報に加えて、頂点Vに属する種々の情報を含んでもよい。
As illustrated in FIG. 8, the
図9は、面情報21dの一例を示す図である。図9に例示するように、面情報21dは、面132に含まれる(例えば面132を構成する)複数の単位面の面データ213を含んでよい。図9の例では、面情報21dは、面F1~Fsのs個の面データ213を有するものとする。sは、面132に含まれる単位面数を示す整数である。
FIG. 9 is a diagram showing an example of the
図9に例示するように、面データ213は、面Fの識別番号“id”と、面Fに含まれる(例えば面Fを構成する)複数の頂点データのセット“V1,V2,V3”を少なくとも含んでよい。図9の例において、面F1~Fsの添字である“1”~“s”は、面F1~Fsのそれぞれの識別番号の一例である。複数の頂点データのセットは、単位面の形状に応じた数の頂点Vを含んでよい。なお、面データ213は、識別番号及び複数の頂点データのセットに加えて、面Fに属する種々の情報を含んでもよい。
As illustrated in FIG . 9, the
図10は、単位面214の一例を示す図である。図10では、m個の粒子を含む部分モデル13を取り囲む、s個の面Fを含む面132を示す。図10に示すように、面132は、複数の単位面214(面F1~Fs)の組み合わせにより表現されてよい。図10に例示する単位面214は、三角形であるものとする。例えば、1つの単位面214は、V1、V2、V3の3つを頂点とする単位面F1と表現でき、各単位面214が頂点データ212及び面データ213の組み合わせにより表現される。なお、単位面214は、三角形に限定されるものではなく、4つの頂点により表現される四角形であってもよいし、5つ以上の頂点により表現される多角形又は幾何学形状であってもよい。
FIG. 10 is a diagram showing an example of the
粒子情報21aに基づき面132を生成する手法としては、種々の手法が用いられてよい。一例として、面生成部25は、マーチングキューブ法により、部分モデル13の表面位置に相当する箇所に面132を生成してよい。
Various methods may be used as a method for generating the
マーチングキューブ法では、粒子群を取り囲む一定間隔の格子が利用される。面生成部25は、各格子の頂点から一定範囲内における粒子Pの存在率を、格子頂点の値として算出し、1つの格子に対して8つの頂点の値を算出する。例えば、粒子Pが頂点付近に存在しなければ“0”、十分に存在すれば“1”として算出すると仮定すれば、値“0.5”の位置が“存在する”/“存在しない”の境界と位置付けることができる。
The marching cubes method utilizes a regularly spaced grid surrounding a group of particles. The
例えば、面生成部25は、値“0.5”と判定した箇所で等値面を作成することにより、粒子情報21aを、面132を示す情報の一例である頂点情報21c及び面情報21dに変換することができる。なお、値“0.5”の位置は、格子頂点の位置座標と存在率の値とに基づき線形補間等によって容易に算出することができる。
For example, the
図11は、マーチングキューブ法による面生成処理の一例を説明するための図である。図11の例では、簡単のため、粒子P及び格子を2次元空間に示すとともに、格子を四角形で示している。 FIG. 11 is a diagram for explaining an example of surface generation processing by the marching cube method. In the example of FIG. 11, for the sake of simplicity, the particle P and the grid are shown in a two-dimensional space, and the grid is shown as a square.
図11では、符号A1を付す破線領域内の格子A2と、符号B1を付した一点鎖線領域内の格子B2とに着目する。なお、図11において、符号A3~A6及びB3~B6が指す丸は、それぞれ、格子A2の4つの頂点、及び、格子B2の4つの頂点である。 In FIG. 11, attention is paid to the grid A2 within the dashed line region labeled with reference A1 and the grid B2 within the dashed line region labeled with reference B1. In FIG. 11, the circles indicated by A3 to A6 and B3 to B6 are the four vertices of grid A2 and the four vertices of grid B2, respectively.
図11に示すように、格子A2の4つの頂点A3~A6のそれぞれの付近には、いずれも粒子Pが存在する。このため、面生成部25は、頂点A3~A6における粒子Pの存在率をいずれも“1”と判定し、格子A2については等値面が存在しないと判定する。
As shown in FIG. 11, particles P are present near each of the four vertices A3 to A6 of the lattice A2. Therefore, the
一方、図11に示すように、格子B2の3つの頂点B3~B5の付近には、いずれも粒子Pが存在せず、頂点B6の付近には粒子Pが存在する。このため、面生成部25は、頂点B3~B5における粒子Pの存在率をいずれも“0”と判定し、頂点B6における粒子Pの存在率を“1”と判定する。この場合、面生成部25は、隣接する頂点の存在率が“0”及び“1”である、頂点B4及びB6間と、頂点B5及びB6間とに等値面が存在すると判定する。そして、面生成部25は、符号B7で示すように、存在率が“0.5”となる、頂点B4及びB6間の中点と頂点B5及びB6間の中点とを通る等値面B7を設定する。
On the other hand, as shown in FIG. 11, particles P do not exist near three vertices B3 to B5 of lattice B2, and particles P exist near vertex B6. Therefore, the
図12は、面データモデル134の生成処理の一例を示す図である。図11の例において、各格子で得られた等値面どうしを矢印133に示すように全体に亘って接続すると、面132の表面を表す面データモデル134となる。図12の例では、簡単のため、粒子P及び格子を2次元空間に示すとともに、格子を四角形で示している。図10に例示する面132のモデルは、部分モデル13のm個の粒子Pから作成されたs個の単位面214(三角形)を表示したモデルであって、例えば、3次元空間において面データモデル134を表現したものである。
FIG. 12 is a diagram showing an example of processing for generating the
なお、粒子情報21aに基づき面132を生成する手法としては、マーチングキューブ法に限らず、種々の手法が採用されてもよい。また、面生成部25は、面132を示す情報として、頂点情報21c及び面情報21dを生成するものとしたが、これらに限定されるものではなく、面132を生成する手法に応じた種々の情報を生成してもよい。
Note that the method for generating the
グループ化処理部26は、面132に含まれる複数の単位面214のうちの、例えば隣接する単位面214の角度に基づき面214の境界を算出し、面214をグループ化(グルーピング)する。
The
図13は、グループ化処理の一例を説明するための図である。図13に例示するように、グループ化処理部26は、部分モデル13の表面に対応する面132に基づき、複数の面14、15、16を生成してよい。図13の例では、面14、15、16のそれぞれを面A、B、Cと表記する。以下、便宜上、グループ化処理部26によりグループ化された面を「グループ面」と表記する場合がある。なお、面14~16のそれぞれは、面132の一部に含まれる粒子群、換言すれば部分モデル13の表面に存在する粒子群により形成されるものである。図13の例では、便宜上、面14~16が面132から離間して表示されているが、面132又は部分モデル13に重ねて表示されてもよい。
FIG. 13 is a diagram for explaining an example of grouping processing. As illustrated in FIG. 13 , the
例えば、グループ化処理部26は、隣接する面214間の境界を判別するために、隣接する面214の角度差が予め指定された閾値Th_rよりも大きい場合に、当該隣接する面214を互いに別の表面に分類するように面214をグループ化してよい。なお、角度の閾値は、例えばユーザにより入力装置を介して適宜変更されてもよい。
For example, in order to determine the boundary between the
図14及び図15は、グループ判定処理の一例を説明するための図である。例えば、グループ化処理部26は、隣接する面214の角度差を算出するための指標として、法線ベクトルを算出してよい。法線ベクトルは、或る面に対して垂直なベクトルであり、面214の向きを表す情報の一例である。例えば、グループ化処理部26は、面214に含まれる頂点の座標に基づき、既知の手法によって面214の法線ベクトルを算出してよい。
14 and 15 are diagrams for explaining an example of group determination processing. For example, the
例えば、図14及び図15に示すように、グループ化処理部26は、互いに隣接する2つの面141(面1)及び面142(面2)について、面1の法線ベクトルと面2の法線ベクトルとをそれぞれ算出し、算出した法線ベクトルのなす角度θを算出してよい。
For example, as shown in FIGS. 14 and 15, the
一例として、グループ化処理部26は、頂点情報21c及び面情報21dに基づき、互いに隣接する2つの面214として、例えば2つ以上の頂点データ212が共通する(或いは近傍である)2つの面データ213を特定してよい。そして、グループ化処理部26は、特定した2つの面データ213のそれぞれについて、各頂点データ212に基づき、既知の手法により法線ベクトルを算出し、法線ベクトル間の角度θを算出してよい。
As an example, based on the
図14に例示するように、2つの法線ベクトルのなす角度θが閾値(角度閾値)Th_rよりも大きい場合、グループ化処理部26は、面1及び面2が互いに別のグループ面である、換言すれば互いに異なるグループ面に属する、と判定してよい。そして、グループ化処理部26は、例えば、グループ面Aに面1を設定し、グループ面Bに面2を設定してよい。
As illustrated in FIG. 14, when the angle θ formed by the two normal vectors is larger than a threshold (angle threshold) Th_r, the
一方、図15に例示するように、2つの法線ベクトルのなす角度θが閾値Th_r以下である場合、グループ化処理部26は、面1及び面2が同一のグループ面である、換言すれば同一のグループ面に属すると判定してよい。そして、グループ化処理部26は、例えば、グループ面Aに面1及び面2を設定してよい。
On the other hand, as illustrated in FIG. 15, when the angle θ formed by the two normal vectors is equal to or less than the threshold Th_r, the
なお、図14及び図15の例において、面141及び142の一方又は双方は、単位面214であってもよいし、2以上の単位面214を含むグループ化されたグループ面であってもよい。
14 and 15, one or both of the
以上のように、グループ化処理部26は、部分モデル13の面132を、面132に含まれる複数の単位面214の向きに基づき分割することで、複数のグループ面を生成してよい。
As described above, the
グループ化処理部26は、例えば、グループ面の設定(生成)を行なう際に、グループ面情報21eを生成してよい。
The
図16は、グループ面情報21eの生成処理の一例を示す図である。グループ化処理部26は、例えば、グルーピングした複数の面データ213を格納する複数のグループテーブル215を含むグループ面情報21eを生成してよい。図16の例では、グループ面情報21eは、グループ面A、B、Cを含む複数のグループ面のグループテーブル215を含んでよい。
FIG. 16 is a diagram showing an example of processing for generating
例えば、グループ化処理部26は、面情報21dの面F1~Fsのそれぞれの面データ213を、グルーピングにより決定したグループ面のグループテーブル215に格納してよい。一例として、グループ化処理部26は、面F2、F3、F4、F7、F8、F15、・・・をグループ面Aのグループテーブル215に格納してよい。なお、グループテーブル215に含まれる各面データ213は、図9に示す面情報21dの面データ213と同様であってよい。
For example, the
粒子探索部27は、入力制御部22から、ユーザが入力装置により指定(例えばピック)した、複数のグループ面のうちのユーザが計算条件を設定したい面に最も近いグループ面を示す操作情報を取得し、当該グループ面近傍の粒子Pを探索する。粒子探索部27は、例えば、指定されたグループ面近傍の粒子Pの情報を表面粒子情報21fとしてメモリ部21に格納してよい。
The
なお、入力装置によるグループ面の指定手法としては、例えば、マウス又はタッチパネル等による部分モデル13の面14~16に対する選択、キーボード等による面14~16を識別する情報の入力、等の種々の手法が挙げられる。
As a method for specifying a group surface by an input device, for example, various methods such as selection of
図17は、粒子探索処理の一例を説明するための図である。図18は、距離dの算出処理の一例を示す図であり、図19は、表面粒子情報21fの生成処理の一例を示す図である。
FIG. 17 is a diagram for explaining an example of particle search processing. FIG. 18 is a diagram showing an example of processing for calculating the distance d, and FIG. 19 is a diagram showing an example of processing for generating the
図17では、部分モデル13の面Aに対する指定Aが行なわれた場合を想定する(矢印(1)参照)。なお、図17の矢印(2)は、指定Aの対象である面Aの一部を面Aの平面方向から見た図、換言すれば、面Aと交わり、且つ、面Aと垂直又は略垂直な面(部分モデル13の断面)を示す図である。 In FIG. 17, it is assumed that designation A has been made for surface A of partial model 13 (see arrow (1)). Note that arrow (2) in FIG. 17 is a view of a portion of surface A, which is the target of designation A, viewed from the plane direction of surface A, in other words, intersects surface A and is perpendicular to surface A or substantially perpendicular to surface A. 4 is a diagram showing a vertical plane (a cross section of the partial model 13); FIG.
例えば、粒子探索部27は、矢印(2)で示すように、入力装置から入力される面Aの指定A(面選択)に応じて、部分モデル13における、面Aに属する単位面214と、部分モデル13に含まれるm個の粒子17の各々との間の距離dを算出してよい。図18の例では、粒子探索部27は、グループ面Aのグループテーブル215に含まれる面データ213のそれぞれと、選択済粒子情報21bに含まれる粒子データ211のそれぞれとの間の距離dを算出する。
For example, as indicated by an arrow (2), the
粒子探索部27は、算出した距離dが閾値Th_d以下である粒子Pを表面粒子18として抽出し、表面粒子情報21fを生成してよい。図19の例では、粒子探索部27は、P4、P9、P10、P13、・・・の粒子データ211を含む表面粒子情報21fを生成する。なお、表面粒子情報21fに含まれる各粒子データ211は、図4に示す粒子情報21aの粒子データ211と同様であってよい。
The
粒子探索部27は、例えば、粒子配置距離又は影響半径等を基準として距離dを算出してよい。粒子配置距離は、解析モデル11において配置される粒子P間の距離である。影響半径は、粒子配置距離の数倍等の値であり、計算により算出される。また、表面粒子の探索範囲を示す閾値Th_dは、例えばユーザにより入力装置を介して適宜変更されてもよい。
The
粒子探索部27は、矢印(3)で示すように、表示制御部23に対して、モニタ等の表示装置の画面上に表示した解析モデル11において、表面粒子18として抽出した粒子Pを選択状態19として表示させてよい。なお、「選択状態」には、例えば、解析モデル11において表面粒子18を「選択」した状態に加えて、表面粒子18を「選択可能」な状態に置くことを含んでもよい。「選択可能」な状態としては、例えば、表示装置の画面に、表面粒子情報21fに基づき表面粒子18のリストを表示すること、解析モデル11のうちの表面粒子18の部分をハイライト等により強調表示すること、等を含んでもよい。「選択可能」な状態においては、リスト表示又は強調表示の部分の選択(指定)等に応じて、表面粒子18を「選択」した状態に遷移可能であってよい。
The
表示制御部23は、上述の手法により粒子探索部27により抽出された表面粒子18を選択状態19とした解析モデル11の表示情報を生成し(矢印(3)参照)、表示装置に出力してよい。選択状態19の表面粒子18は、例えば、粒子法を利用するシミュレーションにおいて計算条件を与える対象となる面の要素として扱われてよい。
The
なお、表示制御部23は、例えば、解析モデル11(図3)、矩形領域12及び部分モデル13(図5)、面14~16(図13)、及び、面14の指定A(図17の矢印(1))、の各表示情報を、各処理の都度生成し、表示装置に出力してよい。
The
以上のように、一実施形態に係るサーバ2は、解析モデル11に含まれる粒子Pのうちのマウス等によりユーザにより指定された範囲内の粒子Pに対して、粒子群から面132を示す情報を作成できる。そして、サーバ2は、面132のうちの指定された面14~16からの距離に基づき、表面位置に相当する表面粒子18を抽出し、解析モデル11において表面粒子18を選択状態19として表示できる。
As described above, the
このように、サーバ2によれば、面214と面214との境界を区別してグルーピングされたグループ面からの距離dに基づき、プリポスト上で解析モデル11の表面付近の粒子Pを高速に抽出でき、また、表面粒子18を容易に一括選択可能となる。また、面132の生成対象となる粒子Pは、解析モデル11に含まれるn個の粒子のうちの、指定された部分モデル13の範囲内に含まれるm個の粒子Pのみに制限されることで、サーバ2の処理負荷を軽減させ、高速な処理を実現することができる。
In this way, according to the
〔1-3〕適用例
ここまで、解析モデル11が単純な直方体モデルである場合を例に挙げて説明したが、表面粒子の選択は、解析モデル11の形状が複雑になるほど困難となる。
[1-3] Application Example So far, the case where the
図20は、元データ30及び解析モデル31(粒子モデル)の一例を示す図である。以下、解析モデル31が、図20に例示するような曲面を含む元データ30に基づき生成されたモデルである場合を例に挙げて、一実施形態に係るサーバ2の適用例を説明する。
FIG. 20 is a diagram showing an example of the
図21は、図20に示す解析モデル31の一部を選択する矩形領域32の一例を示す図である。図21に示すように、ユーザが曲面部分の表面粒子321を矩形領域32により選択する場合を想定する。解析モデル31が曲面を含む形状である場合、ユーザが解析モデル31の位置を回転させる等して向きを変えたとしても、矩形領域32には、曲面部分の表面粒子321だけでなく、他の選択したくない部分の粒子322も誤って含まれることになる。選択粒子取得部24及び面生成部25は、矩形領域32の範囲内の粒子Pを含む部分モデルを生成する(図示省略)。
FIG. 21 is a diagram showing an example of a
図22は、矩形領域32の範囲内の粒子P(部分モデル)に基づき生成される面33の一例を示す図である。面生成部25は、部分モデルを表す選択済粒子情報21bに基づき、面33を示す情報として頂点情報21c及び面情報21dを生成する。
FIG. 22 is a diagram showing an example of the
図23は、グループ面34~37の一例を示す図である。図23に例示するように、グループ化処理部26は、面33に基づき、複数の面34、35、36、37を生成してよい。図23の例では、面34、35、36、37のそれぞれを面A、B、C、Dと表記する。
FIG. 23 is a diagram showing an example of the group planes 34-37. As illustrated in FIG. 23 , the
図24は、図23に示す面Aに対する指定が行なわれた場合に抽出される表面粒子38の一例を示す図である。図24は、解析モデル31を面D(図23参照)の方向から見た図である。
FIG. 24 is a diagram showing an example of surface particles 38 extracted when surface A shown in FIG. 23 is specified. FIG. 24 is a view of the
例えば、粒子探索部27は、入力装置から入力される面Aの指定(面選択)に応じて、部分モデルにおける、面Aに属する単位面214と、部分モデルに含まれる粒子の各々との間の距離dを算出してよい。図24の例では、粒子探索部27は、グループ面Aのグループテーブル215に含まれる面データ213のそれぞれと、選択済粒子情報21bに含まれる粒子データ211のそれぞれとの間の距離dを算出する。
For example, the
そして、粒子探索部27は、算出した距離dが閾値Th_d以下である粒子Pを表面粒子38として抽出し、表面粒子情報21fを生成する。
Then, the
図25は、表面粒子38の選択状態39の一例を示す図である。図25に例示するように、粒子探索部27は、表示制御部23により、解析モデル31において表面粒子38を選択状態39として表示してよい。
FIG. 25 is a diagram showing an example of a
このように、適用例では、解析モデル31における面Aの選択手法として一実施形態に係るサーバ2の手法を適用することで、選択された曲面が適切にグルーピングされた面Aに基づき、曲面部分の表面粒子38を容易に選択することができる。
As described above, in the application example, by applying the method of the
〔1-4〕動作例
図26は、一実施形態に係るサーバ2による選択処理の動作例を説明するためのフローチャートである。以下、図26を参照して、サーバ2による、解析モデル11の表面に相当する表面粒子18の選択処理の動作例を説明する。
[1-4] Operation Example FIG. 26 is a flowchart for explaining an operation example of selection processing by the
図26に示すように、サーバ2の入力制御部22は、解析モデル11の粒子情報21aを取得し(ステップS1)、メモリ部21に格納する。
As shown in FIG. 26, the
表示制御部23は、粒子情報21aに基づき、解析モデル11の全体を表す表示情報を生成し、表示装置に表示させる(ステップS2)。
The
入力制御部22は、ユーザによる解析モデル11の一部の範囲選択を受け付ける(ステップS3)。例えば、入力制御部22は、ユーザにより入力装置を介して選択された矩形領域12を示す操作情報を取得する。
The
選択粒子取得部24は、矩形領域12を示す選択情報に基づき、矩形領域12の選択範囲内の粒子Pの情報を取得する(ステップS4)。例えば、選択粒子取得部24は、粒子情報21aのうちの矩形領域12の選択範囲内の粒子Pを抽出して、選択済粒子情報21bを生成し、メモリ部21に格納する。
The selected
面生成部25は、選択済粒子情報21bに基づき面132を示す情報、例えば頂点情報21c及び面情報21dを生成する(ステップS5)。例えば、面生成部25は、選択済粒子情報21bが表す粒子Pを取り囲む格子131を生成し、マーチングキューブ法等の手法によって格子131の表面位置に相当する箇所に面132を生成する。
The
グループ化処理部26は、面132を示す情報に基づき面(単位面214)のグループ化処理を行ない(ステップS6)、グループ面情報21eを生成する。例えば、グループ化処理部26は、隣接する単位面214の法線ベクトルを算出し、法線ベクトル間の角度が閾値Th_r以下か否かに応じて、隣接する単位面214が同一グループ面か別のグループ面かを判定する。
The
表示制御部23は、グループ面情報21eに基づき、複数のグループ面を、例えば部分モデル13とともに表す表示情報を生成し、表示装置に表示させる(ステップS7)。
Based on the
入力制御部22は、ユーザによる、グループ面の選択を受け付ける(ステップS8)。例えば、入力制御部22は、ユーザにより入力装置を介して選択されたグループ面を示す操作情報を取得する。
The
粒子探索部27は、グループ面を示す操作情報に基づき、選択されたグループ面から一定距離範囲内の表面粒子18を探索する(ステップS9)。例えば、粒子探索部27は、部分モデル13における、選択されたグループ面のグループテーブル215と、選択済粒子情報21bに含まれる各粒子データ211の各々との間の距離dを算出する。そして、粒子探索部27は、選択済粒子情報21bから、距離dが閾値Th_d以下の粒子Pを抽出して、表面粒子情報21fを生成し、メモリ部21に格納する。
The
表示制御部23は、表面粒子情報21fに基づき、解析モデル11において表面粒子18を選択状態19とした表示情報を生成し、表示装置に表示させ(ステップS10)、処理が終了する。
Based on the
〔1-5〕ハードウェア構成例
一実施形態に係るサーバ2は、仮想サーバ(VM;Virtual Machine)であってもよいし、物理サーバであってもよい。また、サーバ2の機能は、1台のコンピュータにより実現されてもよいし、2台以上のコンピュータにより実現されてもよい。さらに、サーバ2の機能のうちの少なくとも一部は、クラウド環境により提供されるHW(Hardware)リソース及びNW(Network)リソースを用いて実現されてもよい。
[1-5] Hardware Configuration Example The
図27は、サーバ2の機能を実現するコンピュータ10のハードウェア(HW)構成例を示すブロック図である。サーバ2の機能を実現するHWリソースとして、複数のコンピュータが用いられる場合は、各コンピュータが図27に例示するHW構成を備えてよい。
FIG. 27 is a block diagram showing a hardware (HW) configuration example of the
図27に示すように、コンピュータ10は、HW構成として、例示的に、プロセッサ10a、メモリ10b、記憶部10c、IF(Interface)部10d、IO(Input / Output)部10e、及び読取部10fを備えてよい。
As shown in FIG. 27, the
プロセッサ10aは、種々の制御や演算を行なう演算処理装置の一例である。プロセッサ10aは、コンピュータ10内の各ブロックとバス10iで相互に通信可能に接続されてよい。なお、プロセッサ10aは、複数のプロセッサを含むマルチプロセッサであってもよいし、複数のプロセッサコアを有するマルチコアプロセッサであってもよく、或いは、マルチコアプロセッサを複数有する構成であってもよい。
The
プロセッサ10aとしては、例えば、CPU、MPU、GPU、APU、DSP、ASIC、FPGA等の集積回路(IC;Integrated Circuit)が挙げられる。なお、プロセッサ10aとして、これらの集積回路の2以上の組み合わせが用いられてもよい。CPUはCentral Processing Unitの略称であり、MPUはMicro Processing Unitの略称である。GPUはGraphics Processing Unitの略称であり、APUはAccelerated Processing Unitの略称である。DSPはDigital Signal Processorの略称であり、ASICはApplication Specific ICの略称であり、FPGAはField-Programmable Gate Arrayの略称である。
Examples of the
メモリ10bは、種々のデータやプログラム等の情報を格納するHWの一例である。メモリ10bとしては、例えばDRAM(Dynamic Random Access Memory)等の揮発性メモリ、及び、PM(Persistent Memory)等の不揮発性メモリ、の一方又は双方が挙げられる。
The
記憶部10cは、種々のデータやプログラム等の情報を格納するHWの一例である。記憶部10cとしては、HDD(Hard Disk Drive)等の磁気ディスク装置、SSD(Solid State Drive)等の半導体ドライブ装置、不揮発性メモリ等の各種記憶装置が挙げられる。不揮発性メモリとしては、例えば、フラッシュメモリ、SCM(Storage Class Memory)、ROM(Read Only Memory)等が挙げられる。 The storage unit 10c is an example of HW that stores information such as various data and programs. Examples of the storage unit 10c include magnetic disk devices such as HDDs (Hard Disk Drives), semiconductor drive devices such as SSDs (Solid State Drives), and various storage devices such as nonvolatile memories. Examples of nonvolatile memory include flash memory, SCM (Storage Class Memory), ROM (Read Only Memory), and the like.
図2に示すメモリ部21は、メモリ10b及び記憶部10cの少なくとも一方の記憶領域により実現されてよい。換言すれば、図2に示す各情報21a~21fは、メモリ10b及び記憶部10cの少なくとも一方の記憶領域に格納されてよい。
The
また、記憶部10cは、コンピュータ10の各種機能の全部若しくは一部を実現するプログラム10g(表示プログラム)を格納してよい。
Further, the storage unit 10c may store a program 10g (display program) that implements all or part of various functions of the
例えば、サーバ2のプロセッサ10aは、記憶部10cに格納されたプログラム10gをメモリ10bに展開して実行することにより、図2に例示するサーバ2(例えばブロック22~27)としての機能を実現できる。
For example, the
IF部10dは、ネットワークとの間の接続及び通信の制御等を行なう通信IFの一例である。例えば、IF部10dは、イーサネット(登録商標)等のLAN(Local Area Network)、或いは、FC(Fibre Channel)等の光通信等に準拠したアダプタを含んでよい。当該アダプタは、無線及び有線の一方又は双方の通信方式に対応してよい。
The
例えば、サーバ2は、IF部10dを介して、端末装置3等のコンピュータと相互に通信可能に接続されてよい。例えば、入力制御部22は、ネットワーク経由で端末装置3から粒子情報21a及び操作情報を取得してもよい。また、表示制御部23は、ネットワーク経由で端末装置3に表示情報を出力(送信)してもよい。さらに、プログラム10gは、当該通信IFを介して、ネットワークからコンピュータ10にダウンロードされ、記憶部10cに格納されてもよい。
For example, the
IO部10eは、入力装置、及び、出力装置、の一方又は双方を含んでよい。入力装置としては、例えば、キーボード、マウス、タッチパネル等が挙げられる。出力装置としては、例えば、モニタ、プロジェクタ、プリンタ等が挙げられる。例えば、図2に示す入力制御部22は、IO部10eの入力装置を介して粒子情報21a及び操作情報のうちの一方又は双方を取得してもよい。また、例えば、図2に示す表示制御部23は、IO部10eの出力装置に表示情報を出力し表示させてもよい。
The
読取部10fは、記録媒体10hに記録されたデータやプログラムの情報を読み出すリーダの一例である。読取部10fは、記録媒体10hを接続可能又は挿入可能な接続端子又は装置を含んでよい。読取部10fとしては、例えば、USB(Universal Serial Bus)等に準拠したアダプタ、記録ディスクへのアクセスを行なうドライブ装置、SDカード等のフラッシュメモリへのアクセスを行なうカードリーダ等が挙げられる。なお、記録媒体10hにはプログラム10gが格納されてもよく、読取部10fが記録媒体10hからプログラム10gを読み出して記憶部10cに格納してもよい。
The
記録媒体10hとしては、例示的に、磁気/光ディスクやフラッシュメモリ等の非一時的なコンピュータ読取可能な記録媒体が挙げられる。磁気/光ディスクとしては、例示的に、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク、HVD(Holographic Versatile Disc)等が挙げられる。フラッシュメモリとしては、例示的に、USBメモリやSDカード等の半導体メモリが挙げられる。
Examples of the
上述したコンピュータ10のHW構成は例示である。従って、コンピュータ10内でのHWの増減(例えば任意のブロックの追加や削除)、分割、任意の組み合わせでの統合、又は、バスの追加若しくは削除等は適宜行なわれてもよい。例えば、サーバ2において、IO部10e及び読取部10fの少なくとも一方は、省略されてもよい。
The HW configuration of the
なお、図2に示す端末装置3は、図27に例示するコンピュータ10と同様のHW構成を備えてもよい。
Note that the
〔2〕その他
上述した一実施形態に係る技術は、以下のように変形、変更して実施することができる。
[2] Others The technique according to the embodiment described above can be modified and changed as follows.
例えば、図2に示すサーバ2が備える入力制御部22、表示制御部23、選択粒子取得部24、面生成部25、グループ化処理部26、及び、粒子探索部27は、任意の組み合わせで併合してもよく、それぞれ分割してもよい。
For example, the
また、図2に示すメモリ部21が記憶する粒子情報21a、選択済粒子情報21b、頂点情報21c、面情報21d、グループ面情報21e、及び、表面粒子情報21fは、任意の組み合わせで併合した情報であってもよく、それぞれ分割した情報であってもよい。
The
また、図2に示すサーバ2は、複数の装置がネットワークを介して互いに連携することにより、各処理機能を実現する構成(システム)であってもよい。一例として、メモリ部21はDBサーバ、選択粒子取得部24、面生成部25、グループ化処理部26及び粒子探索部27はアプリケーションサーバ、入力制御部22及び表示制御部23はwebサーバ等であってもよい。この場合、DBサーバ、アプリケーションサーバ及びwebサーバが、ネットワークを介して互いに連携することにより、サーバ2としての各処理機能を実現してもよい。
Further, the
〔3〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
[3] Supplementary Note The following Supplementary Note will be disclosed with respect to the above embodiment.
(付記1)
点群を含むモデルを表示し、
第1の入力に応じて、前記点群のうちの第1の複数の点を特定し、
前記第1の複数の点に基づいて、前記モデルの表面に対応する複数の面を生成し、
第2の入力に応じて、前記第1の複数の点のうちの、前記複数の面に含まれる第1の面から閾値以下の距離にある第2の複数の点を選択状態にする、
処理をコンピュータに実行させる、表示プログラム。
(Appendix 1)
display the model containing the point cloud,
identifying a first plurality of points of the point cloud in response to a first input;
generating a plurality of surfaces corresponding to the surface of the model based on the first plurality of points;
responsive to a second input, selecting a second plurality of points of the first plurality of points that are at a distance equal to or less than a threshold from a first plane included in the plurality of planes;
A display program that causes a computer to perform processing.
(付記2)
前記複数の面を生成する処理は、前記第1の複数の点により表わされる部分モデルであって前記モデルのうちの一部である前記部分モデルの表面を、前記表面に含まれる複数の単位面の向きに基づき分割することで、前記複数の面を生成する処理を含む、
付記1に記載の表示プログラム。
(Appendix 2)
The processing for generating the plurality of surfaces includes forming a surface of the partial model, which is a partial model represented by the first plurality of points and which is a part of the model, into a plurality of unit surfaces included in the surface. including a process of generating the plurality of faces by dividing based on the orientation of
The display program according to
(付記3)
前記複数の面を生成する処理は、前記複数の単位面のうちの、互いに隣接する2つの単位面の法線ベクトル間の角度が角度閾値以下であるか否かに応じて、前記2つの単位面を同一の面に含めるか互いに異なる面に含めるかを判定する処理を含む、
付記2に記載の表示プログラム。
(Appendix 3)
In the process of generating the plurality of planes, the two unit planes are divided according to whether an angle between normal vectors of two unit planes adjacent to each other among the plurality of unit planes is equal to or less than an angle threshold. Including the process of determining whether the faces are included in the same face or in different faces,
The display program according to
(付記4)
前記複数の面を生成する処理は、前記複数の単位面のうちの、前記法線ベクトル間の角度が前記角度閾値以下である互いに隣接する2つの単位面を同一の面に含め、前記法線ベクトル間の角度が前記角度閾値よりも大きい互いに隣接する2つの単位面を互いに異なる面に含める処理を含む、
付記3に記載の表示プログラム。
(Appendix 4)
The process of generating the plurality of planes includes, among the plurality of unit planes, including two adjacent unit planes having an angle between the normal vectors equal to or less than the angle threshold in the same plane, and including a process of including two adjacent unit planes in which the angle between the vectors is greater than the angle threshold in different planes;
A display program according to
(付記5)
前記第2の入力は、前記第1の面を示す情報を含み、
前記第2の複数の点を選択状態にする処理は、
前記第1の複数の点から、前記第1の面と前記第1の複数の点の各々との間の距離が前記閾値以下の距離にある前記第2の複数の点を抽出し、
前記モデルにおいて前記第2の複数の点を選択状態にした表示情報を出力する、処理を含む、
付記1~付記4のいずれか1項に記載の表示プログラム。
(Appendix 5)
the second input includes information indicative of the first face;
The process of placing the second plurality of points in a selected state includes:
extracting, from the first plurality of points, the second plurality of points where the distance between the first surface and each of the first plurality of points is equal to or less than the threshold;
outputting display information in which the second plurality of points in the model are selected;
The display program according to any one of
(付記6)
前記第1の入力は、前記モデルのうちの所定の領域範囲を示す情報を含み、
前記第1の複数の点を特定する処理は、前記点群のうちの、前記モデルにおける前記所定の領域範囲に含まれる前記第1の複数の点を特定する処理を含む、
付記1~付記5のいずれか1項に記載の表示プログラム。
(Appendix 6)
the first input includes information indicative of a predetermined region extent of the model;
The process of identifying the first plurality of points includes a process of identifying the first plurality of points included in the predetermined area range in the model, out of the point group.
The display program according to any one of
(付記7)
点群を含むモデルを表示し、
第1の入力に応じて、前記点群のうちの第1の複数の点を特定し、
前記第1の複数の点に基づいて、前記モデルの表面に対応する複数の面を生成し、
第2の入力に応じて、前記第1の複数の点のうちの、前記複数の面に含まれる第1の面から閾値以下の距離にある第2の複数の点を選択状態にする、
処理をコンピュータが実行する、表示方法。
(Appendix 7)
display the model containing the point cloud,
identifying a first plurality of points of the point cloud in response to a first input;
generating a plurality of surfaces corresponding to the surface of the model based on the first plurality of points;
responsive to a second input, selecting a second plurality of points of the first plurality of points that are at a distance equal to or less than a threshold from a first plane included in the plurality of planes;
A display method in which processing is performed by a computer.
(付記8)
前記複数の面を生成する処理は、前記第1の複数の点により表わされる部分モデルであって前記モデルのうちの一部である前記部分モデルの表面を、前記表面に含まれる複数の単位面の向きに基づき分割することで、前記複数の面を生成する処理を含む、
付記7に記載の表示方法。
(Appendix 8)
The processing for generating the plurality of surfaces includes forming a surface of the partial model, which is a partial model represented by the first plurality of points and which is a part of the model, into a plurality of unit surfaces included in the surface. including a process of generating the plurality of faces by dividing based on the orientation of
The display method according to appendix 7.
(付記9)
前記複数の面を生成する処理は、前記複数の単位面のうちの、互いに隣接する2つの単位面の法線ベクトル間の角度が角度閾値以下であるか否かに応じて、前記2つの単位面を同一の面に含めるか互いに異なる面に含めるかを判定する処理を含む、
付記8に記載の表示方法。
(Appendix 9)
In the process of generating the plurality of planes, the two unit planes are divided according to whether an angle between normal vectors of two unit planes adjacent to each other among the plurality of unit planes is equal to or less than an angle threshold. Including the process of determining whether the faces are included in the same face or in different faces,
The display method according to
(付記10)
前記複数の面を生成する処理は、前記複数の単位面のうちの、前記法線ベクトル間の角度が前記角度閾値以下である互いに隣接する2つの単位面を同一の面に含め、前記法線ベクトル間の角度が前記角度閾値よりも大きい互いに隣接する2つの単位面を互いに異なる面に含める処理を含む、
付記9に記載の表示方法。
(Appendix 10)
The process of generating the plurality of planes includes, among the plurality of unit planes, including two adjacent unit planes having an angle between the normal vectors equal to or less than the angle threshold in the same plane, and including a process of including two adjacent unit planes in which the angle between the vectors is greater than the angle threshold in different planes;
The display method according to appendix 9.
(付記11)
前記第2の入力は、前記第1の面を示す情報を含み、
前記第2の複数の点を選択状態にする処理は、
前記第1の複数の点から、前記第1の面と前記第1の複数の点の各々との間の距離が前記閾値以下の距離にある前記第2の複数の点を抽出し、
前記モデルにおいて前記第2の複数の点を選択状態にした表示情報を出力する、処理を含む、
付記7~付記10のいずれか1項に記載の表示方法。
(Appendix 11)
the second input includes information indicative of the first face;
The process of placing the second plurality of points in a selected state includes:
extracting, from the first plurality of points, the second plurality of points where the distance between the first surface and each of the first plurality of points is equal to or less than the threshold;
outputting display information in which the second plurality of points in the model are selected;
The display method according to any one of appendices 7 to 10.
(付記12)
前記第1の入力は、前記モデルのうちの所定の領域範囲を示す情報を含み、
前記第1の複数の点を特定する処理は、前記点群のうちの、前記モデルにおける前記所定の領域範囲に含まれる前記第1の複数の点を特定する処理を含む、
付記7~付記11のいずれか1項に記載の表示方法。
(Appendix 12)
the first input includes information indicative of a predetermined region extent of the model;
The process of identifying the first plurality of points includes a process of identifying the first plurality of points included in the predetermined area range in the model, out of the point group.
The display method according to any one of appendices 7 to 11.
(付記13)
点群を含むモデルを表示し、
第1の入力に応じて、前記点群のうちの第1の複数の点を特定し、
前記第1の複数の点に基づいて、前記モデルの表面に対応する複数の面を生成し、
第2の入力に応じて、前記第1の複数の点のうちの、前記複数の面に含まれる第1の面から閾値以下の距離にある第2の複数の点を選択状態にする、制御部を備える、
情報処理装置。
(Appendix 13)
display the model containing the point cloud,
identifying a first plurality of points of the point cloud in response to a first input;
generating a plurality of surfaces corresponding to the surface of the model based on the first plurality of points;
A control that selects, in response to a second input, a second plurality of points, among the first plurality of points, that are at a distance equal to or less than a threshold from a first plane included in the plurality of planes. having a department,
Information processing equipment.
(付記14)
前記制御部は、前記複数の面を生成する処理において、前記第1の複数の点により表わされる部分モデルであって前記モデルのうちの一部である前記部分モデルの表面を、前記表面に含まれる複数の単位面の向きに基づき分割することで、前記複数の面を生成する、
付記13に記載の情報処理装置。
(Appendix 14)
In the process of generating the plurality of surfaces, the control unit may include a surface of the partial model represented by the first plurality of points, which is a part of the model, in the surface. generating the plurality of unit faces by dividing based on the orientation of the plurality of unit faces;
13. The information processing device according to
(付記15)
前記制御部は、前記複数の面を生成する処理において、前記複数の単位面のうちの、互いに隣接する2つの単位面の法線ベクトル間の角度が角度閾値以下であるか否かに応じて、前記2つの単位面を同一の面に含めるか互いに異なる面に含めるかを判定する、
付記14に記載の情報処理装置。
(Appendix 15)
In the process of generating the plurality of planes, the control unit performs , determining whether the two unit faces are included in the same face or in different faces;
15. The information processing device according to
(付記16)
前記制御部は、前記複数の面を生成する処理において、前記複数の単位面のうちの、前記法線ベクトル間の角度が前記角度閾値以下である互いに隣接する2つの単位面を同一の面に含め、前記法線ベクトル間の角度が前記角度閾値よりも大きい互いに隣接する2つの単位面を互いに異なる面に含める、
付記15に記載の情報処理装置。
(Appendix 16)
In the process of generating the plurality of planes, the control unit converts, among the plurality of unit planes, two adjacent unit planes having an angle between the normal vectors equal to or smaller than the angle threshold to the same plane. including two mutually adjacent unit faces in which the angle between the normal vectors is greater than the angle threshold as different faces;
16. The information processing device according to
(付記17)
前記第2の入力は、前記第1の面を示す情報を含み、
前記制御部は、前記第2の複数の点を選択状態にする処理において、
前記第1の複数の点から、前記第1の面と前記第1の複数の点の各々との間の距離が前記閾値以下の距離にある前記第2の複数の点を抽出し、
前記モデルにおいて前記第2の複数の点を選択状態にした表示情報を出力する、
付記13~付記16のいずれか1項に記載の情報処理装置。
(Appendix 17)
the second input includes information indicative of the first face;
The control unit, in the process of setting the second plurality of points to a selected state,
extracting, from the first plurality of points, the second plurality of points where the distance between the first surface and each of the first plurality of points is equal to or less than the threshold;
outputting display information in which the second plurality of points in the model are in a selected state;
The information processing apparatus according to any one of
(付記18)
前記第1の入力は、前記モデルのうちの所定の領域範囲を示す情報を含み、
前記制御部は、前記第1の複数の点を特定する処理において、前記点群のうちの、前記モデルにおける前記所定の領域範囲に含まれる前記第1の複数の点を特定する、
付記13~付記17のいずれか1項に記載の情報処理装置。
(Appendix 18)
the first input includes information indicative of a predetermined region extent of the model;
wherein, in the process of specifying the first plurality of points, the control unit specifies the first plurality of points included in the predetermined area range in the model, out of the point group;
The information processing apparatus according to any one of
1 システム
11 解析モデル
12 矩形領域
13 部分モデル
14~16 グループ面
17 粒子
18 表面粒子
19 選択状態
2 サーバ
20 制御部
21 メモリ部
21a 粒子情報
21b 選択済粒子情報
21c 頂点情報
21d 面情報
21e グループ面情報
21f 表面粒子情報
211 粒子データ
212 頂点データ
213 面データ
214 単位面
215 グループテーブル
22 入力制御部
23 表示制御部
24 選択粒子取得部
25 面生成部
26 グループ化処理部
27 粒子探索部
3 端末装置
1
Claims (8)
第1の入力に応じて、前記点群のうちの第1の複数の点を特定し、
前記第1の複数の点に基づいて、前記モデルの表面に対応する複数の面を生成し、
第2の入力に応じて、前記第1の複数の点のうちの、前記複数の面に含まれる第1の面から閾値以下の距離にある第2の複数の点を選択状態にする、
処理をコンピュータに実行させる、表示プログラム。 display the model containing the point cloud,
identifying a first plurality of points of the point cloud in response to a first input;
generating a plurality of surfaces corresponding to the surface of the model based on the first plurality of points;
responsive to a second input, selecting a second plurality of points of the first plurality of points that are at a distance equal to or less than a threshold from a first plane included in the plurality of planes;
A display program that causes a computer to perform processing.
請求項1に記載の表示プログラム。 The processing for generating the plurality of surfaces includes forming a surface of the partial model, which is a partial model represented by the first plurality of points and which is a part of the model, into a plurality of unit surfaces included in the surface. including a process of generating the plurality of faces by dividing based on the orientation of
The display program according to claim 1.
請求項2に記載の表示プログラム。 In the process of generating the plurality of planes, the two unit planes are divided according to whether an angle between normal vectors of two unit planes adjacent to each other among the plurality of unit planes is equal to or less than an angle threshold. Including the process of determining whether the faces are included in the same face or in different faces,
The display program according to claim 2.
請求項3に記載の表示プログラム。 The process of generating the plurality of planes includes, among the plurality of unit planes, including two adjacent unit planes having an angle between the normal vectors equal to or less than the angle threshold in the same plane, and including a process of including two adjacent unit planes in which the angle between the vectors is greater than the angle threshold in different planes;
The display program according to claim 3.
前記第2の複数の点を選択状態にする処理は、
前記第1の複数の点から、前記第1の面と前記第1の複数の点の各々との間の距離が前記閾値以下の距離にある前記第2の複数の点を抽出し、
前記モデルにおいて前記第2の複数の点を選択状態にした表示情報を出力する、処理を含む、
請求項1~請求項4のいずれか1項に記載の表示プログラム。 the second input includes information indicative of the first face;
The process of placing the second plurality of points in a selected state includes:
extracting, from the first plurality of points, the second plurality of points where the distance between the first surface and each of the first plurality of points is equal to or less than the threshold;
outputting display information in which the second plurality of points in the model are selected;
The display program according to any one of claims 1 to 4.
前記第1の複数の点を特定する処理は、前記点群のうちの、前記モデルにおける前記所定の領域範囲に含まれる前記第1の複数の点を特定する処理を含む、
請求項1~請求項5のいずれか1項に記載の表示プログラム。 the first input includes information indicative of a predetermined region extent of the model;
The process of identifying the first plurality of points includes a process of identifying the first plurality of points included in the predetermined area range in the model, out of the point group.
The display program according to any one of claims 1 to 5.
第1の入力に応じて、前記点群のうちの第1の複数の点を特定し、
前記第1の複数の点に基づいて、前記モデルの表面に対応する複数の面を生成し、
第2の入力に応じて、前記第1の複数の点のうちの、前記複数の面に含まれる第1の面から閾値以下の距離にある第2の複数の点を選択状態にする、
処理をコンピュータが実行する、表示方法。 display the model containing the point cloud,
identifying a first plurality of points of the point cloud in response to a first input;
generating a plurality of surfaces corresponding to the surface of the model based on the first plurality of points;
responsive to a second input, selecting a second plurality of points of the first plurality of points that are at a distance equal to or less than a threshold from a first plane included in the plurality of planes;
A display method in which processing is performed by a computer.
第1の入力に応じて、前記点群のうちの第1の複数の点を特定し、
前記第1の複数の点に基づいて、前記モデルの表面に対応する複数の面を生成し、
第2の入力に応じて、前記第1の複数の点のうちの、前記複数の面に含まれる第1の面から閾値以下の距離にある第2の複数の点を選択状態にする、制御部を備える、
情報処理装置。 display the model containing the point cloud,
identifying a first plurality of points of the point cloud in response to a first input;
generating a plurality of surfaces corresponding to the surface of the model based on the first plurality of points;
A control that selects a second plurality of points at a distance equal to or less than a threshold from a first plane included in the plurality of planes in response to a second input. having a department,
Information processing equipment.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021034220A JP2022134806A (en) | 2021-03-04 | 2021-03-04 | Display program, display method, and information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021034220A JP2022134806A (en) | 2021-03-04 | 2021-03-04 | Display program, display method, and information processing device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022134806A true JP2022134806A (en) | 2022-09-15 |
Family
ID=83231551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021034220A Pending JP2022134806A (en) | 2021-03-04 | 2021-03-04 | Display program, display method, and information processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2022134806A (en) |
-
2021
- 2021-03-04 JP JP2021034220A patent/JP2022134806A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9928645B2 (en) | Raster-based mesh decimation | |
JP6787661B2 (en) | Simulation of machining of workpieces | |
JP5592011B2 (en) | Multi-scale 3D orientation | |
US10417803B2 (en) | Multiple-pass rendering of a digital three-dimensional model of a structure | |
Cai et al. | Collision detection using axis aligned bounding boxes | |
JP6518517B2 (en) | Point cloud data modeling device | |
Comes et al. | Methodology to create 3D models for augmented reality applications using scanned point clouds | |
Manak et al. | Interactive analysis of Connolly surfaces for various probes | |
JP2015184061A (en) | Extracting device, method, and program | |
JP6253053B2 (en) | Data search device, data search device control method, and data search device control program | |
JP2017168081A (en) | 3d object localization with descriptor | |
CN109983509B (en) | Instant Boolean operation method using geometric surface | |
JP2022134806A (en) | Display program, display method, and information processing device | |
KR102205267B1 (en) | 3D Visualization System and method for time series data | |
KR102179741B1 (en) | Population and contamination estimation method during severe accidents in nuclear power plants | |
US20230145348A1 (en) | Force-directed graph layout | |
de Magalhães et al. | Exact fast parallel intersection of large 3-D triangular meshes | |
JP6915237B2 (en) | Information processing device, simulator result display method, and simulator result display program | |
JP2023007070A (en) | Radio wave propagation simulation system and method of creating radio wave propagation model | |
KR20200058205A (en) | Automated symbolization of 1:25,000 map based on domestic geometric characteristic | |
JP6248228B2 (en) | Drawing creation system and drawing creation method | |
KR102621487B1 (en) | Vr image registration system | |
KR102639050B1 (en) | Vr image content providing ststem | |
Liu et al. | A Flip‐book of Knot Diagrams for Visualizing Surfaces in 4‐Space | |
US12008707B2 (en) | Highly scalable cluster engine for hosting simulations of objects interacting within a space |