JP2014211822A - Contact surface detection system, state change calculation system, connotation determination system, contact surface detection method and program - Google Patents
Contact surface detection system, state change calculation system, connotation determination system, contact surface detection method and program Download PDFInfo
- Publication number
- JP2014211822A JP2014211822A JP2013088767A JP2013088767A JP2014211822A JP 2014211822 A JP2014211822 A JP 2014211822A JP 2013088767 A JP2013088767 A JP 2013088767A JP 2013088767 A JP2013088767 A JP 2013088767A JP 2014211822 A JP2014211822 A JP 2014211822A
- Authority
- JP
- Japan
- Prior art keywords
- polygon
- polyhedron
- unit
- vertices
- vertex
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 83
- 239000013598 vector Substances 0.000 description 67
- 238000000034 method Methods 0.000 description 46
- 238000012545 processing Methods 0.000 description 43
- 238000010586 diagram Methods 0.000 description 18
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 15
- 230000006870 function Effects 0.000 description 8
- 230000032683 aging Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/30—Polynomial surface description
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Geometry (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
Description
本発明は、接触面検出システム、状態変化算出システム、内包判定システム、接触面検出方法およびプログラムに関する。 The present invention relates to a contact surface detection system, a state change calculation system, an inclusion determination system, a contact surface detection method, and a program.
複数の図形の位置関係の判定について、幾つかの技術が提案されている。例えば、特許文献1に記載の隠れ線・隠れ面演算処理方式では、図形のモデルを形成する平面を三角形に分割する。そして、4行4列の行列式演算を用いて、点が、三角形を含む平面よりも内側にあるか外側にあるかの判定や、辺と辺とが交差するか否かの判定を行って、三角形が他の三角形に隠される部分を判定する。
特許文献1では、これにより、複雑な図形同士の干渉性の判断を4行4列の行列式演算により統一的に処理することができる、とされている。
Several techniques have been proposed for determining the positional relationship between a plurality of figures. For example, in the hidden line / hidden surface calculation processing method described in Patent Document 1, a plane forming a figure model is divided into triangles. Then, using a 4 × 4 determinant, it is determined whether the point is inside or outside the plane including the triangle, and whether the side and the side intersect is determined. The part where the triangle is hidden by other triangles is determined.
According to Patent Document 1, this makes it possible to uniformly determine the coherence between complex figures by determinant calculation of 4 rows and 4 columns.
ところで、建築物を構成する個々の部材の経年劣化は、他の建築物との位置関係によって変化し得る。特に、建築物の面と他の建築物の面とが接する場合、部材の経年劣化に影響が生じる。かかる部材の経年劣化の予測では、建築物の前後関係よりも面同士の接触関係が重要となる。
一方、特許文献1に記載の技術は、図形の前後関係に起因する図形同士の干渉に関するものであり、面同士の接触関係の判定に適用した場合、不都合が生じるおそれがある。例えば、特許文献1では、辺と辺との交差を生じない接触関係の判定について十分に示されていない。
By the way, the aging deterioration of each member which comprises a building can change with the positional relationship with another building. In particular, when the surface of the building is in contact with the surface of another building, the aging of the member is affected. In the prediction of the aging deterioration of such a member, the contact relationship between the faces is more important than the context of the building.
On the other hand, the technique described in Patent Document 1 relates to interference between figures caused by the context of figures, and when applied to the determination of contact relation between faces, there is a possibility that inconvenience may occur. For example, Patent Document 1 does not fully show the determination of the contact relationship that does not cause an intersection between sides.
本発明は、このような事情を考慮してなされたものであり、その目的は、面同士の接触関係の判定をより適切に行うことができる接触面検出システム、状態変化算出システム、内包判定システム、接触面検出方法およびプログラムを提供することにある。 The present invention has been made in consideration of such circumstances, and the object thereof is a contact surface detection system, state change calculation system, and inclusion determination system that can more appropriately determine the contact relationship between surfaces. Another object is to provide a contact surface detection method and program.
この発明は上述した課題を解決するためになされたもので、本発明の一態様による接触面検出システムは、第1多面体の頂点の座標データと第2多面体の頂点の座標データとを取得する座標データ取得部と、前記第1多面体を形成する面から第1面を選択し、前記第2多面体を形成する面から第2面を選択する面選択部と、前記第1面を形成する第1多角形の頂点のうち少なくとも1つの頂点が、前記第2面を形成する第2多角形に内包されているか否かを判定する内包判定部と、前記内包判定部の判定結果に応じて、前記第1多面体を形成する面のうち前記第2多面体を形成する面に接する面を検出する接触面検出部と、を具備することを特徴とする。 The present invention has been made to solve the above-described problem, and a contact surface detection system according to an aspect of the present invention is a coordinate system for acquiring coordinate data of vertexes of a first polyhedron and coordinate data of vertexes of a second polyhedron. A data acquisition unit; a surface selection unit that selects a first surface from a surface that forms the first polyhedron; and a second surface that selects a second surface from a surface that forms the second polyhedron; and a first that forms the first surface An inclusion determination unit that determines whether or not at least one vertex of the polygon vertices is included in the second polygon that forms the second surface, and according to the determination result of the inclusion determination unit, And a contact surface detecting unit that detects a surface that contacts the surface that forms the second polyhedron among the surfaces that form the first polyhedron.
また、本発明の他の一態様による接触面検出システムは、上述の接触面検出システムであって、前記内包判定部は、点が凸多角形に内包されるか否かの判定を、当該点と、当該凸多角形の頂点のうち隣り合う2つの頂点の各々とを結ぶ線分と、当該隣り合う2つの頂点を結ぶ辺とで構成される三角形の面積の、当該凸多角形の頂点のうち隣り合う2つの頂点の全ての組み合わせについての合計と、当該凸多角形の面積との比較にて行う面積比較部を具備し、前記第1多角形の頂点のうち少なくとも1つの頂点と、前記第2多角形または当該第2多角形を分割して得られる凸多角形を前記面積比較部に適用して、前記第1多角形の頂点のうち少なくとも1つの頂点が、前記第2多角形に内包されているか否かを判定する、ことを特徴とする。 A contact surface detection system according to another aspect of the present invention is the above-described contact surface detection system, wherein the inclusion determination unit determines whether or not a point is included in a convex polygon. And a vertex of the convex polygon having an area of a triangle composed of a line segment connecting each of the two adjacent vertices of the vertex of the convex polygon and a side connecting the two adjacent vertices. An area comparison unit that performs comparison between the total of all the combinations of two adjacent vertices and the area of the convex polygon, and at least one of the vertices of the first polygon; A second polygon or a convex polygon obtained by dividing the second polygon is applied to the area comparison unit, and at least one vertex of the first polygon is changed to the second polygon. It is characterized by determining whether it is included or not.
また、本発明の他の一態様による接触面検出システムは、上述の接触面検出システムであって、前記第2多角形を、当該第2多角形の1つの頂点と、当該頂点と隣り合う頂点以外の各頂点とを結ぶ線分にて三角形に分割する分割部を具備し、前記内包判定部は、前記第1多角形の頂点のうち少なくとも1つの頂点と、前記分割部の分割にて得られる三角形のうち少なくとも1つの三角形とを前記面積比較部に適用して、前記第1多角形の頂点のうち少なくとも1つの頂点が、前記第2多角形に内包されているか否かを判定する、ことを特徴とする。 A contact surface detection system according to another aspect of the present invention is the above-described contact surface detection system, wherein the second polygon includes one vertex of the second polygon and a vertex adjacent to the vertex. A division unit that divides the triangles into line segments that connect each other vertex, and the inclusion determination unit is obtained by dividing the at least one vertex among the vertices of the first polygon and the division unit. Applying at least one of the triangles to the area comparing unit to determine whether at least one vertex of the first polygon is included in the second polygon; It is characterized by that.
また、本発明の他の一態様による接触面検出システムは、上述の接触面検出システムであって、前記第1多角形の辺と前記第2多角形の辺とが交差するか否かを判定する交差判定部を具備し、前記接触面検出部は、前記内包判定部の判定結果と前記交差判定部の判定結果とに応じて、前記第1多面体を形成する面のうち前記第2多面体を形成する面に接する面を検出する、ことを特徴とする。 A contact surface detection system according to another aspect of the present invention is the contact surface detection system described above, and determines whether or not the side of the first polygon intersects the side of the second polygon. And the contact surface detection unit determines the second polyhedron among the surfaces forming the first polyhedron according to the determination result of the inclusion determination unit and the determination result of the intersection determination unit. It is characterized by detecting a surface in contact with the surface to be formed.
また、本発明の他の一態様による状態変化算出システムは、第1構造物の形状に対応した第1多面体と第2構造物の形状に対応した第2多面体とについて、前記第1多面体を形成する面のうち前記第2多面体を形成する面に接する面を検出する請求項1から4のいずれか一項に記載の接触面検出システムと、前記接触面検出システムが検出した接触状況に基づいて、前記第1構造物または前記第2構造物の少なくとも一部について、当該構造物を構成する部材の経時的な状態変化を算出する状態変化算出部と、を具備することを特徴とする。 The state change calculation system according to another aspect of the present invention forms the first polyhedron for a first polyhedron corresponding to the shape of the first structure and a second polyhedron corresponding to the shape of the second structure. The surface which contacts the surface which forms the said 2nd polyhedron among the surfaces to perform is detected based on the contact condition which the contact surface detection system as described in any one of Claim 1 to 4 and the said contact surface detection system detected A state change calculating unit that calculates a change in state of a member of the first structure or the second structure over time, at least a part of the first structure or the second structure;
また、本発明の他の一態様による内包判定システムは、ある点の座標データと多角形の頂点の座標データとを取得する座標データ取得部と、前記ある点と、前記多角形の頂点のうち隣り合う2つの頂点の各々とを結ぶ線分と、当該隣り合う2つの頂点を結ぶ辺とで構成される三角形の面積の、前記多角形の頂点のうち隣り合う2つの頂点の全ての組み合わせについての合計と、前記多角形の面積とが等しいか否かを判定し、判定結果に応じて、前記ある点が、前記多角形に内包されているか否かを判定する内包判定部と、を具備することを特徴とする。 Further, an inclusion determination system according to another aspect of the present invention includes a coordinate data acquisition unit that acquires coordinate data of a certain point and coordinate data of a vertex of the polygon, the certain point, and the vertex of the polygon About all combinations of two adjacent vertices of the polygonal vertices of a triangular area composed of a line segment connecting each of two adjacent vertices and an edge connecting the two adjacent vertices An inclusion determination unit that determines whether or not the total of the polygon and the area of the polygon are equal, and determines whether the certain point is included in the polygon according to a determination result. It is characterized by doing.
また、本発明の他の一態様による接触面検出方法は、接触面検出システムの接触面検出方法であって、第1多面体の頂点の座標データと第2多面体の頂点の座標データとを取得する座標データ取得ステップと、前記第1多面体を形成する面から第1面を選択し、前記第2多面体を形成する面から第2面を選択する面選択ステップと、前記第1面を形成する第1多角形の頂点のうち少なくとも1つの頂点が、前記第2面を形成する第2多角形に内包されているか否かを判定する内包判定ステップと、前記内包判定ステップでの判定結果に応じて、前記第1多面体を形成する面のうち前記第2多面体を形成する面に接する面を検出する接触面検出ステップと、を具備することを特徴とする。 A contact surface detection method according to another aspect of the present invention is a contact surface detection method of a contact surface detection system, and acquires coordinate data of vertexes of a first polyhedron and coordinate data of vertices of a second polyhedron. A coordinate data acquisition step, a surface selection step of selecting a first surface from the surfaces forming the first polyhedron, selecting a second surface from the surfaces forming the second polyhedron, and a first surface forming the first surface. According to an inclusion determination step for determining whether or not at least one vertex of one polygon vertex is included in the second polygon forming the second surface, and according to a determination result in the inclusion determination step And a contact surface detecting step of detecting a surface in contact with a surface forming the second polyhedron among surfaces forming the first polyhedron.
また、本発明の他の一態様によるプログラムは、接触面検出システムが備えるコンピュータに、第1多面体の頂点の座標データと第2多面体の頂点の座標データとを取得する座標データ取得ステップと、前記第1多面体を形成する面から第1面を選択し、前記第2多面体を形成する面から第2面を選択する面選択ステップと、前記第1面を形成する第1多角形の頂点のうち少なくとも1つの頂点が、前記第2面を形成する第2多角形に内包されているか否かを判定する内包判定ステップと、前記内包判定ステップでの判定結果に応じて、前記第1多面体を形成する面のうち前記第2多面体を形成する面に接する面を検出する接触面検出ステップと、を実行させるためのプログラムである。 According to another aspect of the present invention, there is provided a program according to another aspect of the present invention, wherein a computer provided in a contact surface detection system acquires coordinate data of vertexes of a first polyhedron and coordinate data of vertexes of a second polyhedron, A surface selection step of selecting a first surface from the surfaces forming the first polyhedron and selecting a second surface from the surfaces forming the second polyhedron, and a vertex of the first polygon forming the first surface Forming the first polyhedron according to an inclusion determination step for determining whether or not at least one vertex is included in the second polygon forming the second surface, and a determination result in the inclusion determination step And a contact surface detecting step for detecting a surface in contact with a surface forming the second polyhedron among the surfaces to be performed.
この発明によれば、面同士の接触関係の判定をより適切に行うことができる。 According to this invention, it is possible to more appropriately determine the contact relationship between surfaces.
<第1の実施形態>
以下、図面を参照して、本発明の実施の形態について説明する。
図1は、本発明の第1の実施形態における接触面検出システムの機能構成を示す概略ブロック図である。同図において、接触面検出システム10は、座標データ取得部110と、分割部120と、面選択部130と、接触面検出部140と、結果出力部150とを具備する。接触面検出部140は、内包判定部141と、交差判定部143とを具備する。内包判定部141は、面積比較部142を具備する。
<First Embodiment>
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a schematic block diagram showing a functional configuration of a contact surface detection system according to the first embodiment of the present invention. In FIG. 1, the contact
接触面検出システム10は、例えば複数の建築物のモデルなど、複数の多面体における接触面を検出する。
座標データ取得部110は、複数の多面体の頂点の座標データを取得する。例えば、座標データ取得部110は、建築物のモデルとしての多面体の頂点の座標データを、CAD(Computer Aided Design)データまたはBIM(Building Information Modeling)データにて取得する。
The contact
The coordinate
図2は、座標データ取得部110がデータを取得する多面体の例を示す説明図である。同図に示す例では、直方体ABCD−EFGHと、直方体abcd−efghとが示されている。座標データ取得部110は、これら直方体の各頂点の座標データを取得する。また、図2の例において、面ABCDの一部と、面abcdの一部とが接している。
以下では、座標データ取得部110がデータを取得する多面体のうち2つを、ぞれぞれ、第1多面体、第2多面体と表記する。従って、座標データ取得部110は、第1多面体の頂点の座標データと第2多面体の頂点の座標データとを取得する。
なお、座標データ取得部110がデータを取得する多面体は直方体に限らない。従って、第1多面体、第2多面体のいずれも直方体に限らない。
FIG. 2 is an explanatory diagram illustrating an example of a polyhedron from which the coordinate
Hereinafter, two of the polyhedrons from which the coordinate
The polyhedron from which the coordinate
分割部120は、座標データ取得部110がデータを取得した多面体の面を形成する多角形の各々を、当該多角形の1つの頂点と、当該頂点と隣り合う頂点以外の各頂点とを結ぶ線分(対角線)にて三角形に分割する。分割部120が分割する多角形には、後述する面選択部130が選択する第2面を形成する第2多角形が含まれる。従って、分割部120は、第2多角形を、当該第2多角形の1つの頂点と、当該頂点と隣り合う頂点以外の各頂点とを結ぶ線分にて三角形に分割する。
The dividing
図3は、分割部120が行う多角形の分割の例を示す説明図である。同図の例において、分割部120は、長方形ABCDを対角線ACにて三角形ABCと三角形ACDとに分割している。
なお、分割部120が行う多角形の分割は、多角形の辺と交差しない線分にて多角形を三角形に分割するものであればよい。従って、分割部120が、多角形の1つの頂点と、当該頂点と隣り合う頂点以外の各頂点とを結ぶ線分以外の線分を用いて多角形の分割を行うようにしてもよい。例えば、分割対象の多角形が複雑な形状の凹多角形である場合、分割部120が、多角形の辺と交差しない任意の対角線にて多角形を分割する処理を、分割にて得られる図形が全て三角形になるまで繰り返すようにしてもよい。
FIG. 3 is an explanatory diagram illustrating an example of polygonal division performed by the dividing
The polygon division performed by the dividing
一方、分割部120が1つの頂点と、当該頂点と隣り合う頂点以外の各頂点とを結ぶ対角線にて三角形を分割することで、対角線同士の交差を回避することができ、分割にて得られる三角形の数の増大を防止することができる。また、分割部120が1つの頂点と、当該頂点と隣り合う頂点以外の各頂点とを結ぶ対角線にて三角形を分割することで、分割に用いる線分が明確になり、分割部120の行う処理の自動化が容易になる。
On the other hand, when the
面選択部130は、第1多面体を形成する面から第1面を選択し、第2多面体を形成する面から第2面を選択する。具体的には、面選択部130は、第1多面体を形成する各面、および、第2多面体を形成する各面から、同一平面に含まれる面を検出する。例えば、面選択部130は、各多角形を形成する各面の3つの頂点を通る平面の方程式の係数を求め、得られた方程式の係数を比較することで、同一平面に含まれる三角形を検出する。面選択部130が平面の方程式を求める手法として、当該平面の単位法線ベクトルを算出して方程式の係数を求める方法など、公知の方法を用いることができる。
以下では、面選択部130が選択する第1面を形成する多角形を第1多角形と表記し、面選択部130が選択する第2面を形成する多角形を第2多角形と表記する。
The
Hereinafter, the polygon forming the first surface selected by the
図4は、面選択部130が選択する面の例を示す説明図である。同図では、図2の例における直方体ABCD−EFGHと、直方体abcd−efghとが示されており、さらに平面P11が示されている。
図4の例において、図2の場合と同様に、長方形ABCDと長方形abcdとは同一平面上にある。具体的には、長方形ABCDと長方形abcdとは、いずれも平面P11に含まれている。面選択部130は、同一平面上にある長方形ABCDと長方形abcdとを選択する。なお、上記のように面ABCDの一部と、面abcdの一部とが接している。
FIG. 4 is an explanatory diagram illustrating an example of a surface selected by the
In the example of FIG. 4, as in the case of FIG. 2, the rectangle ABCD and the rectangle abcd are on the same plane. Specifically, the rectangle ABCD and the rectangle abcd are both included in the plane P11. The
図5は、面選択部130が選択する面の、もう1つの例を示す説明図である。同図では、直方体ABCD−EFGHと、直方体イロハニ−ホヘトチと、平面P11とが示されている。直方体ABCD−EFGHと平面P11とは、図4の例に示すものと同一である。
図5の例において、長方形ABCDと長方形イロハニとは同一平面上にある。具体的には、長方形ABCDと長方形イロハニとは、いずれも平面P11に含まれている。面選択部130は、同一平面上にある長方形ABCDと長方形イロハニとを選択する。なお、図5の例の長方形ABCDと長方形イロハニとは、互いに接してはいない。
FIG. 5 is an explanatory diagram illustrating another example of the surface selected by the
In the example of FIG. 5, the rectangle ABCD and the rectangle Irohani are on the same plane. Specifically, the rectangle ABCD and the rectangle Irohani are both included in the plane P11. The
このように、面選択部130が選択する面には、互いに接していない面が含まれる。そこで、接触面検出部140が、面選択部130の選択した面のうち、互いに接している面を検出する。
具体的には、接触面検出部140は、面選択部130が選択した第1面と第2面について、分割部120の分割にて得られた三角形同士が接するか否かを判定することで、第1面と第2面とが接するか否かを判定する。
As described above, the surfaces selected by the
Specifically, the contact
図6は、2つの三角形の位置関係の例を示す説明図である。同図において、2つの三角形の位置関係のパターンの例としてパターンP111、P121、P131、および、P141〜P146が示されている。このうち、パターンP111は、2つの三角形が接していないパターンを示しており、他のパターンは、2つの三角形が接しているパターンを示している。 FIG. 6 is an explanatory diagram showing an example of the positional relationship between two triangles. In the figure, patterns P111, P121, P131, and P141 to P146 are shown as examples of the positional relationship pattern of two triangles. Among these, the pattern P111 indicates a pattern in which two triangles are not in contact with each other, and the other pattern indicates a pattern in which two triangles are in contact with each other.
パターンP111では、2つの三角形のいずれの頂点も他方の三角形に内包されていない。具体的には、パターンP111において、頂点A、B、Cのいずれも三角形abcの外に位置する。なお、ここでいう内包は、内包される点が内包する多角形の辺または頂点と重なっている場合を含む。
また、2つの三角形のいずれの辺も、他方の三角形の辺と交差していない。具体的には、辺AB、BC、CAのいずれも、辺ab、bc、caのいずれとも交差していない。
In the pattern P111, neither vertex of the two triangles is included in the other triangle. Specifically, in the pattern P111, all of the vertices A, B, and C are located outside the triangle abc. In addition, the inclusion here includes the case where the included point overlaps the side or vertex of the included polygon.
Also, neither side of the two triangles intersects the other triangle side. Specifically, none of the sides AB, BC, and CA intersects any of the sides ab, bc, and ca.
パターンP121は、2つの三角形が接しているが、いずれの頂点も他方の三角形に内包されないパターンを示している。具体的には、パターンP121において、頂点A、B、Cのいずれも三角形abcの外に位置する。また、頂点a、b、cのいずれも三角形ABCの外に位置する。一方、パターンP121では、2つの三角形の辺と辺とが交差している。例えば、辺ABと、辺abとが交差している
このように、2つの三角形が互いに接しているが、いずれの頂点も他方の三角形に内包されない場合、2つの三角形の辺と辺との交差を検出することで、2つの三角形が互いに接すると判定することが考えられる。
The pattern P121 shows a pattern in which two triangles are in contact but none of the vertices are included in the other triangle. Specifically, in the pattern P121, all of the vertices A, B, and C are located outside the triangle abc. In addition, all of the vertices a, b, and c are located outside the triangle ABC. On the other hand, in the pattern P121, the sides of the two triangles intersect. For example, side AB and side ab intersect In this way, if two triangles touch each other, but none of the vertices are included in the other triangle, the intersection of the sides of the two triangles It can be considered that it is determined that two triangles are in contact with each other.
パターンP131は、2つの三角形が接しているが、いずれの辺も他方の三角形の辺と交差しないパターンを示している。具体的には、パターンP131において、2つの三角形のいずれの辺も、他方の三角形の辺と交差していない。具体的には、辺AB、BC、CAのいずれも、辺ab、bc、caのいずれとも交差していない。一方、パターンP131では、一方の三角形の頂点が他方の三角形に内包されている。具体的には、頂点a、b、cのいずれも、三角形ABCに内包されている。
このように、2つの三角形が接しているが、いずれの辺も他方の三角形の辺と交差しない場合、他方の三角形に内包される頂点を検出することで、2つの三角形が互いに接すると判定することが考えられる。
The pattern P131 shows a pattern in which two triangles are in contact but none of the sides intersects the other triangle. Specifically, in the pattern P131, neither side of the two triangles intersects the side of the other triangle. Specifically, none of the sides AB, BC, and CA intersects any of the sides ab, bc, and ca. On the other hand, in the pattern P131, the vertex of one triangle is included in the other triangle. Specifically, all of the vertices a, b, and c are included in the triangle ABC.
In this way, two triangles touch each other, but if neither side intersects the other triangle side, it is determined that the two triangles touch each other by detecting the vertex contained in the other triangle. It is possible.
パターンP141は、一方の三角形の1つの頂点(頂点B)が他方の三角形に内包されるパターンを示している。パターンP142は、一方の三角形の2つの頂点(頂点bおよびc)が他方の三角形に内包されるパターンを示している。パターンP143は、2つの三角形が互いに他方の頂点を内包するパターンを示している。具体的には、三角形ABCは、頂点bおよびcを内包し、三角形abcは、頂点Bを内包している。 The pattern P141 shows a pattern in which one vertex (vertex B) of one triangle is included in the other triangle. The pattern P142 shows a pattern in which two vertices (vertices b and c) of one triangle are included in the other triangle. Pattern P143 shows a pattern in which two triangles contain the other vertex. Specifically, the triangle ABC includes vertices b and c, and the triangle abc includes the vertex B.
パターンP144は、2つの三角形が一致しているパターンを示している。パターンP145は、2つの三角形の2つの頂点がそれぞれ一致し、他の1つの頂点の一方が、他方の三角形に内包されるパターンを示している。パターンP146は、2つの三角形の2つの頂点がそれぞれ一致し、他の1つの頂点は、いずれも他方の三角形に内包されていないパターンを示す。 A pattern P144 shows a pattern in which two triangles match. The pattern P145 shows a pattern in which two vertices of two triangles match each other and one of the other vertices is included in the other triangle. The pattern P146 shows a pattern in which two vertices of two triangles match each other, and the other one vertex is not included in the other triangle.
パターンP141〜P146では、いずれも、2つの三角形が互いに接触している。また、パターンP141〜P146では、いずれも、他方の三角形に内包されている頂点があり、かつ、他方の三角形の辺と交差する辺がある。
以上のように、2つの三角形の辺と辺との交差の検出、および、他方の三角形に内包される頂点の検出の両方を行い、いずれか一方でも検出に成功した場合は、2つの三角形が互いに接触していると判定できる。
In each of the patterns P141 to P146, two triangles are in contact with each other. In each of the patterns P141 to P146, there are vertices that are included in the other triangle, and there are sides that intersect with the sides of the other triangle.
As described above, both the detection of the intersection of the sides of the two triangles and the detection of the vertices contained in the other triangle are performed, and if the detection is successful in either one, the two triangles are It can be determined that they are in contact with each other.
接触面検出部140は、内包判定部141にて、他方の三角形に内包される頂点の有無の判定を行う。また、接触面検出部140は、交差判定部143にて、2つの三角形の辺と辺との交差の有無の判定を行う。そして、接触面検出部140は、内包判定部141の判定結果と、交差判定部143の判定結果とに応じて、第1多面体を形成する面のうち第2多面体を形成する面に接する面を検出する。
In the contact
上記のように、内包判定部141は、他方の三角形に内包される頂点の有無の判定を行う。この判定により、内包判定部141は、第1面を形成する第1多角形の頂点のうち少なくとも1つの頂点が、第2面を形成する第2多角形に内包されているか否かを判定する。
内包判定部141において、面積比較部142は、点が凸多角形に内包されるか否かの判定を、点と凸多角形の頂点とを結んで得られる三角形の面積の合計と、凸多角形の面積との比較にて行う。より具体的には、面積比較部142は、点と、凸多角形の頂点のうち隣り合う2つの頂点の各々とを結ぶ線分と、当該隣り合う2つの頂点を結ぶ辺とで構成される各三角形の面積を算出する。そして、面積比較部142は、各三角形の面積の合計を算出する。すなわち、面積比較部142は、凸多角形の頂点のうち隣り合う2つの頂点の全ての組み合わせについて、上記の三角形の面積の合計を算出する。さらに、面積比較部142は、算出した面積の合計と、凸多角形の面積との比較にて、点が凸多角形に内包されるか否かを判定する。
As described above, the
In the
図7は、面積比較部142が面積の合計を算出する三角形の例を示す説明図である。同図において、点a、三角形ABCは、それぞれ、面積比較部142が取得する点、凸多角形の一例に該当する。例えば、面積比較部142は、第1多角形の1つの頂点と、分割部120が第2多角形を分割して得られた三角形とを取得する。
FIG. 7 is an explanatory diagram illustrating an example of a triangle in which the
図7の例において、面積比較部142は、まず、三角形aABの面積と、aBCの面積と、aCAの面積とを算出する。面積比較部142が三角形の面積を算出する手法として、ベクトルの外積から三角形の面積を算出する手法など公知の手法を用いることができる。例えば、面積比較部142は、ベクトルaAとベクトルaBとの外積から三角形aABの面積を算出する。
In the example of FIG. 7, the
次に、面積比較部142は、三角形aAB、aBC、aCAの面積の合計を算出する。
また、面積比較部142は、三角形ABCの面積を算出する。そして、面積比較部142は、三角形aAB、aBC、aCAの面積の合計と、三角形ABCの面積とを比較する。
Next, the
Further, the
図7の例では、点aは三角形ABCに内包されている。この場合、線分aA、aBおよびaCによって、三角形ABCが三角形aAB、aBCおよびaCAに分割されている。従って、三角形aAB、aBC、aCAの面積の合計と、三角形ABCの面積とが等しくなっている。
このように、点が三角形に内包されている場合、点と、三角形の頂点のうち隣り合う2つの頂点の各々とを結ぶ線分と、当該隣り合う2つの頂点を結ぶ辺とで構成される各三角形の面積と、三角形の面積とが等しくなる。
そこで、面積比較部142は、三角形の面積の合計と凸多角形の面積とが等しいと判定した場合、点が多角形に内包されていると判定する。
In the example of FIG. 7, the point a is included in the triangle ABC. In this case, the triangle ABC is divided into triangles aAB, aBC, and aCA by the line segments aA, aB, and aC. Accordingly, the total area of the triangles aAB, aBC, and aCA is equal to the area of the triangle ABC.
As described above, when the point is included in the triangle, the point is constituted by a line segment connecting each of the two adjacent vertices among the vertices of the triangle, and a side connecting the two adjacent vertices. The area of each triangle is equal to the area of the triangle.
Therefore, if the
なお、面積比較部142がベクトルの外積から三角形の面積を算出する際、平方根演算における丸め誤差などの誤差が生じることが考えられる。かかる誤差に対応するため、面積比較部142が、三角形の面積の合計と凸多角形の面積との比較において、完全一致に限らず、差の大きさが充分小さいと評価し得る場合にも等しいと判定するようにしてもよい。例えば、三角形の面積の合計と凸多角形の面積との差の大きさを凸多角形の面積で除算した値が所定の閾値以下である場合に、面積比較部142が、三角形の面積の合計と凸多角形の面積とが等しいと判定するようにしてもよい。
When the
図8は、面積比較部142が面積の合計を算出する三角形の、もう1つの例を示す説明図である。図7の場合と同様、点a、三角形ABCは、それぞれ、面積比較部142が取得する点、凸多角形の一例に該当する。図7の場合と同様、面積比較部142は、三角形aAB、aBC、aCAの面積との合計と、三角形ABCの面積とを比較する。
FIG. 8 is an explanatory diagram showing another example of a triangle for which the
図8の例では、点aは三角形ABCに内包されていない。そして、三角形aABは、三角形ABCと重なっていない。また、三角形aBC、aCAは、いずれも一部が三角形ABCと重なっていない。このため、三角形aAB、aBC、aCAの面積の合計が、三角形ABCの面積よりも大きくなっている。
このように、点が三角形に内包されていない場合、点と、三角形の頂点のうち隣り合う2つの頂点の各々とを結ぶ線分と、当該隣り合う2つの頂点を結ぶ辺とで構成される各三角形の面積が、三角形の面積よりも大きくなる。
そこで、面積比較部142は、三角形の面積の合計と凸多角形の面積とが異なると判定した場合、点が多角形に内包されていないと判定する。
In the example of FIG. 8, the point a is not included in the triangle ABC. The triangle aAB does not overlap the triangle ABC. Also, the triangles aBC and aCA are not partially overlapped with the triangle ABC. For this reason, the total area of the triangles aAB, aBC, and aCA is larger than the area of the triangle ABC.
As described above, when the point is not included in the triangle, the point is constituted by a line segment connecting each of the two adjacent vertices among the vertices of the triangle, and a side connecting the two adjacent vertices. The area of each triangle is larger than the area of the triangle.
Therefore, if the
内包判定部141は、第1多角形の頂点のうち少なくとも1つの頂点と、第2多角形または当該第2多角形を分割して得られる凸多角形を面積比較部142に適用して、第1多角形の頂点のうち少なくとも1つの頂点が、第2多角形に内包されているか否かを判定する。
具体的には、内包判定部141は、第1多角形の頂点のうち少なくとも1つの頂点と、分割部120の分割にて得られる三角形のうち少なくとも1つの三角形とを面積比較部142に適用して、第1多角形の頂点のうち少なくとも1つの頂点が、第2多角形に内包されているか否かを判定する。
The
Specifically, the
ただし、面積比較部142は、三角形に限らず凸多角形に点が内包されるか否かの判定を行うことができる。従って、内包判定部141が、分割部120の分割にて得られた三角形に限らず凸多角形を面積比較部142に適用するようにしてもよい。
例えば、座標データ取得部110がデータを取得する多面体の面が全て凸多角形である場合、内包判定部141が、当該多面体の面を面積比較部142に適用するようにしてもよい。この場合、第1多角形の頂点のうち少なくとも1つの頂点が、第2多角形に内包されているか否かの判定に関して、分割部120は多角形の分割を行う必要がない。
However, the
For example, when all the polyhedron surfaces from which the coordinate
交差判定部143は、第1多角形の辺と第2多角形の辺とが交差するか否かを判定する。交差判定部143が線分と線分との交差の有無を判定する手法として、例えばベクトルの外積を用いる手法など公知の手法を用いることができる。
図9は、交差する2つの辺の例を示す説明図である。同図において、線分abは第1多角形の辺の一例に該当し、線分ABは第2多角形の辺の一例に該当する。
The
FIG. 9 is an explanatory diagram illustrating an example of two intersecting sides. In the figure, a line segment ab corresponds to an example of a side of a first polygon, and a line segment AB corresponds to an example of a side of a second polygon.
図9の例では、線分ABから見て点aと点bとが反対側に位置している。このため、(ベクトルAB)×(ベクトルAa)にて得られる法線ベクトルと、(ベクトルAB)×(ベクトルAb)にて得られる法線ベクトルとは逆向きになる。但し「×」はベクトルの外積を示す。
同様に、(ベクトルab)×(ベクトルaA)にて得られる法線ベクトルと、(ベクトルab)×(ベクトルaB)にて得られる法線ベクトルとは逆向きになる。
このように、いずれの辺を基準にしても法線ベクトルが逆向きになる場合、2つの辺が交差していると判定することができる。
In the example of FIG. 9, the point a and the point b are located on the opposite side when viewed from the line segment AB. For this reason, the normal vector obtained by (vector AB) × (vector Aa) is opposite to the normal vector obtained by (vector AB) × (vector Ab). However, “x” indicates an outer product of vectors.
Similarly, the normal vector obtained by (vector ab) × (vector aA) is opposite to the normal vector obtained by (vector ab) × (vector aB).
As described above, when the normal vector is reversed regardless of which side is used as a reference, it can be determined that the two sides intersect.
図10は、交差しない2つの辺の例を示す説明図である。図9の場合と同様、線分abは第1多角形の辺の一例に該当し、線分ABは第2多角形の辺の一例に該当する。
図9の場合と同様、図10においても、線分ABから見て点aと点bとが反対側に位置している。このため、(ベクトルAB)×(ベクトルAa)にて得られる法線ベクトルと、(ベクトルAB)×(ベクトルAb)にて得られる法線ベクトルとは逆向きになる。
一方、線分abから見て点Aと点Bとは同じ側に位置している。このため、(ベクトルab)×(ベクトルaA)にて得られる法線ベクトルと、(ベクトルab)×(ベクトルaB)にて得られる法線ベクトルとは同じ向きになる。
このように、一方の辺を基準にすると法線ベクトルが逆向きになるが、他方の辺を基準にすると法線ベクトルの向きが同じである場合、2つの辺は交差していないと判定することができる。
FIG. 10 is an explanatory diagram illustrating an example of two sides that do not intersect. As in the case of FIG. 9, the line segment ab corresponds to an example of the side of the first polygon, and the line segment AB corresponds to an example of the side of the second polygon.
Similarly to the case of FIG. 9, also in FIG. 10, the point a and the point b are located on the opposite side when viewed from the line segment AB. For this reason, the normal vector obtained by (vector AB) × (vector Aa) is opposite to the normal vector obtained by (vector AB) × (vector Ab).
On the other hand, the point A and the point B are located on the same side when viewed from the line segment ab. For this reason, the normal vector obtained by (vector ab) × (vector aA) and the normal vector obtained by (vector ab) × (vector aB) are in the same direction.
As described above, when one side is used as a reference, the normal vector is reversed, but when the other side is used as a reference, if the direction of the normal vector is the same, it is determined that the two sides do not intersect. be able to.
図11は、交差しない2つの辺の、もう1つの例を示す説明図である。図9の場合と同様、線分abは第1多角形の辺の一例に該当し、線分ABは第2多角形の辺の一例に該当する。
図11の例では、線分ABから見て点aと点bとは同じ側に位置している。このため、(ベクトルAB)×(ベクトルAa)にて得られる法線ベクトルと、(ベクトルAB)×(ベクトルAb)にて得られる法線ベクトルとは同じ向きになる。
同様に、(ベクトルab)×(ベクトルaA)にて得られる法線ベクトルと、(ベクトルab)×(ベクトルaB)にて得られる法線ベクトルとも同じ向きになる。
このように、いずれの辺を基準にしても法線ベクトルの向きが同じである場合、2つの辺は交差していないと判定することができる。
FIG. 11 is an explanatory diagram showing another example of two sides that do not intersect. As in the case of FIG. 9, the line segment ab corresponds to an example of the side of the first polygon, and the line segment AB corresponds to an example of the side of the second polygon.
In the example of FIG. 11, the point a and the point b are located on the same side as viewed from the line segment AB. For this reason, the normal vector obtained by (vector AB) × (vector Aa) and the normal vector obtained by (vector AB) × (vector Ab) are in the same direction.
Similarly, the normal vector obtained by (vector ab) × (vector aA) and the normal vector obtained by (vector ab) × (vector aB) are in the same direction.
Thus, if the direction of the normal vector is the same regardless of which side is used as a reference, it can be determined that the two sides do not intersect.
以上より、交差判定部143は、いずれの辺を基準にしても法線ベクトルが逆向きになる場合は、2つの辺が交差していると判定し、いずれか一方でも法線ベクトルの向きが同じである場合は、2つの辺が交差していないと判定する。
From the above, the
結果出力部150は、接触面検出部140の判定結果を出力する。具体的には、結果出力部150は、例えば液晶パネル等の表示画面を有し、接触面検出部140の判定結果を表示する。
図12は、結果出力部150による接触面検出部140の判定結果の表示例を示す説明図である。
同図において、接触面検出部140の判定結果を表形式で表示している。行、列のいずれも多面体の面の1つに対応しており、行と列の交差する欄の記載にて、対応する2つの面の接触の有無を示している。
The
FIG. 12 is an explanatory diagram illustrating a display example of the determination result of the contact
In the figure, the determination result of the contact
例えば、立体Iの面ABCDの行において、結果出力部150は、同じ立体Iの各面については、ハッチングにて接触の有無の判定対象外であることを示している。また、面ABCDと面abcdとが接触しており、結果出力部150は、面ABCDの行において面abcdの列と交差する欄に「abcd」と表示することで、接触有りを示している。一方、面ABCDと他の面とは接触しておらず、結果出力部150は、面ABCDの行において他の面の列と交差する欄を空欄とすることで、接触無しを示している。
For example, in the row of the surface ABCD of the solid I, the
次に、図13〜図16を参照して、接触面検出システム10の動作について説明する。
図13は、接触面検出システム10が多面体の接触面を検出する処理手順の例を示す説明図である。
同図の処理において、まず、座標データ取得部110が、接触面検出対象としての複数の多面体の頂点の座標データを取得する(ステップS101)。
次に、分割部120は、座標データ取得部110がデータを取得した複数の多面体の面を形成する多角形の各々を三角形に分割する(ステップS102)。
また、面選択部130は、座標データ取得部110がデータを取得した複数の多面体の面のうち同一平面に含まれる面を検出する(ステップS103)。
Next, the operation of the contact
FIG. 13 is an explanatory diagram illustrating an example of a processing procedure in which the contact
In the process shown in FIG. 5, first, the coordinate
Next, the dividing
Further, the
図14は、面選択部130が同一平面に含まれる面を検出する処理手順の例を示すフローチャートである。面選択部130は、図13のステップS103において図14の処理を行う。
図14の処理において、面選択部130は、まず、座標データ取得部110がデータを取得した複数の多面体の各面について処理を行うループL21を開始する(ステップS201)。
そして、面選択部130は、ループL21において処理対象となっている面に含まれる2つのベクトルを算出する(ステップS202)。例えば、面選択部130は、ループL21において処理対象となっている面を分割部120が分割して得られた三角形の1つについて、2つの辺に相当するベクトルを、それぞれ算出する。
FIG. 14 is a flowchart illustrating an example of a processing procedure in which the
In the processing of FIG. 14, the
Then, the
次に、面選択部130は、ステップS202で得られた2つのベクトルの外積を算出する(ステップS203)。この外積は、2つのベクトルを含む平面の法線ベクトルを示している。
そして、面選択部130は、ステップS203で算出した外積に基づいて、平面の方程式の係数を算出する(ステップS204)。具体的には、面選択部130は、ステップS203で算出した外積を当該外積の大きさで除算して、単位法線ベクトルを算出する。そして、面選択部130は、得られた単位法線ベクトルの座標値を、平面の方程式の傾きを示す係数とする。さらに、面選択部130は、方程式を求める対象となっている平面に含まれる点の座標値に対して方程式が成立するように、切片の係数を設定する。
Next, the
Then, the
例えば、単位法線ベクトルの座標値が(vx,vy,vz)である場合、面選択部130は、式(1)に示される平面の方程式の係数を、a:=vx、b:=vy,c:=vzに設定する。
For example, when the coordinate value of the unit normal vector is (v x , v y , v z ), the
但し、ここでの「・」はスカラー積を示す。さらに、点(Px,Py,Pz)が当該平面に含まれる場合、面選択部130は、平面の方程式の係数を、d:=−(a・Px+b・Py+c・Pz)に設定する。
Here, “·” indicates a scalar product. Further, when the point (P x , P y , P z ) is included in the plane, the
ステップS204の後、面選択部130は、座標データ取得部110がデータを取得した複数の多面体の全ての面についてループL21の処理を行ったか否かを判定し、判定結果に基づいて分岐を行う(ステップS205)。未だループL21の処理を行っていない面が存在すると判定した場合、ステップS201へ戻り、未処理の面に対して引き続きループL21の処理を行う。一方、全ての面に対してループL21の処理を行ったと判定した場合、ループL21を終了する。
After step S204, the
ループL21を終了すると、面選択部130は、座標データ取得部110がデータを取得した複数の多面体のうち2つの多面体に含まれる各1つの面の組み合わせについて処理を行うループL22を開始する(ステップS211)。
そして、面選択部130は、ループL22にて処理対象となっている面の組み合わせについて、係数の絶対値(|a|、|b|、|c|および|d|)がいずれも等しいか否かを判定する(ステップS212)。
When the loop L21 ends, the
Then, the
係数の絶対値がいずれも等しいと判定した場合(ステップS212:YES)、面選択部130は、さらに係数(a、b、c、およびd)の正負がいずれも同じまたはいずれも逆であるか否かを判定する(ステップS213)。なお、係数の値が共にゼロの場合は、係数の正負がいずれも同じ、いずれも逆のどちらも成立しているものとして扱う。
係数の正負がいずれも同じまたはいずれも逆であると判定した場合(ステップS213:YES)、面選択部130は、ループL22にて処理対象となっている2つの面が同一平面に含まれると判定する(ステップS221)。
When it is determined that the absolute values of the coefficients are all equal (step S212: YES), the
When it is determined that both the positive and negative coefficients are the same or opposite (step S213: YES), the
次に、面選択部130は、座標データ取得部110がデータを取得した複数の多面体のうち2つの多面体に含まれる各1つの面の全ての組み合わせについてループL22の処理を行ったか否かを判定し、判定結果に基づいて分岐を行う(ステップS241)。未だループL22の処理を行っていない組み合わせが存在すると判定した場合、ステップS211へ戻り、未処理の組み合わせに対して引き続きループL22の処理を行う。一方、全ての組み合わせに対してループL22の処理を行ったと判定した場合、ループL22を終了する。
ループL22を終了すると、面選択部130は、図14の処理を終了する。
Next, the
When the loop L22 ends, the
一方、ステップS212において、絶対値の等しくない係数があると判定した場合(ステップS212:NO)、面選択部130は、ループL22にて処理対象となっている2つの面が同一平面に含まれないと判定する(ステップS231)。
その後、ステップS241へ進む。
また、ステップS213において、正負がいずれも同じまたはいずれも逆にはなっていないと判定した場合(ステップS213:NO)、ステップS231へ進む。
On the other hand, when it is determined in step S212 that there are coefficients whose absolute values are not equal (step S212: NO), the
Thereafter, the process proceeds to step S241.
In Step S213, when it is determined that both positive and negative are the same or neither is reversed (Step S213: NO), the process proceeds to Step S231.
なお、面選択部130が外積の大きさを算出する際の平方根演算における丸め誤差などの誤差が生じることが考えられる。かかる誤差に対応するため、面選択部130が、ステップS212における係数の絶対値の比較において、完全一致に限らず、差の大きさが充分小さいと評価し得る場合にも等しいと判定するようにしてもよい。例えば、係数の絶対値の差の大きさが所定の閾値以下である場合に、面選択部130が、係数の絶対値が等しいと判定するようにしてもよい。
An error such as a rounding error in the square root calculation when the
また、面選択部130は、判定対象となっている面の各々に含まれる3つの点の座標値を得られれば図14の処理を行うことができる。従って、図13の処理において、ステップS102よりもステップS103を先に実行するようにしてもよいし、ステップS102とステップS103とを並列して実行するようにしてもよい。
Further, the
図13の処理に戻って、ステップS103の後、内包判定部141は、ステップS103において面選択部130が選択した2つの面の組み合わせ(同一平面に含まれると判定した2つの面の組み合わせ)の各々について、内包関係の有無を判定する(ステップS104)。具体的には、内包判定部141は、ステップS103において面選択部130が選択した2つの面の組み合わせの各々について、いずれかの面を形成する多角形の頂点の少なくとも1つが、他方の面を形成する多面体に内包されるか否かを判定する。
Returning to the processing of FIG. 13, after step S <b> 103, the
図15は、内包判定部141が、2つの面の組み合わせについて、いずれかの面を形成する多角形の頂点の少なくとも1つが、他方の面を形成する多面体に内包されるか否かを判定する処理手順の例を示すフローチャートである。内包判定部141は、図13のステップS104において、面選択部130が選択した2つの面の組み合わせの各々について図15の処理を行う。
In FIG. 15, the
図15の処理において、内包判定部141は、まず、分割部120の分割にて得られた三角形を、2つの面について1つずつ選択する組み合わせ毎に処理を行うループL31を開始する(ステップS301)。
さらに、内包判定部141は、ステップS301で選択した2つの三角形の各々について当該三角形と他方の三角形の頂点毎に処理を行うループL32を開始する(ステップ302)。
In the processing of FIG. 15, the
Further, the
そして、内包判定部141は、ループL32で処理対象となっている三角形と頂点とを面積比較部142に適用し、面積比較部142は、当該三角形の面積を算出する(ステップS303)。
次に、面積比較部142は、図7および図8を参照して説明したのと同様に、ループL32で処理対象となっている頂点と、三角形の頂点のうち隣り合う頂点とで形成される各三角形の面積を算出し、面積の合計を算出する(ステップS304)。
Then, the
Next, as described with reference to FIGS. 7 and 8, the
そして、面積比較部142は、ステップS304で得られた面積の合計と、ステップS303で得られた面積(元の三角形の面積)とが等しいか否かを判定する(ステップS305)。
面積の合計が元の三角形の面積に等しいと判定した場合(ステップS305:YES)、面積比較部142は、ループL32で処理対象となっている頂点が、ループL32で処理対象となっている三角形に内包されていると判定する(ステップS311)。
Then, the
When it is determined that the total area is equal to the area of the original triangle (step S305: YES), the
次に、内包判定部141は、ステップS301で選択した2つの三角形のいずれについても、当該三角形と他方の三角形の頂点との全ての組み合わせについてループL32の処理を行ったか否かを判定し、判定結果に基づいて分岐を行う(ステップS331)。未だループL32の処理を行っていない組み合わせが存在すると判定した場合、ステップS302へ戻り、未処理の組み合わせに対して引き続きループL32の処理を行う。一方、全ての組み合わせに対してループL32の処理を行ったと判定した場合、ループL32を終了する。
Next, the
ループL32を終了すると、内包判定部141は、分割部120の分割にて得られた三角形を、2つの面について1つずつ選択する全ての組み合わせについてループL31の処理を行ったか否かを判定し、判定結果に基づいて分岐を行う(ステップS332)。未だループL31の処理を行っていない組み合わせが存在すると判定した場合、ステップS301へ戻り、未処理の組み合わせに対して引き続きループL31の処理を行う。一方、全ての組み合わせに対してループL31の処理を行ったと判定した場合、ループL31を終了する。
When the loop L32 ends, the
ループL31を終了すると、内包判定部141は、面と面との内包関係を判定する(ステップS333)。ループL32の処理における三角形と頂点との組み合わせのいずれか1つでも、内包されていると判定(ステップS311)した場合は、内包関係有りと判定する。すなわち、内包判定部141は、判定対象となっている2つの面の組み合わせについて、いずれかの面を形成する多角形の頂点の少なくとも1つが、他方の面を形成する多面体に内包されていると判定する。
When the loop L31 ends, the
一方、ループL32の処理における三角形と頂点との組み合わせの全てについて、内包されていないと判定(ステップS321)した場合は、内包関係無しと判定する。すなわち、内包判定部141は、判定対象となっている2つの面の組み合わせについて、いずれの面を形成する多角形の頂点も、他方の面を形成する多面体に内包されていないと判定する。
ステップS333の後、図15の処理を終了する。
On the other hand, if it is determined that all the combinations of triangles and vertices in the processing of the loop L32 are not included (step S321), it is determined that there is no inclusion relationship. That is, the
After step S333, the process of FIG.
一方、ステップS305において、面積の合計と元の三角形の面積とが異なると判定した場合(ステップS305:NO)、面積比較部142は、ループL32で処理対象となっている頂点が、ループL32で処理対象となっている三角形に内包されていないと判定する(ステップS321)。
その後、ステップS331へ進む。
On the other hand, if it is determined in step S305 that the total area is different from the area of the original triangle (step S305: NO), the
Thereafter, the process proceeds to step S331.
図13の処理に戻って、ステップS104の後、交差判定部143は、ステップS103において面選択部130が選択した2つの面の組み合わせの各々について、一方の面に含まれる三角形の辺と他方の面に含まれる三角形の辺との交差の有無を判定する(ステップS105)。
Returning to the processing in FIG. 13, after step S104, the
図16は、交差判定部143が、2つの面の組み合わせについて、一方の面に含まれる三角形の辺と他方の面に含まれる三角形の辺との交差の有無を判定する処理手順の例を示すフローチャートである。交差判定部143は、図13のステップS105において、面選択部130が選択した2つの面の組み合わせの各々について図16の処理を行う。
FIG. 16 illustrates an example of a processing procedure in which the
図16の処理において、交差判定部143は、まず、分割部120の分割にて得られた三角形を、2つの面について1つずつ選択する組み合わせ毎に処理を行うループL41を開始する(ステップS401)。
さらに、交差判定部143は、ステップS401で選択した2つの三角形の各々から1つずつ辺を選択する組み合わせ毎に処理を行うループL42を開始する(ステップ402)。
In the processing of FIG. 16, the
Furthermore, the
次に、交差判定部143は、ループL42で処理対象となっている2つの辺の一方を基準として、図9〜11を参照して説明したのと同様に、2つの法線ベクトルを算出する(ステップS403)。
そして、交差判定部143は、ステップS403で得られた2つの法線ベクトルの向きが逆か否かを判定する(ステップS404)。
Next, the
Then, the
法線ベクトルの向きが逆であると判定した場合(ステップS404:YES)、交差判定部143は、さらに、ステップS403の場合と異なる方の辺を基準として、図9〜11を参照して説明したのと同様に、2つの法線ベクトルを算出する(ステップS411)。
そして、交差判定部143は、ステップS411で得られた2つの法線ベクトルの向きが逆か否かを判定する(ステップS412)。
法線ベクトルの向きが逆であると判定した場合(ステップS412:YES)、交差判定部143は、2つの辺が交差していると判定する(ステップS421)。
If it is determined that the direction of the normal vector is opposite (step S404: YES), the
Then, the
When it is determined that the direction of the normal vector is opposite (step S412: YES), the
次に、交差判定部143は、ステップS401で選択した2つの三角形の各々から1つずつ辺を選択する全ての組み合わせについてループL42の処理を行ったか否かを判定し、判定結果に基づいて分岐を行う(ステップS441)。未だループL42の処理を行っていない組み合わせが存在すると判定した場合、ステップS402へ戻り、未処理の組み合わせに対して引き続きループL42の処理を行う。一方、全ての組み合わせに対してループL42の処理を行ったと判定した場合、ループL42を終了する。
Next, the
ループL42を終了すると、交差判定部143は、分割部120の分割にて得られた三角形を、2つの面について1つずつ選択する全ての組み合わせについてループL41の処理を行ったか否かを判定し、判定結果に基づいて分岐を行う(ステップS442)。未だループL41の処理を行っていない組み合わせが存在すると判定した場合、ステップS401へ戻り、未処理の組み合わせに対して引き続きループL41の処理を行う。一方、全ての組み合わせに対してループL41の処理を行ったと判定した場合、ループL41を終了する。
When the loop L42 ends, the
ループL41を終了すると、交差判定部143は、判定対象となっている2つの面の組み合わせについて、一方の面に含まれる三角形の辺と他方の面に含まれる三角形の辺との交差の有無を判定する(ステップS443)。ループL42の処理における辺と辺との組み合わせのいずれか1つでも、交差していると判定(ステップS421)した場合は、一方の面に含まれる三角形の辺と他方の面に含まれる三角形の辺とで、交差しているものがあると判定する。
一方、ループL42の処理における辺と辺との組み合わせの全てについて、交差していないと判定(ステップS431)した場合は、いずれの辺も交差していないと判定する。
ステップS443の後、図16の処理を終了する。
When the loop L41 ends, the
On the other hand, if it is determined that all the combinations of sides in the processing of the loop L42 do not intersect (step S431), it is determined that none of the sides intersect.
After step S443, the process of FIG. 16 ends.
一方、ステップS404において、法線ベクトルの向きが同じであると判定した場合(ステップS404:NO)、交差判定部143は、2つの辺が交差していないと判定する(ステップS431)。
その後、ステップS441へ進む。
一方、ステップS412において、法線ベクトルの向きが同じであると判定した場合(ステップS412:NO)、ステップS431へ進む。
On the other hand, when it is determined in step S404 that the directions of the normal vectors are the same (step S404: NO), the
Thereafter, the process proceeds to step S441.
On the other hand, if it is determined in step S412 that the directions of the normal vectors are the same (step S412: NO), the process proceeds to step S431.
なお、ステップS401において、内包判定部141が内包関係有りと判定済みの面の組み合わせを、交差判定部143が処理対象から除外するようにしてもよい。
また、図13の処理において、ステップS104とステップS105とを並列して実行するようにしてもよいし、ステップS105を実行した後、ステップS104を実行するようにしてもよい。ステップS105を実行した後、ステップS104を実行する場合、図15のステップS301において、交差判定部143が辺の交差ありと判定済みの面の組み合わせを、内包判定部141が処理対象から除外するようにしてもよい。
Note that in step S401, the
In the processing of FIG. 13, step S104 and step S105 may be executed in parallel, or step S104 may be executed after step S105 is executed. When step S104 is executed after step S105 is executed, the
図13の処理に戻って、ステップS105の後、接触面検出部140は、互いに接触している2つの面の組み合わせを抽出する(ステップS106)。具体的には、接触面検出部140は、面選択部130が検出した、同一平面に含まれる2つの面の組み合わせのうち、内包関係ありまたは辺の交差ありのいずれか一方にでも該当する組み合わせを、互いに接触している組み合わせとして抽出する。
一方、接触面検出部140は、内包関係無し、かつ、辺の交差無しとされた組み合わせについては、互いに接触していないと判定する。
Returning to the processing of FIG. 13, after step S105, the contact
On the other hand, the contact
次に、結果出力部150は、接触面検出部140がステップS106で抽出した組み合わせを、接触面検出システム10の判定結果として出力する(ステップS107)。例えば、結果出力部150は、図12を参照して説明したように、面と面との接触の有無を表示する。
その後、図13の処理を終了する。
Next, the
Thereafter, the process of FIG. 13 is terminated.
以上のように、内包判定部141は、第1多面体の第1面を形成する第1多角形の頂点のうち少なくとも1つの頂点が、第2多面体の第2面を形成する第2多角形に内包されているか否かを判定する。そして、接触面検出部140は、内包判定部141の判定結果に応じて、第1多面体を形成する面のうち第2多面体を形成する面に接する面を検出する。
これにより、接触面検出部140は、辺と辺との交差を生じない接触関係を、内包関係に基づいて検出することができる。この点において、接触面検出システム10は、面同士の接触関係の判定をより適切に行うことができる。
As described above, the
Thereby, the contact
また、面積比較部142は、点が凸多角形に内包されるか否かの判定を、当該点と、当該凸多角形の頂点のうち隣り合う2つの頂点の各々とを結ぶ線分と、当該隣り合う2つの頂点を結ぶ辺とで構成される三角形の面積の、当該凸多角形の頂点のうち隣り合う2つの頂点の全ての組み合わせについての合計と、当該凸多角形の面積との比較にて行う。
これにより、面積比較部142は、三角形の面積を算出することで、点が凸多角形に内包されるか否かの判定を行うことができる。三角形の面積は、例えばベクトルの外積から算出するなど簡単な計算にて算出することができる。従って、面積比較部142は、点が凸多角形に内包されるか否かの判定を、簡単な計算にて行うことができる。
Further, the
Thereby, the
また、分割部120は、第2多角形を、当該第2多角形の1つの頂点と、当該頂点と隣り合う頂点以外の各頂点とを結ぶ線分にて三角形に分割する。そして、内包判定部141は、第1多角形の頂点のうち少なくとも1つの頂点と、分割部120の分割にて得られる三角形のうち少なくとも1つの三角形とを面積比較部142に適用して、第1多角形の頂点のうち少なくとも1つの頂点が、第2多角形に内包されているか否かを判定する。
これにより、面積比較部142は、凸多角形の面積の計算についても、三角形の面積を算出すればよい。従って、面積比較部142は、点が凸多角形に内包されるか否かの判定を、簡単な計算にて行うことができる。
Further, the dividing
Thereby, the
また、交差判定部143は、第1多角形の辺と第2多角形の辺とが交差するか否かを判定する。そして、接触面検出部140は、内包判定部141の判定結果と交差判定部143の判定結果とに応じて、第1多面体を形成する面のうち第2多面体を形成する面に接する面を検出する。
これにより、接触面検出部140は、辺と辺との交差を生じない接触関係と、面を形成す多角形と他方の面を形成する多角形の頂点との内包関係を生じない接触関係とのいずれも検出することができ、面と面との接触関係を漏れなく検出することができる。
In addition, the
Thereby, the contact
<第2の実施形態>
図17は、本発明の第2の実施形態における状態変化算出システムの機能構成を示す概略ブロック図である。同図において、状態変化算出システム20は、接触面検出システム11と、状態変化算出部210と、結果出力部250とを具備する。接触面検出システム11は、座標データ取得部110と、分割部120と、面選択部130と、接触面検出部140とを具備する。接触面検出部140は、内包判定部141と、交差判定部143とを具備する。内包判定部141は、面積比較部142を具備する。
同図において、図1の各部に対応して同様の機能を有する部分には同一の符号(110、120、130、140、141、142、143)を付して説明を省略する。
<Second Embodiment>
FIG. 17 is a schematic block diagram illustrating a functional configuration of the state change calculation system according to the second embodiment of the present invention. In the figure, the state
In the figure, parts having the same functions corresponding to the respective parts in FIG. 1 are denoted by the same reference numerals (110, 120, 130, 140, 141, 142, 143), and description thereof is omitted.
状態変化算出部210は、接触面検出部140が検出した面と面との接触状況に基づいて、座標データ取得部110がデータを取得する多面体にてモデル化されている構造物の少なくとも一部について、当該構造物を構成する部材の経時的な状態変化を算出する。
状態変化算出部210が、構造物を構成する部材の経時的な状態変化を算出する手法として、例えば特開2013−037321号公報に記載されている、部材に対応して定義される領域に代表点を設け、部材間に作用する影響を、影響度を示す変数によって定義する手法を用いることができる。
結果出力部250は、状態変化算出部210の算出結果を表示する。
The state
As a method for the state
The
以上のように、状態変化算出部210は、接触面検出システム11が検出した、構造物の面の接触状況に基づいて、構造物を構成する部材の経時的な状態変化を算出する。また、接触面検出システム10の場合と同様、接触面検出システム11において、内包判定部141は、構造物の面を形成する多角形同士の内包関係を判定する。そして、接触面検出部140は、内包判定部141の判定結果に応じて、構造物を形成する面の接触状況を検出する。
これにより、接触面検出部140は、辺と辺との交差を生じない接触関係を、内包関係に基づいて検出することができ、状態変化算出部210は、辺と辺との交差を生じない接触関係に対応してより正確に部材の経時的な状況変化を算出することができる。
As described above, the state
Thereby, the contact
<第3の実施形態>
図18は、本発明の第3の実施形態における内包判定システムの機能構成を示す概略ブロック図である。同図において、内包判定システム30は、座標データ取得部310と、内包判定部141と、結果出力部350とを具備する。内包判定部141は、面積比較部142を具備する。
同図において、図1の各部に対応して同様の機能を有する部分には同一の符号(141、142)を付して説明を省略する。
<Third Embodiment>
FIG. 18 is a schematic block diagram illustrating a functional configuration of an inclusion determination system according to the third embodiment of the present invention. In the figure, the
In the figure, portions having the same functions corresponding to the respective portions in FIG. 1 are denoted by the same reference numerals (141, 142), and description thereof is omitted.
座標データ取得部310は、凸多角形の頂点の座標データと、当該凸多角形に内包されるか否かの判定対象の点の座標データとを取得する。
結果出力部350は、内包判定部141による、点が凸多角形に含まれるか否かの判定結果を表示する。
The coordinate
The
内包判定システム30において、内包判定部141は、点と、多角形の頂点のうち隣り合う2つの頂点の各々とを結ぶ線分と、当該隣り合う2つの頂点を結ぶ辺とで構成される三角形の面積の、多角形の頂点のうち隣り合う2つの頂点の全ての組み合わせについての合計と、多角形の面積とが等しいか否かを判定し、判定結果に応じて、判定対象の点が多角形に内包されているか否かを判定する。
これにより、接触面検出システム10の場合と同様に、内包判定部141(面積比較部142)は、三角形の面積を算出することで、点が凸多角形に内包されるか否かの判定を行うことができる。三角形の面積は、例えばベクトルの外積から算出するなど簡単な計算にて算出することができる。従って、内包判定部141は、点が凸多角形に内包されるか否かの判定を、簡単な計算にて行うことができる。
In the
Thereby, as in the case of the contact
なお、接触面検出システム10や、状態変化算出システム20や、内包判定システム30の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、コンパクトディスク等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
Note that a program for realizing all or part of the functions of the contact
Further, the “computer system” includes a homepage providing environment (or display environment) if a WWW system is used.
The “computer-readable recording medium” refers to a portable medium such as a flexible disk, a magneto-optical disk, and a compact disk, and a storage device such as a hard disk built in the computer system. Furthermore, the “computer-readable recording medium” dynamically holds a program for a short time like a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line. In this case, a volatile memory in a computer system serving as a server or a client in that case, and a program that holds a program for a certain period of time are also included. The program may be a program for realizing a part of the functions described above, and may be a program capable of realizing the functions described above in combination with a program already recorded in a computer system.
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。 The embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and includes design changes and the like within a scope not departing from the gist of the present invention.
10 接触面検出システム
20 状態変化算出システム
30 内包判定システム
110、310 座標データ取得部
120 分割部
130 面選択部
140 接触面検出部
141 内包判定部
142 面積比較部
143 交差判定部
150、250、350 結果出力部
210 状態変化算出部
DESCRIPTION OF
Claims (8)
前記第1多面体を形成する面から第1面を選択し、前記第2多面体を形成する面から第2面を選択する面選択部と、
前記第1面を形成する第1多角形の頂点のうち少なくとも1つの頂点が、前記第2面を形成する第2多角形に内包されているか否かを判定する内包判定部と、
前記内包判定部の判定結果に応じて、前記第1多面体を形成する面のうち前記第2多面体を形成する面に接する面を検出する接触面検出部と、
を具備することを特徴とする接触面検出システム。 A coordinate data acquisition unit for acquiring the coordinate data of the vertices of the first polyhedron and the coordinate data of the vertices of the second polyhedron;
Selecting a first surface from the surfaces forming the first polyhedron and selecting a second surface from the surfaces forming the second polyhedron;
An inclusion determination unit that determines whether at least one vertex of the first polygon forming the first surface is included in the second polygon forming the second surface;
In accordance with the determination result of the inclusion determination unit, a contact surface detection unit that detects a surface that contacts the surface that forms the second polyhedron among the surfaces that form the first polyhedron,
A contact surface detection system comprising:
点が凸多角形に内包されるか否かの判定を、当該点と、当該凸多角形の頂点のうち隣り合う2つの頂点の各々とを結ぶ線分と、当該隣り合う2つの頂点を結ぶ辺とで構成される三角形の面積の、当該凸多角形の頂点のうち隣り合う2つの頂点の全ての組み合わせについての合計と、当該凸多角形の面積との比較にて行う面積比較部を具備し、
前記第1多角形の頂点のうち少なくとも1つの頂点と、前記第2多角形または当該第2多角形を分割して得られる凸多角形を前記面積比較部に適用して、前記第1多角形の頂点のうち少なくとも1つの頂点が、前記第2多角形に内包されているか否かを判定する、ことを特徴とする請求項1に記載の接触面検出システム。 The inclusion determination unit
Whether or not a point is included in a convex polygon is determined by connecting a line segment connecting the point and each of two adjacent vertices of the convex polygon and the two adjacent vertices. The area of the triangle formed by the sides is provided with an area comparison unit that compares the total of all the combinations of two adjacent vertices among the vertices of the convex polygon and the area of the convex polygon. And
Applying at least one vertex among the vertices of the first polygon and the second polygon or a convex polygon obtained by dividing the second polygon to the area comparison unit, the first polygon 2. The contact surface detection system according to claim 1, wherein it is determined whether at least one of the vertices is included in the second polygon.
前記内包判定部は、前記第1多角形の頂点のうち少なくとも1つの頂点と、前記分割部の分割にて得られる三角形のうち少なくとも1つの三角形とを前記面積比較部に適用して、前記第1多角形の頂点のうち少なくとも1つの頂点が、前記第2多角形に内包されているか否かを判定する、ことを特徴とする請求項2に記載の接触面検出システム。 A division unit that divides the second polygon into triangles by line segments connecting one vertex of the second polygon and each vertex other than the vertex adjacent to the vertex;
The inclusion determination unit applies at least one vertex among the vertices of the first polygon and at least one triangle among triangles obtained by the division of the division unit to the area comparison unit, and The contact surface detection system according to claim 2, wherein it is determined whether at least one vertex of one polygon is included in the second polygon.
前記接触面検出部は、前記内包判定部の判定結果と前記交差判定部の判定結果とに応じて、前記第1多面体を形成する面のうち前記第2多面体を形成する面に接する面を検出する、ことを特徴とする請求項1から3のいずれか一項に記載の接触面検出システム。 An intersection determination unit that determines whether or not the side of the first polygon intersects the side of the second polygon;
The contact surface detection unit detects a surface in contact with a surface forming the second polyhedron among surfaces forming the first polyhedron according to a determination result of the inclusion determination unit and a determination result of the intersection determination unit. The contact surface detection system according to any one of claims 1 to 3, wherein
前記接触面検出システムが検出した接触状況に基づいて、前記第1構造物または前記第2構造物の少なくとも一部について、当該構造物を構成する部材の経時的な状態変化を算出する状態変化算出部と、
を具備することを特徴とする状態変化算出システム。 For the first polyhedron corresponding to the shape of the first structure and the second polyhedron corresponding to the shape of the second structure, a surface in contact with the surface forming the second polyhedron among the surfaces forming the first polyhedron. The contact surface detection system according to any one of claims 1 to 4 to detect,
Based on the contact state detected by the contact surface detection system, a state change calculation for calculating a state change over time of a member constituting the structure of at least a part of the first structure or the second structure. And
A state change calculation system comprising:
前記ある点と、前記多角形の頂点のうち隣り合う2つの頂点の各々とを結ぶ線分と、当該隣り合う2つの頂点を結ぶ辺とで構成される三角形の面積の、前記多角形の頂点のうち隣り合う2つの頂点の全ての組み合わせについての合計と、前記多角形の面積とが等しいか否かを判定し、判定結果に応じて、前記ある点が、前記多角形に内包されているか否かを判定する内包判定部と、
を具備することを特徴とする内包判定システム。 A coordinate data acquisition unit that acquires coordinate data of a point and coordinate data of a vertex of a polygon;
The vertex of the polygon having a triangular area composed of a line segment connecting the point and each of two adjacent vertices of the polygon and an edge connecting the two adjacent vertices Whether the total of all combinations of two adjacent vertices is equal to the area of the polygon, and whether the certain point is included in the polygon according to the determination result An inclusion determination unit for determining whether or not,
An inclusion determination system comprising:
第1多面体の頂点の座標データと第2多面体の頂点の座標データとを取得する座標データ取得ステップと、
前記第1多面体を形成する面から第1面を選択し、前記第2多面体を形成する面から第2面を選択する面選択ステップと、
前記第1面を形成する第1多角形の頂点のうち少なくとも1つの頂点が、前記第2面を形成する第2多角形に内包されているか否かを判定する内包判定ステップと、
前記内包判定ステップでの判定結果に応じて、前記第1多面体を形成する面のうち前記第2多面体を形成する面に接する面を検出する接触面検出ステップと、
を具備することを特徴とする接触面検出方法。 A contact surface detection method for a contact surface detection system, comprising:
A coordinate data acquisition step of acquiring coordinate data of the vertices of the first polyhedron and coordinate data of the vertices of the second polyhedron;
A surface selection step of selecting a first surface from the surfaces forming the first polyhedron and selecting a second surface from the surfaces forming the second polyhedron;
An inclusion determination step for determining whether at least one vertex of the first polygon forming the first surface is included in the second polygon forming the second surface;
According to the determination result in the inclusion determination step, a contact surface detection step of detecting a surface in contact with a surface forming the second polyhedron among surfaces forming the first polyhedron;
A contact surface detection method comprising:
第1多面体の頂点の座標データと第2多面体の頂点の座標データとを取得する座標データ取得ステップと、
前記第1多面体を形成する面から第1面を選択し、前記第2多面体を形成する面から第2面を選択する面選択ステップと、
前記第1面を形成する第1多角形の頂点のうち少なくとも1つの頂点が、前記第2面を形成する第2多角形に内包されているか否かを判定する内包判定ステップと、
前記内包判定ステップでの判定結果に応じて、前記第1多面体を形成する面のうち前記第2多面体を形成する面に接する面を検出する接触面検出ステップと、
を実行させるためのプログラム。
In the computer equipped with the contact surface detection system,
A coordinate data acquisition step of acquiring coordinate data of the vertices of the first polyhedron and coordinate data of the vertices of the second polyhedron;
A surface selection step of selecting a first surface from the surfaces forming the first polyhedron and selecting a second surface from the surfaces forming the second polyhedron;
An inclusion determination step for determining whether at least one vertex of the first polygon forming the first surface is included in the second polygon forming the second surface;
According to the determination result in the inclusion determination step, a contact surface detection step of detecting a surface in contact with a surface forming the second polyhedron among surfaces forming the first polyhedron;
A program for running
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013088767A JP2014211822A (en) | 2013-04-19 | 2013-04-19 | Contact surface detection system, state change calculation system, connotation determination system, contact surface detection method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013088767A JP2014211822A (en) | 2013-04-19 | 2013-04-19 | Contact surface detection system, state change calculation system, connotation determination system, contact surface detection method and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014211822A true JP2014211822A (en) | 2014-11-13 |
Family
ID=51931522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013088767A Pending JP2014211822A (en) | 2013-04-19 | 2013-04-19 | Contact surface detection system, state change calculation system, connotation determination system, contact surface detection method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014211822A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019211965A (en) * | 2018-06-04 | 2019-12-12 | 株式会社アクセル | Image processing apparatus, image processing method, and image processing program |
-
2013
- 2013-04-19 JP JP2013088767A patent/JP2014211822A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019211965A (en) * | 2018-06-04 | 2019-12-12 | 株式会社アクセル | Image processing apparatus, image processing method, and image processing program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10134167B2 (en) | Using curves to emulate soft body deformation | |
AU2016262789B2 (en) | 3d modeling by tracing 2d image ui | |
US20100073368A1 (en) | Methods and systems to determine conservative view cell occlusion | |
US20140168215A1 (en) | Stereo Correspondence Model Fitting | |
CN114255323A (en) | Robot, map construction method, device and readable storage medium | |
CN111583381A (en) | Rendering method and device of game resource map and electronic equipment | |
US10242495B2 (en) | Method for adapting a mesh model of a geological subsurface | |
US11562541B2 (en) | Topology-change-aware volumetric fusion for real-time dynamic 4D reconstruction | |
JP2023529790A (en) | Method, apparatus and program for generating floorplans | |
CN110458954B (en) | Contour line generation method, device and equipment | |
CN115018992B (en) | Method and device for generating hair style model, electronic equipment and storage medium | |
US20240212285A1 (en) | Processing three-dimensional model based only on visible model region | |
KR101919085B1 (en) | Apparatus and method for simplification of 3D mesh data | |
CN113591683A (en) | Attitude estimation method, attitude estimation device, electronic equipment and storage medium | |
CN112802143A (en) | Spherical map drawing method, spherical map drawing device and storage medium | |
JP2014211822A (en) | Contact surface detection system, state change calculation system, connotation determination system, contact surface detection method and program | |
Bekkers et al. | Vessel tracking via sub-Riemannian geodesics on the projective line bundle | |
CN115761123B (en) | Three-dimensional model processing method, three-dimensional model processing device, electronic equipment and storage medium | |
CN115496860A (en) | Flexible rule model construction method and device, terminal equipment and storage medium | |
JP2017073046A (en) | Layout verification method, layout verification apparatus, and program | |
CN114445579A (en) | Object labeling information presentation method and device, electronic equipment and storage medium | |
WO2020241100A1 (en) | Three-dimensional pose estimation method, program, recording medium and three-dimensional pose estimation device | |
CN113888394B (en) | Image deformation method, device and electronic equipment | |
CN112669220B (en) | Depth image interpolation method, device, equipment and medium | |
CN113205571B (en) | Processing method and processing device for house type graph and electronic equipment |