JP2005092754A - 画像処理装置、画像処理方法 - Google Patents

画像処理装置、画像処理方法 Download PDF

Info

Publication number
JP2005092754A
JP2005092754A JP2003328457A JP2003328457A JP2005092754A JP 2005092754 A JP2005092754 A JP 2005092754A JP 2003328457 A JP2003328457 A JP 2003328457A JP 2003328457 A JP2003328457 A JP 2003328457A JP 2005092754 A JP2005092754 A JP 2005092754A
Authority
JP
Japan
Prior art keywords
particles
moving
recording
band
virtual space
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
Application number
JP2003328457A
Other languages
English (en)
Other versions
JP3934097B2 (ja
Inventor
Shigeo Okajima
滋生 岡嶋
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.)
Konami Computer Entertainment Japan Inc
Konami Computer Entertainment Co Ltd
Original Assignee
Konami Computer Entertainment Japan Inc
Konami Computer Entertainment Co Ltd
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 Konami Computer Entertainment Japan Inc, Konami Computer Entertainment Co Ltd filed Critical Konami Computer Entertainment Japan Inc
Priority to JP2003328457A priority Critical patent/JP3934097B2/ja
Publication of JP2005092754A publication Critical patent/JP2005092754A/ja
Application granted granted Critical
Publication of JP3934097B2 publication Critical patent/JP3934097B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】 炎のオブジェクトの生成処理に係る処理コストを軽減させること。
【解決手段】 発生している各パーティクルについて、パーティクルの位置を移動させ(S1204)、移動した位置のデータを記録し(S1205)、前の位置と現在の位置との間に帯ポリゴンを配置する(S1207)。
【選択図】 図12

Description

本発明は、パーティクルを用いて炎等、揺らぎを有するオブジェクトを生成する技術に関するものである。
3次元仮想空間内で炎のオブジェクトを生成するための技術は従来から数多く提案されている。そのうちの代表的な手法として、パーティクルを用いるものがある。この手法では、炎を表現する領域中に複数のパーティクルを配置し、夫々のパーティクルに予め決められた式に従った挙動を与える。これによって各パーティクルは個々に不規則な移動を行う。そして各パーティクルの位置に、例えば中心部ほど明るい球体のオブジェクトを配置することで、全体として揺らぎを有する炎のオブジェクトを形成することができる。
しかし上記従来技術では、各パーティクル間には何も存在しないので、パーティクルの数が少ないと、所々穴の空いた炎のオブジェクトとなり、その数によっては炎に見えないという問題がある。この問題に対処するためには当然パーティクルの数を増やせばよいのであるが、パーティクルの数を増やすと、各パーティクルの挙動を計算する計算コストや、各パーティクルの位置を管理するためのメモリ使用量といった処理コストが増大し、リアルタイムにゲーム画面のレンダリングが要求されるゲームに適用することは困難なものとなる。
本発明はこのような点を考慮して成されたものであり、炎のオブジェクトの生成処理に係る処理コストを軽減させることを目的とする。
また、本発明は、炎のオブジェクトに限らず、一般に煙や水など、揺らぎを有するオブジェクトの生成処理に係る処理コストについても軽減させることを目的とする。
本発明の目的を達成するために、例えば本発明の画像処理装置は以下の構成を備える。
即ち、3次元仮想空間に発生させる複数のパーティクルを用いて炎のオブジェクトを生成する画像処理装置であって、
前記3次元仮想空間におけるパーティクルの初期発生領域を設定する設定手段と、
前記初期発生領域内で発生するパーティクルの初期移動方向、及び初期移動速度を初期値データとして記録する初期値データ記録手段と、
所定の方向への加速度を示すデータ、及び前記初期値データを用いて、前記パーティクルを前記3次元仮想空間内で移動させる移動手段と、
前記移動手段によって移動する前記パーティクルの各位置を示すデータを順次記録する位置記録手段と、
前記位置記録手段が記録しているデータが示す各位置間にポリゴンを配置することで、前記パーティクルの移動経路を帯状のオブジェクトとして生成する帯状オブジェクト生成手段とを備え、
前記初期値データ記録手段、前記移動手段、前記位置記録手段、前記帯状オブジェクト生成手段による処理を、前記3次元仮想空間内に存在する複数のパーティクルの夫々について行うことで生成される複数の帯状のオブジェクトによって炎のオブジェクトを形成することを特徴とする。
本発明の目的を達成するために、例えば本発明の画像処理装置は以下の構成を備える。
即ち、3次元仮想空間に発生させる複数のパーティクルを用いて揺らぎを有するオブジェクトを生成する画像処理装置であって、
前記3次元仮想空間におけるパーティクルの初期発生領域を設定する設定手段と、
前記初期発生領域内で発生するパーティクルの初期移動方向、及び初期移動速度を初期値データとして記録する初期値データ記録手段と、
所定の方向への加速度を示すデータ、及び前記初期値データを用いて、前記パーティクルを前記3次元仮想空間内で移動させる移動手段と、
前記移動手段によって移動する前記パーティクルの各位置を示すデータを順次記録する位置記録手段と、
前記位置記録手段が記録しているデータが示す各位置間にポリゴンを配置することで、前記パーティクルの移動経路を帯状のオブジェクトとして生成する帯状オブジェクト生成手段とを備え、
前記初期値データ記録手段、前記移動手段、前記位置記録手段、前記帯状オブジェクト生成手段による処理を、前記3次元仮想空間内に存在する複数のパーティクルの夫々について行うことで生成される複数の帯状のオブジェクトによって揺らぎを有するオブジェクトを形成することを特徴とする。
本発明の目的を達成するために、例えば本発明の画像処理方法は以下の構成を備える。
即ち、3次元仮想空間に発生させる複数のパーティクルを用いて炎のオブジェクトを生成する画像処理装置が行う画像処理方法であって、
前記3次元仮想空間におけるパーティクルの初期発生領域を設定する設定工程と、
前記初期発生領域内で発生するパーティクルの初期移動方向、及び初期移動速度を初期値データとして前記画像処理装置が有するメモリに記録する初期値データ記録工程と、
所定の方向への加速度を示すデータ、及び前記初期値データを用いて、前記パーティクルを前記3次元仮想空間内で移動させる移動工程と、
前記移動工程で移動する前記パーティクルの各位置を示すデータを順次前記メモリに記録する位置記録工程と、
前記位置記録工程で記録したデータが示す各位置間にポリゴンを配置することで、前記パーティクルの移動経路を帯状のオブジェクトとして生成する帯状オブジェクト生成工程とを備え、
前記初期値データ記録工程、前記移動工程、前記位置記録工程、前記帯状オブジェクト生成工程による処理を、前記3次元仮想空間内に存在する複数のパーティクルの夫々について行うことで生成される複数の帯状のオブジェクトによって炎のオブジェクトを形成することを特徴とする。
本発明の目的を達成するために、例えば本発明の画像処理方法は以下の構成を備える。
即ち、3次元仮想空間に発生させる複数のパーティクルを用いて揺らぎを有するオブジェクトを生成する画像処理装置が行う画像処理方法であって、
前記3次元仮想空間におけるパーティクルの初期発生領域を設定する設定工程と、
前記初期発生領域内で発生するパーティクルの初期移動方向、及び初期移動速度を初期値データとして前記画像処理装置が有するメモリに記録する初期値データ記録工程と、
所定の方向への加速度を示すデータ、及び前記初期値データを用いて、前記パーティクルを前記3次元仮想空間内で移動させる移動工程と、
前記移動工程で移動する前記パーティクルの各位置を示すデータを順次前記メモリに記録する位置記録工程と、
前記位置記録工程で記録したデータが示す各位置間にポリゴンを配置することで、前記パーティクルの移動経路を帯状のオブジェクトとして生成する帯状オブジェクト生成工程とを備え、
前記初期値データ記録工程、前記移動工程、前記位置記録工程、前記帯状オブジェクト生成工程による処理を、前記3次元仮想空間内に存在する複数のパーティクルの夫々について行うことで生成される複数の帯状のオブジェクトによって揺らぎを有するオブジェクトを形成することを特徴とする。
本発明の構成によって、炎のオブジェクトの生成処理に係る処理コストを軽減させることができる。また、炎のオブジェクトに限らず、一般に煙や水など、揺らぎを有するオブジェクトの生成処理に係る処理コストについても軽減させることができる。
以下添付図面を参照して、本発明の好適な実施形態について詳細に説明する。
[第1の実施形態]
本実施形態では、「揺らぎ」を有するオブジェクトとして「炎を表現するオブジェクト(以下、炎のオブジェクト)」を生成する。以下、この「炎のオブジェクト」の生成処理についてより詳細に説明する。
図1は本実施形態に係る「炎のオブジェクト」の生成処理を実行する画像処理装置として機能するコンピュータの基本構成を示すブロック図である。
101はCPUで、RAM102やROM103に記憶されているプログラムやデータを用いて本装置全体の制御を行うと共に、本実施形態に係る上記「炎のオブジェクト」の生成処理を実行する。
102はRAMで、外部記憶装置107や記憶媒体ドライブ装置108からロードされたプログラムやデータを一時的に記憶するためのエリアを備えると共に、CPU101が各種の処理を実行するために用いるワークエリアを備える。
103はROMで、ブートプログラムや本装置の設定に係るデータなどが格納されている。
104,105は夫々キーボード、マウスで、CPU101に各種の指示を入力するために使用されるものである。なお、CPU101に各種の指示を入力することができるデバイスとしてはこれ以外にも、例えばジョイスティックやゲームパッドなどの他のデバイスを用いることもできる。
106は表示部で、CRTや液晶画面などにより構成されており、CPU101による処理結果を画像や文字などの情報により表示することができる。
107は外部記憶装置で、ハードディスクドライブ装置などの大容量情報記憶装置として機能するものであり、ここにOS(オペレーティングシステム)や、CPU101に後述する本実施形態に係る上記「炎のオブジェクト」の生成処理を実行させるためのプログラムやデータ、以下説明する3次元モデルのデータ(3次元モデルがポリゴンにより表現されるものである場合には、3次元モデルを構成する各ポリゴンの各頂点座標位置、各ポリゴンの法線ベクトルを示すデータ、そしてこの3次元モデルにテクスチャをマッピングする場合には、このテクスチャのデータ等)等が保存されており、これらはCPU101による制御により、必要に応じてRAM102に読み出される。
108は記憶媒体ドライブ装置で、CD−ROMやDVD−ROMなどの記憶媒体に記録されているプログラムやデータを読み出し、RAM102や外部記憶装置107に出力するものである。なおCPU101に後述する本実施形態に係る「炎のオブジェクト」の生成処理を実行させるためのプログラムやデータ、上記3次元モデルのデータをこの記憶媒体に記録させておいても良く、その場合には、これらプログラムやデータは、CPU101による制御の下、記憶媒体ドライブ装置108によって記憶媒体から読み出され、RAM102に出力される。また、記憶媒体がCD−RやDVD−RAMなどの書き込み可能なものである場合には、記憶媒体ドライブ装置108はCPU101の制御により、この記憶媒体にプログラムやデータを書き込む処理を行う。
109は上記各部を繋ぐバスである。
次に、以上の構成を備えるコンピュータが行う、本実施形態に係る「炎のオブジェクト」の生成処理について説明する。
図2は、炎のオブジェクトを生成するために用いるパーティクルの初期発生領域を説明するための図である。同図において201は「ろうそく」の3次元モデル、202はこのろうそく上に炎のオブジェクトを生成、配置するために、パーティクルを発生させるための初期位置が取りうる許容領域を示す。
3次元モデル201は3次元仮想空間中に3次元形状を有するモデルであり、例えば、複数のポリゴンによりその形状が表現され、必要に応じてその表面上(ポリゴン上)にはテクスチャ画像がマッピングされている。このような3次元モデルの表現方法については周知の技術であるので、これ以上の説明は省略する。
202はパーティクルを発生させるための領域を示し、パーティクルはこの領域202内のランダムに決められた位置で発生する。この初期発生領域202の設定方法としては、例えばこの領域202の中心位置を3次元モデル201上に設定すると共に、この中心位置からの最大半径を設定する。この場合、パーティクルの発生方法は、この中心位置からランダムに方向、半径(0より大きく、且つ上記最大半径以下となるような半径)を決め、上記中心位置から決めた方向に決めた半径分だけ進んだ位置にパーティクルを発生させればよい。
なお、本実施形態ではろうそく上に炎が存在するという設定で、このパーティクルの初期発生領域をろうそくの3次元モデル上に設けたのであるが、この領域を3次元仮想空間中の何れの位置に設けても、本実施形態に係る炎のオブジェクトの生成処理が適用可能であるということは、以下の説明から明らかとなるであろう。
次に、この初期発生領域内に発生させたパーティクルに与える挙動について説明する。図3は、図2に示した初期発生領域201内で発生させたパーティクルに挙動を与えるために、パーティクルに対して設定する内容を説明する図である。尚同図において、図2と同じ部分には同じ番号を付けており、その説明は省略する。また、初期発生領域内には複数のパーティクルを発生させるのであるが、以下ではそのうちの1つを例に取り説明する。この説明はその他の複数のパーティクルについても同様に適用可能である。
同図において301はパーティクルを示す、パーティクル301を初期発生領域内で発生させると、このパーティクル301には、初期移動方向、初期移動速度を設定する。また、パーティクルを発生させるということは、このパーティクルの初期位置を与えることをも含む。
この初期移動方向、初期移動速度を、本実施形態では、速度ベクトル(同図ではV)でもって表現する。同図の通り、この速度ベクトルVを構成する要素はvx、vy、vzの3つであり、これら3つの要素は3次元仮想空間中の座標系に従ったものである。よって、パーティクルの3次元仮想空間における移動方向は、この3つの要素によって表現することができる。
従って、現在のパーティクルの位置をX(X=[x y z])とすると、
X=X+V
即ち、
x=x+vx
y=y+vy
z=z+vz
を計算することで、このパーティクル301は設定した速度ベクトル方向に、このベクトルの大きさだけ移動することになる。
従って、初期発生領域内でパーティクルを発生させると、先ず発生させたパーティクルに対して、速度ベクトルを設定する。速度ベクトルの設定とは、速度ベクトルを構成する上記3つの要素を決定することであるが、この速度ベクトルの要素、vx、vy、vzは夫々ある範囲内でランダムに決まった数値とする。しかし、この決定方法は特に限定されるものではない。
このようにパーティクルを発生させるたびに、このパーティクルについて速度ベクトルが設定されるのであるが、設定された速度ベクトルのデータは順次RAM102に記録されていく。これによりRAM102には現在発生しているパーティクルの速度ベクトルのデータが記録されていることになり、現在発生しているパーティクルの速度ベクトルを管理することができる。
なお、パーティクルを発生させた場合には上記速度ベクトルと共に、生存寿命を示すデータも生成されるのであるが、これについて詳しくは後述する。
一方、3次元仮想空間中で炎の上がる方向、即ち、ろうそくに対して上向きの加速度を示すデータが予め作成されて外部記憶装置107もしくは記憶媒体に記録されており、外部記憶装置107から、もしくは記憶媒体ドライブ装置108によって記憶媒体からRAM102にロードされている。
即ち、上記の式であるX=X+Vに従った計算を繰り返すと、各パーティクルの各々の位置は初期発生領域から遠ざかる一方の動きとなってしまう。
そこで、このように、3次元仮想空間中で炎の上がる方向、即ち、ろうそくに対して上向きの加速度を設け、この加速度をa(a=[ax ay az])としたときに、
V=V+a
即ち、
vx=vx+ax
vy=vy+ay
vz=vz+az
を計算し、計算後のVを用いてX=X+Vを計算すれば、パーティクルの動きは、初めは各々に設定された初期移動方向に移動するものの、徐々に炎の上がる方向、即ち、ろうそくに対して上向きの方向に移動することになる。
まとめれば、このようにパーティクルを移動させるためには、V=V+aを計算し、次に、更新後のVを用いてX=X+Vを計算すれば良いことになる。
しかし、以上の計算だけでは夫々のパーティクルは最終的には共に平行に、且つろうそくに対して上向きの方向に移動するだけで、夫々の挙動には炎独特の「揺らぎ」は見られない。従って次に、発生させた各パーティクルに「揺らぎ」の挙動を与える処理について説明する。
図4は、発生させた各パーティクルに対して「揺らぎ」の挙動を与えるための仕組みを示す図である。同図において図2と同じ部分については同じ番号を付けており、その説明は省略する。
同図において401は3次元モデル201の上面(同図において斜線部分)から螺旋状に上向きの方向に延長する経路で、402a、402b、402cは夫々、この経路401上を同図矢印方向に移動して上向きに上昇する重力点である。なお、この経路401,重力点402a、402b、402cは夫々以下説明する処理のために計算上設けたものであって、表示されるものではない。また、重力点の数は同図では3つとしているが、以下の説明の本質がこの数に限定されたものではないことは、以下の説明より明らかとなるであろう。
重力点(402a、402b、402c)は夫々順次定期的もしくは不定期的に3次元モデル201の上面における経路401の一端(同図では403で示している位置)に発生し、上述の通り、経路401上を同図矢印方向に移動する。例えば同図の場合、先に重力点402cが発生し、経路401上を同図矢印方向に移動する。そして所定の時間の経過後、次に重力点402bが発生し、同様に経路401上を同図矢印方向に移動する。そして更に所定の時間の経過後、次に重力点402aが発生し、同様に経路401上を同図矢印方向に移動する。夫々の重力点の移動速度は同じでも良いし、異なっていても良い。なお、この経路401の長さは有限である故に、経路401上を移動する重力点が経路401の他端(同図では404で示している位置)に来た場合には、この重力点を消去する。そしてまた、次に重力点を一端403の位置に発生させる処理を繰り返す。
以上の、経路401を示すデータ(例えば自由曲線により経路401を生成するためには各制御点の座標位置のデータ)は予め生成されており、必要に応じてRAM102にロードされるものである。また、各重力点の発生、移動処理についてはCPU101が行うものとする。
次に上記各重力点を用いてパーティクルの移動方向を制御し、その移動に「揺らぎ」を与えるための処理について説明する。
図5は、2つの重力点402a、402bによってパーティクルの移動方向を制御する処理を説明する為の図である。同図において図4と同じ部分については同じ番号を付けており、その説明は省略する。
同図において501はパーティクルで、402a、402bは夫々上記重力点である。先ず、パーティクル501と重力点402aとの距離r1を求める。そして以下の式
F1=k/(r1×r1)
を計算することでF1の値を求める。ここでkについては説明を簡単にするためにk=1とする。そして、パーティクル501の位置から重力点402aの位置に向かうベクトルをg1(重力点402aの位置Yからパーティクル501の位置Xを引いた結果得られるベクトル)を求め、求めたベクトルg1を用いて
f1=F1×g1/|g1|
を計算し、ベクトルf1を得る。ここで|g1|はベクトルg1の大きさを示す。即ち、このベクトルf1は、重力点402aが存在するが故に、パーティクル501が重力点402aに対して引かれる力のベクトルを表す。
同様にして、今度はパーティクル501と重力点402bとの距離r2を求める。そして以下の式
F2=k/(r2×r2)
を計算することでF2の値を求める。そして、パーティクル501の位置から重力点402bの位置に向かうベクトルをg2(重力点402bの位置Zからパーティクル501の位置Xを引いた結果得られるベクトル)を求め、求めたベクトルg2を用いて
f2=F2×g2/|g2|
を計算し、ベクトルf2を得る。ここで|g2|はベクトルg2の大きさを示す。即ち、このベクトルf2は、重力点402bが存在するが故に、パーティクル501が重力点402bに対して引かれる力のベクトルを表す。
このように、重力点の存在に起因してパーティクル501に作用する力(同図ではf1,f2)のベクトルを求める処理は、パーティクル501の位置の近傍にある重力点について全て行うものとするが、経路401上に存在する重力点のうち、それに対して引かれる力を計算するのかは特に限定するものではない。
次に、同図では力のベクトルf1,f2が求まったので、これらのベクトルを合成し、合成結果のベクトルをf3で表す。従って同図では重力点402a、402bの存在によりパーティクル501に作用する力のベクトルをf3として求めることができる。
そしてこの力のベクトルf3によりパーティクル501の移動方向を制御するのであるが、より具体的にはパーティクル501に対する加速度方向を制御する。そこで、上記加速度aの代わりに、(a+f3)を用いれば良い。即ち、V=V+(a+f3)を計算し、次に、更新後のVを用いてX=X+Vを計算すれば良い。
このように、複数の重力点を発生させ、夫々を移動させることで、既に発生しているパーティクルとの距離が動的に変化するので、パーティクルに対して加わる力のベクトルの方向や大きさも動的に変化することになり、これによりパーティクルの挙動に揺らぎを与えることができる。
図6は以上の処理によって各パーティクルに与える挙動を説明する図である。上述の通り、同図に示したパーティクル601乃至604は夫々、重力点402a、402b、402c、402d、402eの何れかからの距離に応じて上記ベクトルf3の方向が変わるので、夫々のパーティクルは夫々異なる方向に移動している。
以上の処理によって各パーティクルは、初めは各々に設定された初期移動方向に移動するものの、徐々に炎の上がる方向、即ち、ろうそくに対して上向きの方向に移動し、更にその移動過程において1つ以上の重力点の存在による影響によってその移動方向に揺らぎを与えることができる。
次に、このような挙動を示すパーティクルを用いて、炎のオブジェクトを生成する処理について説明する。本実施形態では炎のオブジェクトを、複数の帯状のオブジェクトによって表現する。そして夫々の帯状のオブジェクトは1つのパーティクルの移動の軌跡に基づいて生成されるものである。以下の説明では、複数の帯状のオブジェクトのうちの1つの帯状のオブジェクトを例に取り、この帯状のオブジェクトを生成する処理について説明する。
CPU101は、パーティクルの位置を上記処理によって移動させる毎に、移動した位置をRAM102にデータとして記録する。図7はあるパーティクル(注目パーティクル)の移動の軌跡を示す図である。同図において701が注目パーティクルの移動の軌跡を示すものであり、702乃至707の各点は上記注目パーティクルを上記式に従って移動させた各位置を示すものである。
上述の通り、パーティクルを発生させる際には速度ベクトルと共に、生存寿命を示すデータも生成される。この生存寿命とは、パーティクルが3次元仮想空間中に存在する時間を示すものである。CPU101はパーティクルを発生させると、不図示の内部タイマを用いて計時を始める。パーティクルを複数発生させる場合には夫々について発生後経過する時間を計時する。そしてパーティクルの発生後計時示された時間が、このパーティクルに設定された生存寿命に達した場合には、このパーティクルを3次元仮想空間から消去し、このパーティクルに係るデータを用いて以下説明する帯状のオブジェクトを生成する処理を行った後に、このパーティクルに係るデータを破棄する。
従ってパーティクルの移動した軌跡の長さは当然有限となるので、パーティクルが移動した各位置を示すデータも有限の個数となる。図7の例では注目パーティクルは702乃至707で示す6カ所の位置を順次移動しているので、注目パーティクルについては、702乃至707で示す6カ所の位置のデータが順次RAM102に記憶されることになる。
図8は、RAM102に記憶された、注目パーティクルが移動した各位置のデータを管理するテーブルを示す図である。同図では、注目パーティクルはN箇所の位置を移動しており、夫々の位置(3次元仮想空間中の位置であるので、x、y、zの3つの座標値でもって表現している)が順次このテーブルに登録される。
次に、このテーブルを用いて、帯状のオブジェクトを生成する処理について説明する。本実施形態に係る炎のオブジェクト生成処理によって生成される炎のオブジェクトは当然、3次元仮想空間中に設けられた視点の位置から見るものである。よってこの炎のオブジェクトを構成する帯状のオブジェクトも当然この視点から見えるように、帯の面の部分が視点側に向いていなくてはいけない。以下ではそのような帯状のオブジェクトの生成について説明する。
図9は本実施形態に係る帯状のオブジェクトを生成する処理を説明するための図である。本実施形態に係る帯状のオブジェクトは、パーティクルが移動した各位置間にポリゴン(以下、帯ポリゴン)を配置することで、パーティクルの移動経路を帯状のオブジェクトで表現するというものである。
同図では、パーティクルが移動した位置Pn−1と位置Pとの間にポリゴンを配置する処理を説明している。位置Pn−1、位置P夫々の座標位置のデータは上述の通り、RAM102に記憶されているものであるのでこれらのデータを用いて、位置Pn−1から位置Pに向かうベクトルvを求めることができる。
ここで901は視点を表しており、視点901の視線方向ベクトル(同図ではvで表している)は操作者がキーボード104やマウス105,もしくはその他のデバイスを用いて操作しうるものであるので、CPU101が管理している。管理している視点901の視線方向ベクトルのデータはRAM102に記憶されている。
従ってこの視線方向ベクトルvと上記ベクトルvとの外積を計算し、その結果を外積結果のベクトルのサイズで正規化したベクトルvを求める。より具体的には以下の式に従ってベクトルvを求める。
=v×v/|v×v
なお、正規化処理は以下の処理を簡単にする目的で行ったものであり必須なものではない。この式に従って求めたベクトルvは帯ポリゴンの幅方向に向かう大きさ1のベクトルである。求めたこのベクトルvのデータはRAM102に記憶される。
次に、このベクトルvと上記ベクトルvとの外積を計算し、その結果を外積結果のベクトルのサイズで正規化したベクトルvを求める。より具体的には以下の式に従ってベクトルvを求める。
=v×v/|v×v
なお、正規化処理は以下の処理を簡単にする目的で行ったものであり必須なものではない。この式に従って求めたベクトルvは帯ポリゴンの法線方向に向かう大きさ1のベクトルである。求めたこのベクトルvのデータはRAM102に記憶される。
そして一辺が大きさ1の正方形のポリゴンを周知の方法でRAM102内に生成し、このポリゴンを一辺の方向にベクトルvのサイズ分だけスケーリングし、この一辺に垂直な他辺の方向に予め決めておいた帯状のオブジェクトの幅分だけスケーリングした結果、帯ポリゴンが得られる。
そして得られたこの帯ポリゴンを、図9に示すように、ベクトルvの長さを有する一辺がベクトルvと平行となり、且つポリゴンの幅方向の中心位置がベクトルv上にくるように、且つ帯ポリゴンの法線方向がベクトルvが示す方向と同じになるようにする。
このように帯ポリゴンを配置することで、視点901からこのポリゴンの面が見えるようになり、且つ、この帯ポリゴンによって、位置Pn−1から位置Pまでの経路を帯状に示すことができる。
なお、帯ポリゴンを生成して本実施形態のように配置するためには、上記方法に限定されるものではなくて何れの方法を用いても良く、結果として図9に示す如く、視点901から帯ポリゴンの面が見えるようになり、且つ、この帯ポリゴンによって、位置Pn−1から位置Pまでの経路を帯状に示すことができれば良い。
このような処理をパーティクルが移動する各位置間について行うことで、このパーティクルの移動の軌跡を複数のポリゴンにより帯状に表現することができる。
図10は、パーティクルが移動した各位置間に帯ポリゴンを上記処理によって配置し、その結果得られる、このパーティクルの軌跡を帯状に表現したもの、即ち、帯状のオブジェクトを示す図である。
同図において1000はパーティクルの移動の軌跡を示し、1001a、1001b、1001c、1001d、1001e、1001fは夫々、パーティクルの移動した位置(図8に示すテーブルに記録される位置)を示す。各位置は当然軌跡1000上にある。以上説明した帯ポリゴンの配置処理を行うと、位置1001aと位置1001bとの間、位置1001bと位置1001cとの間、位置1001cと位置1001dとの間、位置1001dと位置1001eとの間、位置1001eと位置1001fとの間に夫々帯ポリゴンを配置することができる。しかも夫々の帯ポリゴンは視点の位置からその面が見えるように配置されているので、結果としてこの帯状のオブジェクトは視点の位置から各面が見えるように生成される。
なお、帯ポリゴンの配置処理は、パーティクルが生存寿命によってその移動が終了してから、移動した各位置間について行っても良いし、パーティクルが移動する毎に、現在の位置と移動する直前の位置との間について行うようにしても良い。
また、この帯ポリゴンには例えば炎の色のテクスチャをマッピングしたり、赤や黄色などの色を付けておき、帯ポリゴンの配置後、時間の経過と共にこの帯ポリゴンに対するα値を徐々に下げるようにしても良く、その場合、徐々にその部分の炎が消えていく様を表現することができる。また、この生成した帯状のオブジェクトは所定時間が経過すると、消去する。
以上説明した帯状のオブジェクトを生成する処理を、他のパーティクルの移動の軌跡についても行う。即ち、個々のパーティクルの移動する各位置を記録し(即ち、個々のパーティクルについて、図8に示す「移動した各位置を示すデータのテーブル」をRAM102内に作成する)、記録した位置のデータを用いて個々のパーティクルの移動の軌跡を帯状に表現する帯状のオブジェクトを生成する処理を行う。
このようにすれば、各パーティクルの移動の軌跡を夫々帯状のオブジェクトでもって表現することができる。図11は、各パーティクルの移動の軌跡を夫々帯状のオブジェクトでもって表現した結果、得られるオブジェクトの例を示す図である。201は上述のろうそくの3次元モデルで、1101は各パーティクルの移動の軌跡を夫々帯状のオブジェクトでもって表現することで得られるオブジェクトである。また各パーティクルの生存寿命は発生させる各パーティクルによって異ならせるので、夫々のパーティクルの移動する軌跡の長さ、即ち帯状のオブジェクトの長さも当然、夫々で異なる。
仮にパーティクルだけでオブジェクト1101の存在する領域を埋めようとする場合、多数必要であることが容易に分かる。しかし帯状のオブジェクトを用いると、夫々は視点の位置にその面を向けているので、比較的少ない数で同じ領域を覆うことができる。また、帯状のオブジェクトは1つのパーティクルの移動によって生成されるものであるので、結果として用いるパーティクルの数は従来のものよりも少なくてすむ。従って、各パーティクルの挙動を計算する計算コストや、各パーティクルの位置を管理するためのメモリ使用量をより軽減させることができる。
図12は以上説明した、本実施形態に係る炎のオブジェクトの生成処理のフローチャートである。なお、同図のフローチャートに従ったプログラムは外部記憶装置107からRAM102に、もしくは記憶媒体から記憶媒体ドライブ装置108によってRAM102にロードされるものであり、CPU101がこれを実行することにより、本実施形態に係る画像処理装置は同図のフローチャートに従った処理を実行することになる。尚、同図のフローチャートにおいてあるステップによっては上記説明の通りであるのでそのようなステップについては説明は簡単にする。
先ず、新たにパーティクルを初期発生領域内で発生させるか否かを判断する(ステップS1201)。これは例えば、まだ発生しているパーティクルの数が少ない場合にはより高い確率で発生させ、発生しているパーティクルの数が多い場合にはより低い確率で発生させるようにする。与えられた確率に従ってパーティクルを発生させる処理は周知の技術であるので、ここでの説明は省略する。
新たにパーティクルを発生させる場合には処理をステップS1202に進め、初期発生領域内の乱数的に決めた任意の位置にパーティクルを発生させ(ステップS1202)、更に、このパーティクルに対する速度ベクトル、生存寿命を設定する(ステップS1203)。設定した速度ベクトル、生存寿命のデータは上述の通り、RAM102に記録される。また、発生させたパーティクルの初期位置のデータも、RAM102内に記憶されている。
次に、発生している各パーティクルについてステップS1204からステップS1206までの処理を行う。先ず、パーティクルの位置を上記処理によって移動させ(ステップS1204)、移動した位置のデータをRAM102に記録し(ステップS1205)、前の位置と現在の位置との間に上記処理によって帯ポリゴンを配置する(ステップS1207)。
そしてステップS1204からステップS1206までの処理を発生している全てのパーティクルについて行えば(ステップS1207における判断処理)、処理をステップS1208に進め、発生から経過した時間が設定された生存寿命に達したパーティクルが存在するか否かをチェックする(ステップS1208)。これは夫々のパーティクルについて、パーティクルが発生してから計時した結果が、発生時に設定された生存寿命に達したか否かを判断することで、このパーティクルが寿命に達したか否かをチェックすることができる。
そして寿命に達したパーティクルについては、3次元仮想空間から消去し、更に、このパーティクルに係るデータをRAM102から消去する処理を行う(ステップS1209)。
そして、処理をステップS1201に戻し、以降の処理を繰り返す。
以上の処理によって、炎のオブジェクトを生成するために用いるパーティクルの数を減少させることができるので、パーティクルの挙動を計算する計算コストや、パーティクルの位置を管理するためのメモリ使用量をより軽減させることができる。
また、本実施形態では帯状のオブジェクトを用いているので、本来無数のパーティクルを用いないと埋め尽くせなかった領域を、少ない数の帯状のオブジェクトで埋め尽くすことができる。また、1つ帯状のオブジェクトを生成するためには1つのパーティクルしか用いないので、結果として用いるパーティクルの数を減少させることができ、これにより上述の通り、パーティクルの挙動を計算する計算コストや、パーティクルの位置を管理するためのメモリ使用量をより軽減させることができる。
尚、図12に示したフローチャートは、パーティクルが移動する毎に帯ポリゴンを配置するというものであったが、パーティクルが自身の生存寿命内に移動した経路が決まった時点で、これまでに移動した各位置間に帯ポリゴンを配置するという処理形態の場合には、図12に示したフローチャートを以下のように修正したフローチャートに従った処理を行えばよい。
即ち、ステップS1206における処理を以下のように修正した処理を、ステップS1209にける処理の直前で行うようにすればよい。即ち、寿命に達したパーティクルが存在する場合には、ステップS1205で記録したこのパーティクルのこれまでに移動した位置のデータを用いて、各位置間に帯ポリゴンを配置する処理を行う。そして配置後、上記ステップS1209の処理、即ち、このパーティクル、及びこのパーティクルに係るデータの消去処理を行う。
[第2の実施形態]
本実施形態では、第1の実施形態とは異なる式に基づいて重力点によるパーティクルの移動方向の制御を行う。
本実施形態の場合、重力点j(jは各重力点に付けられるインデックス)に対してパラメータm、パーティクルi(iは各パーティクルに付けられるインデックス)に対してパラメータMを、発生時に速度ベクトル、生存寿命に加えて設定する。各重力点に設定されるパラメータmは夫々異なる値を取りうるものであるとする。また、各パーティクルに設定されるパラメータMについても夫々異なる値を取りうるものであるとする。
その場合、重力点jとパーティクルiとの距離をrとすると、パーティクルiが重力点jに対して引かれる力Fを以下の式に従って計算する。
F=k×M×m/(r×r)
そして第1の実施形態と同様に、パーティクルiの位置の近傍にある重力点j全てについてこの式に従った計算を行い、夫々の重力点に対して引かれる力のベクトルの合成を行い、合成結果の力ベクトルfを求める。
このように、各パーティクル、各重力点で異なる値のパラメータを設定し、これを用いて夫々の重力点に対して引かれる力を計算するので、計算に用いる重力点の個数が同じでも、毎回同じ大きさの力ベクトルが求まらないことも生じうるので、より複雑な挙動をパーティクルに与えることができる。
なお、本実施形態の場合、上記加速度aの代わりに、(a+f/M)を用いる。即ち、V=V+(a+f/M)を計算し、次に、更新後のVを用いてX=X+Vを計算する。
また、本実施形態において全てのi、jについてM=m=1とすれば、本実施形態は第1の実施形態と等価である。
また、第1の実施形態で説明した様々なパラメータによっては、動的に変更しても良い。例えば、加速度ベクトルについても、毎回同じ方向、同じサイズのベクトルとせずに、加速度ベクトルの方向、大きさを動的に変更しても良い。
また、上記実施形態では、炎のオブジェクトを生成するための処理について説明したが、パーティクルの移動速度、予め設けた加速度、重力点の移動速度などを調整すると、各パーティクル間の距離の発散の程度や、移動速度などが異なってくる。しかし基本的に、これらのパーティクルの運動は揺らぎを持って移動するものであるので、例えば帯ポリゴンの色、もしくは帯ポリゴンにマッピングする画像の色を白っぽくし、各パーティクルの移動速度がより遅くなるようにすれば、結果として帯状のオブジェクトの集合を煙として表現することもでき、またその調整によっては噴水に見えることもある。
従って上記実施形態で説明した処理の本質は帯状のオブジェクトを生成することで、この帯状のオブジェクトの集合で「揺らぎ」を有するものを表現することにあるので、上述の通り、パーティクルの挙動に関するパラメータ、帯ポリゴン(テクスチャ画像が貼り付けられた場合も含む)の色の調整によっては、上記実施形態で説明した技術は、炎以外の対象をも表現し得るものである。
また、以上の処理(例えば図12に示したフローチャートの一部、もしくは全部に従った処理)をプログラムとしてCD−R、ROMやDVD−ROM、MO、ゲームカートリッジ等の記憶媒体に記憶させ、この記憶媒体に記憶されているプログラムをコンピュータに読み込ませ(インストール、もしくはコピーさせる)、このコンピュータのCPU又はMPUがこれを実行することでこのコンピュータに以上の処理を実現させることができる。従って、このプログラムを記憶した記憶媒体もまた本発明を実施可能なものにするので、この記憶媒体も本発明の範疇にあることは明白である。
また、サーバ装置に以上の処理(例えば図12に示したフローチャートの一部、もしくは全部に従った処理)のプログラムを保持させておき、周知の技術によりネットワークを介してコンピュータにこれらを供給することができる。そしてこれらプログラムやデータを供給されたコンピュータのCPU又はMPUはこれを用いて以上の処理を実現させることができるので、このサーバ装置もまた上記記憶媒体として解釈することができるので、このサーバ装置も本発明の範疇にあることは明白である。
またこの記憶媒体は外部からコンピュータにプログラムやデータを提供するもの以外であっても良く、コンピュータに内蔵されたメモリチップなどであっても良いし、この記憶媒体成る定義はより広く解釈されるべきである。
本発明の第1の実施形態に係る「炎のオブジェクト」の生成処理を実行する画像処理装置として機能するコンピュータの基本構成を示すブロック図である。 炎のオブジェクトを生成するために用いるパーティクルの初期発生領域を説明するための図である。 図2に示した初期発生領域201内で発生させたパーティクルに挙動を与えるために、パーティクルに対して設定する内容を説明する図である。 発生させた各パーティクルに対して「揺らぎ」の挙動を与えるための仕組みを示す図である。 2つの重力点402a、402bによってパーティクルの移動方向を制御する処理を説明する為の図である。 各パーティクルに与える挙動を説明する図である。 あるパーティクル(注目パーティクル)の移動の軌跡を示す図である。 RAM102に記憶された、注目パーティクルが移動した各位置のデータを管理するテーブルを示す図である。 本発明の第1の実施形態に係る帯状のオブジェクトを生成する処理を説明するための図である。 パーティクルが移動した各位置間に帯ポリゴンを配置し、その結果得られる、このパーティクルの軌跡を帯状に表現したもの、即ち、帯状のオブジェクトを示す図である。 各パーティクルの移動の軌跡を夫々帯状のオブジェクトでもって表現した結果、得られるオブジェクトの例を示す図である。 本発明の第1の実施形態に係る炎のオブジェクトの生成処理のフローチャートである。

Claims (10)

  1. 3次元仮想空間に発生させる複数のパーティクルを用いて炎のオブジェクトを生成する画像処理装置であって、
    前記3次元仮想空間におけるパーティクルの初期発生領域を設定する設定手段と、
    前記初期発生領域内で発生するパーティクルの初期移動方向、及び初期移動速度を初期値データとして記録する初期値データ記録手段と、
    所定の方向への加速度を示すデータ、及び前記初期値データを用いて、前記パーティクルを前記3次元仮想空間内で移動させる移動手段と、
    前記移動手段によって移動する前記パーティクルの各位置を示すデータを順次記録する位置記録手段と、
    前記位置記録手段が記録しているデータが示す各位置間にポリゴンを配置することで、前記パーティクルの移動経路を帯状のオブジェクトとして生成する帯状オブジェクト生成手段とを備え、
    前記初期値データ記録手段、前記移動手段、前記位置記録手段、前記帯状オブジェクト生成手段による処理を、前記3次元仮想空間内に存在する複数のパーティクルの夫々について行うことで生成される複数の帯状のオブジェクトによって炎のオブジェクトを形成することを特徴とする画像処理装置。
  2. 3次元仮想空間に発生させる複数のパーティクルを用いて揺らぎを有するオブジェクトを生成する画像処理装置であって、
    前記3次元仮想空間におけるパーティクルの初期発生領域を設定する設定手段と、
    前記初期発生領域内で発生するパーティクルの初期移動方向、及び初期移動速度を初期値データとして記録する初期値データ記録手段と、
    所定の方向への加速度を示すデータ、及び前記初期値データを用いて、前記パーティクルを前記3次元仮想空間内で移動させる移動手段と、
    前記移動手段によって移動する前記パーティクルの各位置を示すデータを順次記録する位置記録手段と、
    前記位置記録手段が記録しているデータが示す各位置間にポリゴンを配置することで、前記パーティクルの移動経路を帯状のオブジェクトとして生成する帯状オブジェクト生成手段とを備え、
    前記初期値データ記録手段、前記移動手段、前記位置記録手段、前記帯状オブジェクト生成手段による処理を、前記3次元仮想空間内に存在する複数のパーティクルの夫々について行うことで生成される複数の帯状のオブジェクトによって揺らぎを有するオブジェクトを形成することを特徴とする画像処理装置。
  3. 3次元仮想空間に発生させる複数のパーティクルを用いて炎のオブジェクトを生成する画像処理装置が行う画像処理方法であって、
    前記3次元仮想空間におけるパーティクルの初期発生領域を設定する設定工程と、
    前記初期発生領域内で発生するパーティクルの初期移動方向、及び初期移動速度を初期値データとして前記画像処理装置が有するメモリに記録する初期値データ記録工程と、
    所定の方向への加速度を示すデータ、及び前記初期値データを用いて、前記パーティクルを前記3次元仮想空間内で移動させる移動工程と、
    前記移動工程で移動する前記パーティクルの各位置を示すデータを順次前記メモリに記録する位置記録工程と、
    前記位置記録工程で記録したデータが示す各位置間にポリゴンを配置することで、前記パーティクルの移動経路を帯状のオブジェクトとして生成する帯状オブジェクト生成工程とを備え、
    前記初期値データ記録工程、前記移動工程、前記位置記録工程、前記帯状オブジェクト生成工程による処理を、前記3次元仮想空間内に存在する複数のパーティクルの夫々について行うことで生成される複数の帯状のオブジェクトによって炎のオブジェクトを形成することを特徴とする画像処理方法。
  4. 前記移動工程では、
    前記初期値データ、及び前記加速度を示すデータに基づいて決まるパーティクルの移動方向を、前記3次元仮想空間内で所定の経路上を移動する1つ以上の仮想の点と前記パーティクルとの位置関係に基づいて変更し、変更後の移動方向に前記パーティクルを移動させることを特徴とする請求項3に記載の画像処理方法。
  5. 前記初期値データ記録工程では、前記初期発生領域内で発生するパーティクルの生存時間を示すデータを前記初期値データに含めて前記メモリに記録することを特徴とする請求項3又は4に記載の画像処理方法。
  6. 前記帯状オブジェクト生成工程では、前記生存時間内にパーティクルが移動した各位置を示すデータが前記位置記録工程で前記メモリに記録された後に、当該データが示す各位置間にポリゴンを配置することで、前記パーティクルの移動経路を帯状のオブジェクトとして生成することを特徴とする請求項3乃至5の何れか1項に記載の画像処理方法。
  7. 前記帯状オブジェクト生成工程では、パーティクルが第1の位置から第2の位置に移動し、当該第2の位置を示すデータが前記位置記録工程で前記メモリに記録された後に、前記第1の位置と前記第2の位置との間にポリゴンを配置する処理を、前記パーティクルが前記生存時間内で移動する毎に行うことを特徴とする請求項3乃至5の何れか1項に記載の画像処理方法。
  8. 前記帯状オブジェクト生成工程は更に、
    前記3次元仮想空間中に設定された視点の視線方向ベクトルと、パーティクルが移動した位置間の移動方向へのベクトルとの外積を計算する第1の計算工程と、
    前記第1の計算工程で計算した外積結果のベクトルと、前記移動方向へのベクトルとの外積を計算する第2の計算工程とを備え、
    前記第2の計算工程で計算した外積結果のベクトルが示す方向を法線方向とし、且つ前記移動方向に、前記移動方向へのベクトルのサイズを有するポリゴンを、前記位置間に配置することを特徴とする請求項3乃至7の何れか1項に記載の画像処理方法。
  9. 3次元仮想空間に発生させる複数のパーティクルを用いて揺らぎを有するオブジェクトを生成する画像処理装置が行う画像処理方法であって、
    前記3次元仮想空間におけるパーティクルの初期発生領域を設定する設定工程と、
    前記初期発生領域内で発生するパーティクルの初期移動方向、及び初期移動速度を初期値データとして前記画像処理装置が有するメモリに記録する初期値データ記録工程と、
    所定の方向への加速度を示すデータ、及び前記初期値データを用いて、前記パーティクルを前記3次元仮想空間内で移動させる移動工程と、
    前記移動工程で移動する前記パーティクルの各位置を示すデータを順次前記メモリに記録する位置記録工程と、
    前記位置記録工程で記録したデータが示す各位置間にポリゴンを配置することで、前記パーティクルの移動経路を帯状のオブジェクトとして生成する帯状オブジェクト生成工程とを備え、
    前記初期値データ記録工程、前記移動工程、前記位置記録工程、前記帯状オブジェクト生成工程による処理を、前記3次元仮想空間内に存在する複数のパーティクルの夫々について行うことで生成される複数の帯状のオブジェクトによって揺らぎを有するオブジェクトを形成することを特徴とする画像処理方法。
  10. コンピュータに請求項3乃至9の何れか1項に記載の画像処理方法を実行させることを特徴とするプログラム。
JP2003328457A 2003-09-19 2003-09-19 画像処理装置、画像処理方法、プログラム Expired - Fee Related JP3934097B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003328457A JP3934097B2 (ja) 2003-09-19 2003-09-19 画像処理装置、画像処理方法、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003328457A JP3934097B2 (ja) 2003-09-19 2003-09-19 画像処理装置、画像処理方法、プログラム

Publications (2)

Publication Number Publication Date
JP2005092754A true JP2005092754A (ja) 2005-04-07
JP3934097B2 JP3934097B2 (ja) 2007-06-20

Family

ID=34458026

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003328457A Expired - Fee Related JP3934097B2 (ja) 2003-09-19 2003-09-19 画像処理装置、画像処理方法、プログラム

Country Status (1)

Country Link
JP (1) JP3934097B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006118043A1 (ja) * 2005-04-26 2006-11-09 Sega Corporation 映像オブジェクト表現用データ構造、映像オブジェクト表現用データ構造生成プログラム、映像オブジェクト表現用データ構造生成方法、映像ソフト開発装置、画像処理プログラム、映像処理方法、映像処理装置、および、記録媒体
CN102128570A (zh) * 2010-12-29 2011-07-20 电子科技大学 一种基于粒子系统的运载火箭尾焰仿真方法
CN112270732A (zh) * 2020-11-17 2021-01-26 Oppo广东移动通信有限公司 粒子动画的生成方法、处理装置、电子设备和存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006118043A1 (ja) * 2005-04-26 2006-11-09 Sega Corporation 映像オブジェクト表現用データ構造、映像オブジェクト表現用データ構造生成プログラム、映像オブジェクト表現用データ構造生成方法、映像ソフト開発装置、画像処理プログラム、映像処理方法、映像処理装置、および、記録媒体
JP2006309336A (ja) * 2005-04-26 2006-11-09 Sega Corp 映像オブジェクト表現用データ構造、映像オブジェクト表現用データ構造生成プログラム、映像オブジェクト表現用データ構造生成方法、映像ソフト開発装置、画像処理プログラム、映像処理方法、映像処理装置、および、記録媒体
CN102128570A (zh) * 2010-12-29 2011-07-20 电子科技大学 一种基于粒子系统的运载火箭尾焰仿真方法
CN112270732A (zh) * 2020-11-17 2021-01-26 Oppo广东移动通信有限公司 粒子动画的生成方法、处理装置、电子设备和存储介质

Also Published As

Publication number Publication date
JP3934097B2 (ja) 2007-06-20

Similar Documents

Publication Publication Date Title
US10685152B2 (en) Systems and methods for fast simulation and visualization of sparse fluids
US9478109B2 (en) Virtual sensor in a virtual environment
JP3760347B2 (ja) プログラム、記録媒体、ゲームキャラクタ描画方法及びゲーム装置
JP4503073B2 (ja) ゲーム画面を更新するためのオブジェクトをローディングするイメージリソースローディングシステム及びイメージリソースローディング方法
US20100020080A1 (en) Image generation system, image generation method, and information storage medium
JP4015644B2 (ja) 画像処理装置及び画像処理方法
US6778948B1 (en) Method of creating a dynamic image, storage medium and program executing apparatus
US7999812B2 (en) Locality based morphing between less and more deformed models in a computer graphics system
CN104854622A (zh) 形成基于优化的多边形的外壳网格的方法
JP3934097B2 (ja) 画像処理装置、画像処理方法、プログラム
JP4776017B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
US8538736B1 (en) System and method for simulating object weight in animations
US20180361245A1 (en) Storage medium, information processing apparatus and control method
JP2003022452A (ja) 画像処理装置および立体形状表示プログラム
EP1095676A2 (en) Method of creating image frames, storage medium and program executing apparatus
JP2003091740A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4408681B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
Crause et al. A system for real-time deformable terrain
JP2009251887A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2012155570A (ja) プログラム、情報記憶媒体及び画像生成装置
JP3766974B2 (ja) プログラム及び記録媒体
JP3843443B2 (ja) ゲーム装置、ゲーム処理方法および記録媒体
JP2001276414A (ja) ゲーム装置、および、情報記憶媒体
JP6863678B2 (ja) プログラム及びゲーム装置
JP3757396B2 (ja) プログラム、記録媒体、ポリゴン面演算方法及びゲーム装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20050428

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20060427

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20060530

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060825

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061011

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070223

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070314

R150 Certificate of patent or registration of utility model

Ref document number: 3934097

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100330

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100330

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110330

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110330

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120330

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130330

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140330

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S802 Written request for registration of partial abandonment of right

Free format text: JAPANESE INTERMEDIATE CODE: R311802

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees