JPH01292474A - Arithmetic unit for solid interference - Google Patents
Arithmetic unit for solid interferenceInfo
- Publication number
- JPH01292474A JPH01292474A JP63120484A JP12048488A JPH01292474A JP H01292474 A JPH01292474 A JP H01292474A JP 63120484 A JP63120484 A JP 63120484A JP 12048488 A JP12048488 A JP 12048488A JP H01292474 A JPH01292474 A JP H01292474A
- Authority
- JP
- Japan
- Prior art keywords
- solid
- vertices
- solids
- contact
- interference
- 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
- 239000007787 solid Substances 0.000 title claims abstract description 89
- 238000004364 calculation method Methods 0.000 claims abstract description 34
- 230000003247 decreasing effect Effects 0.000 abstract description 2
- 239000013598 vector Substances 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 238000000034 method Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 101100112083 Arabidopsis thaliana CRT1 gene Proteins 0.000 description 1
- 101100238301 Arabidopsis thaliana MORC1 gene Proteins 0.000 description 1
- 101100519629 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) PEX2 gene Proteins 0.000 description 1
- 101100468521 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) RFX1 gene Proteins 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000011960 computer-aided design Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は計算機に係り、特に3次元の立体モデルを計算
機上で構成するに好適な立体干渉演算装置に関する。DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to computers, and particularly to a steric interference calculation device suitable for constructing a three-dimensional solid model on a computer.
各種の設計作業の効率向上環のため、計算機を利用した
CAD/CAM (コンピュータ支援による設計/製造
: Computer Aided Design
/Computer Aided Manufact
uring)が注目されている。近年、計算機の処理速
度、記憶容量などが飛躍的に向上し、3次元のモデルを
計算機上で構築できるようになっている。3次元のモデ
ル用CADのうち、ソリッドモデラと呼ばれるモデラは
、立体の内部や外部のデータが持てるため、立体の体積
計算、応用、熱応用計算用のデータ構築に使用できる等
の特長がある。In order to improve the efficiency of various design tasks, we are using CAD/CAM (Computer Aided Design/Manufacturing).
/Computer Aided Manufacturer
uring) is attracting attention. In recent years, the processing speed and storage capacity of computers have improved dramatically, making it possible to construct three-dimensional models on computers. Among 3-dimensional CAD models, a modeler called a solid modeler has the advantage of being able to hold data on the inside and outside of a solid, so it can be used to construct data for volumetric calculations, applications, and thermal application calculations.
ソリッドモデラによって3次元立体を作成する方法とし
て、単純な基本立体を組合せて横築する集合演算を用い
ることができる(例えば、横河ヒューレットパツカード
(株)カタログ、rMEシリーズ30」に開示がある)
。As a method of creating a three-dimensional solid using a solid modeler, it is possible to use a set operation that combines simple basic solids and constructs them horizontally (for example, as disclosed in Yokogawa Hewlett Packard Card Co., Ltd. Catalog, rME Series 30). )
.
ソ、リツドモデラは、第5図に示す如き計算機システム
として構成される。このシステムは、表示装置としての
CRTl及び入力装置としてのキーボード2ならびにマ
ウス4が接続された計算機本体3を備えている。キーボ
ード2からは3次元の座標データが入力され、3次元立
体の位置指定がマウス4によってなされる。The lid modeler is configured as a computer system as shown in FIG. This system includes a computer main body 3 to which a CRT1 as a display device, a keyboard 2 and a mouse 4 as input devices are connected. Three-dimensional coordinate data is input from the keyboard 2, and the position of the three-dimensional object is specified using the mouse 4.
第6図は計算機本体3の詳細構成を示すブロック図であ
る。FIG. 6 is a block diagram showing the detailed configuration of the computer main body 3. As shown in FIG.
バス5には、数値演算を行なう数値演算装置6、数値デ
ータを記憶するデータ記憶装置7、ソリッドモデラ用の
数式データを記憶する数式記憶装置8、データの流れを
制御するデータ制御装置9の各々が接続されている。更
に、バス5には、キーボード2、CRTI及びディスク
装置13の各々との入出力を行なうためのキーボードイ
ンターフェース10.CRTインターフェース11、デ
ィスクインターフェース12の各々が接続されている。The bus 5 includes a numerical calculation device 6 for performing numerical calculations, a data storage device 7 for storing numerical data, a mathematical formula storage device 8 for storing formula data for the solid modeler, and a data control device 9 for controlling the flow of data. is connected. Furthermore, the bus 5 includes a keyboard interface 10 . for inputting/outputting the keyboard 2 , the CRTI, and the disk device 13 . A CRT interface 11 and a disk interface 12 are each connected.
このようなシステムでは、キーボード1で入力された内
容とディスク装置13のディスクに記憶されている内容
等に基づき数値演算装置6、データ記憶装置7、数式記
憶装置8の各々をデータ制御刊装置9で制御し、データ
の移動を行ないながら単純な基本立体を組み合せ、新た
な立体を構築する。In such a system, each of the numerical calculation device 6, the data storage device 7, and the formula storage device 8 is controlled by the data control device 9 based on the contents entered on the keyboard 1 and the contents stored on the disk of the disk device 13. , and combine simple basic solids to construct new solids while moving data.
第7図(a)、 (b)に示すように、ソリッドモデ
ラは3次元立体の表面が多面体パッチで表現され、デー
タとして頂点、稜線9面の情報を持っている。第7図(
a)のデータは、第7図(b)に示す立方体のデータで
あり、6面分の面の方程式の係数及び1枚の面を構成す
る辺、1つの辺を構成する2頂点及び各頂点のX、 Y
、 Z座標の関係をデータ化して示している。As shown in FIGS. 7(a) and 7(b), the solid modeler represents the surface of a three-dimensional solid as a polyhedral patch, and has information on nine vertices and edges as data. Figure 7 (
The data in a) is the data for the cube shown in Figure 7(b), and includes the coefficients of the equations of the six faces, the edges that make up one face, the two vertices that make up one edge, and each vertex. X, Y
, shows the relationship between Z coordinates as data.
次に、第8図を参照して2つの基本立体を組合せる操作
について説明する。Next, the operation of combining two basic solids will be explained with reference to FIG.
基本立体を組合せて新しい立体を作る場合、まず基本立
体の面と面の干渉を調べ、干渉線を発生させる(第8図
(a)、 (b))。この干渉線はループ状になるは
ずであり、元の基本立体を干渉線で2つ以上に分けるこ
とができる。次に、第8図(C)のように、干渉&11
0で分けた基本立体11と12の一方の基本立体(本例
では基本立体12)の中に含まれる立体(基本立体12
aと、12bの一方)を除去する。次に、第8図(d)
。When creating a new solid by combining basic solids, first check the interference between the surfaces of the basic solids and generate interference lines (Figures 8(a) and (b)). This interference line should form a loop, and the original basic solid can be divided into two or more parts by the interference line. Next, as shown in FIG. 8(C), interference &11
A solid contained in one of the basic solids 11 and 12 (basic solid 12 in this example) divided by 0 (basic solid 12)
a and one of 12b) is removed. Next, Fig. 8(d)
.
(e)のように干渉線相互を接続すると、元の基本立体
の和であるところの立体が生成される。When the interference lines are connected to each other as shown in (e), a solid that is the sum of the original basic solids is generated.
次に、立体の面と面の干渉を調べる処理方法について説
明する。Next, a processing method for examining interference between three-dimensional surfaces will be described.
立体の干渉線を求める場合、立体の面に注目し、互いの
立体の面相互の干渉について調べる。そして干渉線を求
め、すべての面と面の干渉を求めたのちに、その干渉線
を立体どうしの干渉線とする。When finding the interference line of a solid, we focus on the surfaces of the solid and investigate the interference between the surfaces of the solid. Then, after finding the interference line and finding the interference between all the surfaces, use that interference line as the interference line between solids.
第9図(a)は、面Aと面Bの2枚の面が干渉した状態
を示している。まず、面AとBの各稜線の交点を求める
。面Bは稜線A、、12.l、。FIG. 9(a) shows a state in which two surfaces, surface A and surface B, interfere with each other. First, find the intersection of the edges of planes A and B. Surface B is ridgeline A,,12. l.
14から構成されているため、面Bと稜線ll〜14の
交点計算を行なえばよい。14, it is only necessary to calculate the intersections between the plane B and the edges 11 to 14.
ここで、面Bの面の方程式を、
AI−!−By+C,+D=0
とし、稜線l、の始点v1及び終点v2の座標を、V+
=(X++ 3’++ 2+)Vz=(Xz・ )
’z+Zz)
とすると、支点P+ = (X31 yi+ 21
は、次式のように表わせる。Here, the equation of surface B is AI-! -By+C,+D=0, and the coordinates of the starting point v1 and ending point v2 of the ridge line l are V+
=(X++ 3'++ 2+)Vz=(Xz・ )
'z+Zz), then the fulcrum P+ = (X31 yi+ 21
can be expressed as the following equation.
Axs+ BF3+ C,3+ D −QXt −X
z ’Jr −’!t Z+
−Zzこの(1)式を満足する(x3 + ’12
* 22 )を計算すれば交点P、を求めることがで
きる。このようにして稜線のすべての交点を求めると、
交点P1と交点P、が求まる。この2つの交点を始点及
び終点とする線分が干渉線になる。同様に上記の手法を
用いて第9図(b)に示す面Cと面りの干渉線を求める
ことができる。このようにして、立体の総ての面につい
て干渉線を算出することができる。Axs+ BF3+ C, 3+ D -QXt -X
z 'Jr-'! tZ+
-Zz satisfies this equation (1) (x3 + '12
*22), the intersection point P can be found. If we find all the intersection points of the edges in this way, we get
The intersection point P1 and the intersection point P are found. A line segment whose starting and ending points are these two intersection points becomes an interference line. Similarly, the interference line between the surface C and the surface shown in FIG. 9(b) can be obtained using the above method. In this way, interference lines can be calculated for all surfaces of the solid.
干渉線j?+、 lt、is、llaの相互を接続す
ると、ループが第10図のように形成され、この干渉線
のループをもとにして第8図(c)に示す処理が行なわ
れる。第8図(c)に示す基本立体12は、基本立体1
2aと12bで切られている。Interference line j? When +, lt, is, and lla are interconnected, a loop is formed as shown in FIG. 10, and the processing shown in FIG. 8(c) is performed based on this interference line loop. The basic solid 12 shown in FIG. 8(c) is the basic solid 1
It is cut by 2a and 12b.
このうち、基本立体12aは、基本立体11の中に含ま
れることから除去し、基本立体12bのみを残している
。基本立体12aが基本立体12の中に含まれるか否か
の判定は、基本立体の頂点の1つが基本立体12の内か
外かの点位置判定をもって行なう。この点位置判定は、
頂点から無限遠方向へ半直線を延ばし、この半直線が基
本立体12の面と1枚も交叉しなければ、点は基本立体
外に有ると判断できる。相手の中に入っている立体を除
去した後に残った立体同志を、干渉線を基にして結合す
ると、新しい立体が生成される。Of these, the basic solid 12a is removed because it is included in the basic solid 11, leaving only the basic solid 12b. Whether or not the basic solid 12a is included in the basic solid 12 is determined by determining whether one of the vertices of the basic solid is inside or outside the basic solid 12. This point position determination is
If a half-line is extended from the vertex toward infinity and this half-line does not intersect any surface of the basic solid 12, it can be determined that the point is outside the basic solid. When the remaining solids are combined based on interference lines after removing the solid inside the partner, a new solid is generated.
以上のような干渉線を求め、或いは点位置判定を行なう
処理等は、第6図に示す数値演算装置6によって行なわ
れる。The above-described processing for finding interference lines or determining point positions is performed by a numerical calculation device 6 shown in FIG.
しかし、従来の立体干渉演算装置にあっては、干渉線の
算出、点位置判定処理等をすべて数値演算装置によって
行なっているため、扱える数値に限度があり、単精度(
32ビツト計算)で有効数字6桁、倍精度(64ビツト
計算)で12桁程度であるため、計算誤差が問題になる
ことが多い。However, in conventional 3D interference calculation devices, calculation of interference lines, point position determination processing, etc. are all performed by numerical calculation devices, so there is a limit to the numerical values that can be handled.
Since the number of significant figures is 6 digits for 32-bit calculations and about 12 digits for double precision (64-bit calculations), calculation errors often become a problem.
特にソリッドモデラ装置では、干渉線がループ状になら
ない等の問題があるため、立体間の面。In particular, with solid modeler equipment, there are problems such as interference lines not forming loops, so the surface between solids.
稜線、頂点同志が互いに接触する場合の処理が問題にな
る。Problems arise when edges and vertices touch each other.
第11図(a)〜(g)は各種の接触状態を示し、図(
a)は立体AとBが頂点同志で接触、図(b)は頂点と
稜線の接触、図(e)は頂点と面の接触、図(d)及び
(e)は稜線と稜線の接触、図(f)は稜線と面の接触
、(g)は面と面の接触の各々の場合を示している。こ
れらの場合、干渉線を発生させることは不可能であると
共に計算誤差の影響が出やすい。このため、最悪の場合
にはソリッドモデラ装置がシステムダウンし、動作不良
になる恐れがある。Figures 11 (a) to (g) show various contact states, and Figure (
In a), solids A and B are in contact with each other at their vertices, in figure (b), their vertices are in contact with each other, in figure (e), their vertices are in contact with each other, and in figures (e), their vertices are in contact with each other, and in figures (d) and (e), their edges are in contact with each other. Figure (f) shows the case of contact between an edge and a surface, and Figure (g) shows a case of contact between surfaces. In these cases, it is impossible to generate interference lines, and calculation errors are likely to occur. Therefore, in the worst case, the system of the solid modeler device may go down and malfunction.
本発明は、このような従来の問題を解決するものであり
、立体と立体が面、稜線、頂点同志で接触していてもシ
ステムがダウンしないようにした立体干渉演算装置を提
供することを目的とする。The present invention solves such conventional problems, and aims to provide a 3D interference calculation device that prevents the system from going down even when 3D objects are in contact with each other at their faces, edges, or vertices. shall be.
(vs、!!を解決するための手段〕
上記目的を達成するために本発明は、集合演算を用いて
立体を構築する3次元立体干渉演算装置において、2つ
の立体の面、稜線、頂点の各々の相互の接触を調べる交
差判定手段と、該手段によって接触が判定されたときに
面、稜線、頂点の座標を、その立体が膨張又は収縮する
方向に移動させる座標移動手段とを設けるようにしたも
のである。(Means for solving vs,!!) In order to achieve the above object, the present invention provides a three-dimensional solid interference calculation device that constructs a solid using set operations. Intersection determining means for checking mutual contact, and coordinate moving means for moving the coordinates of surfaces, ridges, and vertices in a direction in which the solid body expands or contracts when contact is determined by the means. This is what I did.
面、稜線、頂点同志に接触が判定されると、接触してい
る面、稜線、頂点の座標を所定距離だけ増加又は減少さ
せて、面、稜線、頂点同志の接触が生じないようにし、
集合演算が実行できるようにする。When contact is determined between surfaces, edges, and vertices, the coordinates of the surfaces, edges, and vertices in contact are increased or decreased by a predetermined distance to prevent contact between the surfaces, edges, and vertices;
Allow set operations to be performed.
以下、本発明の一実施例を図面に基づいて説明する。 Hereinafter, one embodiment of the present invention will be described based on the drawings.
第1図は本発明による立体干渉演算装置を示すブロック
図である。FIG. 1 is a block diagram showing a three-dimensional interference calculation device according to the present invention.
第1図において、入力部21はキーボード2、ディスク
装置13等から集合演算用データが与えられ、交差判定
部22は第2図に示すように面と面、面と稜線、稜線と
稜線、頂点と頂点、面、稜線との各交差を判定する。In FIG. 1, the input unit 21 receives data for set calculations from the keyboard 2, the disk device 13, etc., and the intersection determination unit 22 inputs data for face-to-face, face-to-edge, edge-to-edge, and vertex as shown in FIG. Determine each intersection of and with vertices, faces, and edges.
交差判定部22に接続される移動方向算出部23は、面
、稜線、頂点の各移動方向を算出する。移動方向算出部
23には距離増減部24が接続され、立体のデータの干
渉が判定されたときに、2つの立体を離し、或いは更に
接近するように面、稜線。A moving direction calculating section 23 connected to the intersection determining section 22 calculates each moving direction of a surface, an edge line, and a vertex. A distance increase/decrease unit 24 is connected to the movement direction calculation unit 23, and when interference of three-dimensional data is determined, the distance increase/decrease unit 24 is configured to move the two solids apart or bring them closer together.
頂点の座標を距離ε (この6については後述する)だ
け増加または減少するように演算し、これを交差判定部
22へ入力する。The coordinates of the vertices are calculated to increase or decrease by a distance ε (6 will be described later), and this is input to the intersection determination section 22.
また、交差判定部22には集合演算処理部25が接続さ
れ、面、稜線、頂点のいずれにも交差の生じていない集
合演算データに基づいて集合演算を行ない、新しい立体
を演算する。この結果をCRTIに表示するために表示
部26が設けられている。Further, a set calculation processing unit 25 is connected to the intersection determination unit 22, and performs set calculation based on set calculation data in which no intersection occurs among faces, edges, or vertices, and calculates a new solid. A display section 26 is provided to display this result on the CRTI.
これらは第5図に示した計算機本体3に収納されると共
にバス5を介して第6図の各装置に接続されている。し
たがって、本実施例においても、第7図に示したように
、立体の総ての面の方程式、面番号、辺りスト、辺の構
成、頂点、頂点座標等をデータとして持っている。これ
らのデータを基にして、集合演算を行なう前に面と面の
重なり、面と稜線の重なり、稜線と稜線の重なり等をチ
エツクする。These are housed in the computer main body 3 shown in FIG. 5, and are connected to each device shown in FIG. 6 via a bus 5. Therefore, in this embodiment as well, as shown in FIG. 7, the equations of all the surfaces of the solid, surface numbers, neighborhood lines, edge configurations, vertices, apex coordinates, etc. are held as data. Based on these data, before performing a set operation, check the overlap between surfaces, the overlap between surfaces and edges, the overlap between edges and so on.
3次元ソリッドモデルは、計算機においては数値データ
として表現される。そして、面は面を構成する稜線の集
まり、若しくは面を構成する頂点の集まりで表わし、稜
線、頂点の並びを右回り又は左回りに決め、その回転方
向と面の法線ベクトルを関係づけることで面の裏と表を
決める。面の裏側を立体の内側とし、面の表側を立体の
外側とする。稜線は、両端の頂点で指定し、頂点は3次
元の座標で指定する。A three-dimensional solid model is expressed as numerical data on a computer. A surface is represented by a collection of edges that make up the surface or a collection of vertices that make up the surface, and the arrangement of the edges and vertices is determined to be clockwise or counterclockwise, and the direction of rotation is related to the normal vector of the surface. to determine the back and front sides. The back side of the surface is the inside of the solid, and the front side of the surface is the outside of the solid. The edge line is specified by the vertices at both ends, and the vertices are specified by three-dimensional coordinates.
面と面が接する条件は、両方の面が同一平面上に有り(
面の方程式、All +B、+C,+D=0の比が同一
)、且つ片方の面(多角形)内に他の面の頂点すべてが
存在することである。The condition for two surfaces to be in contact is that both surfaces are on the same plane (
The ratios of the surface equations, All +B, +C, +D=0, are the same), and all the vertices of the other surface exist within one surface (polygon).
さらに、頂点と面が接する条件は、頂点の座標(x、y
、z)が面の方程式AI +]3.−t−C,+D−0
を満足し、且つ頂点が面内に有ることである。Furthermore, the condition that the vertex and the surface are in contact is that the coordinates of the vertex (x, y
, z) is the surface equation AI+]3. -t-C, +D-0
and the vertex is within the plane.
また、稜線と稜線が接する条件は、片方の稜線の両端点
が他方の稜線の上(両端点の座標値が直線の方程式)’
=AX+Bを満足する)に存在すればよい。Also, the condition that two ridges touch is that both endpoints of one ridgeline are above the other ridgeline (the coordinate values of both endpoints are the equation of a straight line).
=AX+B).
以上に述べた条件が成立するとき、集合演算を行なう2
つの立体間の面同志、頂点と面、頂点と稜線が接してい
る(交差している)と判定することができる。立体間で
集合演算を行なう場合、まず、上記の条件に照合して、
面、稜線、頂点同志の接触を調べる。いずれかに接触が
あると、集合演算はできなくなる。そこで本発明は、接
触している頂点を移動し、面、稜線、頂点が完全に離れ
た状態若しくは重なりを深くした状態にしたのち、立体
の集合演算を行なうようにしたものである。When the above conditions are met, set operation is performed 2
It can be determined that surfaces between two solids, vertices and faces, and vertices and edges are in contact (intersect). When performing set operations between solids, first check the above conditions,
Investigate contacts between faces, edges, and vertices. If there is contact with either, set operations will no longer be possible. Therefore, in the present invention, the touching vertices are moved so that the surfaces, edges, and vertices are completely separated or deeply overlapped, and then a three-dimensional set operation is performed.
次に、第2図を参照して本発明の処理原理を説明する。Next, the processing principle of the present invention will be explained with reference to FIG.
ここでは、立体Aと、直方体の立体Bとの集合演算を行
なうケースをとり上げる。Here, we will take up a case where a set operation is performed on solid A and solid B, which is a rectangular parallelepiped.
第2図(a)は集合演算を行なう前の状態であり、立体
Aの方を移動させて、2つの立体を重ね合せて集合演算
を行なう。第2図(b)の状態では、面、稜線、頂点の
いずれも重なっていない為、立体AとBを集合演算して
1つの立体にすることができる。FIG. 2(a) shows the state before the set operation is performed, in which solid A is moved and the two solids are superimposed to perform the set operation. In the state shown in FIG. 2(b), since none of the surfaces, edges, and vertices overlap, solids A and B can be combined into one solid by a set operation.
しかし、第2図(c)の状態では、立体AとBが1ケ所
だけで接がっており、現実には存在しない立体になって
いる。本発明では、この状態で立体を集合演算しようと
した時に、CRTIの画面上の立体AとBの重なった頂
点を移動させて集合演算が行なわれる。However, in the state shown in FIG. 2(c), solids A and B are connected at only one place, making it a solid that does not exist in reality. In the present invention, when an attempt is made to perform a set operation on the three-dimensional objects in this state, the set operation is performed by moving the overlapping vertices of the three-dimensional objects A and B on the CRTI screen.
次に、第3図のフローチャートを用いて本発明の詳細な
説明する(この処理に入るのは、立体AとBの位置を指
定した後である)。Next, the present invention will be explained in detail using the flowchart shown in FIG. 3 (this process starts after the positions of solids A and B are specified).
まず、ステップ31で立体A、!:Hの面の交差の判定
が行なわれる。この交差判定には第7図のデータが用い
られ、数値計算誤差t(単精度32ビツト計算で有効数
字6桁、倍精度64ビツト計算で12桁程度)を考慮し
て計算する。First, in step 31, solid A,! : Intersection of the planes of H is determined. The data shown in FIG. 7 is used for this intersection determination, and calculations are made taking into account the numerical calculation error t (6 significant digits in single precision 32-bit calculation, about 12 digits in double precision 64-bit calculation).
ここで、A、B、C,Dを面のパラメータ、X。Here, A, B, C, and D are surface parameters and X.
FE2を頂点の座標とすると、頂点が面上にある判定式
は次式で示される。When FE2 is the coordinate of the vertex, the formula for determining whether the vertex is on a surface is expressed by the following formula.
IA□+By++CzI+D l≦6 ・・・・・・
・・・(2)Cは計算機の誤差であり、その値として1
0−6程度を採用する。IA□+By++CzI+D l≦6 ・・・・・・
...(2) C is the error of the computer, and its value is 1
Approximately 0-6 is adopted.
面を構成する総ての頂点が他の面上にあり、また、総て
の頂点が面の稜線内に位置しているときに面と面が接触
しているものと判定する。It is determined that the surfaces are in contact when all the vertices constituting the surface are on other surfaces and all the vertices are located within the edge of the surface.
面と稜線の接触判定は、稜線の両端点が面上にあると共
に面の稜線内であれば、接触していると判定する。In the contact determination between a surface and an edge, if both end points of the edge are on the surface and within the edge of the surface, it is determined that they are in contact.
このような手法による交差判定をステップ31〜35で
行なったのち、重なりが有った場合には、その部分をC
RTIの画面上に赤色で表示し、ユーザに警告(ステッ
プ36)し、さらに交差している面、稜線、頂点を計算
機内部で表現できる最少値εだけ移動させ(ステップ3
7)、交差している面、稜線、頂点を少し離して集合演
算させる。After performing intersection determination using such a method in steps 31 to 35, if there is an overlap, that part is
It is displayed in red on the RTI screen to warn the user (step 36), and the intersecting surfaces, edges, and vertices are moved by the minimum value ε that can be expressed within the computer (step 3).
7) Move the intersecting faces, edges, and vertices a little apart and perform set operations.
このようにして交差を無くし、或いは最初から交差の無
かった集合演算用データは、集合演算処理部25へ送ら
れ、集合演算処理が行なわれる(ステップ38)。集合
演算により得られた新しい立体は、表示部26を介して
CRTIに表示される。The data for set calculations in which intersections are eliminated in this way, or data for which there are no intersections from the beginning, are sent to the set calculation processing section 25, where they are subjected to set calculation processing (step 38). The new solid obtained by the set operation is displayed on the CRTI via the display unit 26.
次に、第4図を参照して、交差した面、稜線。Next, with reference to FIG. 4, intersecting surfaces and ridge lines.
頂点を動かす方向について説明する。The direction in which the vertex is moved will be explained.
■、稜線、頂点を動かす方向は、立体の体積が膨張する
方向と収縮する方向の2通りがある。膨張する方向は法
線ベクトル方向であり、収縮する方向は法線ベクトル逆
方向である。面の場合、第4図(a)のように、面を構
成する頂点座標の総ての面の法線ベクトル方向または法
線ベクトルの逆方向へ動かす。また、稜線の場合、稜線
の両側の面の法線ベクトルを平均したベクトルを使う。(2) There are two directions in which the edges and vertices can be moved: the direction in which the volume of the three-dimensional object expands and the direction in which it contracts. The direction of expansion is the normal vector direction, and the direction of contraction is the opposite direction of the normal vector. In the case of a surface, as shown in FIG. 4(a), the coordinates of the vertices constituting the surface are moved in the direction of the normal vector of all the surfaces or in the opposite direction of the normal vector. Furthermore, in the case of an edge line, a vector is used that is the average of the normal vectors of the surfaces on both sides of the edge line.
具体的には第4図(b)のように、稜線の持つ2枚の面
の法線ベクトルの加算ベクトル方向または加算ベクトル
逆方向へ稜線の持つ2つの頂点座標を移動させる。さら
に頂点の場合、頂点を構成する面すべての法線ベクトル
の平均を用いる。即ち、第4図(c)に示すように、頂
点を持つ総ての面の法線ベクトルの加算ベクトル方向ま
たは加算ベクトル逆方向へ頂点座標を移動させる。いず
れも移動させる距離はεである。Specifically, as shown in FIG. 4(b), the coordinates of the two vertices of the edge are moved in the direction of the addition vector of the normal vectors of the two surfaces of the edge or in the opposite direction of the addition vector. Furthermore, in the case of a vertex, the average of the normal vectors of all the faces constituting the vertex is used. That is, as shown in FIG. 4(c), the vertex coordinates are moved in the direction of the addition vector of the normal vectors of all surfaces having vertices or in the opposite direction of the addition vector. In both cases, the distance to be moved is ε.
なお、以上においては、面、稜線、頂点の接触時の移動
方向を任意としたが、ソリッドモデラのオペレータが集
合演算のコマンド選択時において、接触の有ったときに
立体が膨張する集合演算と収縮する集合演算との、2つ
の集合演算を選択するシステムとすることが考えられる
。Note that in the above, the direction of movement when surfaces, edges, and vertices come into contact is arbitrary; however, when an operator of the solid modeler selects a command for a set operation, it is possible to specify a set operation in which a solid expands when there is contact. It is conceivable to have a system that selects two set operations, a contracting set operation and a contracting set operation.
以上説明した如く、本発明によれば、2つの立体の面、
稜線、頂点の各々の相互の接触を調べる交差判定手段と
、この手段によって接触が判定されたときに面、稜線、
頂点の座標を、その立体が膨張又は収縮する方向へ移動
させる座標移動手段とを設けるようにしたので、面、稜
線、頂点同志の接触による集合演算の不能を未然に防止
し、操作性を向上させ、システムダウンを防止すること
ができる。As explained above, according to the present invention, two solid surfaces,
Intersection determining means for checking mutual contact between edges and vertices, and when contact is determined by this means, intersecting
Since a coordinate moving means is provided to move the coordinates of the vertices in the direction in which the solid body expands or contracts, it is possible to prevent set operations from being impossible due to contact between surfaces, edges, and vertices, and improve operability. This can prevent system downtime.
第1図は本発明の一実施例を示すブロック図、第3図は
本発明の処理例を示すフローチャート、第4図(a)、
(b)、 (c)は本発明における面、稜線、頂
点の移動方向の説明図、第5図はソリッドモデラの構成
例を示す概略斜視図、第6図は第5図に示す計算機本体
3の詳細を示すブロック図、第7図(a)、 (b)
はソリッドモデラの頂点、稜線1面の各データの構成説
明図、第8図(a)〜(e)は従来の基本立体から新し
い立体を作る操作過程の説明図、第9図(a)、 (
b)は立体の面相互の干渉を求める説明図、第10図は
干渉線のループ形成を示す説明図、第11図(a)〜(
g)は2つの立体の各種の接触状態を示す説明図である
。
1・・・・・・・・・CRT、2・・・・・・・・・キ
ーボード、3・・・・・・・・・計算機本体、4・・・
・・・・・・マウス、5・・・・・・・・・バス、6・
・・・・・・・・数値演算装置、7・・・・・・・・・
データ記憶装置、8・・・・・・・・・数式記憶装置、
9・・・・・・・・・データ制御装置、21・・・・・
・・・・入力部、22・・・・・・・・・交差判定部、
23・・・・・・・・・移動方向算出部、24・・・・
・・・・・距離増減部、25・・・・・・・・・集合演
算処理部。
第2図
第4図
第5図
第6図
第7図
(a)
第8図
(CI)(e)
第9図
第10図
〒親課!2FIG. 1 is a block diagram showing an embodiment of the present invention, FIG. 3 is a flowchart showing a processing example of the present invention, and FIG. 4(a),
(b) and (c) are explanatory diagrams of the moving directions of surfaces, edges, and vertices in the present invention, FIG. 5 is a schematic perspective view showing an example of the configuration of the solid modeler, and FIG. 6 is the computer main body 3 shown in FIG. 5. Block diagram showing details of FIG. 7(a),(b)
is an explanatory diagram of the configuration of each data of the solid modeler's vertices and one edge line, Figures 8 (a) to (e) are explanatory diagrams of the operation process of creating a new solid from a conventional basic solid, Figure 9 (a), (
b) is an explanatory diagram for determining interference between surfaces of a solid, FIG. 10 is an explanatory diagram showing loop formation of interference lines, and FIGS. 11(a) to (
g) is an explanatory diagram showing various states of contact between two solids. 1... CRT, 2... Keyboard, 3... Calculator body, 4...
...Mouse, 5...Bath, 6.
・・・・・・・・・Numerical calculation device, 7・・・・・・・・・
Data storage device, 8... Mathematical formula storage device,
9... Data control device, 21...
...Input section, 22...Cross determination section,
23...Movement direction calculation unit, 24...
... Distance increase/decrease section, 25... Set operation processing section. Figure 2 Figure 4 Figure 5 Figure 6 Figure 7 (a) Figure 8 (CI) (e) Figure 9 Figure 10 Parent section! 2
Claims (1)
置において、2つの立体の面、稜線、頂点の各々の相互
の接触を調べる交差判定手段と、該手段によつて接触が
判定されたときに面、稜線、頂点の座標を、その立体が
膨張又は収縮する方向へ移動させる座標移動手段とを具
備することを特徴とする立体干渉演算装置。In a three-dimensional solid interference calculation device that constructs a solid using set operations, an intersection determining means for checking mutual contact between surfaces, edges, and vertices of two solids, and when contact is determined by the means. A three-dimensional interference calculation device comprising: coordinate moving means for moving coordinates of surfaces, edges, and vertices in a direction in which the three-dimensional object expands or contracts.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63120484A JPH01292474A (en) | 1988-05-19 | 1988-05-19 | Arithmetic unit for solid interference |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63120484A JPH01292474A (en) | 1988-05-19 | 1988-05-19 | Arithmetic unit for solid interference |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH01292474A true JPH01292474A (en) | 1989-11-24 |
Family
ID=14787323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63120484A Pending JPH01292474A (en) | 1988-05-19 | 1988-05-19 | Arithmetic unit for solid interference |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH01292474A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11242754A (en) * | 1998-02-24 | 1999-09-07 | Hidetoshi Wakamatsu | Three-dimensional design according to stereoscopic vision shape input and part formation system |
JP2003109038A (en) * | 2001-09-27 | 2003-04-11 | Namco Ltd | Device for fast detecting collision |
JP2007102394A (en) * | 2005-10-03 | 2007-04-19 | Sony Corp | Contact shape calculation device and method, and computer program |
JP2008217709A (en) * | 2007-03-07 | 2008-09-18 | Fujitsu Ltd | Designing method and program |
JP2014008595A (en) * | 2012-07-03 | 2014-01-20 | Central Glass Co Ltd | Calculation method of shape of cover, cover covering grinding wheel, grinding device, and manufacturing method of glass plate |
-
1988
- 1988-05-19 JP JP63120484A patent/JPH01292474A/en active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11242754A (en) * | 1998-02-24 | 1999-09-07 | Hidetoshi Wakamatsu | Three-dimensional design according to stereoscopic vision shape input and part formation system |
JP2003109038A (en) * | 2001-09-27 | 2003-04-11 | Namco Ltd | Device for fast detecting collision |
JP2007102394A (en) * | 2005-10-03 | 2007-04-19 | Sony Corp | Contact shape calculation device and method, and computer program |
US8160744B2 (en) | 2005-10-03 | 2012-04-17 | Sony Corporation | Contact shape computing apparatus and method, and computer program therefor |
JP2008217709A (en) * | 2007-03-07 | 2008-09-18 | Fujitsu Ltd | Designing method and program |
JP2014008595A (en) * | 2012-07-03 | 2014-01-20 | Central Glass Co Ltd | Calculation method of shape of cover, cover covering grinding wheel, grinding device, and manufacturing method of glass plate |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7222803B2 (en) | Trajectory planning device, trajectory planning method and program | |
USRE48940E1 (en) | Simulation of the machining of a workpiece | |
CN105740497B (en) | Simulating the machining of a workpiece | |
CN108073682B (en) | Querying a database based on parametric view functions | |
Ratchev et al. | Material removal simulation of peripheral milling of thin wall low-rigidity structures using FEA | |
JPH0786885B2 (en) | Computer model system | |
CN101140598A (en) | Part identification image processor, program for generating part identification image, and recording medium storing the same | |
US5488692A (en) | System and method for representing and manipulating three-dimensional objects on massively parallel architectures | |
Ramanathan et al. | Interior medial axis transform computation of 3D objects bound by free-form surfaces | |
CN110008387B (en) | Flow field visualization implementation method and device and electronic equipment | |
Kim | Minimum distance between a canal surface and a simple surface | |
JPH01292474A (en) | Arithmetic unit for solid interference | |
Yamaguchi et al. | A unified algorithm for Boolean shape operations | |
JPS63271578A (en) | Set arithmetic unit for area | |
Lysak et al. | Interpretation of line drawings with multiple views | |
JP3886293B2 (en) | Set calculation method of 3D curved surface shape | |
JPS63118982A (en) | Arithmetic processing method for deciding whether points are inside or outside on polygon | |
JP5383370B2 (en) | Analytical model creation apparatus and analytical model creation method | |
JPS61265677A (en) | System for calculating and processing hidden outline and hidden surface | |
Laroche | An implicit representation of swept volumes based on local shapes and movements | |
Mäkinen | Line-segment insertion in constrained triangulations with applications in path-planning | |
JPH11339073A (en) | Method for generating node of finite element | |
Masuda | Feature-preserving deformation for assembly models | |
JP3040878B2 (en) | Three-dimensional interference check method and device | |
JP3679436B2 (en) | Method and apparatus for extracting points inside and outside region in three-dimensional upper region, and method and device for determining arrangement order of points on same curve |