JPH1074215A - Inter-object distance computing unit and inter-object distance computing program storage medium - Google Patents
Inter-object distance computing unit and inter-object distance computing program storage mediumInfo
- Publication number
- JPH1074215A JPH1074215A JP9128601A JP12860197A JPH1074215A JP H1074215 A JPH1074215 A JP H1074215A JP 9128601 A JP9128601 A JP 9128601A JP 12860197 A JP12860197 A JP 12860197A JP H1074215 A JPH1074215 A JP H1074215A
- Authority
- JP
- Japan
- Prior art keywords
- convex
- vector
- closest
- objects
- shape information
- 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.)
- Granted
Links
Landscapes
- Processing Or Creating Images (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、コンピュータ上に
構築された物体(CG(コンピュータグラフィックス)
モデル)の最近接点間距離を算出する物体間距離演算装
置、およびそのような最近接点間距離を算出するための
物体間距離演算プログラムが格納されてなる物体間距離
演算プログラム記憶媒体に関する。[0001] The present invention relates to an object (CG (computer graphics)) constructed on a computer.
The present invention relates to an inter-object distance calculation device for calculating a closest-contact distance of a model, and an inter-object distance calculation program storage medium storing such an inter-object distance calculation program for calculating such a closest-contact distance.
【0002】[0002]
【従来の技術】例えば、機構設計用CADシステム、ロ
ボットによるプラニング、オフライン・ティーチング、
更に、高速なグラフィックスWS(ワークステーショ
ン)/PC(パーソナルコンピュータ)を使ったゲー
ム、アニメーション、ウォークスルー等の仮想現実感シ
ステム等の分野において、コンピュータ上に構築された
CGモデルどうしの最近接点間距離を算出し、それらC
Gモデルが互いに離れているかあるいは互いに干渉して
いるか否かを判定し、あるいは離れているときの干渉ま
での余裕度を知ることが望まれている。2. Description of the Related Art For example, a CAD system for designing a mechanism, planning by a robot, offline teaching,
Furthermore, in the field of virtual reality systems such as games, animations, walk-throughs, etc. using high-speed graphics WS (workstation) / PC (personal computer), the latest contact points between CG models constructed on computers. Calculate the distance and calculate them C
It is desired to determine whether the G models are separated from each other or interfere with each other, or to know a margin to interference when the G models are separated.
【0003】この要望に応えるために従来行われていた
干渉チェックの方式は、以下のように分類される。 (a)球による被覆を使った方法。物体を球の集合で覆
い、球間の干渉チェックを繰り返すことにより物体間の
干渉状態を判定する。米国特許第4,578,757号
公報(Stark),米国特許第4,922,430号
公報(Wavish),米国特許第5,056,231
号公報(Nakano et al.),特開平6−8
3422号公報,特開平2−224004号公報,特開
平6−259506号公報,特開平7−100733号
公報等に開示された方法がこれに当たる。[0003] The interference check methods conventionally performed to meet this demand are classified as follows. (A) Method using coating with a sphere. An object is covered with a set of spheres, and the interference state between the objects is determined by repeating the interference check between the spheres. U.S. Pat. No. 4,578,757 (Stark), U.S. Pat. No. 4,922,430 (Wavish), U.S. Pat. No. 5,056,231.
Publication (Nakano et al.), JP-A-6-8
The methods disclosed in JP-A-3422, JP-A-2-224004, JP-A-6-259506, JP-A-7-100733, etc. correspond to this.
【0004】(b)空間を細かいラティスの集合に分割
し、障害物が占めている領域とそれ以外の領域に符号を
割り付けた空間マップを作成する。相手側の対象物体が
空間マップのどこに位置するかを検索することにより、
干渉状態を判定する。オクトツリーの方法もこれに含ま
れる。米国特許第5,150,452号公報(Poll
ack),米国特許第5,347,459号公報(Gr
eenspan etal.)に提案された方式がこれ
に相当する。特に、米国特許第5,347,459号公
報には、検索を簡便に行なうために、上記(a)の球被
覆の方法も併用している。(B) A space is divided into a set of fine lattices, and a space map is created in which codes are assigned to a region occupied by an obstacle and other regions. By searching where the target object on the other side is located on the spatial map,
Determine the interference state. This includes the octree method. U.S. Pat. No. 5,150,452 (Poll
ack), U.S. Pat. No. 5,347,459 (Gr.
eenspan et al. The method proposed in (1) corresponds to this. In particular, U.S. Pat. No. 5,347,459 also uses the sphere coating method (a) described above in order to facilitate search.
【0005】(c)干渉している領域とそれ以外の領域
のマップを、ロボテックスの分野で良く知られた“コン
フィギュレーション・スペース(Configurat
ion Space)”上に構築し、干渉判定をこの空
間内で行なう方式。米国特許第5,047,916号公
報(Kondo)に開示された方式がこれに相当する。
この公報に開示された方式では、コンフィギュレーショ
ンスペース内をラティス状に区切り、干渉判定用のマッ
プを作成している。(C) A map of the interfering region and the other region is stored in a “configuration space (Configurat) well known in the field of robotics.
ion space) ", and a system in which interference determination is performed in this space. The system disclosed in U.S. Pat. No. 5,047,916 (Kondo) corresponds to this system.
In the method disclosed in this publication, the configuration space is divided into a lattice shape, and a map for interference determination is created.
【0006】(d)「E.G. Gilbert,
D.W. Johnson, andS.S. Kee
rthi, IEEE Journal of Rob
otics and Automation, Vo
l.4, No.2,pp.193−203, 198
8」には、対象を凸多面体に限定し、凸多面体どうしの
最近接点間の距離を求める手法が提案されている。(D) "EG Gilbert,
D. W. Johnson, andS. S. Kee
rthi, IEEE Journal of Rob
otics and Automation, Vo
l. 4, No. 2, pp. 193-203, 198
No. 8 "proposes a method in which the object is limited to a convex polyhedron, and a distance between nearest points of contact between the convex polyhedrons is obtained.
【0007】この手法は、2つの凸多面体の最近接点ど
うしを結ぶ、それら2つの凸多面体のうちの一方の凸多
面体(自分)から他方の凸多面体(相手)に向かう方向
のベクトル(最近接ベクトル)と、自分を構成する各頂
点の位置ベクトルそれぞれとの内積どうしを比較する
と、自分の、相手に対する最近接点に近い頂点について
の内積の方が、その自分の最近接点から離れた頂点につ
いての内積よりも大きな値を持つという原理に基づい
て、それら2つの凸多面体の最近接点どうしを結ぶ最近
接ベクトルを求める手法である。This method connects the nearest points of two convex polyhedrons to each other, and a vector (nearest neighbor vector) in a direction from one convex polyhedron (self) of the two convex polyhedrons to the other convex polyhedron (partner). ) And the inner product of each of the position vectors of the vertices that constitute oneself, the inner product of one of the vertices closest to the closest point to the opponent is the inner product of the vertex far from the closest point to one's own. Based on the principle that the convex polyhedron has a larger value, a nearest vector connecting the nearest points of these two convex polyhedrons is obtained.
【0008】[0008]
【発明が解決しようとする課題】上記(a)〜(c)の
手法の対象は、いずれも凸多面体に限られず、さらに凸
物体にも限られず、任意の形状を有する物体であっても
よい点で上記(d)の手法に比べ適用範囲は広いが、そ
の一方で、上記(a)〜(c)の手法は、上記(d)の
手法に比べ以下の欠点を有する。The objects of the above methods (a) to (c) are not limited to convex polyhedrons, and are not limited to convex objects, and may be objects having any shape. In this respect, the application range is wider than the method (d), but the methods (a) to (c) have the following disadvantages as compared with the method (d).
【0009】すなわち、上記(a)の球被覆による手法
では、物体を球で覆うという前処理を必要とする、凸多
面体を対象とする場合に、上記(d)の手法に比べ余分
な計算を必要とする、また、対象間の距離が算出され
ず、干渉までにどの程度のマージンが残されているか等
の計測ができないという問題がある。また、上記(b)
の手法では、作業空間をラティスに区切ったマップを作
成するための前処理に時間がかかる。また、環境が動く
場合にはマップを作成し直す必要があり、環境変動に対
してリアルタイムに対応することができない。空間をラ
ティス状に区切るため、単位ラティス以上の精度の情報
を算出することができないという問題がある。That is, in the method using the sphere covering of the above (a), extra processing is required compared with the above method (d) when a convex polyhedron is required, which requires preprocessing of covering an object with a sphere. There is a problem that the required distance is not calculated, and it is not possible to measure how much margin is left before the interference. The above (b)
In the method of (1), it takes time to perform preprocessing for creating a map in which the workspace is divided into lattices. In addition, when the environment moves, it is necessary to re-create the map, and it is not possible to respond in real time to environmental changes. Since the space is divided into lattices, there is a problem that information with an accuracy higher than a unit lattice cannot be calculated.
【0010】さらに、上記(c)の手法では、コンフィ
ギュレーションスペースの作成に時間が掛かる。また、
上記(b)と同様に、環境が動く場合にはマップを作成
し直す必要があり、環境変動に対してリアルタイムに対
応することができない。上述の米国特許第5,047,
916号公報に提案されたような、コンフィギュレーシ
ョン・スペースをラティス状に区切る手法の場合には、
単位ラティス以上の精度の情報を算出することができな
い。Further, in the method (c), it takes time to create a configuration space. Also,
As in (b) above, if the environment moves, it is necessary to recreate the map, and it is not possible to respond to environmental changes in real time. No. 5,047, mentioned above.
In the case of a method of dividing the configuration space into a lattice as proposed in Japanese Patent No. 916,
Information with a precision higher than the unit lattice cannot be calculated.
【0011】これら(a)〜(c)の手法に比べ、上記
(d)の手法は、特別な前処理を必要とせず互いに動い
ている対象同士の距離を極めて高速に算出することが可
能であるが、対象が凸多面体に限定されている。従っ
て、意匠設計等で盛んに使われている自由曲面を持った
物体間の干渉状態のチェックに関しては、自由曲面を持
った物体を非常に多数の多面体パッチを張り合わせた集
合体で近似して処理を行なう必要がある。しかし、この
方法では、多面体パッチの数が極めて多くなり、物体を
グラフィカルに表示する速度が遅くなる、表示速度を速
くするために物体を表現する多面体パッチの数を減らし
て距離計算ないし干渉チェックを行なうと誤差が大きく
なる、等の欠点を有している。Compared with these methods (a) to (c), the method (d) can calculate the distance between moving objects without any special preprocessing at a very high speed. However, the object is limited to a convex polyhedron. Therefore, when checking the interference state between objects having free-form surfaces, which is widely used in design design, etc., processing is performed by approximating an object having a free-form surface with a set of a large number of polyhedral patches bonded together. Need to be done. However, in this method, the number of polyhedral patches becomes extremely large, the speed of graphically displaying the object is reduced, and the distance calculation or interference check is performed by reducing the number of polyhedral patches representing the object to increase the display speed. There are drawbacks such as an increase in error if performed.
【0012】本発明は、上記事情に鑑み、対象を凸曲面
を持っていてもよい任意の凸物体にまで広げることで適
用範囲を格段に向上させ、しかも2つの凸物体間の距離
を高速に算出することのできる物体間距離演算装置、お
よび、そのような、適用範囲が向上し、かつ距離を高速
に演算することのできる物体間距離演算プログラムが格
納されてなる物体間距離演算プログラム記憶媒体を提供
することを目的とする。In view of the above circumstances, the present invention expands the object to any convex object that may have a convex curved surface, thereby greatly improving the application range, and further increasing the distance between two convex objects at high speed. An inter-object distance calculation device capable of calculating, and an inter-object distance calculation program storage medium storing such an inter-object distance calculation program having an improved application range and capable of calculating a distance at high speed The purpose is to provide.
【0013】[0013]
【課題を解決するための手段】上記目的を達成する本発
明の物体間距離演算装置のうちの第1の物体間距離演算
装置は、三次元物体を対象とするものであり、一方が凸
多面体であることが許容され他方もしくは双方が凸曲面
のパッチの集合からなる凸曲面物体で構成されてなる2
つの3次元凸物体の最近接点間距離を、該2つの凸物体
の、配置位置情報を含む形状情報に基づいて算出する物
体間距離演算装置において、 (1−1)上記2つの凸物体の最近接点どうしを結ぶ最
近接ベクトルであって、その2つの凸物体のうちの一方
の凸物体から他方の凸物体に向かう方向の最近接ベクト
ルと、その一方の凸物体を構成する、その一方の凸物体
が凸多面体である場合の頂点の位置ベクトル、もしく
は、その一方の凸物体が凸曲面物体である場合のその凸
曲面物体を構成する凸曲面パッチを構成するための制御
点の位置ベクトルとの内積のうち、上記一方の凸物体
の、上記他方の凸物体に対する最近接点に近い頂点もし
くは制御点についての内積が、その一方の凸物体の最近
接点から離れた頂点もしくは制御点についての内積より
も大きな値を持つ最近接ベクトルを求める第1の最近接
ベクトル演算手段 (1−2)上記第1の最近接ベクトル演算手段で求めら
れた最近接ベクトルを、凸曲面物体の最近接点でその凸
曲面物体に接する平面と直交する新たな最近接ベクトル
に修正する第2の最近接ベクトル演算手段を備えたこと
を特徴とする。A first inter-object distance calculating device of the inter-object distance calculating device according to the present invention for achieving the above object is intended for a three-dimensional object, and one of them is a convex polyhedron. , And the other or both are composed of a convex curved surface object composed of a set of convex curved surface patches.
An inter-object distance calculating apparatus that calculates a distance between closest points of contact of two three-dimensional convex objects based on shape information including arrangement position information of the two convex objects. The closest vector connecting the contact points, the closest vector in the direction from one of the two convex objects to the other convex object, and the one of the convex objects forming the one convex object A position vector of a vertex when the object is a convex polyhedron, or a position vector of a control point for forming a convex surface patch constituting the convex surface object when one of the convex objects is a convex surface object Of the inner products, the inner product of the one convex object at the vertex or control point near the closest point to the other convex object is the inner product at the vertex or control point away from the closest point of the one convex object. First nearest vector computing means for finding the nearest vector having a value larger than the product (1-2) The nearest vector obtained by the first nearest vector computing means is calculated by using the nearest point of the convex surface object A second closest vector calculating means for correcting a new closest vector orthogonal to a plane tangent to the convex curved object is provided.
【0014】本発明の第1の物体間距離演算装置は、
(1−1)の第1の最近接ベクトル演算手段において、
(1−1)に記述した原理、例えば前述した(d)の文
献に記載された手法を用いて、対象とする2つの凸物体
双方を多面体とみなしたときの最近接ベクトルを求める
ものであるが、それにとどまらず(1−2)の第2の最
近接ベクトル演算手段において、(1−2)に記述した
原理に基づいて、(1−1)の第1の最近接ベクトル演
算手段において求められた最近接ベクトルを修正して新
たな最近接ベクトルを求めるものであるため、対象とな
る物体は凸多面体である必要はなく、凸曲面を持った任
意の凸物体にまで拡張され、適用範囲が大幅に広がる。
しかも、(1−1),(1−2)に記載した各原理に基
づく演算は、前述した(1)〜(3)の従来技術に比べ
極めて高速な演算が可能であり、しかも干渉しているか
否かのみでなく2つの凸物体間の最近接点間距離も求め
ることができる。[0014] A first inter-object distance calculating apparatus according to the present invention comprises:
In the first nearest-neighbor vector calculating means of (1-1),
By using the principle described in (1-1), for example, the method described in the above-mentioned document (d), a nearest vector when both target two convex objects are regarded as a polyhedron is obtained. However, in addition to the above, the second nearest neighbor vector calculating means of (1-2) calculates the first nearest neighbor vector calculating means of (1-1) based on the principle described in (1-2). The target object does not need to be a convex polyhedron, and is extended to any convex object having a convex surface, since the newest vector is obtained by correcting the nearest vector obtained. Greatly spread.
In addition, the calculations based on the principles described in (1-1) and (1-2) can be performed at a much higher speed than those of the above-described prior arts (1) to (3), and furthermore, there is interference. It is possible to determine not only the presence or absence but also the distance between the closest points between two convex objects.
【0015】尚、3つ以上の多数の凸物体が存在し、そ
れら多数の凸物体のうちどの2つの凸物体が干渉しそう
か否か、すなわちどの2つの凸物体間の最近接ベクトル
を求める必要があるかが明らかでないときは、それら多
数の凸物体の全ての組合せについて最近接ベクトルを求
めることに代え、各凸物体を包絡球で覆い、それらの包
絡球のうち近接した複数の球をさらに1つの包絡球で覆
うというようにして2組の階層的メタツリーを構成し、
メタツリー同士に縦優先探索(Depth−first
探索)を施すことにより接近している可能性の最も高い
凸物体のペアを選び出す手法(特願平7−174627
号参照)を用いることが好ましい。It is to be noted that there are three or more large convex objects, and it is necessary to determine which two convex objects are likely to interfere with each other, that is, to determine the nearest vector between any two convex objects. When it is not clear whether there is any, instead of finding the nearest vector for all combinations of these many convex objects, each convex object is covered with an envelope sphere, and a plurality of adjacent spheres among those envelope spheres are further Two sets of hierarchical metatrees are constructed by covering with one envelope sphere,
Depth-first search between meta trees
Search) to select a pair of convex objects that are most likely to be approaching (Japanese Patent Application No. 7-174627).
No.) is preferably used.
【0016】ここで、上記本発明の第1の物体間距離演
算装置において、 (1−3)上記第2の最近接ベクトル演算手段で求めら
れた上記新たな最近接ベクトルに基づいて、上記2つの
凸物体どうしが干渉しているか否かを判定する干渉判定
手段を備えることが好ましい。Here, in the first inter-object distance calculating apparatus according to the present invention, (1-3) based on the new nearest vector obtained by the second nearest vector calculating means, It is preferable to include an interference determination unit that determines whether two convex objects are interfering with each other.
【0017】最終的に干渉しているか否かの判定結果を
必要する場合も多いからである。さらに、上記本発明の
第1の物体間距離演算装置は、上記(1−1),(1−
2)の各手段に加え、さらに (1−4)上記2つの凸物体のうちの一方が凸多面体で
ある場合におけるその凸多角形の頂点の集合を包含す
る、上記凸曲面物体を構成する凸曲面パッチを構成する
ための制御点の集合からなる形状情報を記憶する形状情
報記憶手段 (1−5)上記凸物体の移動ないし変形を指示する情報
に基づいて、その凸物体の頂点ないし制御点の移動ない
し変形後の座標を演算することにより新たな形状情報を
求める形状情報更新手段 (1−6)上記凸曲面物体の形状情報に基づいてその凸
曲面物体を構成する凸曲面パッチを生成する曲面パッチ
情報生成手段を備えたものであってもよい。This is because it is often necessary to finally determine whether or not interference occurs. Furthermore, the first inter-object distance calculating apparatus according to the present invention includes the above (1-1), (1-
(1-4) In addition to the means of (2), (1-4) a convex surface constituting the convex curved object including a set of vertices of the convex polygon when one of the two convex objects is a convex polyhedron Shape information storage means for storing shape information comprising a set of control points for forming a curved surface patch (1-5) Vertex or control point of the convex object based on the information indicating movement or deformation of the convex object Shape information updating means for obtaining new shape information by calculating coordinates after movement or deformation of the object (1-6) generating a convex surface patch constituting the convex surface object based on the shape information of the convex surface object It may be provided with a curved surface patch information generating means.
【0018】本発明の物体間距離演算装置は、従来と比
べ高速演算が可能であり、したがって本発明の物体間距
離演算装置は、上記の(1−4)〜(1−5)の各手段
を備え、凸物体を移動ないし変形させてそのように移動
ないし変形する凸物体間の距離を高速に求める用途に向
いている。この場合に、上記(1−1)の第1の最近接
ベクトル演算手段では、特開平7−134735号公報
に開示されているように、対象の凸物体が直前の移動前
の位置ないし直前の変形前の状態にあるときの最近接点
近傍の領域内の各頂点ないし各制御点のみについて内積
を求めてもよい。こうすることにより、第1の最近接ベ
クトル演算手段において、移動ないし変形後の凸物体に
ついて最近接ベクトルを、さらに高速に算出することが
できる。The apparatus for calculating the distance between objects according to the present invention is capable of performing a higher-speed operation than the conventional apparatus. It is suitable for applications in which a convex object is moved or deformed and the distance between the convex objects moving or deformed in such a manner is quickly obtained. In this case, in the first nearest-neighbor vector calculating means of the above (1-1), as disclosed in Japanese Patent Application Laid-Open No. 7-134735, the target convex object is moved to the position before the immediately preceding movement or to the immediately preceding movement. The inner product may be obtained only for each vertex or each control point in the region near the closest point in the state before the deformation. In this way, the first closest vector calculating means can calculate the closest vector for the moved or deformed convex object at a higher speed.
【0019】あるいは、隣接するフレーム間の凸物体の
移動量ないし変形量が所定量以下の場合、移動ないし変
形後の最近接ベクトルを求めるにあたり、以下に説明す
るように、第1の最近接ベクトル演算手段での最近接ベ
クトルの算出は省略してもよい。本発明の第1の物体間
距離演算装置における、そのように構成された態様は、
上記(1−2)の第2の最近接ベクトル演算手段が、上
記凸物体が移動もしくは変形された場合に、上記第1の
最近接ベクトル演算手段において移動もしくは変形後の
最近接ベクトルを求めることに代わり、上記第2の最近
接ベクトル演算手段において今回の移動もしくは変形前
に求められた新たな最近接ベクトルをさらに新たな最近
接ベクトルに修正するものであることを特徴とする。Alternatively, when the moving amount or the deformation amount of the convex object between the adjacent frames is equal to or less than a predetermined amount, the nearest neighbor vector after the movement or the deformation is determined by the first nearest neighbor vector as described below. The calculation of the closest vector by the calculation means may be omitted. In the first inter-object distance calculating apparatus of the present invention, the mode configured as described above is as follows.
The second closest vector calculation means of (1-2), wherein when the convex object is moved or deformed, the first closest vector calculation means obtains the closest vector after movement or deformation. Instead of this, the second closest vector calculating means corrects the new closest vector obtained before the current movement or deformation to a new closest vector.
【0020】連続した移動もしくは連続した変形におい
て、直前の位置ないし直前の変形状態からの変化が僅か
である場合、第1の最近接ベクトル演算手段で概略の最
近接ベクトルを新たに求め直す代わりに、今回の移動も
しくは変形前、すなわちその凸物体が直前の移動前の位
置ないし直前の変形状態にあるときに第2の最近接ベク
トル演算手段で求められた直前の最近接ベクトルを概略
の最近接ベクトルとして用い、その概略の最近接ベクト
ルとして用いた直前の最近接ベクトルを修正することに
より、今回の移動後もしくは変形後の凸物体についての
最近接ベクトルを求めることができる。こうすることに
より、移動ないし変形のたびに第1の最近接ベクトルで
最近接ベクトルを新たに算出し直す場合と比べ、一層の
高速演算処理が可能となる。In a continuous movement or a continuous deformation, when the change from the immediately preceding position or the immediately preceding deformation state is slight, instead of re-calculating the approximate nearest vector newly by the first nearest vector calculating means, Before the current movement or deformation, that is, when the convex object is in the position before the immediately preceding movement or in the last deformed state, the nearest nearest vector obtained by the second nearest vector calculation means is roughly approximated to the nearest vector. By using the vector as a vector and correcting the nearest vector immediately before used as the approximate nearest vector, the nearest vector for the convex object after the current movement or deformation can be obtained. By doing so, higher-speed arithmetic processing can be performed as compared with the case where the closest vector is newly calculated with the first closest vector every time the object is moved or deformed.
【0021】さらに、上記本発明の第1の物体間距離演
算装置において、 (1−7)上記(1−4)の形状情報記憶手段に記憶さ
れた形状情報および上記(1−5)の形状情報更新手段
により求められた新たな形状情報に基づいて描画された
凸物体を表示する表示手段を備えることが好ましい。Further, in the first inter-object distance calculating apparatus according to the present invention, there is provided: (1-7) the shape information stored in the shape information storage means of (1-4) and the shape information of (1-5). It is preferable to include a display unit that displays the convex object drawn based on the new shape information obtained by the information updating unit.
【0022】このような表示手段を備えることにより、
凸物体の移動状態ないし変形状態を直感的に把握するこ
とができる。上記目的を達成する本発明の物体間距離演
算装置のうちの第2の物体間距離演算装置は、二次元凸
物体を対象とするものである。以下に説明する本発明の
第2の物体間距離演算装置の構成に対する作用はこれま
で説明した第1の物体間距離演算装置の作用と同一であ
るため、作用についての説明は省略する。By providing such display means,
The moving state or the deformed state of the convex object can be grasped intuitively. The second inter-object distance calculating device of the inter-object distance calculating device of the present invention that achieves the above object is intended for a two-dimensional convex object. Since the operation of the second inter-object distance calculating device of the present invention described below is the same as the operation of the first inter-object distance calculating device described above, the description of the operation will be omitted.
【0023】本発明の第2の物体間距離演算装置は、一
方が凸多角形であることが許容され他方もしくは双方が
凸曲線のパッチの集合からなる凸曲線物体で構成されて
なる2つの2次元凸物体の最近接点間距離を、その2つ
の凸物体の、配置位置情報を含む形状情報に基づいて算
出する物体間距離演算装置において、 (2−1)上記2つの凸物体の最近接点どうしを結ぶ最
近接ベクトルであって、その2つの凸物体のうちの一方
の凸物体から他方の凸物体に向かう方向の最近接ベクト
ルと、その一方の凸物体を構成する、その一方の凸物体
が凸多角形である場合の頂点の位置ベクトル、もしくは
その一方の凸物体が凸曲線物体である場合のその凸曲線
物体を構成する凸曲線面パッチを構成するための制御点
の位置ベクトルとの内積のうち、上記一方の凸物体の、
他方の凸物体に対する最近接点に近い頂点もしくは制御
点についての内積が、その一方の凸物体の最近接点から
離れた頂点もしくは制御点についての内積よりも大きな
値を持つ最近接ベクトルを求める第1の最近接ベクトル
演算手段 (2−2)上記第1の最近接ベクトル演算手段で求めら
れた最近接ベクトルを、凸曲線物体の最近接点でその凸
曲線物体に接する直線と直交する新たな最近接ベクトル
に修正する第2の最近接ベクトル演算手段を備えたこと
を特徴とする。The second inter-object distance calculating apparatus according to the present invention is characterized in that one of the two polygons is constituted by a convex curved object composed of a set of convex curved patches, one of which is allowed to be a convex polygon. In the inter-object distance calculating device for calculating the distance between the closest points of the two-dimensional convex object based on the shape information including the arrangement position information of the two convex objects, (2-1) the closest points of the two convex objects are And the closest vector in the direction from one of the two convex objects to the other convex object, and one of the convex objects constituting the one convex object, The position vector of a vertex in the case of a convex polygon, or the inner product with the position vector of a control point for forming a convex curve surface patch constituting the convex curve object when one of the convex objects is a convex curve object Out of Of the one convex object,
A first vector for finding a nearest vector whose inner product at a vertex or control point close to the closest point to the other convex object has a larger value than inner product at a vertex or control point away from the closest point of the one convex object. Nearest-neighbor vector calculating means (2-2) calculating the nearest-neighbor vector obtained by the first nearest-neighbor vector calculating means as a new nearest vector orthogonal to a straight line tangent to the convex-curve object at the nearest point of the convex-curve object And a second closest vector calculation means for correcting
【0024】ここで、上記本発明の第2の物体間距離演
算装置において、 (2−3)上記第2の最近接ベクトル演算手段で求めら
れた上記新たな最近接ベクトルに基づいて、2つの凸物
体どうしが干渉しているか否かを判定する干渉判定手段
を備えることが好ましい。Here, in the second inter-object distance calculating apparatus according to the present invention, it is preferable that (2-3) based on the new closest vector obtained by the second closest vector calculating means, It is preferable to include an interference determination unit that determines whether or not the convex objects interfere with each other.
【0025】また、上記本発明の第2の物体間距離演算
装置は、上記(2−1),(2−2)の各手段に加え、 (2−4)2つの凸物体のうちの一方が凸多角形である
場合におけるその凸多角形の頂点の集合を包含する、凸
曲線物体を構成する凸曲線パッチを構成するための制御
点の集合からなる形状情報を記憶する形状情報記憶手段 (2−5)凸物体の移動ないし変形を指示する情報に基
づいて、その凸物体の頂点ないし制御点の移動ないし変
形後の座標を演算することにより新たな形状情報を求め
る形状情報更新手段 (2−6)凸曲線物体の形状情報に基づいてその凸曲線
物体を構成する凸曲線パッチを生成する曲線パッチ情報
生成手段を備えたものであってもよい。Further, the second inter-object distance calculating apparatus according to the present invention further includes (2-4) one of the two convex objects in addition to the means (2-1) and (2-2). Is a convex polygon, a shape information storage means for storing shape information comprising a set of control points for forming a convex curve patch constituting a convex curve object, including a set of vertices of the convex polygon. 2-5) Shape information updating means for calculating new shape information by calculating coordinates after movement or deformation of vertices or control points of the convex object based on information instructing movement or deformation of the convex object. -6) It may be provided with a curve patch information generating means for generating a convex curve patch constituting the convex curve object based on the shape information of the convex curve object.
【0026】この場合に、上記(2−2)の第2の最近
接ベクトル演算手段が、上記凸物体が移動もしくは変形
された場合に、第1の最近接ベクトル演算手段において
移動もしくは変形後の最近接ベクトルを求めることに代
わり、第2の最近接ベクトル演算手段において今回の移
動もしくは変形前に求められた新たな最近接ベクトルを
さらに新たな最近接ベクトルに修正するものであること
が好ましい。In this case, the second closest vector computing means of the above (2-2), when the convex object is moved or deformed, the first nearest vector computing means moves or deforms the convex object after the movement or deformation. Instead of obtaining the closest vector, it is preferable that the second closest vector calculating means corrects the new closest vector obtained before the current movement or deformation to a new closest vector.
【0027】さらに、上記本発明の第2の物体間距離演
算装置が、 (2−7)上記形状情報記憶手段に記憶された形状情報
および上記形状情報更新手段により求められた新たな形
状情報に基づいて描画された凸物体を表示する表示手段
を備えたものであることが好ましい。Further, the second inter-object distance calculating apparatus according to the present invention further comprises: (2-7) adding the new shape information obtained by the shape information updating means to the shape information stored in the shape information storing means. It is preferable to include a display unit that displays the convex object drawn based on the image.
【0028】また上記目的を達成する本発明の物体間距
離演算プログラム記憶媒体のうちの第1の物体間距離演
算プログラム記憶媒体は、一方が凸多面体であることが
許容され他方もしくは双方が凸曲面のパッチの集合から
なる凸曲面物体で構成されてなる2つの3次元凸物体の
最近接点間距離を、該2つの凸物体の、配置位置情報を
含む形状情報に基づいて算出する物体間距離演算プログ
ラムであって、 (3−1)上記2つの凸物体の最近接点どうしを結ぶ最
近接ベクトルであって、その2つの凸物体のうちの一方
の凸物体から他方の凸物体に向かう方向の最近接ベクト
ルと、その一方の凸物体を構成する、その一方の凸物体
が凸多面体である場合の頂点の位置ベクトル、もしく
は、その一方の凸物体が凸曲面物体である場合のその凸
曲面物体を構成する凸曲面パッチを構成するための制御
点の位置ベクトルとの内積のうち、上記一方の凸物体
の、上記他方の凸物体に対する最近接点に近い頂点もし
くは制御点についての内積が、その一方の凸物体の最近
接点から離れた頂点もしくは制御点についての内積より
も大きな値を持つ最近接ベクトルを求める第1の最近接
ベクトル演算手段 (3−2)上記第1の最近接ベクトル演算手段で求めら
れた最近接ベクトルを、凸曲面物体の最近接点でその凸
曲面物体に接する平面と直交する新たな最近接ベクトル
に修正する第2の最近接ベクトル演算手段を有する物体
間距離演算プログラムが格納されてなることを特徴とす
る。The first object-to-object distance calculating program storage medium of the present invention for achieving the above object has one of which is allowed to be a convex polyhedron and the other or both of which are convex curved surfaces. Distance calculation for calculating the distance between the closest points of two three-dimensional convex objects composed of a set of patches having a convex surface based on shape information including arrangement position information of the two convex objects (3-1) a closest vector connecting the closest points of the two convex objects, the closest vector in a direction from one convex object to the other convex object of the two convex objects; A tangent vector and a position vector of a vertex when one of the convex objects is a convex polyhedron, or a convex surface when one of the convex objects is a convex curved object Of the inner products with the position vectors of the control points for forming the convex surface patch constituting the object, the inner product of the one convex object, the vertex or the control point near the closest point to the closest point to the other convex object is the inner product. A first closest vector calculating means for obtaining a closest vector having a value larger than an inner product of a vertex or a control point of one of the convex objects away from the closest point thereof (3-2) the first closest vector calculating means A second closest vector calculating means for correcting the closest vector obtained in the above to a new closest vector orthogonal to a plane tangent to the convex surface object at the closest point of the convex surface object. It is characterized by being stored.
【0029】本発明の第1の物体間距離演算プログラム
記憶媒体は、そこに格納された物体間距離演算プログラ
ムが、前述の第1の物体間距離演算装置と同様、(3−
1)の第1の最近接ベクトル演算手段において、(3−
1)に記述した原理、例えば前述した(d)の文献に記
載された手法を用いて、対象とする2つの凸物体双方を
多面体とみなしたときの最近接ベクトルを求めるもので
あるが、それにとどまらず(3−2)の第2の最近接ベ
クトル演算手段において、(3−2)に記述した原理に
基づいて、(3−1)の第1の最近接ベクトル演算手段
において求められた最近接ベクトルを修正して新たな最
近接ベクトルを求めるものであるため、対象となる物体
は凸多面体である必要はなく、凸曲面を持った任意の凸
物体にまで拡張され、適用範囲が大幅に広がる。しか
も、(3−1),(3−2)に記載した各原理に基づく
演算は、前述した(1)〜(3)の従来技術に比べ極め
て高速な演算が可能であり、しかも干渉しているか否か
のみでなく2つの凸物体間の最近接点間距離も求めるこ
とができる。In the storage medium for the first inter-object distance calculation program according to the present invention, the inter-object distance calculation program stored in the storage medium is the same as that of the first inter-object distance calculation apparatus described above.
In the first nearest-neighbor vector calculating means of 1), (3-
By using the principle described in 1), for example, the method described in the above-mentioned document (d), a nearest vector when both target convex objects are regarded as a polyhedron is obtained. In addition, in the second nearest neighbor vector calculating means of (3-2), based on the principle described in (3-2), the second nearest neighbor vector calculating means of (3-1) Since the tangent vector is corrected to obtain a new nearest vector, the target object does not need to be a convex polyhedron, but is extended to any convex object having a convex curved surface, and the applicable range is greatly increased. spread. In addition, the calculations based on the principles described in (3-1) and (3-2) can be performed at a much higher speed than the above-described prior arts (1) to (3), and furthermore, there is interference. It is possible to determine not only the presence or absence but also the distance between the closest points between two convex objects.
【0030】尚、3つ以上の多数の凸物体が存在し、そ
れら多数の凸物体のうちどの2つの凸物体が干渉しそう
か否か、すなわちどの2つの凸物体間の最近接ベクトル
を求める必要があるかが明らかでないときは、それら多
数の凸物体の全ての組合せについて最近接ベクトルを求
めることに代え、各凸物体を包絡球で覆い、それらの包
絡球のうち近接した複数の球をさらに1つの包絡球で覆
うというようにして2組の階層的メタツリーを構成し、
メタツリー同士に縦優先探索(Depth−first
探索)を施すことにより接近している可能性の最も高い
凸物体のペアを選び出す手法(特願平7−174627
号参照)を用いることが好ましい。It is to be noted that there are three or more convex objects, and it is necessary to determine which two convex objects are likely to interfere with each other, that is, to determine the nearest vector between any two convex objects. When it is not clear whether there is any, instead of finding the nearest vector for all combinations of these many convex objects, each convex object is covered with an envelope sphere, and a plurality of adjacent spheres among those envelope spheres are further Two sets of hierarchical metatrees are constructed by covering with one envelope sphere,
Depth-first search between meta trees
Search) to select a pair of convex objects that are most likely to be approaching (Japanese Patent Application No. 7-174627).
No.) is preferably used.
【0031】ここで、上記本発明の第1の物体間距離演
算プログラム記憶媒体において、そこに格納された物体
間距離演算プログラムが、 (3−3)上記第2の最近接ベクトル演算手段で求めら
れた上記新たな最近接ベクトルに基づいて、上記2つの
凸物体どうしが干渉しているか否かを判定する干渉判定
手段を有するものであることが好ましい。Here, in the first medium-to-object distance calculation program storage medium of the present invention, the object-to-object distance calculation program stored therein is obtained by: (3-3) the second closest vector calculation means. It is preferable that the apparatus further includes an interference determination unit that determines whether or not the two convex objects are interfering with each other based on the obtained newest closest vector.
【0032】最終的に干渉しているか否かの判定結果を
必要する場合も多いからである。さらに、上記本発明の
第1の物体間距離演算プログラム記憶媒体は、そこに格
納された物体間距離演算プログラムが、上記(3−
1),(3−2)の各手段に加え、さらに (3−4)上記2つの凸物体のうちの一方が凸多面体で
ある場合におけるその凸多角形の頂点の集合を包含す
る、上記凸曲面物体を構成する凸曲面パッチを構成する
ための制御点の集合からなる形状情報を、上記凸物体の
移動ないし変形を指示する情報に基づいてその凸物体の
頂点ないし制御点の移動ないし変形後の座標を演算する
ことにより新たな形状情報に更新する形状情報更新手段 (3−5)上記凸曲面物体の形状情報に基づいてその凸
曲面物体を構成する凸曲面パッチを生成する曲面パッチ
情報生成手段を有するものであってもよい。This is because it is often necessary to finally determine whether or not interference occurs. Further, in the storage medium for the first inter-object distance calculation program according to the present invention, the inter-object distance calculation program stored therein is stored in the storage medium.
(3-4) In addition to the means of (1) and (3-2), (3-4) the convex shape including a set of vertices of the convex polygon when one of the two convex objects is a convex polyhedron Based on information indicating the movement or deformation of the convex object, the shape information including the set of control points for forming the convex surface patch forming the curved object is obtained after the movement or deformation of the vertex or control point of the convex object. (3-5) Surface patch information generation for generating a convex surface patch constituting the convex surface object based on the shape information of the convex surface object based on the shape information of the convex surface object It may have a means.
【0033】本発明の物体間距離演算プログラム記憶媒
体に格納された物体間距離演算プログラムは、従来と比
べ高速演算が可能なものであり、したがってこの物体間
距離演算プログラムは、上記の(3−4)〜(3−5)
の各手段を備え、凸物体を移動ないし変形させてそのよ
うに移動ないし変形する凸物体間の距離を高速に求める
用途に向いている。The inter-object distance calculation program stored in the storage medium of the inter-object distance calculation program according to the present invention is capable of performing a higher-speed calculation than the conventional one. 4) to (3-5)
It is suitable for applications in which a convex object is moved or deformed and the distance between the convex objects moving or deformed in such a manner is quickly obtained.
【0034】この場合に、上記(3−1)の第1の最近
接ベクトル演算手段では、特開平7−134735号公
報に開示されているように、対象の凸物体が直前の移動
前の位置ないし直前の変形前の状態にあるときの最近接
点近傍の領域内の各頂点ないし各制御点のみについて内
積を求めてもよい。こうすることにより、第1の最近接
ベクトル演算手段において、移動ないし変形後の凸物体
について最近接ベクトルを、さらに高速に算出すること
ができる。In this case, in the first nearest-neighbor vector calculating means (3-1), as disclosed in Japanese Patent Application Laid-Open No. Hei 7-134735, the target convex object is moved to the position before the previous movement. Alternatively, the inner product may be obtained only for each vertex or each control point in the region near the closest point in the state before the last deformation. In this way, the first closest vector calculating means can calculate the closest vector for the moved or deformed convex object at a higher speed.
【0035】あるいは、隣接するフレーム間の凸物体の
移動量ないし変形量が所定量以下の場合、移動ないし変
形後の最近接ベクトルを求めるにあたり、以下に説明す
るように、第1の最近接ベクトル演算手段での最近接ベ
クトルの算出は省略してもよい。本発明の第1の物体間
距離演算プログラム記憶媒体に格納された物体間距離演
算プログラムにおける、そのように構成された態様は、
上記(3−2)の第2の最近接ベクトル演算手段が、上
記凸物体が移動もしくは変形された場合に、上記第1の
最近接ベクトル演算手段において移動もしくは変形後の
最近接ベクトルを求めることに代わり、上記第2の最近
接ベクトル演算手段において今回の移動もしくは変形前
に求められた新たな最近接ベクトルをさらに新たな最近
接ベクトルに修正するものであることを特徴とする。Alternatively, when the moving amount or the deformation amount of the convex object between the adjacent frames is equal to or less than a predetermined amount, the nearest neighbor vector after the movement or the deformation is determined by the first nearest neighbor vector as described below. The calculation of the closest vector by the calculation means may be omitted. In the first inter-object distance calculation program stored in the first inter-object distance calculation program storage medium according to the present invention,
(3-2) The second closest vector calculating means in (3-2), wherein when the convex object is moved or deformed, the first closest vector calculating means obtains the closest vector after movement or deformation. Instead of this, the second closest vector calculating means corrects the new closest vector obtained before the current movement or deformation to a new closest vector.
【0036】連続した移動もしくは連続した変形におい
て、直前の位置ないし直前の変形状態からの変化が僅か
である場合、第1の最近接ベクトル演算手段で概略の最
近接ベクトルを新たに求め直す代わりに、今回の移動も
しくは変形前、すなわちその凸物体が直前の移動前の位
置ないし直前の変形状態にあるときに第2の最近接ベク
トル演算手段で求められた直前の最近接ベクトルを概略
の最近接ベクトルとして用い、その概略の最近接ベクト
ルとして用いた直前の最近接ベクトルを修正することに
より、今回の移動後もしくは変形後の凸物体についての
最近接ベクトルを求めることができる。こうすることに
より、移動ないし変形のたびに第1の最近接ベクトルで
最近接ベクトルを新たに算出し直す場合と比べ、一層の
高速演算処理が可能となる。In a continuous movement or a continuous deformation, if the change from the immediately preceding position or the immediately preceding deformation state is slight, instead of re-calculating the approximate nearest vector newly by the first nearest vector calculating means, Before the current movement or deformation, that is, when the convex object is in the position before the immediately preceding movement or in the last deformed state, the nearest nearest vector obtained by the second nearest vector calculation means is roughly approximated to the nearest vector. By using the vector as a vector and correcting the nearest vector immediately before used as the approximate nearest vector, the nearest vector for the convex object after the current movement or deformation can be obtained. By doing so, higher-speed arithmetic processing can be performed as compared with the case where the closest vector is newly calculated with the first closest vector every time the object is moved or deformed.
【0037】次に、上記目的を達成する本発明の物体間
距離演算プログラム記憶媒体のうちの第2の物体間距離
演算プログラム記憶媒体について説明する。本発明の第
2の物体間距離演算プログラム記憶媒体は、二次元凸物
体を対象とする物体間距離演算プログラムが格納された
ものである。以下に説明する本発明の第2の物体間距離
演算プログラム記憶媒体に格納された物体間距離演算プ
ログラムの構成に対する作用はこれまで説明した第1の
物体間距離演算プログラム記憶媒体に格納された物体間
距離演算プログラムの作用と同一であるため、作用につ
いての説明は省略する。Next, a description will be given of a second inter-object distance calculation program storage medium of the inter-object distance calculation program storage medium of the present invention which achieves the above object. A second medium for calculating a distance between objects according to the present invention stores a program for calculating a distance between objects targeting a two-dimensional convex object. The operation of the present invention described below with respect to the configuration of the second inter-object distance calculation program storage medium stored in the second inter-object distance calculation program storage medium is similar to that of the first inter-object distance calculation program storage medium described above. Since the operation is the same as that of the distance calculation program, the description of the operation is omitted.
【0038】本発明の第2の物体間距離演算プログラム
記憶媒体は、一方が凸多角形であることが許容され他方
もしくは双方が凸曲線のパッチの集合からなる凸曲線物
体で構成されてなる2つの2次元凸物体の最近接点間距
離を、その2つの凸物体の、配置位置情報を含む形状情
報に基づいて算出する物体間距離演算プログラムであっ
て、 (4−1)上記2つの凸物体の最近接点どうしを結ぶ最
近接ベクトルであって、その2つの凸物体のうちの一方
の凸物体から他方の凸物体に向かう方向の最近接ベクト
ルと、その一方の凸物体を構成する、その一方の凸物体
が凸多角形である場合の頂点の位置ベクトル、もしくは
その一方の凸物体が凸曲線物体である場合のその凸曲線
物体を構成する凸曲線面パッチを構成するための制御点
の位置ベクトルとの内積のうち、上記一方の凸物体の、
他方の凸物体に対する最近接点に近い頂点もしくは制御
点についての内積が、その一方の凸物体の最近接点から
離れた頂点もしくは制御点についての内積よりも大きな
値を持つ最近接ベクトルを求める第1の最近接ベクトル
演算手段 (4−2)上記第1の最近接ベクトル演算手段で求めら
れた最近接ベクトルを、凸曲線物体の最近接点でその凸
曲線物体に接する直線と直交する新たな最近接ベクトル
に修正する第2の最近接ベクトル演算手段を有する物体
間距離演算プログラムが格納されてなることを特徴とす
る。The storage medium for the second program for calculating the distance between objects according to the present invention is constituted by a convex-curve object composed of a set of patches of one of which is allowed to be a convex polygon and the other or both are convex. An inter-object distance calculation program for calculating a distance between closest contacts of two two-dimensional convex objects based on shape information including arrangement position information of the two convex objects, wherein: (4-1) the two convex objects The closest vector connecting the closest points of the two convex objects, the closest vector in the direction from one convex object to the other convex object of the two convex objects, and one of the convex objects constituting one of the convex objects A position vector of a vertex when the convex object is a convex polygon, or a position of a control point for forming a convex curve surface patch constituting the convex curve object when one of the convex objects is a convex curve object Vect Out of the inner product with
A first vector for finding a nearest vector whose inner product at a vertex or control point close to the closest point to the other convex object has a larger value than inner product at a vertex or control point away from the closest point of the one convex object. Nearest vector calculation means (4-2) A newest closest vector orthogonal to a straight line tangent to the convex curve object at the closest point of the convex curve object at the closest point of the convex curve object calculated by the first closest vector calculation means. Wherein a program for calculating the distance between objects having second closest vector calculating means for correction is stored.
【0039】ここで、上記本発明の第2の物体間距離演
算プログラム記憶媒体において、そこに格納された物体
間距離演算プログラムが、 (4−3)上記第2の最近接ベクトル演算手段で求めら
れた上記新たな最近接ベクトルに基づいて、2つの凸物
体どうしが干渉しているか否かを判定する干渉判定手段
を有するものであることが好ましい。Here, in the storage medium for the second inter-object distance calculation program of the present invention, the inter-object distance calculation program stored therein is obtained by (4-3) the second closest vector calculation means. It is preferable that the apparatus further includes an interference determination unit that determines whether or not two convex objects are interfering with each other based on the obtained newest closest vector.
【0040】また、上記本発明の第2の物体間距離演算
プログラム記憶媒体は、そこに格納された物体間距離演
算プログラムが、上記(4−1),(4−2)の各手段
に加え、 (4−4)2つの凸物体のうちの一方が凸多角形である
場合におけるその凸多角形の頂点の集合を包含する、凸
曲線物体を構成する凸曲線パッチを構成するための制御
点の集合からなる形状情報を、凸物体の移動ないし変形
を指示する情報に基づいてその凸物体の頂点ないし制御
点の移動ないし変形後の座標を演算することにより新た
な形状情報に更新する形状情報更新手段 (4−5)凸曲線物体の形状情報に基づいてその凸曲線
物体を構成する凸曲線パッチを生成する曲線パッチ情報
生成手段を有するものであってもよい。Further, in the second medium for calculating the distance between objects according to the present invention, the program for calculating the distance between objects stored therein is added to the means of (4-1) and (4-2). (4-4) control points for forming a convex curve patch constituting a convex curve object, including a set of vertices of the convex polygon when one of the two convex objects is a convex polygon Is updated to new shape information by calculating coordinates after movement or deformation of vertices or control points of the convex object based on information indicating movement or deformation of the convex object based on information indicating movement or deformation of the convex object Updating means (4-5) It may have a curve patch information generating means for generating convex curve patches constituting the convex curve object based on the shape information of the convex curve object.
【0041】この場合に、上記(4−2)の第2の最近
接ベクトル演算手段が、上記凸物体が移動もしくは変形
された場合に、第1の最近接ベクトル演算手段において
移動もしくは変形後の最近接ベクトルを求めることに代
わり、第2の最近接ベクトル演算手段において今回の移
動もしくは変形前に求められた新たな最近接ベクトルを
さらに新たな最近接ベクトルに修正するものであること
が好ましい。In this case, the second closest vector calculating means of the above (4-2), when the convex object is moved or deformed, the first closest vector calculating means moves or deforms the convex object. Instead of obtaining the closest vector, it is preferable that the second closest vector calculating means corrects the new closest vector obtained before the current movement or deformation to a new closest vector.
【0042】[0042]
【発明の実施の形態】以下、本発明の実施形態について
説明する。図1は、本発明の物体間距離演算装置の一実
施形態を包含するコンピュータシステムの外観図であ
る。Embodiments of the present invention will be described below. FIG. 1 is an external view of a computer system including an embodiment of an inter-object distance calculating apparatus according to the present invention.
【0043】図1に示すコンピュータシステム100
は、CPUやMO(光磁気ディスク)ドライブ装置等が
内蔵された本体部101、本体部101からの指示によ
り、表示画面102a上に画像を表示する画像表示部1
02、このコンピュータシステム100に種々の情報を
入力するためのキーボード103、画像表示部102の
表示画面102a上の任意の位置を指定するマウス10
4、本発明の物体間距離演算プログラムの一実施形態を
格納しておく記憶部105が備えられている。The computer system 100 shown in FIG.
Is an image display unit 1 that displays an image on a display screen 102a in response to an instruction from the main unit 101 in which a CPU, an MO (magneto-optical disk) drive device, and the like are built.
02, a keyboard 103 for inputting various information to the computer system 100, and a mouse 10 for specifying an arbitrary position on the display screen 102a of the image display unit 102
4. A storage unit 105 for storing an embodiment of the inter-object distance calculation program according to the present invention is provided.
【0044】記憶部105に格納された物体間距離演算
プログラムは、可搬型記憶媒体であるMO(光磁気ディ
スク)110に格納されており、そのMO110をこの
図1に示すコンピュータシステム100に装填して、こ
のコンピュータシステム100にアップロードされる。
またそれと同様に、この図1に示すコンピュータシステ
ム100に格納された物体間距離プログラムを、MO1
10にダウンロードし、そのMO110を介して他のコ
ンピュータシステムに移すこともできる。The inter-object distance calculation program stored in the storage unit 105 is stored in an MO (magneto-optical disk) 110 which is a portable storage medium, and the MO 110 is loaded into the computer system 100 shown in FIG. Is uploaded to the computer system 100.
Similarly, the object distance program stored in the computer system 100 shown in FIG.
10, and can be transferred to another computer system via the MO 110.
【0045】以下では、物体間距離演算装置の実施形態
について説明するが、図1に示すコンピュータ100内
にそのような物体間距離演算装置としての機能を実現す
るプログラムが本発明にいう物体間距離演算プログラム
の実施形態であり、そのプログラムが、記憶された状態
の記憶部105が、本発明の物体間距離演算プログラム
記憶媒体の一実施形態に相当する。また、そのプログラ
ムがMO110に格納されているときは、そのプログラ
ムを格納した状態にあるMO110も、本発明の物体間
距離演算プログラム記憶媒体の一実施形態に相当する。In the following, an embodiment of the inter-object distance calculating device will be described. A program for realizing such a function as the inter-object distance calculating device in the computer 100 shown in FIG. This is an embodiment of a calculation program, and the storage unit 105 in which the program is stored corresponds to an embodiment of a storage medium for calculating a distance between objects calculation program of the present invention. Further, when the program is stored in the MO 110, the MO 110 in a state where the program is stored also corresponds to an embodiment of the storage medium for the distance calculation program between objects according to the present invention.
【0046】図2は、本発明の物体間距離演算装置の一
実施形態のブロック図である。この図において一本の実
線の矢印は初回のみのデータの流れ、二本の実線の矢印
は2回目以降のデータの流れ、破線の矢印は、初回と2
回目以降とに共通のデータの流れを示している。図2に
示す物体間距離演算装置10には、形状情報記憶手段1
1が備えられている。形状情報記憶手段11には、最近
接点間距離算出の対象となる2つの凸物体の頂点の集合
ないしは制御点の集合からなる形状情報が記憶されてい
る。これら頂点の集合ないし制御点の集合からなる形状
情報は、各頂点ないし各制御点をそれぞれ独立に表現す
る情報の集合であってもよく、あるいは凸物体の表面を
解析的に表現するための関数式であってもよい。最近接
点間距離算出の対象となる2つの凸物体のうちの少なく
とも1つの凸物体は制御点によって規定される凸曲面パ
ッチの集合から構成される。形状情報記憶手段11には
凸曲面パッチを含めて記憶しておいてもよく、制御点の
み記憶しておいて、その記憶された制御点により規定さ
れる凸曲面パッチは、後述する曲面パッチ情報生成手段
13で生成してもよい。最近接点間距離算出の対象おな
る2つの凸物体のうちもう一方の凸物体は、凸曲面物体
であってもよく、あるいは頂点の集合からなる凸多面体
であってもよい。FIG. 2 is a block diagram of an embodiment of the apparatus for calculating the distance between objects according to the present invention. In this figure, one solid arrow indicates the flow of data for the first time only, two solid arrows indicate the flow of data for the second and subsequent times, and the dashed arrow indicates the flow of the first and second data.
The flow of data common to the second and subsequent times is shown. The inter-object distance calculating device 10 shown in FIG.
1 is provided. The shape information storage means 11 stores shape information including a set of vertices or a set of control points of two convex objects to be calculated for the distance between closest contacts. The shape information consisting of a set of vertices or a set of control points may be a set of information expressing each vertex or each control point independently, or a function for analytically expressing the surface of a convex object. It may be an expression. At least one of the two convex objects to be calculated for the closest contact point distance is formed of a set of convex curved surface patches defined by control points. The shape information storage means 11 may store the convex surface patches including the convex surface patches. Only the control points are stored, and the convex surface patches defined by the stored control points are stored in the surface patch information described later. It may be generated by the generation unit 13. The other convex object of the two convex objects to be calculated for the closest contact point distance may be a convex curved surface object or a convex polyhedron composed of a set of vertices.
【0047】形状情報記憶手段11に記憶されていた形
状情報は読み出されて形状情報更新手段12に入力され
る。形状情報更新手段12では、その凸物体の頂点ない
し制御点の移動ないし変形後の座標を、形状情報記憶手
段11から読み出された形状情報に基づいて、あるいは
直前の移動ないし変形後の形状情報に基づいて算出する
ことにより、各フレーム毎に順次移動もしくは変形した
凸物体の形状情報が求められる。The shape information stored in the shape information storage means 11 is read out and input to the shape information updating means 12. The shape information updating means 12 calculates the coordinates of the vertices or control points of the convex object after movement or deformation based on the shape information read from the shape information storage means 11 or the shape information just before movement or deformation. , The shape information of the sequentially moved or deformed convex object is obtained for each frame.
【0048】形状情報記憶手段11から読み出された初
期状態としての形状情報、および形状情報更新手段12
で順次算出された形状情報は、曲面パッチ情報生成手段
13に入力される。この曲面パッチ情報生成手段13で
は、形状情報記憶手段11から読み出された形状情報な
いし形状情報更新手段で更新された形状情報が凸曲面物
体の制御点の集合である場合に、それらの制御点に基づ
いて、その凸曲面物体の表面を規定する凸曲面パッチが
生成される。ただし、形状情報記憶手段11から読み出
された凸曲面物体の初期状態を表わす形状情報がその凸
曲面物体の初期状態の凸曲面パッチの情報を含むもので
ある場合、形状情報記憶手段11から読み出された初期
状態としての凸曲面物体については凸曲面パッチの生成
は不要である。この場合、曲面パッチ情報生成手段13
では、形状情報更新手段12で更新された後の凸曲面物
体についての凸曲面パッチが生成される。The shape information as the initial state read from the shape information storage means 11 and the shape information updating means 12
Are sequentially input to the curved surface patch information generating means 13. When the shape information read from the shape information storage means 11 or the shape information updated by the shape information updating means is a set of control points of the convex surface object, the curved surface patch information generating means 13 sets these control points. , A convex surface patch that defines the surface of the convex surface object is generated. However, if the shape information representing the initial state of the convex surface object read from the shape information storage unit 11 includes information on the convex surface patch of the initial state of the convex surface object, the shape information is read from the shape information storage unit 11. Generation of a convex surface patch is unnecessary for the convex surface object as the initial state. In this case, the surface patch information generating means 13
Then, a convex surface patch for the convex surface object updated by the shape information updating means 12 is generated.
【0049】曲面パッチ情報生成手段13を経由した凸
曲面パッチ情報を含む形状情報は、表示手段14に送ら
れ、表示手段14には、初期状態の形状(配置位置を含
む)の凸物体、およびその後の、順次移動ないし変更さ
れた凸物体が連続的に表示される。また、曲面パッチ情
報生成手段13を経由した形状情報のうち初期状態を表
わす形状情報は、第1の最近接ベクトル演算手段15に
入力される。尚、後述するように、初期状態から移動な
いし変形した後の状態を表わす形状情報は、第1の最近
接ベクトル演算手段15による演算は不要であるため、
直接に、第2の最近接ベクトル演算手段16に入力され
る。The shape information including the convex surface patch information via the surface patch information generating means 13 is sent to the display means 14, and the display means 14 displays a convex object in the initial state (including the arrangement position), and Thereafter, the sequentially moved or changed convex object is continuously displayed. The shape information representing the initial state among the shape information that has passed through the curved surface patch information generating means 13 is input to the first closest vector calculating means 15. As described later, since the shape information representing the state after moving or deforming from the initial state does not need to be calculated by the first closest vector calculating means 15,
It is directly input to the second closest vector calculating means 16.
【0050】第1の最近接ベクトル演算手段15では、
入力されてきた初期状態の形状情報に基づいて、対象と
なる2つの凸物体の最近接点どうしを結ぶ最近接ベクト
ルが求められる。この第1の最近接ベクトル演算手段1
5では、最近接ベクトルを求めるにあたり、対象となる
2つの凸物体の最近接点どうしを結ぶ、それら2つの凸
物体のうちの一方の凸物体(自分)から他方の凸物体
(相手)に向かう方向の最近接ベクトルと、自分(一方
の凸物体)を構成する頂点もしくは制御点の位置ベクト
ルとの内積のうち、自分の、相手に対する最近接点に近
い頂点もしくは制御点についての内積が、自分の最近接
点から離れた頂点もしくは制御点についての内積よりも
大きな値を持つという原理が採用される。この原理の具
体例については後述する。In the first closest vector calculating means 15,
Based on the input shape information in the initial state, a closest vector connecting the closest points of two target convex objects is obtained. This first closest vector calculating means 1
In the step 5, in calculating the closest vector, a direction connecting the closest points of two target convex objects to each other, and a direction from one convex object (self) to the other convex object (partner) of the two convex objects. Is the inner product of the vertex or control point of the vertex or control point that is closest to the opponent of the inner product of the closest vector of The principle of having a value larger than the inner product of the vertex or control point away from the contact point is adopted. A specific example of this principle will be described later.
【0051】この第1の最近接ベクトル演算手段15で
求められる最近接ベクトルは、対象となる2つの物体双
方を凸多面体とみなしたときの最近接ベクトルであり、
凸曲面物体にとっては精度の不十分な最近接ベクトルで
ある。このようにして第1の最近接ベクトル演算手段1
5で求められた最近接ベクトルは、対象となる2つの凸
物体の形状情報(曲面パッチ情報を含む)とともに、第
2の最近接ベクトル演算手段16に入力される。その第
2の最近接ベクトル演算手段16では、凸曲面物体の最
近接点でその凸曲面物体に接する平面と2つの凸物体の
最近接点どうしを結ぶ最近接ベクトルとが直交するとい
う原理に基づいて、第1の最近接ベクトル演算手段15
で求められた最近接ベクトルがさらに高精度の新たな最
近接ベクトルに修正される。この原理の具体例について
も後述する。The nearest vector obtained by the first nearest vector calculation means 15 is a nearest vector when both target objects are regarded as convex polyhedrons.
This is the nearest vector with insufficient accuracy for a convex curved object. In this way, the first closest vector calculating means 1
The closest vector obtained in step 5 is input to the second closest vector calculation means 16 together with the shape information (including the surface patch information) of the two target convex objects. The second closest vector calculating means 16 is based on the principle that the plane closest to the convex surface object at the closest point of the convex surface object is orthogonal to the closest vector connecting the closest points of the two convex objects. First closest vector computing means 15
Is corrected to a new closest vector with higher accuracy. A specific example of this principle will be described later.
【0052】第2の最近接ベクトル演算手段16で求め
られた最近接ベクトルは、干渉判定手段17に入力さ
れ、その最近接ベクトルの長さが微小量ε(例えば10
-10 )よりも短い場合に対象としている2つの凸物体が
干渉状態にあり、それよりも長い場合にそれら2つの凸
物体が互いに離れていると判定される。この判定結果は
表示手段14に送られ、表示手段14では、対象として
いる2つの凸物体とともに、干渉状態の有無を表わす情
報が表示される。The nearest vector obtained by the second nearest vector calculating means 16 is input to the interference determining means 17 and the length of the nearest vector is a small amount ε (for example, 10
If the length is shorter than -10 ), it is determined that the target two convex objects are in an interference state, and if the length is longer than the target, the two convex objects are determined to be apart from each other. The result of this determination is sent to the display means 14, which displays information indicating the presence or absence of the interference state together with the two target convex objects.
【0053】上述したように、第1の最近接ベクトル演
算手段15で最近接ベクトルを求める必要があるのは対
象としている2つの凸物体が初期状態にあるときであ
り、形状情報更新手段12で移動ないし変形が行なわれ
た第2フレーム以降の形状情報は、第1の最近接ベクト
ル演算手段15はバイパスないし素通りして、直接に、
第2の最近接ベクトル演算手段16に入力される。第2
の最近接ベクトル演算手段16では、第2フレーム以降
の各フレームについては、直前のフレームについて自分
自身で求めた最近接ベクトルを今回のフレームについて
の概略の最近接ベクトルであるとみなして、その概略の
最近接ベクトルを、上述の原理に基づいて今回のフレー
ムについての高精度の最近接ベクトルに修正する。As described above, it is necessary for the first nearest vector computing means 15 to obtain the nearest vector when the two convex objects of interest are in the initial state. The shape information of the second and subsequent frames, which have been moved or deformed, are directly bypassed or passed by the first nearest neighbor vector calculating means 15,
It is input to the second closest vector calculation means 16. Second
The closest vector calculating means 16 regards, for each frame after the second frame, the closest vector obtained by itself for the immediately preceding frame as the approximate closest vector for the current frame. Is corrected to a highly accurate nearest vector for the current frame based on the principle described above.
【0054】以上のようにして、表示手段14には、対
象としているの2つの凸物体が移動ないし変形している
状態と、それら2つの凸物体が干渉状態にあるか否かが
リアルタイムで表示される。尚、ここでは図2を参照し
て、対象としている2つの凸物体が3次元物体であるこ
とを前提にした説明を行なったが、2次元物体を対象と
する場合も同様であるため、ここでは、2次元物体につ
いての説明は省略する。As described above, the display means 14 displays in real time the state in which the two convex objects of interest are moving or deformed and whether or not the two convex objects are in the interference state. Is done. Note that, here, with reference to FIG. 2, the description has been made on the assumption that the two convex objects to be processed are three-dimensional objects. However, the same applies to the case where two-dimensional objects are the target. The description of the two-dimensional object will be omitted.
【0055】図3は、本発明の物体間距離演算装置をコ
ンピュータシステム内に表現した場合の一実施形態のハ
ードウェア構成を示すブロック図である。図3に示す物
体間距離演算装置20において、CPU23では、最近
接ベクトルを算出する基本アルゴリズム、計算結果を表
示するための演算、物体の動きをグラフィカルに表示す
るための演算、その他、あらゆる論理演算を行なう。FIG. 3 is a block diagram showing a hardware configuration of an embodiment when the inter-object distance calculating device of the present invention is expressed in a computer system. In the inter-object distance calculating device 20 shown in FIG. 3, the CPU 23 performs a basic algorithm for calculating a closest vector, an operation for displaying a calculation result, an operation for graphically displaying the motion of an object, and any other logical operation. Perform
【0056】記憶装置27には、作業環境や部材の形状
データ、それらの初期位置、本発明に添った物体間距離
演算装置を実現するアルゴリズムの実行モジュール、物
体の動きをグラフィカルに表示するための実行モジュー
ル、その他、この物体間距離演算装置としての機能を実
現するために必要となるデータや実行モジュールが格納
されている。The storage device 27 has a work environment and shape data of members, their initial position, an execution module of an algorithm for realizing the inter-object distance calculating device according to the present invention, and a graphical display of the motion of the object. An execution module and other data and an execution module necessary for realizing the function as the inter-object distance calculating device are stored.
【0057】RAM26には、CPU23により記憶装
置27から読み出された作業環境や部材の形状データを
格納する形状データメモリ26a、例えばマウス等のデ
ータ入力装置21を介して入力された部材の移動指令デ
ータに基づいてCPU23内にて算出した座標変換デー
タを格納する座標変換データメモリ26b、形状データ
メモリ26aに格納された形状データおよび座標変換デ
ータメモリ26bに格納された座標変換データを使用し
てCPU23内で算出される、作業環境および部材の曲
面パッチデータを格納しておく曲面パッチデータメモリ
26c、最近接ベクトルを算出する基本アルゴリズムお
よび曲面パッチデータメモリ26cに格納された曲面パ
ッチデータを使用してCPU23内で算出された最近接
ベクトルデータ(最近接点、物体間距離、干渉判定結果
等を含む)を格納しておく最近接ベクトルデータメモリ
26d、形状データメモリ26aに格納された形状デー
タ、座標変換データメモリ26bに格納された座標変換
データを使用してCPU23内で算出された、移動後の
部材形状を表わす形状変換データを格納しておく形状変
換データメモリ26eの各メモリを備えている。The RAM 26 stores a work environment read out from the storage device 27 by the CPU 23 and a shape data memory 26a for storing shape data of members, for example, a member movement command input via the data input device 21 such as a mouse. The CPU 23 uses a coordinate conversion data memory 26b for storing coordinate conversion data calculated in the CPU 23 based on the data, the shape data stored in the shape data memory 26a, and the coordinate conversion data stored in the coordinate conversion data memory 26b. Using the surface patch data memory 26c for storing the work environment and the surface patch data of the member calculated in the basic algorithm for calculating the closest vector and the surface patch data stored in the surface patch data memory 26c. The closest vector data calculated in the CPU 23 ( The nearest-neighbor vector data memory 26d that stores the proximity point, the distance between the objects, the interference determination result, and the like), the shape data stored in the shape data memory 26a, and the coordinate conversion data stored in the coordinate conversion data memory 26b. Each memory is provided with a shape conversion data memory 26e for storing shape conversion data representing a member shape after movement calculated in the CPU 23 when used.
【0058】データ入力装置21は、作業環境や部材の
位置データや移動データをインターフェース22を介し
てCPU23に送る。グラフィックディスプレイ25
は、インターフェース24を介して送られてきた、RA
M26内の最近接ベクトルデータメモリ26dに格納さ
れていた最近接ベクトルデータおよび形状変換データメ
モリ26bに格納されていた形状変換データの各データ
に基づいて描画された画像を、グラフィカルに表示す
る。The data input device 21 sends the work environment and the position data and movement data of the members to the CPU 23 via the interface 22. Graphic display 25
Is the RA sent through the interface 24.
An image drawn based on the closest vector data stored in the closest vector data memory 26d in the M26 and the shape conversion data stored in the shape conversion data memory 26b is graphically displayed.
【0059】以下に、対象とする2つの凸物体が3次元
凸物体であってそれら2つの凸物体双方が凸曲面物体で
ある場合(ケース1)、対象とする2つの物体が3次元
凸物体であってそれら2つの凸物体のうちの一方が凸曲
面物体、他方が凸多面体である場合(ケース2)、対象
とする2つの凸物体が2次元凸物体であってそれら2つ
の凸物体双方が凸曲線物体である場合(ケース3)及び
対象とする2つの凸物体が2次元凸物体であってそれら
2つの凸物体のうちの一方が曲線物体、他方が凸多角形
である場合(ケース4)に分けて最近接ベクトル算出の
アルゴリズムについて説明する。In the following, when two target objects are three-dimensional convex objects and both of the two convex objects are convex curved objects (case 1), the two target objects are three-dimensional convex objects. If one of the two convex objects is a convex curved object and the other is a convex polyhedron (case 2), the two convex objects of interest are two-dimensional convex objects and both of the two convex objects Is a convex curved object (case 3), and two target convex objects are two-dimensional convex objects, one of the two convex objects is a curved object and the other is a convex polygon (case 3). The algorithm for calculating the closest vector will be described separately for 4).
【0060】(ケース1:3次元凸物体、かつ双方が凸
曲面物体の場合)図4は、図3のCPU23で実行され
る処理の流れを示した流れ図である。先ずステップ3_
1において、図3の記憶装置27より、部材や作業環境
の形状、それらの初期位置が読み込まれる。このステッ
プ3_1では、入力と同時に、初期位置の情報に従っ
て、図3のグラフィックディスプレイ25上に、部材や
作業環境が初期配置される。ステップ3_2では、グラ
フィックディスプレイ25上に表示された部材や、作業
環境の中から、マウス等のデータ入力装置21を用い
て、干渉状態のチェックを行なうべき対象とする物体を
ピックアップし選び出す。ステップ3_3では、マウス
等を使ってピックアップした対象物体を動かし、その移
動データを図3のCPU23に入力する。ステップ3_
4では、ステップ3_3で入力された移動データに基づ
いて、絶対座標空間からの移動を表わす変換行列を計算
し、それを基に、各部材や作業環境の移動を表わす、部
材、作業環境の形状変換データを作成する。ステップ3
_5では、選択した干渉判定対象物体の曲面パッチデー
タを、ステップ3_4で作成した形状変換データに基づ
いて作成する。ステップ3_6では、ステップ3_5の
結果を受けて、最近接ベクトル算出アルゴリズムを起動
する。この最近接ベクトル算出アルゴリズムについては
後述する。ステップ3_7では、ステップ3_6の結果
およびステップ3_4の形状変換データの結果に基づく
画像を、図3のグラフィックディスプレイ25に表示す
る。ステップ3_8では、ステップ3_7で算出された
干渉判定対象物体間の距離dの値をしきい値εと比べ、
d<εの場合には干渉状態にあると判定し、ステップ3
_9において干渉ポイントを表示する。ステップ3_1
0では、ステップ3_3からステップ3_8およびステ
ップ3_9までの処理を続行するか否かを判断し、続行
する場合にはステップ3_3に戻って次フレームの移動
データを入力する。続行しない場合には、全体の処理を
抜ける。(Case 1: Case of Three-Dimensional Convex Object and Both Convex Curved Objects) FIG. 4 is a flowchart showing the flow of processing executed by the CPU 23 of FIG. First, Step 3_
At 1, the shapes of the members and the working environment and their initial positions are read from the storage device 27 of FIG. In step 3_1, the members and the working environment are initially arranged on the graphic display 25 in FIG. 3 according to the information on the initial position at the same time as the input. In step 3_2, an object to be checked for interference is picked up and selected from the members displayed on the graphic display 25 and the work environment using the data input device 21 such as a mouse. In step 3_3, the picked-up target object is moved using a mouse or the like, and the movement data is input to the CPU 23 in FIG. Step 3_
In step 4, a transformation matrix representing the movement from the absolute coordinate space is calculated based on the movement data input in step 3_3, and based on the calculated transformation matrix, the shapes of the members and the working environment representing the movement of each member and the working environment are calculated. Create conversion data. Step 3
In _5, the surface patch data of the selected interference determination target object is created based on the shape conversion data created in step 3_4. In step 3_6, the nearest neighbor vector calculation algorithm is activated in response to the result of step 3_5. The closest vector calculation algorithm will be described later. In step 3_7, an image based on the result of step 3_6 and the result of the shape conversion data in step 3_4 is displayed on the graphic display 25 in FIG. In step 3_8, the value of the distance d between the objects of interference determination calculated in step 3_7 is compared with a threshold ε,
If d <ε, it is determined that there is an interference state, and step 3
The interference point is displayed at _9. Step 3_1
At 0, it is determined whether or not to continue the processing from step 3_3 to step 3_8 and step 3_9, and if so, the process returns to step 3_3 to input the movement data of the next frame. If the process is not to be continued, the entire process is exited.
【0061】図5は、図4のステップ3_6の最近接ベ
クトル算出アルゴリズムの詳細を表わした流れ図であ
る。図6は、図5の内、ステップ4_1〜4_9のフロ
ーを例示した図であり、本発明にいう第1の最近接ベク
トル演算手段の一実施形態の説明図である。また、図7
は、図5のステップ4_10〜4_12のフローを例示
した図であり、本発明にいう第2の最近接ベクトル演算
手段の一実施形態の説明図である。FIG. 5 is a flow chart showing details of the nearest neighbor vector calculation algorithm in step 3_6 in FIG. FIG. 6 is a diagram exemplifying the flow of steps 4_1 to 4_9 in FIG. 5, and is an explanatory diagram of one embodiment of the first closest vector calculating means according to the present invention. FIG.
FIG. 6 is a diagram exemplifying a flow of steps 4_10 to 4_12 in FIG. 5, and is an explanatory diagram of one embodiment of a second closest vector calculating means according to the present invention.
【0062】先ず、図5のステップ4_1では、二つの
対象物体の各々の重心を結び、ν0とする(図6(a)
参照)。重心としては、通常、曲面を定義する位置ベク
トル集合{Qi }の平均をとる。多面体の場合には、頂
点ベクトルの平均を取る。次にステップ4_2におい
て、−ν0 と図6の左方の物体を定義する位置ベクトル
集合X={Qi }との内積をとり、その最大値を表わす
位置ベクトルをp0 とする。同様に、ν0 と図6の右方
の物体を定義する位置ベクトル集合Y={Q’i}との
内積を取り、その最大値を表わす位置ベクトルをq0 と
する。First, in step 4_1 in FIG. 5, the respective centers of gravity of the two target objects are connected to each other and set to ν 0 (FIG. 6 (a)).
reference). As the center of gravity, the average of the position vector set {Q i } that defines the curved surface is usually taken. In the case of a polyhedron, the average of the vertex vectors is taken. Next, in step 4_2, an inner product of −ν 0 and a position vector set X = {Q i } defining the left object in FIG. 6 is obtained, and a position vector representing the maximum value is defined as p 0 . Similarly, an inner product of ν 0 and a position vector set Y = {Q ′ i } defining the right object in FIG. 6 is obtained, and a position vector representing the maximum value is defined as q 0 .
【0063】ステップ4_3において、ν0 をν1 =p
0 −q0 に更新する(図6(b)参照)。ステップ4_
4において、ステップ4_2と同様に、−ν1 と図6の
左方の物体を定義する位置ベクトル集合X={Qi }と
の内積を取り、その最大値を表わす位置ベクトルをp1
とする。また、ν1 と図6の右方の物体を定義する位置
ベクトル集合Y={Q’i }との内積をとり、その最大
値を表わす位置ベクトルをq1 とする。一般には、p1
は、p0 とは異なる位置ベクトルであり、q1 は、q0
とは異なる位置ベクトルである。In step 4_3, ν 0 is changed to ν 1 = p
0 is updated to -q 0 (see Figure 6 (b)). Step 4_
In step 4, as in step 4_2, the inner product of −ν 1 and the position vector set X = {Q i } defining the left object in FIG. 6 is calculated, and the position vector representing the maximum value is defined as p 1
And Further, an inner product of ν 1 and a position vector set Y = {Q ′ i } defining the right object in FIG. 6 is obtained, and a position vector representing the maximum value is defined as q 1 . In general, p 1
Is a position vector different from p 0 , and q 1 is q 0
Is a different position vector.
【0064】ステップ4_5において、ν1 をν2 =p
1 −q1 に更新する。図5のステップ4_6,ステップ
4_7に示すように、同様の操作を繰り返してνi を更
新していき、ステップ4_8において、νi の収束ベク
トルνfinal を算出する。ここで、νi は正確には以下
のように更新される。νi は、ベクトル集合Yiにより
張られる凸包への最近接ベクトルであり、ベクトル集合
Yi は、Yi+1 ={subYi ,pi+1 −qi+1 }の形
で更新され、subYi はYi の部分集合であって、こ
の時、νi は以下のように表わされる。In step 4_5, ν 1 is changed to ν 2 = p
Updated to 1 -q 1. As shown in steps 4_6 and 4_7 in FIG. 5, the same operation is repeated to update ν i , and in step 4_8, the convergence vector ν final of ν i is calculated. Here, ν i is updated exactly as follows. ν i is the closest vector to the convex hull spanned by the vector set Y i , and the vector set Y i is updated in the form of Y i + 1 = {subY i , p i + 1 −q i + 1 } Where subY i is a subset of Y i , where ν i is represented as follows:
【0065】[0065]
【数1】 (Equation 1)
【0066】ここで、mは3次元ユークリッド空間では
最大4であり、νi は原点からの、m=1の場合は頂点
への、m=2の場合は線分への、m=3の場合は三角形
パッチへの最近接ベクトルとして表現される。m=4の
場合は、四面体の内部、即ちν=0となる。「E.G.
Gilbert,D.W.Johnson,andS.
S.Keerthi, ”A Fast Proced
ure for Computing the Dis
tance Between ComplexObje
cts in Three−Dimensional
Space,”IEE Journal of Rob
otics and Automation, Vo
l.4, No.2,pp.193−203,198
8」には、係数λk を効率よく計算するアルゴリズムが
提示されている。図5に示す、頂点pi ,qi ,ベクト
ルνi の更新過程は、ほとんどの凸多面体に対し、2、
3回で収束することが確かめられている。νfinal を算
出するまでの計算量は、主に内積計算Here, m is a maximum of 4 in the three-dimensional Euclidean space, and ν i is from the origin, to the vertex when m = 1, to the line segment when m = 2, and to m = 3 The case is represented as the closest vector to the triangle patch. When m = 4, the inside of the tetrahedron, that is, ν = 0. "EG.
Gilbert, D.A. W. Johnson, andS.
S. Keerthi, "A Fast Proced
ure for Computing the Dis
tance Between ComplexObje
cts in Three-Dimensional
Space, "IEEE Journal of Rob
otics and Automation, Vo
l. 4, No. 2, pp. 193-203, 198
8 ”, an algorithm for efficiently calculating the coefficient λ k is presented. The updating process of the vertices p i , q i , and vector ν i shown in FIG.
It has been confirmed that the convergence takes place three times. The amount of calculation until ν final is calculated is mainly the inner product calculation
【0067】[0067]
【数2】 (Equation 2)
【0068】から発生し、従って、その負荷は、位置ベ
クトルの総数M=M1 +M2 に比例する。次に、図5と
ともに図7を参照しながら、図5のステップ4_9以
降、即ち、本発明にいう第2の最近接ベクトル演算手段
の一実施形態について説明する。図5のステップ4_9
では、νfinal の表式And its load is therefore proportional to the total number of position vectors, M = M 1 + M 2 . Next, an embodiment of the second closest vector calculating means according to the present invention will be described with reference to FIG. 7 together with FIG. Step 4_9 in FIG.
Then, the expression of ν final
【0069】[0069]
【数3】 (Equation 3)
【0070】から、位置ベクトルpi ,qi をそれぞれ
制御点として持つ曲面パッチを1組選び出す。一般に、
位置ベクトル集合{pi }を制御点に持つ曲面パッチは
m=1,2ではpi の回りに複数個存在するが、選び出
す曲面パッチはそれらのうち、いずれでもよい。ステッ
プ4_10では、選び出した曲面パッチ上にて、νfina
l を初期値としてνfinal を以下のように更新してい
く。From the above, one set of curved surface patches having the position vectors p i and q i as control points is selected. In general,
A plurality of surface patches having the position vector set {p i } at the control point exist around p i for m = 1 and 2; however, any of these surface patches may be selected. In step 4_10, on the selected surface patch, ν fina
ν final is updated as follows with l as the initial value.
【0071】以下では、曲面パッチがスプライン(B−
spline)曲面In the following, the surface patch is a spline (B-
spline) curved surface
【0072】[0072]
【数4】 (Equation 4)
【0073】で表現されているものとする。先ず、ベク
トルνcurve の初期値を、図5のステップ4_8で求め
たνfinalとする。頂点pi ,qi を更新するにあたり
内積の最大値をとったようにIs assumed to be represented by First, the initial value of the vector ν curve is ν final obtained in step 4_8 in FIG. When updating the vertices p i and q i ,
【0074】[0074]
【数5】 (Equation 5)
【0075】を満たすu,wを繰り返し法で求める。即
ち、U and w that satisfy the conditions are obtained by an iterative method. That is,
【0076】[0076]
【数6】 (Equation 6)
【0077】[0077]
【数7】 (Equation 7)
【0078】として、As follows:
【0079】[0079]
【数8】 (Equation 8)
【0080】のようにu,wを更新していく。u,wの
初期値としては、ここでは一例としてu=w=1/2と
する。以上の操作を図7に示すように2つの凸曲面物体
双方について行なう。収束したu,wの値u1 w1 を曲
面の方程式に代入して得られる、2つの凸曲面物体上の
点どうしを結び、νcurve とする。νcurve をν
curve,l に更新して上記の計算を同じように繰り返す。
このとき、u,wの初期値としては、u1 ,w1 をと
る。収束したu,wから得られるνcurve をνcurve,2
とする。As described above, u and w are updated. Here, as an initial value of u and w, u = w = 1 / as an example. The above operation is performed for both two convexly curved objects as shown in FIG. Points on two convexly curved objects obtained by substituting the converged values of u and w, u 1 w 1, into the equation of the curved surface are connected to form a ν curve . ν curve to ν
Update to curve, l and repeat the above calculation in the same way.
At this time, u 1 and w 1 are taken as initial values of u and w. Ν curve obtained from converged u and w is ν curve, 2
And
【0081】上記の繰り返し計算により最終的に得られ
るνcurve をνcurve,final とする。この繰り返し計算
の途中において、u,wの値が0≦u,w≦1の範囲を
越えたならば、越えた方向の曲面パッチに移行して、上
記計算を繰り返す。以上が図5のステップ4_10,4
_11の過程である。図5のステップ4_12では、こ
のようにして求めたνcurve,final を最終的に求めた最
近接ベクトルνcloses t とする。上記の収束過程の様子
は、図7に示す通りである。The ν curve finally obtained by the above iterative calculation is defined as ν curve, final . If the values of u and w exceed the range of 0 ≦ u, w ≦ 1 during the repetitive calculation, the process proceeds to a curved surface patch in the exceeded direction, and the above calculation is repeated. Steps 4_10 and 4 in FIG.
_11. In step 4_12 in FIG. 5, the thus obtained ν curve, final is set as the nearest vector ν closes t finally obtained. The convergence process described above is as shown in FIG.
【0082】(ケース2:3次元凸物体、かつ一方が凸
曲面物体、他方が凸多面体の場合)ケース1との相違点
について説明する。二つの対象物体間の最近接ベクトル
を求める過程において、一方が凸曲面物体、もう一方が
凸多面体の場合には、図5に示した過程において凸多面
体に対してはステップ4_1〜ステップ4_8のプロセ
ス、凸曲面物体に対してはステップ4_1〜ステップ4
_11のプロセスを繰り返すことにより最終的にν
closestを算出する。(Case 2: Three-dimensional convex object, one of which is a convex curved object and the other is a convex polyhedron) Differences from case 1 will be described. In the process of obtaining the closest vector between two target objects, if one is a convex curved surface object and the other is a convex polyhedron, the process of steps 4_1 to 4_8 is performed on the convex polyhedron in the process shown in FIG. Step 4_1 to Step 4 for a convex curved object
By repeating the process of _11, finally ν
Calculate closest .
【0083】(ケース3:2次元凸物体、かつ双方が凸
曲線物体の場合)上記の最近接ベクトル算出法は、2次
元においても以下のように適用される。以下、曲線パッ
チをスプライン曲線(B−spline曲線)で考え
る。図5のステップ4_1〜ステップ4_8のプロセス
は、2次元の場合であっても、成分を2次元にしただけ
でそのまま成立する。図5のステップ4_9の「曲面パ
ッチの選出」は、「曲線パッチの選出」となる。図5の
ステップ4_10のνcurve ,iの更新過程は以下のよう
になる。(Case 3: Two-dimensional convex object and both are convex
In the case of a curved object) The above-described method for calculating the closest vector is quadratic.
The same applies to the following. Below,
H is considered as a spline curve (B-spline curve).
You. Process of step 4_1 to step 4_8 in FIG.
Is just a two-dimensional component, even in the two-dimensional case
Holds as it is. Step 4_9 of FIG.
“Selection of a switch” is “selection of a curved patch”. In FIG.
Ν of step 4_10curve , iThe update process is as follows
become.
【0084】いま、2つの対象物体についてそれぞれ選
び出した2つのB−spline曲線のうち一方を、Now, one of the two B-spline curves respectively selected for the two target objects is
【0085】[0085]
【数9】 (Equation 9)
【0086】とする。ここで、Qi はB−Spline
曲線の制御点である。B−spline曲線のtによる
微分とνcurve ,iとの内積をゼロにおいた次式J(t)
=0の、0≦t≦1を満たす実根を求める。もう一方の
選び出したB−spline曲線についても同様の手続
を行ない、求めたポイントどうしを結んで次ステップの
νcurve ,iとする。以降の処理は、3次元の場合と同じ
である。Assume that: Here, Q i is B-Spline
This is the control point of the curve. The following equation J (t) where the inner product between the derivative of the B-spline curve by t and ν curve , i is set to zero
A real root that satisfies 0 ≦ t ≦ 1 for = 0 is obtained. The same procedure is performed for the other selected B-spline curve, and the obtained points are connected to each other to obtain ν curve , i in the next step. Subsequent processing is the same as in the three-dimensional case.
【0087】[0087]
【数10】 (Equation 10)
【0088】(ケース4:2次元凸物体、かつ一方が凸
曲線物体、他方が凸多角形の場合)二つの対象物体間の
最近接ベクトルを求める過程において、一方が凸曲線物
体、もう一方が凸多角形の場合には、凸多角形に対して
は、図5の過程のうちステップ4_1〜4_8を、ケー
ス3と同様に2次元に直したプロセス、凸曲線物体に対
しては図5の過程のうちステップ4_1〜ステップ4_
11をケース3と同様に2次元に直したプロセスを繰り
返すことにより、最終的にνclosest を算出する。(Case 4: Two-dimensional convex object and one is a convex curved object and the other is a convex polygon) In the process of obtaining the nearest vector between two target objects, one is a convex curved object and the other is a convex curved object In the case of a convex polygon, for a convex polygon, steps 4_1 to 4_8 in the process of FIG. Step 4_1 to Step 4_ in the process
By repeating the process of converting 11 into two dimensions in the same manner as in Case 3, ν closest is finally calculated.
【0089】次に、二つの凸物体が時間的に移動ないし
変形する場合の最近接ベクトルの求め方について説明す
る。ここでは、対象とされる2つの凸物体が3次元物体
であって、かつ双方が凸曲面物体であるとする。他のケ
ースについても、上述と同様に、より簡単化されたアル
ゴリズムにより適用可能である。二つの凸曲面物体間の
最近接ベクトルを時間に関して連続的に求めていく場
合、図5のプロセスは図8で置き換えられる。Next, a method of obtaining a nearest vector when two convex objects move or deform with time will be described. Here, it is assumed that the two target convex objects are three-dimensional objects, and both are convex curved objects. In other cases, as described above, it can be applied by a simplified algorithm. When continuously calculating the closest vector between two convex curved objects with respect to time, the process of FIG. 5 is replaced with FIG.
【0090】先ず、ステップ71では、初回の最近接ベ
クトルを、図5のプロセスと同一のプロセスで求める。
ステップ7_2において、ステップ7_1で求めた最近
接ベクトルをνclosest,previousとしてνfinal に代入
し、ステップ7_3において、曲面パッチを、直前のフ
レームの曲面パッチから今回のフレームの曲面パッチに
置き換え、ステップ7_4〜7_6では、図5のステッ
プ4_10〜4_12と同様の処理を行なう。ステップ
7_7において、次のフレームの最近接ベクトルの計算
を行なうか否かを判定し、行なう場合には、ステップ7
_2に戻り、今回求めたνclosest,previousとして処理
を繰り返す。First, in step 71, the first closest vector is obtained by the same process as that of FIG.
In step 7_2, the closest vector obtained in step 7_1 is substituted into v final as ν closest, previous . In step 7_3, the surface patch of the previous frame is replaced with the surface patch of the current frame. 7 to 6_6, the same processing as steps 4_10 to 4_12 in FIG. 5 is performed. In step 7_7, it is determined whether or not to calculate the closest vector of the next frame.
—2, and the process is repeated with ν closest, previous obtained this time.
【0091】一方の物体が凸多面体の場合には、ステッ
プ7_4のプロセスは凸多面体に対して図6に示した内
積計算、凸曲面物体に対しては図7に示した更新計算が
行なわれる。2次元の場合も同様にして連続型に拡張さ
れる。If one of the objects is a convex polyhedron, the process of step 7_4 performs the inner product calculation shown in FIG. 6 for the convex polyhedron and the update calculation shown in FIG. 7 for the convex curved object. The two-dimensional case is similarly extended to a continuous type.
【0092】[0092]
【発明の効果】以上説明したように、本発明によれば、
対象とされる2つの凸物体双方もしくは一方が凸曲面パ
ッチで表わされる任意の凸物体についてそれら2つの凸
物体の最近接点間距離が高精度に、かつ高速に求めら
れ、例えば、表示画面上に2つの凸物体を表示して移動
ないし変形させながら、リアルタイムに、それら2つの
凸物体の最近接点間距離ないし干渉状態を算出すること
ができる。As described above, according to the present invention,
For any convex object in which both or one of the two convex objects is represented by a convex curved surface patch, the closest contact point distance between the two convex objects is determined with high accuracy and high speed. While displaying and moving or deforming the two convex objects, it is possible to calculate the distance between the closest points or the interference state of the two convex objects in real time.
【図1】本発明の物体間距離演算装置の一実施形態を包
含するコンピュータシステムの外観図である。FIG. 1 is an external view of a computer system including an embodiment of a distance calculation apparatus between objects according to the present invention.
【図2】本発明の物体間距離演算装置の一実施形態のブ
ロック図である。FIG. 2 is a block diagram of an embodiment of an inter-object distance calculating apparatus according to the present invention.
【図3】本発明の物体間距離演算装置をコンピュータシ
ステム内に表現した場合の一実施形態のハードウェア構
成を示すブロック図である。FIG. 3 is a block diagram showing a hardware configuration of an embodiment when the inter-object distance calculating device of the present invention is expressed in a computer system.
【図4】処理の流れを示した流れ図である。FIG. 4 is a flowchart showing a processing flow.
【図5】最近接ベクトル算出アルゴリズムの詳細を表わ
した流れ図である。FIG. 5 is a flowchart showing details of a nearest neighbor vector calculation algorithm.
【図6】本発明にいう第1の最近接ベクトル演算手段の
一実施形態の説明図である。FIG. 6 is an explanatory diagram of one embodiment of a first closest vector calculating means according to the present invention.
【図7】本発明にいう第2の最近接ベクトル演算手段の
一実施形態の説明図である。FIG. 7 is an explanatory diagram of one embodiment of a second closest vector calculating means according to the present invention.
【図8】対象とする物体が移動ないし変形する場合の最
近接ベクトル算出アルゴリズムの詳細を表わした流れ図
である。FIG. 8 is a flowchart showing details of a nearest vector calculation algorithm when a target object moves or deforms.
10 物体間距離演算装置 11 形状情報記憶手段 12 形状情報更新手段 13 曲面パッチ情報生成手段 14 表示手段 15 第1の最近接ベクトル演算手段 16 第2の最近接ベクトル演算手段 17 干渉判定手段 20 物体間距離演算装置 21 データ入力装置 22 インターフェース 23 CPU 24 インターフェース 25 グラフィックディスプレイ 26 RAM 27 記憶装置 100 コンピュータシステム 101 本体部 102 画像表示部 103 キーボード 104 マウス 105 記憶部 110 光磁気ディスク(MO) DESCRIPTION OF SYMBOLS 10 Distance calculation apparatus between objects 11 Shape information storage means 12 Shape information update means 13 Surface patch information generation means 14 Display means 15 First closest vector calculation means 16 Second closest vector calculation means 17 Interference determination means 20 Between objects Distance calculation device 21 Data input device 22 Interface 23 CPU 24 Interface 25 Graphic display 26 RAM 27 Storage device 100 Computer system 101 Main unit 102 Image display unit 103 Keyboard 104 Mouse 105 Storage unit 110 Magneto-optical disk (MO)
Claims (18)
方もしくは双方が凸曲面のパッチの集合からなる凸曲面
物体で構成されてなる2つの3次元凸物体の最近接点間
距離を、該2つの凸物体の、配置位置情報を含む形状情
報に基づいて算出する物体間距離演算装置において、 前記2つの凸物体の最近接点どうしを結ぶ最近接ベクト
ルであって、該2つの凸物体のうちの一方の凸物体から
他方の凸物体に向かう方向の最近接ベクトルと、該一方
の凸物体を構成する、該一方の凸物体が凸多面体である
場合の頂点の位置ベクトル、もしくは該一方の凸物体が
凸曲面物体である場合の該凸曲面物体を構成する凸曲面
パッチを構成するための制御点の位置ベクトルとの内積
のうち、該一方の凸物体の、該他方の凸物体に対する最
近接点に近い頂点もしくは制御点についての内積が、該
一方の凸物体の最近接点から離れた頂点もしくは制御点
についての内積よりも大きな値を持つ最近接ベクトルを
求める第1の最近接ベクトル演算手段と、 前記第1の最近接ベクトル演算手段で求められた最近接
ベクトルを、前記凸曲面物体の最近接点で該凸曲面物体
に接する平面と直交する新たな最近接ベクトルに修正す
る第2の最近接ベクトル演算手段とを備えたことを特徴
とする物体間距離演算装置。1. The distance between closest points of contact of two three-dimensional convex objects, one of which is allowed to be a convex polyhedron and the other or both of which are composed of convex curved surface objects composed of a set of convex curved surface patches, is defined as 2 An inter-object distance calculating apparatus that calculates a distance between two convex objects based on shape information including arrangement position information of the two convex objects. The closest vector in the direction from one convex object to the other convex object, and the position vector of the vertex when the one convex object is a convex polyhedron, which constitutes the one convex object, or the one convex object Of the inner product with the position vector of the control point for forming the convex surface patch that constitutes the convex surface object when is a convex surface object, of the one convex object, the closest point to the other convex object Close vertices Or a first nearest neighbor vector calculating means for obtaining a nearest vector whose inner product about the control point is larger than the inner product of the vertex or the control point of the one convex object which is farther from the closest point of the one convex object; A second closest vector calculating means for correcting the closest vector obtained by the first closest vector calculating means into a new closest vector orthogonal to a plane tangent to the convex curved object at the closest point of the convex curved object; An inter-object distance calculation device, comprising:
められた前記新たな最近接ベクトルに基づいて、前記2
つの凸物体どうしが干渉しているか否かを判定する干渉
判定手段を備えたことを特徴とする請求項1記載の物体
間距離演算装置。2. The method according to claim 2, wherein the second closest vector calculating means calculates the second closest vector based on the new closest vector.
2. The apparatus according to claim 1, further comprising an interference determination unit configured to determine whether two convex objects are interfering with each other.
体である場合における該凸多角形の頂点の集合を包含す
る、前記凸曲面物体を構成する凸曲面パッチを構成する
ための制御点の集合からなる形状情報を記憶する形状情
報記憶手段と、 前記凸物体の移動ないし変形を指示する情報に基づい
て、該凸物体の頂点ないし制御点の移動ないし変形後の
座標を演算することにより新たな形状情報を求める形状
情報更新手段と、 前記凸曲面物体の形状情報に基づいて該凸曲面物体を構
成する凸曲面パッチを生成する曲面パッチ情報生成手段
とを備えたことを特徴とする請求項1記載の物体間距離
演算装置。3. A control point for forming a convex surface patch constituting the convex surface object, comprising a set of vertices of the convex polygon when one of the two convex objects is a convex polyhedron. A shape information storage means for storing shape information consisting of a set of, and, based on information instructing movement or deformation of the convex object, calculating coordinates of the vertex or control point of the convex object after movement or deformation. A shape information updating unit for obtaining new shape information, and a surface patch information generating unit for generating a convex surface patch constituting the convex surface object based on the shape information of the convex surface object. Item 2. The apparatus for calculating the distance between objects according to Item 1.
前記凸物体が移動もしくは変形された場合に、前記第1
の最近接ベクトル演算手段において移動もしくは変形後
の最近接ベクトルを求めることに代わり、前記第2の最
近接ベクトル演算手段において今回の移動もしくは変形
前に求められた新たな最近接ベクトルをさらに新たな最
近接ベクトルに修正するものであることを特徴とする請
求項3記載の物体間距離演算装置。4. The second closest vector calculating means,
When the convex object is moved or deformed, the first
In place of calculating the nearest vector after movement or deformation by the nearest vector calculation means of (a), a new nearest vector obtained before the current movement or deformation by the second nearest vector calculation means is further updated. 4. The inter-object distance calculating apparatus according to claim 3, wherein the distance is corrected to a closest vector.
情報および前記形状情報更新手段により求められた新た
な形状情報に基づいて描画された凸物体を表示する表示
手段を備えたことを特徴とする請求項3記載の物体間距
離演算装置。5. A display device for displaying a convex object drawn based on shape information stored in said shape information storage means and new shape information obtained by said shape information updating means. The distance calculation apparatus according to claim 3, wherein
方もしくは双方が凸曲線のパッチの集合からなる凸曲線
物体で構成されてなる2つの2次元凸物体の最近接点間
距離を、該2つの凸物体の、配置位置情報を含む形状情
報に基づいて算出する物体間距離演算装置において、 前記2つの凸物体の最近接点どうしを結ぶ最近接ベクト
ルであって、該2つの凸物体のうちの一方の凸物体から
他方の凸物体に向かう方向の最近接ベクトルと、該一方
の凸物体を構成する、該一方の凸物体が凸多角形である
場合の頂点の位置ベクトル、もしくは該一方の凸物体が
凸曲線物体である場合の該凸曲線物体を構成する凸曲線
パッチを構成するための制御点の位置ベクトルとの内積
のうち、該一方の凸物体の、該他方の凸物体に対する最
近接点に近い頂点もしくは制御点についての内積が、該
一方の凸物体の最近接点から離れた頂点もしくは制御点
についての内積よりも大きな値を持つ最近接ベクトルを
求める第1の最近接ベクトル演算手段と、 前記第1の最近接ベクトル演算手段で求められた最近接
ベクトルを、前記凸曲線物体の最近接点で該凸曲線物体
に接する直線と直交する新たな最近接ベクトルに修正す
る第2の最近接ベクトル演算手段とを備えたことを特徴
とする物体間距離演算装置。6. The distance between the closest points of two two-dimensional convex objects, one of which is allowed to be a convex polygon and the other or both of which are composed of convex curve objects consisting of a set of convex curve patches, An inter-object distance calculation device that calculates two convex objects based on shape information including arrangement position information, the closest convex vector connecting the closest points of the two convex objects. The closest vector in the direction from one convex object to the other convex object, and the position vector of the vertex when the one convex object is a convex polygon, or the position vector of the vertex constituting the one convex object, or When the convex object is a convex curve object, the inner product of the convex vector and the position vector of the control point for forming the convex curve patch constituting the convex curve object, the one of the convex objects with respect to the other convex object The vertices close to the point of contact Or a first nearest neighbor vector calculating means for obtaining a nearest vector whose inner product about the control point is larger than the inner product of the vertex or the control point of the one convex object which is farther from the closest point of the one convex object; A second closest vector calculating means for correcting the closest vector obtained by the first closest vector calculating means to a new closest vector orthogonal to a straight line tangent to the convex curve object at the closest point of the convex curve object; An inter-object distance calculation device, comprising:
められた前記新たな最近接ベクトルに基づいて、前記2
つの凸物体どうしが干渉しているか否かを判定する干渉
判定手段を備えたことを特徴とする請求項6記載の物体
間距離演算装置。7. The method according to claim 2, wherein the second closest vector calculating means calculates the second closest vector based on the new closest vector.
7. The inter-object distance calculating apparatus according to claim 6, further comprising: an interference determining unit configured to determine whether the two convex objects interfere with each other.
形である場合における該凸多角形の頂点の集合を包含す
る、前記凸曲線物体を構成する凸曲線パッチを構成する
ための制御点の集合からなる形状情報を記憶する形状情
報記憶手段と、 前記凸物体の移動ないし変形を指示する情報に基づい
て、該凸物体の頂点ないし制御点の移動ないし変形後の
座標を演算することにより新たな形状情報を求める形状
情報更新手段と、 前記凸曲線物体の形状情報に基づいて該凸曲線物体を構
成する凸曲線パッチを生成する曲線パッチ情報生成手段
とを備えたことを特徴とする請求項6記載の物体間距離
演算装置。8. A control for forming a convex curve patch constituting the convex curve object, comprising a set of vertices of the convex polygon when one of the two convex objects is a convex polygon. Shape information storage means for storing shape information consisting of a set of points; and calculating coordinates of the vertices or control points of the convex object after movement or deformation based on information instructing movement or deformation of the convex object. A shape information updating means for obtaining new shape information, and a curve patch information generating means for generating a convex curve patch constituting the convex curve object based on the shape information of the convex curve object. An apparatus for calculating the distance between objects according to claim 6.
前記凸物体が移動もしくは変形された場合に、前記第1
の最近接ベクトル演算手段において移動もしくは変形後
の最近接ベクトルを求めることに代わり、前記第2の最
近接ベクトル演算手段において今回の移動もしくは変形
前に求められた新たな最近接ベクトルをさらに新たな最
近接ベクトルに修正するものであることを特徴とする請
求項8記載の物体間距離演算装置。9. The method according to claim 8, wherein the second closest vector calculating means includes:
When the convex object is moved or deformed, the first
In place of calculating the nearest vector after movement or deformation by the nearest vector calculation means of (a), a new nearest vector obtained before the current movement or deformation by the second nearest vector calculation means is further updated. 9. The apparatus according to claim 8, wherein the distance is corrected to a nearest vector.
状情報および前記形状情報更新手段により求められた新
たな形状情報に基づいて描画された凸物体を表示する表
示手段を備えたことを特徴とする請求項8記載の物体間
距離演算装置。10. A display device for displaying a convex object drawn based on shape information stored in said shape information storage means and new shape information obtained by said shape information updating means. The apparatus for calculating the distance between objects according to claim 8.
他方もしくは双方が凸曲面のパッチの集合からなる凸曲
面物体で構成されてなる2つの3次元凸物体の最近接点
間距離を、該2つの凸物体の、配置位置情報を含む形状
情報に基づいて算出する物体間距離演算プログラムであ
って、 前記2つの凸物体の最近接点どうしを結ぶ最近接ベクト
ルであって、該2つの凸物体のうちの一方の凸物体から
他方の凸物体に向かう方向の最近接ベクトルと、該一方
の凸物体を構成する、該一方の凸物体が凸多面体である
場合の頂点の位置ベクトル、もしくは該一方の凸物体が
凸曲面物体である場合の該凸曲面物体を構成する凸曲面
パッチを構成するための制御点の位置ベクトルとの内積
のうち、該一方の凸物体の、該他方の凸物体に対する最
近接点に近い頂点もしくは制御点についての内積が、該
一方の凸物体の最近接点から離れた頂点もしくは制御点
についての内積よりも大きな値を持つ最近接ベクトルを
求める第1の最近接ベクトル演算手段と、 前記第1の最近接ベクトル演算手段で求められた最近接
ベクトルを、前記凸曲面物体の最近接点で該凸曲面物体
に接する平面と直交する新たな最近接ベクトルに修正す
る第2の最近接ベクトル演算手段とを有する物体間距離
演算プログラムが格納されてなることを特徴とする物体
間距離演算プログラム記憶媒体。11. The distance between closest contacts of two three-dimensional convex objects, one of which is allowed to be a convex polyhedron, and the other or both of which are composed of convex curved surface objects consisting of a set of patches of convex curved surfaces, is defined as 2 An inter-object distance calculation program that is calculated based on shape information including arrangement position information of two convex objects, and is a closest vector connecting the closest points of the two convex objects. The nearest vector in the direction from one of the convex objects to the other convex object, and the position vector of the vertex when the one convex object is a convex polyhedron, which constitutes the one convex object, or the one of the one In the case where the convex object is a convex curved object, the inner product of the convex vector and the position vector of the control point for forming the convex curved surface patch constituting the convex curved surface object is one of the latest products of the one convex object with respect to the other convex object. Close to contact A first nearest neighbor vector calculating means for obtaining a nearest vector whose inner product about a vertex or a control point has a larger value than an inner product about a vertex or a control point far from the nearest point of the one convex object; A second closest vector calculating means for correcting the closest vector obtained by the first closest vector calculating means into a new closest vector orthogonal to a plane tangent to the convex curved object at the closest point of the convex curved object; And a storage medium for storing an inter-object distance calculation program, comprising:
記第2の最近接ベクトル演算手段で求められた前記新た
な最近接ベクトルに基づいて、前記2つの凸物体どうし
が干渉しているか否かを判定する干渉判定手段を有する
ものであることを特徴とする請求項11記載の物体間距
離演算プログラム記憶媒体。12. The inter-object distance calculation program determines whether or not the two convex objects are interfering with each other based on the new closest vector obtained by the second closest vector calculation means. The storage medium according to claim 11, further comprising interference determination means for determining.
記2つの凸物体のうちの一方が凸多面体である場合にお
ける該凸多角形の頂点の集合を包含する、前記凸曲面物
体を構成する凸曲面パッチを構成するための制御点の集
合からなる形状情報を、前記凸物体の移動ないし変形を
指示する情報に基づいて該凸物体の頂点ないし制御点の
移動ないし変形後の座標を演算することにより新たな形
状情報に更新する形状情報更新手段と、 前記凸曲面物体の形状情報に基づいて該凸曲面物体を構
成する凸曲面パッチを生成する曲面パッチ情報生成手段
とを有するものであることを特徴とする請求項11記載
の物体間距離演算プログラム記憶媒体。13. The convex curved surface constituting the convex curved object, wherein the inter-object distance calculation program includes a set of vertices of the convex polygon when one of the two convex objects is a convex polyhedron. By calculating shape information consisting of a set of control points for forming a patch, and calculating coordinates of the vertices or control points of the convex object after the movement or deformation of the convex object based on the information instructing the movement or deformation of the convex object. Shape information updating means for updating to new shape information; and surface patch information generating means for generating a convex surface patch constituting the convex surface object based on the shape information of the convex surface object. The storage medium according to claim 11, wherein:
が、前記凸物体が移動もしくは変形された場合に、前記
第1の最近接ベクトル演算手段において移動もしくは変
形後の最近接ベクトルを求めることに代わり、前記第2
の最近接ベクトル演算手段において今回の移動もしくは
変形前に求められた新たな最近接ベクトルをさらに新た
な最近接ベクトルに修正するものであることを特徴とす
る請求項13記載の物体間距離演算プログラム記憶媒
体。14. The method according to claim 14, wherein the second closest vector calculating means calculates the moved or deformed closest vector in the first closest vector calculating means when the convex object is moved or deformed. Alternatively, the second
14. The inter-object distance calculation program according to claim 13, wherein the closest vector calculation means corrects the new closest vector obtained before the current movement or deformation to a new closest vector. Storage medium.
他方もしくは双方が凸曲線のパッチの集合からなる凸曲
線物体で構成されてなる2つの2次元凸物体の最近接点
間距離を、該2つの凸物体の、配置位置情報を含む形状
情報に基づいて算出する物体間距離演算プログラムであ
って、 前記2つの凸物体の最近接点どうしを結ぶ最近接ベクト
ルであって、該2つの凸物体のうちの一方の凸物体から
他方の凸物体に向かう方向の最近接ベクトルと、該一方
の凸物体を構成する、該一方の凸物体が凸多角形である
場合の頂点の位置ベクトル、もしくは該一方の凸物体が
凸曲線物体である場合の該凸曲線物体を構成する凸曲線
パッチを構成するための制御点の位置ベクトルとの内積
のうち、該一方の凸物体の、該他方の凸物体に対する最
近接点に近い頂点もしくは制御点についての内積が、該
一方の凸物体の最近接点から離れた頂点もしくは制御点
についての内積よりも大きな値を持つ最近接ベクトルを
求める第1の最近接ベクトル演算手段と、 前記第1の最近接ベクトル演算手段で求められた最近接
ベクトルを、前記凸曲線物体の最近接点で該凸曲線物体
に接する直線と直交する新たな最近接ベクトルに修正す
る第2の最近接ベクトル演算手段とを有する物体間距離
演算プログラムが格納されてなることを特徴とする物体
間距離演算プログラム記憶媒体。15. The distance between closest points of contact of two two-dimensional convex objects, one of which is allowed to be a convex polygon and the other or both of which are composed of convex curve objects consisting of a set of convex curve patches, An inter-object distance calculation program that is calculated based on shape information including arrangement position information of two convex objects, wherein the two convex objects are closest vectors connecting the closest points of the two convex objects. The closest vector in the direction from one of the convex objects to the other convex object and the position vector of the vertex when the one convex object is a convex polygon, which constitutes the one convex object, or In the case where one convex object is a convex curve object, the inner product of the one convex object and the position vector of a control point for forming a convex curve patch constituting the convex curve object, the other convex object Nearest point of contact for A first nearest neighbor vector calculating means for obtaining a nearest vector whose inner product about a vertex or a control point has a larger value than an inner product about a vertex or a control point far from the nearest point of the one convex object; A second closest vector calculating means for correcting the closest vector obtained by the first closest vector calculating means to a new closest vector orthogonal to a straight line tangent to the convex curve object at the closest point of the convex curve object; And a storage medium for storing an inter-object distance calculation program, comprising:
記第2の最近接ベクトル演算手段で求められた前記新た
な最近接ベクトルに基づいて、前記2つの凸物体どうし
が干渉しているか否かを判定する干渉判定手段を有する
ものであることを特徴とする請求項15記載の物体間距
離演算プログラム記憶媒体。16. The inter-object distance calculation program determines whether or not the two convex objects interfere with each other based on the new closest vector obtained by the second closest vector calculation means. 16. The storage medium according to claim 15, further comprising interference determination means for determining.
記2つの凸物体のうちの一方が凸多角形である場合にお
ける該凸多角形の頂点の集合を包含する、前記凸曲線物
体を構成する凸曲線パッチを構成するための制御点の集
合からなる形状情報を、前記凸物体の移動ないし変形を
指示する情報に基づいて該凸物体の頂点ないし制御点の
移動ないし変形後の座標を演算することにより新たな形
状情に更新する形状情報更新手段と、 前記凸曲線物体の形状情報に基づいて該凸曲線物体を構
成する凸曲線パッチを生成する曲線パッチ情報生成手段
とを有するものであることを特徴とする請求項15記載
の物体間距離演算プログラム記憶媒体。17. The convex curve constituting the convex curve object, wherein the inter-object distance calculation program includes a set of vertices of the convex polygon when one of the two convex objects is a convex polygon. Calculating shape information comprising a set of control points for forming a curved patch, and coordinates after movement or deformation of vertices or control points of the convex object based on information instructing movement or deformation of the convex object. And a curve patch information generating means for generating a convex curve patch constituting the convex curve object based on the shape information of the convex curve object. The storage medium according to claim 15, wherein the program is for calculating a distance between objects.
が、前記凸物体が移動もしくは変形された場合に、前記
第1の最近接ベクトル演算手段において移動もしくは変
形後の最近接ベクトルを求めることに代わり、前記第2
の最近接ベクトル演算手段において今回の移動もしくは
変形前に求められた新たな最近接ベクトルをさらに新た
な最近接ベクトルに修正するものであることを特徴とす
る請求項17記載の物体間距離演算プログラム記憶媒
体。18. The method according to claim 18, wherein, when the convex object is moved or deformed, the second closest vector calculating means calculates the moved or deformed closest vector in the first closest vector calculating means. Alternatively, the second
18. The program according to claim 17, wherein the closest vector calculating means corrects the new closest vector obtained before the current movement or deformation to a new closest vector. Storage medium.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12860197A JP3391657B2 (en) | 1996-05-22 | 1997-05-19 | Inter-object distance calculation device and inter-object distance calculation program storage medium |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12743896 | 1996-05-22 | ||
JP8-127438 | 1996-05-22 | ||
JP12860197A JP3391657B2 (en) | 1996-05-22 | 1997-05-19 | Inter-object distance calculation device and inter-object distance calculation program storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1074215A true JPH1074215A (en) | 1998-03-17 |
JP3391657B2 JP3391657B2 (en) | 2003-03-31 |
Family
ID=26463399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12860197A Expired - Fee Related JP3391657B2 (en) | 1996-05-22 | 1997-05-19 | Inter-object distance calculation device and inter-object distance calculation program storage medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3391657B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001148027A (en) * | 1999-11-19 | 2001-05-29 | Matsushita Electric Ind Co Ltd | Device and method for image processing |
WO2010082378A1 (en) * | 2009-01-15 | 2010-07-22 | 三菱電機株式会社 | Collision determination device and collision determination program |
JP2013089100A (en) * | 2011-10-20 | 2013-05-13 | Canon Inc | Particle behavior analysis method, particle behavior analysis device, and analysis program |
JP2020201790A (en) * | 2019-06-12 | 2020-12-17 | 高砂熱学工業株式会社 | Design support device, design support system, design support method and design support program |
-
1997
- 1997-05-19 JP JP12860197A patent/JP3391657B2/en not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001148027A (en) * | 1999-11-19 | 2001-05-29 | Matsushita Electric Ind Co Ltd | Device and method for image processing |
WO2010082378A1 (en) * | 2009-01-15 | 2010-07-22 | 三菱電機株式会社 | Collision determination device and collision determination program |
JP5073065B2 (en) * | 2009-01-15 | 2012-11-14 | 三菱電機株式会社 | Collision determination device and collision determination program |
US9530246B2 (en) | 2009-01-15 | 2016-12-27 | Mitsubishi Electric Corporation | Collision determination device and collision determination program |
JP2013089100A (en) * | 2011-10-20 | 2013-05-13 | Canon Inc | Particle behavior analysis method, particle behavior analysis device, and analysis program |
JP2020201790A (en) * | 2019-06-12 | 2020-12-17 | 高砂熱学工業株式会社 | Design support device, design support system, design support method and design support program |
Also Published As
Publication number | Publication date |
---|---|
JP3391657B2 (en) | 2003-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0753837B1 (en) | Interference checking method | |
Petit et al. | Tracking elastic deformable objects with an RGB-D sensor for a pizza chef robot | |
Sakane et al. | Occlusion avoidance of visual sensors based on a hand-eye action simulator system: HEAVEN | |
JP6137155B2 (en) | Interference avoidance method, control device, and program | |
JP3415438B2 (en) | Interference checking apparatus and method | |
CN113618742B (en) | Robot obstacle avoidance method and device and robot | |
JP2018020410A (en) | Layout setting method, and layout setting device | |
US12112494B2 (en) | Robotic manipulation using domain-invariant 3D representations predicted from 2.5D vision data | |
JPH0786885B2 (en) | Computer model system | |
JP2826138B2 (en) | Mobile body interference check device | |
US9892485B2 (en) | System and method for mesh distance based geometry deformation | |
CN115351780A (en) | Method for controlling a robotic device | |
Liu et al. | Real-time reach planning for animated characters using hardware acceleration | |
US5761391A (en) | Arithmetic unit for calculating distance between objects | |
Mirolo et al. | A solid modelling system for robot action planning | |
JP3391657B2 (en) | Inter-object distance calculation device and inter-object distance calculation program storage medium | |
JPH07254075A (en) | Method for deforming three-dimensional object and modeling system | |
CN114986524B (en) | Mechanical arm track planning method and device based on brain-computer interface and electronic equipment | |
CN112486319B (en) | VR (virtual reality) interaction method, device, equipment and medium based on touch rendering equipment | |
US20220083702A1 (en) | Techniques for designing structures using torsion-deformable spatial beam elements | |
JP3973992B2 (en) | 3D model deformation system | |
US20230259663A1 (en) | Geometric-composition method for multi-contact resolution between multiple rigid objects | |
Kim et al. | Accurate and efficient cpu/gpu-based 3-dof haptic rendering of complex static virtual environments | |
Laroche | An implicit representation of swept volumes based on local shapes and movements | |
Leu et al. | Robot motion simulation and planning based on solid modeling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20030107 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080124 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090124 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100124 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110124 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110124 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120124 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130124 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130124 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140124 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |