JP2003346186A - 画像処理装置および方法、並びにプログラム - Google Patents

画像処理装置および方法、並びにプログラム

Info

Publication number
JP2003346186A
JP2003346186A JP2003072576A JP2003072576A JP2003346186A JP 2003346186 A JP2003346186 A JP 2003346186A JP 2003072576 A JP2003072576 A JP 2003072576A JP 2003072576 A JP2003072576 A JP 2003072576A JP 2003346186 A JP2003346186 A JP 2003346186A
Authority
JP
Japan
Prior art keywords
collision
point
possibility
sphere
triangle
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.)
Abandoned
Application number
JP2003072576A
Other languages
English (en)
Other versions
JP2003346186A5 (ja
Inventor
Masaaki Takabe
雅明 高部
Takeshi Miyashita
健 宮下
Hiroyuki Yasuga
広幸 安賀
Kayoko Sakai
香代子 酒井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2003072576A priority Critical patent/JP2003346186A/ja
Publication of JP2003346186A publication Critical patent/JP2003346186A/ja
Publication of JP2003346186A5 publication Critical patent/JP2003346186A5/ja
Abandoned legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)

Abstract

(57)【要約】 【課題】 物体の衝突の計算の精度と効率を向上するこ
とができるようにする。 【解決手段】 3次元仮想空間で移動する物体は、球体
41として表され、球体41によって衝突される対象で
ある他の物体は衝突対象多面体として表される。球体4
1は、半径rの球体であり、その中心が点41pとされ
る。球体41は、点41pから点42pまで移動し、そ
の移動した軌跡は、軌跡43で表される。衝突対象多面
体は、それを構成する三角形毎に、点41pとの衝突が
判定される。判定対象の三角形61は、球体41の半径
に対応する分だけ膨らませた状態の干渉領域71として
衝突判定処理が行われる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、画像処理装置およ
び方法、並びにプログラムに関し、特に、仮想3次元空
間において、物体の衝突の計算の精度と効率を向上させ
た画像処理を行うことができるようにした画像処理装置
および方法、並びにプログラムに関する。
【0002】
【従来の技術】従来、物体が仮想3次元空間を移動する
画像処理を行う画像処理装置において、仮想3次元空間
を移動する物体と他の物体の衝突を計算するために、移
動する物体と他の物体を両方とも球体、あるいは、両方
とも三角形で構成された多面体として計算する方法が用
いられていたが、その場合、物体の移動が正確に表現で
きなかったり、計算の負荷が非常に大きくなっていた。
【0003】そこで、仮想3次元空間を移動する物体と
他の物体の衝突を計算するために、移動する物体を点と
し、他の物体を三角形で構成された多面体として計算す
る方法が考えられる。
【0004】
【発明が解決しようとする課題】しかしながら、移動す
る物体を点とし、他の物体を三角形で構成された多面体
として計算する方法は、移動する物体を表現した点が、
多面体を構成する三角形間の隙間を通過してしまい、例
えば、壁にすりながらの移動の表現が困難になる課題が
あった。さらに、それらの問題に対応するための処理が
複雑になり、計算に時間がかかってしまうという課題が
あった。
【0005】本発明は、このような状況に鑑みてなされ
たものであり、仮想3次元空間において、物体の衝突の
計算の精度と効率を向上させることができるようにする
ものである。
【0006】
【課題を解決するための手段】本発明の画像処理装置
は、移動する物体と他の物体の衝突可能性を計算する計
算手段と、計算手段により計算された結果に基づいて、
移動する物体が他の物体と衝突する可能性があるか否か
を判定する判定手段と、判定手段により移動する物体が
他の物体と衝突する可能性があると判定されたとき、計
算手段により計算された結果に基づいて、移動する物体
と他の物体の衝突位置を特定する特定手段とを備え、計
算手段は、移動する物体を球体として表わし、他の物体
を多角形により構成される多面体として表わすことによ
り、移動する物体と他の物体の衝突可能性を計算するこ
とを特徴とする。
【0007】多角形は、三角形であるようにすることが
できる。
【0008】計算手段は、球体を球体の中心点として表
わし、多面体を球体の半径分膨らませた立体として表わ
すことにより、移動する物体と他の物体の衝突可能性を
計算するようにすることができる。
【0009】判定手段は、移動する物体の他の物体との
衝突可能性の判定を数段階に分け、計算手段により計算
される衝突可能性の計算に負荷がかからない段階から順
に、移動する物体が他の物体と衝突する可能性があるか
否かを判定するようにすることができる。
【0010】計算手段は、多面体を構成する多角形毎
に、移動する物体と他の物体の衝突可能性を計算するよ
うにすることができる。
【0011】本発明の画像処理方法は、移動する物体と
他の物体の衝突可能性を計算する計算ステップと、計算
ステップの処理により計算された結果に基づいて、移動
する物体が他の物体と衝突する可能性があるか否かを判
定する判定ステップと、判定ステップの処理により移動
する物体が他の物体と衝突する可能性があると判定され
たとき、計算ステップの処理により計算された結果に基
づいて、移動する物体と他の物体の衝突位置を特定する
特定ステップとを含み、計算ステップの処理は、移動す
る物体を球体として表わし、他の物体を多角形により構
成される多面体として表わすことにより、移動する物体
と他の物体の衝突可能性を計算することを特徴とする。
【0012】本発明のプログラムは、移動する物体と他
の物体の衝突可能性の計算を制御する計算制御ステップ
と、計算制御ステップの処理により計算が制御された結
果に基づいて、移動する物体が他の物体と衝突する可能
性があるか否かの判定を制御する判定制御ステップと、
判定制御ステップの処理により移動する物体が他の物体
と衝突する可能性があると判定が制御されたとき、計算
制御ステップの処理により計算が制御された結果に基づ
いて、移動する物体と他の物体の衝突位置の特定を制御
する特定制御ステップとを含む処理をコンピュータに実
行させ、計算制御ステップの処理は、移動する物体を球
体として表わし、他の物体を多角形により構成される多
面体として表わすことにより、移動する物体と他の物体
の衝突可能性の計算を制御することを特徴とする。
【0013】本発明の画像処理装置および方法、並びに
プログラムにおいては、移動する物体が球体として表わ
され、他の物体が多角形により構成される多面体として
表わされることにより、移動する物体と他の物体の衝突
可能性が計算される。
【0014】
【発明の実施の形態】以下、図を参照して、本発明の実
施の形態について説明する。
【0015】図1は、本発明を適用した3次元画像処理
アプリケーションプログラムを実行するパーソナルコン
ピュータ1の内部の構成例を示すブロック図である。
【0016】パーソナルコンピュータ1は、例えばWind
ows(登録商標)2000等のオペレーティングシステムで
3次元画像処理アプリケーションプログラムを実行する
ことにより、3次元画像処理装置として動作する。
【0017】CPU(Central Processing Unit)11
は、ROM(Read Only Memory)12に記憶されている
プログラム、または、記憶部18からRAM(Random A
ccess Memory)13にロードしたプログラムに従って、
パーソナルコンピュータ1の全体の動作を制御する。R
AM13にはまた、CPU11が各種の処理を実行する
上において必要なデータなどが適宜記憶される。
【0018】CPU11、ROM12およびRAM13
は、バス14を介して相互に接続されている。このバス
14にはまた、入出力インタフェース15も接続されて
いる。
【0019】入出力インタフェース15には、マウス、
またはペンなどよりなる入力部16、CRT(Cathode
Ray Tube)、LCD(Liquid Crystal Display)などの
モニタ、スピーカよりなる出力部17、ハードディスク
ドライブなどからなる記憶部18、モデム、ターミナル
アダプタから構成される通信部19が接続されている。
通信部19は、図示されないネットワークなどを介して
の通信処理を行う。
【0020】入出力インタフェース15にはまた、必要
に応じてドライブ20が接続され、磁気ディスク21
(フレキシブルディスクを含む)、光ディスク22(CD
-ROM(Compact Disc-Read Only Memory)、DVD(Digita
l Versatile Disc)を含む)、光磁気ディスク23(M
D(Mini Disc)(商標)を含む)、あるいは半導体メモ
リ24などが適宜装着され、それらから読み出されたコ
ンピュータプログラムが、必要に応じて記憶部18にイ
ンストールされる。
【0021】パーソナルコンピュータ1に3次元画像処
理装置としての機能を実行させる3次元画像処理アプリ
ケーションプログラムは、磁気ディスク21、光ディス
ク22、光磁気ディスク23、または半導体メモリ24
に格納された状態でユーザに提供され、それらがユーザ
によりドライブ20に装着されると、ドライブ20によ
ってそれらから読み出されて、記憶部18に内蔵される
ハードディスクドライブにインストールされる。記憶部
18にインストールされている3次元画像処理アプリケ
ーションプログラムは、入力部16を操作することで入
力されるユーザからのコマンドに対応するCPU11の
指令によって、記憶部18からRAM13にロードされ
て実行される。
【0022】次に、上述したパーソナルコンピュータ1
が実行する3次元画像処理アプリケーションプログラム
の機能のうち、仮想3次元空間において、移動するユー
ザの分身(アバタ)が、仮想3次元空間の他の物体と衝
突するか否かを判定する判定処理について説明する。
【0023】図2に示されるように、この3次元画像処
理アプリケーションプログラムは、ユーザの分身(アバ
タ)を球体41として表している。球体41は、半径r
であり、その中心が点41pとされる。球体42および
点42pは、球体41および点41pを、それぞれ直線
的に移動した後の状態を表わしている。すなわち、点4
1pは、球体41の移動の始点であり、点42pは、球
体41の移動の終点である。また、点41pが点42p
まで移動した軌跡は、点41pと点42pを結ぶ軌跡4
3で表され、球体41が球体42まで移動した軌跡は、
筒状の軌跡44で表されている。
【0024】このように、移動するユーザの分身(アバ
タ)が、球体41で表されるので、その動きは、滑らか
に表現することが可能になる。
【0025】また、この3次元画像処理アプリケーショ
ンプログラムは、球体41により衝突される対象である
他の物体を衝突対象多面体51として表している。
【0026】この衝突対象多面体51は、それぞれ所定
の平面上に乗っている三角形61乃至64により構成さ
れている。したがって、衝突判定処理は、それぞれの三
角形毎に、順に実行され、最終的に、それらの判定結果
に基づいて、総合的に判定が実行される。上記説明にお
いて、説明の便宜上、衝突対象多面体51は、三角形4
つにより構成されることにしたが、他の多角形で構成す
るようにしてもよいし、構成する多角形の数も制限され
ない。なお、他の多角形の場合の処理方法については、
図20を参照して後述する。
【0027】また、球体41と、例えば三角形61(他
の三角形62,63,64においても同様)の衝突判定
時、点41pと三角形61の距離が球体41の半径r以
下であるとき、球体41と三角形61の衝突が起こると
判定される。この衝突判定は、球体41の半径rの距離
分だけ三角形61を膨らませ、膨らませた三角形の干渉
領域71(図3)と点41pの衝突を判定することと数
学的に等価である。
【0028】そこで、この3次元画像処理アプリケーシ
ョンプログラムにおいては、球体41の軌跡44と三角
形61との衝突判定の計算の代わりに、点41pの軌跡
43と干渉領域71との衝突判定の計算が行われる。
【0029】図3を参照して、三角形61を球体41の
半径r分だけ膨らませた干渉領域71について詳しく説
明する。
【0030】三角形61は、頂点V1乃至V3、頂点V
1,V2を結ぶ辺V1V2、頂点V2,V3を結ぶ辺V
2V3、および頂点V3,V1を結ぶ辺V3V1により
構成されている。干渉領域71は、上述したように、球
体41と三角形61との衝突が起こりうる領域を表わし
ており、図3Aに示されるように、三角形61を球体4
1の半径r分だけ膨らませた形状をしている。
【0031】この干渉領域71は、3種類の図形を組み
合わせて構成されている。1つ目の図形は、図3Bに示
されるように、球体41と三角形61の頂点V1乃至V
3との衝突が起こり得る干渉領域を示す球体72乃至7
4である。この球体72乃至74は、半径rの球体であ
る。2つ目の図形は、図3Cに示されるように、球体4
1と三角形61の辺V1V2、辺V2V3および辺V3
V1との衝突が起こり得る干渉領域を示す円筒75乃至
77である。この円筒75乃至77は、半径rの円筒で
ある。
【0032】3つ目の図形は、図3Dに示されるよう
に、干渉領域71に蓋をするような三角形78および7
9である。この三角形78および79は、球体41との
衝突が三角形61の面の内部で起こっている場合の干渉
領域である。また、この三角形78および79は、三角
形61を球体41の半径r分だけ平行移動したものであ
り、形状は三角形61と全く同一である。
【0033】次に、図4のフローチャートを参照して、
3次元画像処理アプリケーションプログラムにおける衝
突判定処理を説明する。
【0034】ステップS1において、CPU11は、図
5に示されるように、球体41の移動の始点である点4
1pと終点である点42pがZ軸上にのるように、球体
41の進行方向をZ軸としたXYZ座標系に、衝突対象
の三角形61の干渉領域71の座標を変換する。この場
合、点41pの座標値は、(0,0,T1)、点42p
の座標値は、(0,0,T2)とそれぞれ表される。
【0035】ステップS2乃至S7において、CPU1
1は、Z座標での球体41の移動の始点である点41p
と終点である点42pに基づいて、点41pが衝突対象
の三角形61の干渉領域71と衝突する可能性があるか
否かを、計算処理の簡単な順に判定する。
【0036】まず、CPU11は、ステップS2におい
て、Z座標における衝突可能性の判定処理を実行する。
この、Z座標における衝突可能性の判定処理について、
図6のフローチャートを参照して説明する。
【0037】図5において、干渉領域71のZ座標が最
も小さい点は、点71p1、および、Z座標が最も大き
い点は、点71p2とされ、また、点41p,点42
p,点71p1および点71p2のZ座標は、それぞ
れ、T1,T2,T3およびT4(T1<T2,T3<
T4)とされる。
【0038】そこで、ステップS21において、CPU
11は、点41pと点42pのZ座標T1とT2で規定
される範囲内に、干渉領域71のZ座標T3乃至T4が
一部分でも含まれているか否かを判断する。これによ
り、点41pが、衝突対象の三角形61の干渉領域71
と衝突する可能性があるか否かが判定される。したがっ
て、ステップS21において、T2<T3、または、T
1>T4であると判断された場合、点71p1および点
71p2のZ座標が点41p,点42pのZ座標の間に
含まれていないので、ステップS22において、CPU
11は、点41pが衝突対象の三角形61の干渉領域7
1と衝突する可能性がないと判定する。
【0039】一方、ステップS21において、T2≧T
3かつT1≦T4と判断された場合、点41pと点42
pのZ座標T1とT2で規定される範囲内に、干渉領域
71のZ座標T3乃至T4の少なくとも一部が含まれて
いるので、CPU11は、ステップS23において、点
41pが、衝突対象の三角形61の干渉領域71と衝突
する可能性があると判定する。
【0040】その後、図4のステップS3において、C
PU11は、ステップS2における判定処理に基づい
て、Z座標において、点41pが衝突対象の三角形61
の干渉領域71と衝突する可能性があるか否かを判断
し、Z座標において、衝突する可能性がないと判断した
場合、以降の三角形61の衝突可能性の判定処理(ステ
ップS4乃至S7の処理)および衝突位置判定処理(ス
テップS8の処理)をスキップし、ステップS9に進
む。
【0041】ステップS3において、Z座標において、
衝突する可能性があると判断された場合、ステップS4
において、CPU11は、XY平面における衝突可能性
の判定処理を実行する。
【0042】図7および図8のフローチャートを参照し
て、ステップS4の衝突可能性の判定処理を説明する。
この場合、CPU11は、図5のXYZ座標のうち、2
次元のXY座標のXY平面81上において、Z軸が三角
形61の干渉領域71に含まれるか否かを判定する処理
を行う。
【0043】すなわち、CPU11は、図7に示される
ように、Z軸に垂直な平面であるXY平面81上に、Z
軸および衝突対象の三角形61の干渉領域71を射影す
る。この射影により、XY平面81において、Z軸は、
座標値(0,0)の点Oで示され、三角形61および干
渉領域71は、それぞれは、三角形61iおよび干渉領
域71iで示される。
【0044】球体41の移動の始点である点41pと終
点である点42pは共にZ軸上の点であるので、CPU
11は、干渉領域71i内にZ軸の点Oが含まれるか否
かを判定することにより、点41pが、衝突対象の三角
形61の干渉領域71と衝突する可能性を判定すること
ができる。
【0045】ただし、三角形61がZ軸(球体41の進
行方向)にほぼ平行である場合、射影すると、三角形6
1の辺が重なり、三角形61iがほぼ直線状の三角形
(以下、退化した三角形と称する)になってしまうこと
がある。そこで、図8のステップS41において、CP
U11は、三角形61iがほぼ直線状である(すなわ
ち、三角形61iの3頂点がXY平面81上のほぼ直線
上にある)か否かを判断する。
【0046】ステップS41において、三角形61iが
ほぼ直線状であると判断された場合、衝突可能性の判定
処理を、ほぼ直線状でないと判定された場合と同様に処
理することはできないため、以降の衝突可能性の判定処
理は、スキップされ、処理は、図14のステップS10
3に進む。すなわち、退化した三角形61iは、Z軸
と、三角形61の干渉領域71のうち、球体72乃至7
4および円筒75乃至77との交差の判定処理(後述す
る図14のステップS103乃至S107)により、衝
突判定される。
【0047】一方、ステップS41において、三角形6
1iがほぼ直線状ではないと判断された場合、ステップ
S42において、CPU11は、三角形61iおよび干
渉領域71iを、三角形61iの重心座標系に変換す
る。実際には、この干渉領域71i内にZ軸の点Oが含
まれる可能性があるか否かの判定は、干渉領域71iを
含む六角形91i(図9A)を重心座標系に変換した六
角形93i(図9B)の内部に点Oが含まれるか否かを
判定することにより実行される。重心座標系への変換の
計算方法については図10および図11を参照して後述
する。
【0048】図9を参照して、重心座標系への変換につ
いて説明する。六角形91iは、三角形61iの各辺を
半径r分だけ外側に広げた拡張三角形の各頂点付近10
1i、102iおよび103iを切り落としたような形
状である。すなわち、拡張三角形の各頂点に向かい合う
辺に平行、かつ、三角形61iの各頂点からの距離がr
となるような直線で、拡張三角形の各頂点付近101
i、102iおよび103iを切り落としたような形状
となる。点Oの重心座標を(a,b)とした重心座標系
に変換すると、元の六角形91iは、図9Bに示される
ように、三角形92iが半径分のゆとりに対応するr
x,ryおよびrxyだけ広げられた六角形93iに変
換される。なお、三角形92iは、三角形61iが重心
座標系に変換されたものである。
【0049】この場合、点Oの重心座標(a,b)が、
−rx<a<1+rx,−ry<b<1+ry,かつ,
−rxy<a+b<1+rxyを満たせば、点Oは六角
形93iの内部にある。そこで、ステップS43におい
て、CPU11は、点Oの重心座標(a,b)が、−r
x<a<1+rx,−ry<b<1+ry,かつ,−r
xy<a+b<1+rxyであるか否かを判断する。
【0050】ステップS43において、CPU11は、
点Oの重心座標(a,b)が、−rx<a<1+rx,
−ry<b<1+ry,かつ,−rxy<a+b<1+
rxyであると判断した場合、点Oは六角形93iの内
部にある。すなわち、XY平面81において、干渉領域
71i内にZ軸の点Oが含まれるとされるので、CPU
11は、ステップS44において、点41pが干渉領域
71と衝突する可能性があると判定する。
【0051】一方、ステップS43において、点Oの重
心座標(a,b)が、−rx<a<1+rx,−ry<
b<1+ry,または,−rxy<a+b<1+rxy
でないと判断された場合、点Oは六角形93iの内部に
ない。すなわち、XY平面81において、干渉領域71
i内にZ軸の点Oが含まれないので、CPU11は、ス
テップS45において、点41pが衝突対象の三角形6
1の干渉領域71と衝突する可能性がないと判定する。
【0052】ここで、上述したステップS43の処理の
詳細について、以下に説明する。
【0053】ステップS43において判定される判定式
のrx,ryおよびrxyは、三角形61iの形状及び
球41の半径rにより変化するものであり、例えば、r
xは、以下のように求まる。
【0054】rxに対応する向きにおける三角形61i
の高さをhとする。重心座標系への変換は、線形であ
り、比が保存されるため、1:rx=h:rが成り立
つ。また、三角形61iの高さhは、三角形61iの面
積、および、高さhに対応する底辺の長さを用いて、h
=2×面積/(底辺の長さ)と表され、この面積は、三
角形61iの2つの辺ベクトルを並べた行列のdetermin
ant(以下、detと称する)の半分である。したがって、
rx=(r/det)×(底辺の長さ)となる。同様にし
て、ryおよびrxyも求められる。
【0055】以上により求められたrx,ryおよびr
xyが、ステップS43の判定式に代入して判定される
が、実際には、重心座標を用いるよりも、重心座標にde
tをかけた値(図11を参照して後述する重心座標のdet
倍)を用いた方が判定しやすいので、以下のように判定
式を変形し、それを利用する。
【0056】−rx<a<1+rxの判定は、その否定
である−rx≧a、および、a≧1+rxを変形して判
定される。
【0057】−rx≧aに、rxを代入すると、 −r×(1/det)×(底辺の長さ) ≧ a
【0058】両辺にdetをかけると、 −r×(底辺の長さ) ≧ a×det
【0059】底辺の長さを求めるには平方根の計算が必
要だが、時間のかかる平方根の計算を避けるため、両辺
を2乗する。この場合、符号の情報が失われてしまうの
で、符号に関する条件を追加する必要がある。左辺が負
であることは明らかなので、右辺が負である条件を追加
して、
【数1】
【0060】同様に、a≧1+rxにrxを代入し、両
辺にdetをかけ、detを移項すると、 a×det ≧ det+r×(底辺の長さ) a×det − det ≧ r×(底辺の長さ)
【0061】さらに、両辺を2乗する。この場合も符号
の情報が失われてしまうので、符号に関する条件を追加
する必要がある。右辺が正であることは明らかなので、
左辺が正である条件を追加して、
【数2】
【0062】また、他の場合も同様に変形すると、ま
ず、−ry<b<1+ryの否定である、−ry≧b、
および、b≧1+ryについては、
【数3】 または、
【数4】
【0063】さらに、−rxy<a+b<1+rxyの
否定である、−rxy≧a+b、および、a+b≧1+
rxyについては、
【数5】 または、
【数6】
【0064】以上の式を用いることにより、ステップS
43において、判定処理が実行される。
【0065】次に、図10および図11を参照して、X
Y平面81のxy座標系から重心座標系への変換の計算
方法について説明する。
【0066】図9Aの三角形61iを、図10に示され
る三角形94iの位置に、平行に移動させる。三角形9
4iは、XY平面81のxy座標系において、頂点M
0,M1,M2(M0=(0,0))により構成されて
いる。すなわち、頂点M1の位置ベクトルと辺ベクトル
M0M1は、等しく、頂点M2の位置ベクトルと辺ベク
トルM0M2は、等しい。
【0067】この場合、三角形94i内部の任意の点P
は、0≦aP,bP≦1であるaP,bPを使って、 P = aP×M1+bP×M2 と表され、(aP,bP)が重心座標系における点Pの重
心座標となる。また、この式は、重心座標系から元のx
y座標系への変換A1を表している。
【0068】A1は、次の行列R1で表される。
【0069】
【数7】
【0070】なお、M1.xおよびM1.yは、M1のx
座標およびy座標をそれぞれ示し、M2.xおよびM2.
yは、M2のx座標およびy座標をそれぞれ示してい
る。この場合、A1((0,0))=(0,0)=M
0,A1((1,0))=M1,A1((0,1))=
M2が成り立つ。
【0071】そこで、元のxy座標から重心座標を求め
るには、A1の逆変換A2を使用する。A2は、次の行
列R2で表される。
【0072】
【数8】
【0073】なお、det(determinant) = M1.x
×M2.y−M1.y×M2.xである。また、このdetは
先に述べた図9Aの三角形61iの2つの辺ベクトルを
並べた行列のdeterminantと同じものである。
【0074】逆変換A2による重心座標系への変換に
は、detでの除算が必要であるが、除算は時間がかかる
ため、除算なしで進めるようにする。すなわち、必要に
なるまで、detでの除算はせず、重心座標のdet倍(重心
座標にdeterminantをかけた値)で計算を行うようにす
る。
【0075】この重心座標のdet倍を求める変換A3を
表す行列R3を以下に示す。
【0076】
【数9】
【0077】この場合、detの符号に注意する必要があ
る。図11Aは、detが正の場合における、元のxy座
標系の三角形94iの変換A3を示す図であり、図11
Bは、detが負の場合における、元のxy座標系の三角
形94iの変換A3を示す図である。なお、detの正負
は、元のxy座標系における三角形94iの頂点M0,
M1およびM2の位置関係によって決定される。
【0078】図11Aに示されるように、元のxy座標
系の三角形94iにおいて、頂点M0,M1,M2が反
時計回りに配置されている場合、detは正になる。その
元のxy座標系の三角形94iを変換A3で変換した結
果の重心座標のdet倍においては、(0,0)、(det,
0)、(0,det)を頂点とする三角形になる。
【0079】また、図11Bに示されるように、頂点M
0,M1,M2が時計回りに配置されている場合、det
は負になる。その元のxy座標系を変換A3で変換した
結果の重心座標のdet倍においては、やはり(0,
0)、(det,0)、(0,det)を頂点とする三角形に
なるがdetが負なので、図11Aの場合を180度回転
させた位置にある。
【0080】以上より、detによる符号の調整は、detが
負の場合に、detおよび行列R3に、「−1」を乗算す
ることで、変換結果(重心座標のdet倍)がdetが正の場
合と同じ符号になる。これにより、正負の場合分けが必
要なくなり、重心座標の計算が行いやすくなる。
【0081】図4に戻って、ステップS5において、C
PU11は、ステップS4の判定処理に基づいて、XY
平面において、点41pが、衝突対象の三角形61の干
渉領域71と衝突する可能性があるか否かを判断し、衝
突する可能性がないと判断した場合、CPU11は、以
降の三角形61の衝突可能性の判定処理(ステップS6
およびS7の処理)および衝突位置判定処理(ステップ
S8の処理)をスキップし、ステップS9に進む。
【0082】ステップS5において、XY平面におい
て、衝突する可能性があると判断された場合、ステップ
S6において、CPU11は、衝突対象の三角形61の
乗る平面101における衝突可能性の判定処理を実行す
る。
【0083】図12および図13のフローチャートを参
照して、ステップS6の衝突可能性の判定処理を説明す
る。この場合、CPU11は、点41pと点42pの間
において、衝突対象の三角形61の乗る平面101とZ
軸が交差するか否かを判定する。
【0084】図12は、球体41の進行方向をZ軸とし
たXYZ座標系を示している(図5と同様)。平面10
1は、三角形61が乗っている平面である。この平面1
01がZ軸と交差する点は、点101pとして示され
る。さらに、平面101に平行で、かつ平面101から
球体41の半径r分だけ離れた平面102a1または平
面102a2がZ軸と交差する点は、それぞれ、点10
2p1または点102p2で示される。また、点41
p,点42p,点102p1,点101pおよび点10
2p2のZ座標は、それぞれ、D1,D2,D3,D4
およびD5と示される(D1<D2,D3<D4<D
5)。
【0085】したがって、このD1乃至D2の範囲にD
3乃至D5の範囲が一部分でも含まれていれば、衝突対
象の三角形61が乗っている平面101が、球体41の
始点41pおよび終点42pの間でZ軸に交差すると判
定され、点41pが干渉領域71と衝突する可能性があ
るとされる。
【0086】反対に、D1乃至D2の範囲にD3乃至D
5の範囲が全く含まれていない場合、すなわち、D2<
D3またはD1>D5の場合、点41pが干渉領域71
と衝突する可能性がないとされる。
【0087】また、図12に示されるように、距離q
(点101pと点102p2との距離=点101pと点
102p1との距離)を用いて、D4=D3+q=D5
−qと表すことができる。また、距離qは、球体41の
半径rと平面101に垂直な法線ベクトルnとZ軸との
角度αにより求められる。すなわち、三角形61が乗っ
ている平面101の法線ベクトルnのZ軸方向の成分の
絶対値をndepthとすると、ndepth=cosαとなり、q=
r/cosαであるので、q=r/ndepthとなる。したが
って、法線ベクトルnと点101pのZ座標D4から、
点102p1および点102p2のZ座標D3およびD
5が求められる。
【0088】そこで、CPU11は、点41pと点42
pの間において、衝突対象の三角形61の乗る平面10
1とZ軸が交差するか否かを判定するために、図13の
ステップS61において、三角形61が乗っている平面
101の法線ベクトルnを求め、ステップS62におい
て、この平面101がZ軸と交差する点101pの座標
を求める。
【0089】ステップS63において、CPU11は、
法線ベクトルnと点101pの座標に基づいて、D2<
D3またはD1>D5であるか否かを判断し、D2<D
3またはD1>D5であると判断した場合、すなわち、
衝突対象の三角形61が乗っている平面101が、球体
41の始点41pおよび終点42pの間でZ軸に交差し
ないと判断された場合、CPU11は、ステップS64
において、点41pが干渉領域71と衝突する可能性が
ないと判定する。
【0090】ステップS63において、D2<D3また
はD1>D5であると判断されなかった場合、すなわ
ち、衝突対象の三角形61が乗っている平面101が、
球体41の始点41pおよび終点42pの間でZ軸に交
差すると判断された場合、CPU11は、ステップS6
5において、点41pが干渉領域71と衝突する可能性
があると判定する。
【0091】その後、図4のステップS7において、C
PU11は、ステップS6の判定処理に基づいて、衝突
対象の三角形61の乗る平面において、点41pが衝突
対象の三角形61の干渉領域71と衝突する可能性があ
るか否かを判断し、衝突する可能性がないと判断した場
合、CPU11は、三角形61の衝突位置判定処理(ス
テップS8の処理)をスキップし、ステップS9に進
む。
【0092】ステップS7において、衝突対象の三角形
61の乗る平面において、衝突する可能性があると判断
された場合、処理は、ステップS8に進む。
【0093】以上により、ステップS2乃至S7のそれ
ぞれの衝突可能性の判定処理において、計算の簡単な処
理から順に、衝突可能性の判定処理を行い、衝突可能性
がなかった場合、以降の衝突可能性の判定処理および衝
突位置の判定処理をスキップするようにしたので、図1
4のフローチャートを参照して後述する衝突位置の判定
処理のように、計算時間がかかる処理をする必要がなく
なり、結果的に、処理効率を向上させることができる。
【0094】したがって、以降の処理は、ステップS2
乃至S7のそれぞれの衝突可能性の判定処理において、
点41pと衝突対象の三角形61の干渉領域71とが衝
突する可能性があると判定された場合のみ実行される。
【0095】ステップS8おいて、CPU11は、上述
した衝突可能性の判定処理より正確で時間のかかる計算
を必要とする、衝突位置の判定処理を実行する。この点
41pと干渉領域71との衝突位置の判定処理を、図1
4のフローチャートを参照して、説明する。
【0096】ステップS101において、CPU11
は、球体41と三角形61の内部との衝突点を求める処
理を行う。実際には、CPU11は、干渉領域71の蓋
になる部分にあたる三角形78(図3D)と、点41p
の軌跡43との交点を求める処理を行い、求めた交点が
三角形78の各辺の内側であれば、それを衝突点である
とする。
【0097】干渉領域71には、蓋になる部分にあたる
三角形は、三角形78と三角形79があるので、ステッ
プS102において、CPU11は、三角形78および
三角形79の2つの三角形に関して、ステップS101
の処理が終了したか否かを判断し、終了していなけれ
ば、ステップS101に戻り、三角形79についても同
様の処理を行う。CPU11は、ステップS102にお
いて、2つの三角形の処理が終了したと判断した場合、
ステップS103に進む。
【0098】また、図8のステップS41において、三
角形61iがほぼ直線状であると判断された場合におい
ても、次のステップS103以降の処理が実行される。
【0099】ステップS103において、CPU11
は、球体41と三角形61の1つの辺V1V2との衝突
点を求める処理を行う。実際には、Z軸のうち点41p
の軌跡43と辺V1V2を球体41の半径r分だけ膨ら
ました円筒75の表面(図3C)との交点を求める処理
が行われる。この球体41と三角形61の辺V1V2と
の衝突点算出処理について、図15のフローチャートを
参照して説明する。
【0100】ステップS131において、CPU11
は、辺V1V2がZ軸(点41pの軌跡43)に平行で
あるか否かを判断し、辺V1V2がZ軸と平行であると
判断した場合、球体41と三角形61の辺V1V2との
衝突点はないとして、球体41と三角形61の辺V1V
2との衝突点算出処理を終了させる。
【0101】ステップS131において、辺V1V2が
Z軸に平行ではないと判断された場合、ステップS13
2において、CPU11は、辺V1V2とZ軸との距離
d1(図16)が球体41の半径rよりも長いか否かを
判断し、距離d1が球体41の半径rよりも長いと判断
した場合、球体41と三角形61の辺V1V2との衝突
点はないとして、球体41と三角形61の辺V1V2と
の衝突点算出処理を終了させる。ステップS132にお
いて、辺V1V2を含む直線とZ軸との距離d1が球体
41の半径rよりも長いと判断されなかった場合、処理
は、ステップS133に進む。
【0102】ここで、上述したステップS132の処理
の詳細について、図16を参照して、説明する。
【0103】辺V1V2を含む直線状で球41の中心4
1pの軌跡43を含む直線に最も近づく点をGとする。
その「最も近づく」距離が、両直線の距離d1である。
図16に示されるように、球体41の進行方向であるZ
軸は、XY平面81において、点O(0,0)で表され
る。この点Oから辺V1V2を含む直線に下ろした垂線
の足が点Gにあたり、XY平面81における点Oと点G
の距離は3次元における辺V1V2を含む直線とZ軸と
の距離d1に一致する。このような一致があるので、図
16においては、あえて3次元の頂点V1、頂点V2、
点G、距離d1とそれらの平面81への射影を区別して
いない。
【0104】XY平面81の直線a1X+b1Y+c1
=0と、点O(0,0)の距離d1は、次の式で表され
る。
【0105】
【数10】
【0106】また、V1(V1x,V1y),V2(V
2x,V2y)を通る直線の方程式は、
【0107】(V2y−V1y)X+(V1x−V2
x)Y+V2xV1y−V1xV2y=0
【0108】で表されるので、式(10)に、c1=V
2xV1y−V1xV2yを代入すると、
【0109】
【数11】
【0110】となり、分母は辺V1V2のXY平面81
における長さである。長さは必ず正の値なので、平方根
の計算を避けるために全体を2乗しても符号の情報は失
われない。したがって、
【0111】d12 > r2
【0112】が成立する場合は、軌跡43が辺V1V2
から十分に遠いので、ステップS132において、球体
41の軌跡44と辺V1V2との交点はないと判定され
る。
【0113】また、分母が0に近くなる場合は、頂点V
1と頂点V2がほぼ同じ位置にある(すなわち、極めて
近い位置にあるか、または、辺V1V2がXY平面81
に垂直である(Z軸に平行である))場合であるので、
ステップS131において球体41の軌跡44と辺V1
V2との交点はないと先に判定されている。
【0114】その後、ステップS133において、CP
U11は、Z軸に垂直な平面であるXY平面81(図
7)において、点41pの軌跡43(=(0,0))か
ら辺V1V2を含む直線におろした垂線の足を求める。
【0115】この点Gは、XY平面において垂線の足と
してx座標及びy座標を求めたが、CPU11は、さら
にXY平面81において、頂点V1と点Gを結ぶ線分V
1Gと辺V1V2の長さの比を求めることにより、点G
のZ座標Zgを求めることができる。
【0116】図16において、点Oと頂点V1を結ぶ辺
OV1と辺V1V2の角度をθとすると、次の式が成り
立つ。
【0117】
【数12】
【0118】上記、式(12)より、cosθが求められ
るので、線分V1Gの長さは、式(13)のようにな
る。
【0119】
【数13】
【0120】したがって、頂点V1およびV2のZ座標
をそれぞれV1z,V2zとすると、点GのZ座標Gz
は、式(14)のように表わされる。
【0121】
【数14】
【0122】以上のように、XY平面81において、暫
定的な点Gが求められる。点Gは、実際の3次元の交点
H1(図17Bに示される点41pの軌跡43(Z軸)
と円筒75の表面との交点)と関係はあるが異なる点で
ある。したがって、CPU11は、ステップS134に
おいて、暫定的な点Gと実際の交点H1とのZ軸方向の
補正値Δを求める。
【0123】図17を参照して、辺V1V2を中心とし
た円筒75とZ軸の交差を説明する。図17Aは、点G
とZ軸が重なる方向から見た円筒75の側面図とZ軸を
示している。角度φは、Z軸と辺V1V2に垂直な面と
のなす角度である(ここでは、鋭角な方の角度を角度φ
としている)。円筒75をZ軸と点Gが含まれる面で切
った切断面121は、図17Bに示されるように、楕円
122で表される。
【0124】Z軸と楕円122の交点H1,H2は、辺
V1V2を中心とした円筒75とZ軸との交点である。
また、楕円122の中心は、先に求めた点Gであるの
で、求める補正値Δは、交点H1と点GとのZ座標の差
となる。楕円122の短径は、円筒75の半径rであ
り、楕円122の長径は、r/cosφとなる。さらに、
点GからZ軸までの距離はd1であり、点H1は、楕円
122の周上の点である。したがって、次式(15)が
成り立つ。
【0125】
【数15】
【0126】また、ステップS133における2次元で
の辺V1V2の長さ、および、ステップS134におけ
る3次元での辺V1V2の長さにより、cosφ=(3次
元での辺V1V2の長さ)/(2次元での辺V1V2の
長さ)が導かれる。このcosφの値を式(15)に代入
することで、補正値Δが求められる。
【0127】次に、ステップS135において、CPU
11は、ステップS133およびS134において求め
られた交点H1に対応した球体41と辺V1V2との接
点I(図示せず)を求めて、それが、辺V1V2の範囲
内にあるか否かを判断する。すなわち、ステップS13
3において、XY平面81で点Oから点Gを求めた方法
を用いて、ステップS135においては、交点H1に最
も近い辺V1V2を含む直線上の点を求める。それが求
める接点Iとなる。
【0128】求められた接点Iと頂点V1の距離が、頂
点V1から頂点V2の距離以下であれば、接点Iは、辺
V1V2上の点とされる。
【0129】したがって、ステップS135において、
CPU11は、接点Iが辺V1V2上の点であるか否か
を判断し、接点Iが辺V1V2上の点でないと判断した
場合、球体41と三角形61の辺V1V2との衝突点は
ないとして、球体41と三角形61の辺V1V2との衝
突点算出処理を終了させる。
【0130】ステップS135において、接点Iが辺V
1V2上の点であると判断された場合、ステップS13
6において、CPU11は、ステップS133およびス
テップS134において求められた交点H1が、球体4
1と三角形61の辺V1V2との衝突点であるとする。
【0131】その後、図14のステップS104におい
て、干渉領域71の残りの円筒76,77に対して、ス
テップS103の処理が終了したか否かを判断し、終了
していなければ、ステップS103の処理を、円筒7
6,77に対しても実行する。円筒75,76,77に
対する処理が終了したと判断した場合、CPU11は、
処理をステップS105に進める。
【0132】ステップS105において、CPU11
は、球体41と三角形61の頂点V1との衝突点を求め
る処理を行う。実際には、Z軸(点41pの軌跡43)
と頂点V1を中心とした半径rの球体72(図3B)と
の交点を求める処理が行われる。
【0133】図18において、半径rの球体72の中心
は、頂点V1(V1x,V1y,V1z)であり、球体
72とZ軸との交点をEとし、交点EのZ座標をEzと
する。球の方程式より、次式(16)が成り立つ。
【0134】
【数16】
【0135】したがって、式(16)を解くことによ
り、交点EのZ座標Ezを求めることができる。なお、
EはZ軸上の点なので、x座標とy座標は「0」であ
る。
【0136】以上のように、ステップS105におい
て、点41pと球体72との衝突点(交点E)を求める
処理が行われ、その後、CPU11は、ステップS10
6において、干渉領域71の残りの球体73,74に関
しても、ステップS105の処理が終了したか否かを判
断し、終了していなければ、その処理を実行し、終了し
たと判断した場合、ステップS107に進む。
【0137】ステップS107において、CPU11
は、ステップS101,S103,S105で求められ
た交点(衝突点)のうち、最も手前(最小のZ座標)の
交点を、点41pと干渉領域71との(すなわち、球体
41と三角形61との)衝突点とする。なお、ステップ
S101,S103,S105のいずれにおいても交点
がなかった場合は、点41pと干渉領域71とは衝突し
ないと判定される。
【0138】ステップS107の処理の後、図4のステ
ップS9に進み、CPU11は、衝突対象多面体51を
構成する4つの三角形61乃至64のすべてについて、
衝突判定処理が終わったか否かを判定し、まだ、終了し
ていないと判定した場合、ステップS1に戻り、それ以
降の処理を繰り返す。ステップS9において、すべての
三角形61乃至64に対して、衝突判定処理が終了した
と判定された場合、ステップS10において、CPU1
1は、衝突対象多面体51を構成する4つの三角形61
乃至64の衝突判定結果に基づいて、球体41と衝突対
象多面体51との衝突結果を求め、処理を終了する。
【0139】以上のように、球体41と衝突対象多面体
51と衝突判定が行われるので、衝突判定の精度を高め
ることができ、したがって、衝突対象多面体51の隙間
をすり抜ける現象が起こるのを抑制することができる。
【0140】なお、上記説明においては、衝突対象多面
体51は、三角形4つにより構成される場合を説明した
が、例えば、衝突対象多面体51が、複数の五角形20
1により構成される場合であっても、図19A乃至19
Cに示されるように、五角形201を構成する3つの三
角形(三角形211、三角形212、および三角形21
3)に分解して、衝突判定処理が実行される。
【0141】しかしながら、三角形211は、面f1,
頂点e1,頂点e2,頂点e3,辺e2e3,辺e1e
2および辺e3e1により構成されており、三角形21
2は、面f2,頂点e1,頂点e3,頂点e4,辺e1
e3,辺e3e4および辺e4e1により構成されてお
り、三角形213は、面f3,頂点e1,頂点e4,頂
点e5,辺e1e4,辺e4e5および辺e5e1によ
り構成されているため、頂点e1,頂点e3,頂点e
4,辺e3e1および辺e4e1の衝突判定処理が重複
されて実行されることになる。
【0142】そこで、図20に示されるように、まず、
頂点e1(図20A)を判定し、次に、面f1,頂点e
2,辺e2e3および辺e1e2(図20B)を判定
し、次に、面f2,頂点e3,辺e1e3および辺e3
e4(図20C)を判定し、次に、面f3,頂点e4,
辺e1e4および辺e4e5(図20D)を判定し、最
後に、頂点e5および辺e5e1(図20E)を判定す
るというように、三角形211、三角形212、および
三角形213を、別々の三角形として判定するのではな
く、同じ平面(五角形201)上にあることを利用して
判定するようにもできる。この場合、図19の場合と較
べて、辺や頂点の判定処理が重複しなくなり、効率が向
上する。
【0143】また、衝突判定の精度を高めたことにより
遅くなってしまう計算速度を、簡単な計算により、段階
的に衝突判定を行い、衝突しない場合については、精度
を必要とする計算をする必要をなくしたので、効率的に
衝突判定の処理を進めることができ、結果的に、衝突判
定の処理の高速化を図れるようになる。
【0144】上述した一連の処理は、ハードウエアによ
り実行させることもできるが、ソフトウエアにより実行
させることもできる。一連の処理をソフトウエアにより
実行させる場合には、そのソフトウエアを構成するプロ
グラムが、専用のハードウエアに組み込まれているコン
ピュータ、または、各種のプログラムをインストールす
ることで、各種の機能を実行することが可能な、例えば
汎用のパーソナルコンピュータなどに、ネットワークや
記録媒体からインストールされる。
【0145】なお、本明細書において、記録媒体に記録
されるプログラムを記述するステップは、記載された順
序に沿って時系列的に行われる処理はもちろん、必ずし
も時系列的に処理されなくとも、並列的あるいは個別に
実行される処理をも含むものである。
【0146】
【発明の効果】以上のごとく、本発明によれば、仮想3
次元空間において、物体の衝突の計算の精度を向上させ
ることができる。また、物体の衝突の計算にかかる負荷
が軽減され、物体の衝突の計算の効率を向上させること
ができる。
【図面の簡単な説明】
【図1】本発明を適用したパーソナルコンピュータの構
成例を示すブロック図である。
【図2】3次元画像処理アプリケーションプログラムに
おいて、ユーザの分身と他の物体とを説明する図であ
る。
【図3】衝突対象の三角形の干渉領域を説明する図であ
る。
【図4】図1のパーソナルコンピュータの衝突判定処理
を説明するフローチャートである。
【図5】図4のステップS2のZ軸における衝突可能性
の判定処理を説明する図である。
【図6】図4のステップS2のZ軸における衝突可能性
の判定処理を説明するフローチャートである。
【図7】図4のステップS4のXY平面における衝突可
能性の判定処理を説明する図である。
【図8】図4のステップS4のXY平面における衝突可
能性の判定処理を説明するフローチャートである。
【図9】三角形の重心座標系を説明する図である。
【図10】三角形の重心座標系を詳しく説明する図であ
る。
【図11】三角形の重心座標のdet倍の変換処理を説明
する図である。
【図12】図4のステップS6の三角形の乗る平面での
衝突可能性判定の処理を説明する図である。
【図13】図4のステップS6の三角形の乗る平面での
衝突可能性判定の処理を説明するフローチャートであ
る。
【図14】図4のステップS8の衝突位置の判定処理を
説明するフローチャートである。
【図15】図14のステップS103の衝突点算出処理
を説明するフローチャートである。
【図16】図15のステップS133の垂線の足を求め
る処理を説明する図である。
【図17】図15のステップS134の補正値を求める
処理を説明する図である。
【図18】図14のステップS105の衝突点を求める
処理を説明する図である。
【図19】衝突対象多面体を構成する多角形の判定処理
方法を説明する図である。
【図20】衝突対象多面体を構成する多角形の他の判定
処理方法を説明する図である。
【符号の説明】
1 パーソナルコンピュータ, 11 CPU, 4
1,42 球体, 41p,42p 点, 43,44
軌跡,51 衝突対象多面体, 61 三角形, 7
1 干渉領域, 72乃至74 球体, 75乃至77
円筒, 78,79 三角形, 81 XY平面,
101 平面
フロントページの続き (72)発明者 安賀 広幸 東京都品川区北品川6丁目7番35号 ソニ ー株式会社内 (72)発明者 酒井 香代子 東京都葛飾区東新小岩5−3−17 メゾ ン・ド・リスブラン305 Fターム(参考) 5B050 BA07 BA08 BA09 EA05 EA07 EA13 5L096 AA09 EA02 FA05 FA60 FA62 FA69 FA76

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 物体が仮想3次元空間を移動する画像処
    理を行う画像処理装置において、 移動する物体と他の物体の衝突可能性を計算する計算手
    段と、 前記計算手段により計算された結果に基づいて、前記移
    動する物体が前記他の物体と衝突する可能性があるか否
    かを判定する判定手段と、 前記判定手段により前記移動する物体が前記他の物体と
    衝突する可能性があると判定されたとき、前記計算手段
    により計算された結果に基づいて、前記移動する物体と
    前記他の物体の衝突位置を特定する特定手段とを備え、 前記計算手段は、前記移動する物体を球体として表わ
    し、前記他の物体を多角形により構成される多面体とし
    て表わすことにより、前記移動する物体と前記他の物体
    の衝突可能性を計算することを特徴とする画像処理装
    置。
  2. 【請求項2】 前記多角形は、三角形であることを特徴
    とする請求項1に記載の画像処理装置。
  3. 【請求項3】 前記計算手段は、前記球体を前記球体の
    中心点として表わし、前記多面体を前記球体の半径分膨
    らませた立体として表わすことにより、前記移動する物
    体と前記他の物体の衝突可能性を計算することを特徴と
    する請求項1に記載の画像処理装置。
  4. 【請求項4】 前記判定手段は、前記移動する物体の前
    記他の物体との衝突可能性の判定を数段階に分け、前記
    計算手段により計算される衝突可能性の計算に負荷がか
    からない段階から順に、前記移動する物体が前記他の物
    体と衝突する可能性があるか否かを判定することを特徴
    とする請求項1に記載の画像処理装置。
  5. 【請求項5】 前記計算手段は、前記多面体を構成する
    前記多角形毎に、前記移動する物体と前記他の物体の衝
    突可能性を計算することを特徴とする請求項1に記載の
    画像処理装置。
  6. 【請求項6】 物体が仮想3次元空間を移動する画像処
    理を行う画像処理装置の画像処理方法であって、 移動する物体と他の物体の衝突可能性を計算する計算ス
    テップと、 前記計算ステップの処理により計算された結果に基づい
    て、前記移動する物体が前記他の物体と衝突する可能性
    があるか否かを判定する判定ステップと、 前記判定ステップの処理により前記移動する物体が前記
    他の物体と衝突する可能性があると判定されたとき、前
    記計算ステップの処理により計算された結果に基づい
    て、前記移動する物体と前記他の物体の衝突位置を特定
    する特定ステップとを含み、 前記計算ステップの処理は、前記移動する物体を球体と
    して表わし、前記他の物体を多角形により構成される多
    面体として表わすことにより、前記移動する物体と前記
    他の物体の衝突可能性を計算することを特徴とする画像
    処理方法。
  7. 【請求項7】 物体が仮想3次元空間を移動する画像処
    理を行う画像処理装置用のプログラムであって、 移動する物体と他の物体の衝突可能性の計算を制御する
    計算制御ステップと、 前記計算制御ステップの処理により計算が制御された結
    果に基づいて、前記移動する物体が前記他の物体と衝突
    する可能性があるか否かの判定を制御する判定制御ステ
    ップと、 前記判定制御ステップの処理により前記移動する物体が
    前記他の物体と衝突する可能性があると判定が制御され
    たとき、前記計算制御ステップの処理により計算が制御
    された結果に基づいて、前記移動する物体と前記他の物
    体の衝突位置の特定を制御する特定制御ステップとを含
    む処理をコンピュータに実行させ、 前記計算制御ステップの処理は、前記移動する物体を球
    体として表わし、前記他の物体を多角形により構成され
    る多面体として表わすことにより、前記移動する物体と
    前記他の物体の衝突可能性の計算を制御することを特徴
    とするプログラム。
JP2003072576A 2002-03-19 2003-03-17 画像処理装置および方法、並びにプログラム Abandoned JP2003346186A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003072576A JP2003346186A (ja) 2002-03-19 2003-03-17 画像処理装置および方法、並びにプログラム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2002-76579 2002-03-19
JP2002076579 2002-03-19
JP2003072576A JP2003346186A (ja) 2002-03-19 2003-03-17 画像処理装置および方法、並びにプログラム

Publications (2)

Publication Number Publication Date
JP2003346186A true JP2003346186A (ja) 2003-12-05
JP2003346186A5 JP2003346186A5 (ja) 2005-12-22

Family

ID=29781871

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003072576A Abandoned JP2003346186A (ja) 2002-03-19 2003-03-17 画像処理装置および方法、並びにプログラム

Country Status (1)

Country Link
JP (1) JP2003346186A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100778310B1 (ko) * 2005-12-08 2007-11-22 한국전자통신연구원 그래픽 시스템에서의 충돌정보 처리 장치 및 그 방법
US7663630B2 (en) 2005-12-08 2010-02-16 Electronics And Telecommunications Research Institute Apparatus and method for processing collision information in graphic system
JP5073065B2 (ja) * 2009-01-15 2012-11-14 三菱電機株式会社 衝突判定装置および衝突判定プログラム
JP2018524664A (ja) * 2015-11-30 2018-08-30 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 リアルタイムの仮想シーン内の円柱コライダと凸体との間の衝突を検出するための方法および端末およびストレージ媒体
JP2018524665A (ja) * 2015-11-30 2018-08-30 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 リアルタイム仮想シーンにおけるコライダ間の衝突を検出するための方法、端末および記憶媒体
JP2019030930A (ja) * 2017-08-08 2019-02-28 トヨタ自動車株式会社 相対的に移動する物体間の最近接点計算方法及び干渉評価方法
CN110955986A (zh) * 2019-12-27 2020-04-03 广州机械科学研究院有限公司 一种三角形物体接触检测方法、系统、装置和存储介质

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100778310B1 (ko) * 2005-12-08 2007-11-22 한국전자통신연구원 그래픽 시스템에서의 충돌정보 처리 장치 및 그 방법
US7663630B2 (en) 2005-12-08 2010-02-16 Electronics And Telecommunications Research Institute Apparatus and method for processing collision information in graphic system
JP5073065B2 (ja) * 2009-01-15 2012-11-14 三菱電機株式会社 衝突判定装置および衝突判定プログラム
US9530246B2 (en) 2009-01-15 2016-12-27 Mitsubishi Electric Corporation Collision determination device and collision determination program
JP2018524664A (ja) * 2015-11-30 2018-08-30 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 リアルタイムの仮想シーン内の円柱コライダと凸体との間の衝突を検出するための方法および端末およびストレージ媒体
JP2018524665A (ja) * 2015-11-30 2018-08-30 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 リアルタイム仮想シーンにおけるコライダ間の衝突を検出するための方法、端末および記憶媒体
JP2019030930A (ja) * 2017-08-08 2019-02-28 トヨタ自動車株式会社 相対的に移動する物体間の最近接点計算方法及び干渉評価方法
CN110955986A (zh) * 2019-12-27 2020-04-03 广州机械科学研究院有限公司 一种三角形物体接触检测方法、系统、装置和存储介质

Similar Documents

Publication Publication Date Title
JP3178528B2 (ja) 二次元の奥行き画像からボリュメトリック距離マップを推定する方法
US6532304B1 (en) Matching geometric objects
US6504541B1 (en) Warping geometric objects
US6563501B2 (en) Bicubic surface rendering
JP3466661B2 (ja) 画像処理装置及びその方法
JPH0896147A (ja) 縮退のない曲線および曲面平滑化方法
JP5907930B2 (ja) 複数の画素をテクスチャ処理するための画像処理方法、プログラム及びグラフィック装置
CN111581776A9 (zh) 一种基于几何重建模型的等几何分析方法
JP2003346186A (ja) 画像処理装置および方法、並びにプログラム
JPH05266146A (ja) 物体形状の表現装置
JP2002520750A (ja) 非正則パッチの細分化行列の固有空間におけるパラメータ化された曲面の数値計算方法
JPH07254075A (ja) 3次元的な物体の変形方法及びモデリングシステム
JP4526121B2 (ja) 三角形と線分の交点計算方法とそのプログラム
US7280108B2 (en) Bicubic surface rendering
US20230281925A1 (en) Generating mappings of three-dimensional meshes utilizing neural network gradient fields
JP2000082152A (ja) 軌跡制御方法及び軌跡制御方法を記録した記録媒体
JP2007156604A (ja) 曲面作成方法及び曲面作成プログラム並びに3次元形状処理装置
JP2005149245A (ja) Cadシステム、曲面解析装置、曲面再生装置、その方法及びそのプログラム
JP2000251095A (ja) ポリゴンメッシュの領域分割方法及びその装置並びに情報記録媒体
JP3799511B2 (ja) 透視図3次元nurb曲線自動復元方法及び装置
JP2004348708A (ja) 地図情報システム用ポリゴン生成方法及びその装置
WO2022269951A1 (ja) 電子ビーム描画装置、電子ビーム描画方法、および記録媒体
US20230274168A1 (en) Quantifying the human-likeness of artificially intelligent agents using statistical methods and techniques
JP4096326B2 (ja) 3次元形状処理方法及び記憶媒体
US7307637B1 (en) Method and apparatus for identifying pixel position and geometry in 3D systems

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051028

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051028

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20070628