JPH1026927A - シミュレーション装置および方法 - Google Patents

シミュレーション装置および方法

Info

Publication number
JPH1026927A
JPH1026927A JP18351096A JP18351096A JPH1026927A JP H1026927 A JPH1026927 A JP H1026927A JP 18351096 A JP18351096 A JP 18351096A JP 18351096 A JP18351096 A JP 18351096A JP H1026927 A JPH1026927 A JP H1026927A
Authority
JP
Japan
Prior art keywords
simulation
data
time
image
description
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.)
Withdrawn
Application number
JP18351096A
Other languages
English (en)
Inventor
Hirokazu Akisada
浩和 秋定
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP18351096A priority Critical patent/JPH1026927A/ja
Publication of JPH1026927A publication Critical patent/JPH1026927A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

(57)【要約】 【課題】 装置非動作時におけるシミュレーションの様
子も確認できるシミュレーション装置および方法を提供
する。 【解決手段】 制御装置1は、装置起動直後に、最終の
装置終了時のシミュレーションデータを格納したファイ
ル装置4からそのデータをメモリ装置9にロードし、メ
モリ装置9のデータにもとづいて最終の装置終了時刻か
ら装置再起動時刻までのシミュレーションの様子を時間
を短縮して示す画像を生成して画像表示装置6により表
示する。続いて制御装置1はメモリ装置9のデータにも
とづいて通常のシミュレーションの様子を示す画像を生
成して画像表示装置6により表示する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、科学技術シミュレ
ーションを行うシミュレーション装置,方法に関するも
のである。
【0002】
【従来の技術】従来の科学技術シミュレーションといえ
ば、流体解析,構造解析,電磁場解析等が挙げられる
が、これらはすべて解析の対象となる実験データを分析
し、コンピュータのモニタ上等において可視化すること
が主たる目的である。例えば、この中の構造解析の場合
は、ある構造と材質を持つ物体とそれを取り囲む空間を
コンピュータ内に想定し、空間内のある位置から一種の
エネルギ(熱,光,電圧等)を加えた場合の、物体内の
エネルギの伝搬の様子をコンピュータの画面上に分かり
易く色づけを施して表示する(すなわち視覚化を行う)
のが一般的である。また、最近注目されている一種の科
学技術シミュレーションとして、「人工生命シミュレー
ション」がある。人工生命とは、自然の生命システムの
特徴的な振る舞いを示す人工システムに関する研究分野
であり、生命的な振る舞いをコンピュータを用いて合成
することによって生命体の分析をすることを目的として
いる。人工生命に対する研究はここ数年盛んになってき
ており、そのシミュレーションを実行する様々なコンピ
ュータプログラムも作成されてきた(アダム・ループ
(Langton 89),ツリー型OLシステム(P
rusinkiewicz90)等)。
【0003】通常、以上に述べた一般的な科学技術シミ
ュレーションの所要時間としては、せいぜい長くても1
〜5時間程度というのが普通である。しかし、シミュレ
ーションの内容によってはその所要時間が極めて長時間
になる場合があるため(例えば、ある人工生命モデルの
プログラムはそのシミュレーション時間として何十時間
〜何百日を意図して作成されている場合がある)、図1
4のようにシミュレーション時間を分割する方法がとら
れる場合がある。このような場合には、シミュレーショ
ン装置の終了時刻(図のEで示す時刻)にその時点のシ
ミュレーション状態に関するデータを格納し、装置起動
直後(図のSで示す時刻)に前記データを利用してシミ
ュレーションを再スタートさせるのであるが、この再ス
タートのやり方には大別して「装置非動作時間を考慮し
ない方法」と「装置非動作時間を考慮する方法」の2種
類がある。
【0004】まず前者は、装置起動直後に、最終の装置
終了時(以下“最終装置終了時”という)に格納された
シミュレーションデータにもとづいて、最終装置終了時
の状態から再スタートする方法である(つまり、図14
において、B1,B2,B3が示す時間を無視する方法
である)。この方法では、前記シミュレーションデータ
に含まれている各情報を用いて、最終装置終了時のモデ
ルの状態をそのまま再構築するだけであるので実現は比
較的容易であるといえる。
【0005】また後者は、装置起動直後に、最終装置終
了時に格納されたシミュレーションデータを利用し、装
置非動作時間分だけシミュレーションを進めた状態から
再スタートする方法である(つまり、図14において、
B1,B2,B3が示す時間を考慮に入れる方法であ
る)。この方法を用いれば、あたかも装置非動作時間も
シミュレーションが行われていたかのように見せかける
ことが可能であり、絶えずコンピュータ内で成長する人
工生命のモデルを表現するためには非常に有効である。
事実、これまでにこの方法を用いてある種の人工生命を
シミュレートする製品もいくつか発売された((例)A
QUAZONE((株)9003))。
【0006】
【発明が解決しようとする課題】しかし、前述従来の技
術で説明したシミュレーション装置には次のような問題
があった。
【0007】すなわち、これまでのシミュレーション装
置の多くは、装置起動中に装置非動作時間(最終装置終
了時から装置再起動時刻までの時間)を仮定したシミュ
レーションについては全くできなかった。したがって、
長時間にわたるシミュレーションを行う場合、装置を長
時間動作し続けなければならず、多大な電力を費やす必
要があった。
【0008】また良くても、従来のシミュレーション装
置は、装置起動直後に前記装置非動作時間を考慮に入れ
て内部状態を変化させ、その状態からシミュレーション
(可視化)を再スタートするのがせいぜいであった。
【0009】したがって、前記装置非動作時間を仮定し
た場合のシミュレーションの様子を可視化できるような
シミュレーション装置は今まで存在しなかった。
【0010】本発明は、このような状況のもとでなされ
たもので、装置非動作時におけるシミュレーションの様
子も確認できるシミュレーション装置および方法を提供
することを目的とするものである。
【0011】
【課題を解決するための手段】前記目的を達成するた
め、本発明では、シミュレーション装置を次の(1),
(2)のとおりに、シミュレーション方法を次の(3)
のとおりに構成する。
【0012】(1)最終の装置終了時のシミュレーショ
ンデータを格納する記憶手段と、この記憶手段に格納さ
れたシミュレータデータにもとづいて装置非動作時のシ
ミュレーションの様子を示す画像を生成する装置非動作
時シミュレーション手段と、前記記憶手段に格納された
シミュレーションデータにもとづいて通常のシミュレー
ションの様子を示す画像を生成する通常シミュレーショ
ン手段と、前記装置非動作時シミュレーション手段で生
成した画像と前記通常シミュレーション手段で生成した
画像を表示する表示手段とを備えたシミュレーション装
置。
【0013】(2)装置非動作時シミュレーション手段
は、最終の装置終了時刻から装置再起動時刻までのシミ
ュレーションの様子を時間短縮して示すコンピュータグ
ラフィックスアニメーションを生成するものである前記
(1)記載のシミュレーション装置。
【0014】(3)シミュレーション装置起動直後に、
最終の装置終了時刻から装置再起動時刻までのシミュレ
ーションの様子を時間を短縮して示す画像で表示し、続
いて通常のシミュレーションの様子を示す画像を表示す
るシミュレーション方法。
【0015】
【発明の実施の形態】以下本発明の実施の形態を“シミ
ュレーション装置”の実施例により詳しく説明する。
【0016】
【実施例】科学技術シミュレーションの可視化の方法に
は様々なものがあるが、とりわけ代表的なのが、3次元
コンピュータグラフィックス(3次元CG)である。そ
こで、本実施例では3次元CGを用いた可視化に焦点を
あてるが、本発明はこの表現方法に限定されるものでは
ない。
【0017】まず、3次元CGの一般的手法について概
説する。
【0018】従来の3次元物体を表現した画像を形成す
る3次元CGにおいては、通常画像を得るためには大き
く分けて、 ・モデリング ・レンダリング という2つの作業が必要となる。
【0019】<モデリング>まずモデリングは、画像の
中で表現したい対象物の形,色,表面の性質などのデー
タをコンピュータの中に作成する作業である。例えば、
人間の顔の画像を作るのであれば、その表面の形がどう
なっているのか、顔のどの部分がどのような色をしてい
るのか、光の反射率はどうか、といったデータを作成
し、後のレンダリングで使えるような形式でコンピュー
タ内に格納する。このようなデータの集まりを物体のモ
デルという。例えば、図2のような立方体の形状モデリ
ングを行う場合、まず図のように立方体のある一つの頂
点を原点としたモデリング座標系を考える。そして、こ
の座標系における立方体の8個の頂点の座標データ、お
よび面ループデータを例えば図3のように決定する。こ
のようにして得られた一組の座標データと面ループデー
タが対象物のモデリングデータ(またはモデルデータ)
となる。
【0020】<レンダリング>レンダリングは、モデル
ができあがった後で、その物体をある位置から見たとき
にどのように見えるかを考え、その見え方にしたがった
画像を作成することをいう。したがって、レンダリング
を行うには、モデルの他に、見る位置(視点)や照明に
関する条件を考える必要がある。レンダリング作業を細
分化すると次のようになる。
【0021】・投影変換 ・隠面消去 ・シェーディング ・リアルさを出すための工夫 まず、投影変換はモデルを表している種々の座標値に対
して、視点の位置から見たときに、画面上のどの位置に
見えるのかを計算して、画面上の座標に変換することを
意味する。図4は、投影変換のための4つの座標系を示
した図である。まず、モデリング座標系において定義さ
れた物体の形状データはワールド座標系(物体の形を表
すときにモデル内の座標に用いる座標系)におけるデー
タに変換される。そして、対象となる物体を見ることが
できるように、選定したカメラをいろいろな方向に向け
ることでビューイング変換(視野変換)を行う。この
際、ワールド座標系で表された物体のデータが視点座標
系のデータに変換されることになる。また、この変換の
ためにワールド座標系の中にスクリーン(視野窓)を指
定し、このスクリーンが物体の最終的な投影面となる。
そして、このスクリーンを定義するための座標系がUV
N座標系(スクリーン座標系)と呼ばれる。ただし、視
点前方のすべてのものを描くと、不必要な計算時間をと
る場合があるので作画領域を決めることも必要である
(この作画領域はビューボリューム(視野空間)と呼ば
れ、またこの作業はクリッピングと呼ばれる)。そし
て、このスクリーンをいろいろな方向に動かすことで視
野変換を行う。そして、視野変換が決定したのち、空間
に存在する物体の3次元形状の各点に対し、視点と投影
面の交点を求める操作を行うことで図5のようにスクリ
ーン上に投影図を得る(ただし、この場合は視点と投影
面の距離が有限である透視投影を示している)。したが
って、投影変換が行われると前述の視点座標系で表され
たデータはUVN座標系におけるデータに変換されたこ
とになる。
【0022】次に、隠面消去によって、モデルの中で、
現在の視点の位置から考えて、どの部分が見え、どの部
分が見えないかを判断する。隠面消去の代表的な手法と
してはZバッファ法やスキャンライン法といったアルゴ
リズムが挙げられる。そして、隠面消去が済んで、物体
のどの部分が見えるかが確定したら、次に照明を考えて
各部分がどのような色、どのような明るさに見えるかを
判断し、その色を画面、すなわち、ピクセルに塗るシェ
ーディングの処理を行う。
【0023】そして、通常レンダリングの最後に実行さ
れるのが、リアルさを出すための工夫である。これは、
視野変換,隠面消去,シェーディングを行って画像を作
成しても、得られる絵は実在の物体とはほど遠い面白み
のないものとなってしまうためである。この理由として
は、このような手法が、物体の表面は理想的な平面ある
いは数式で表せる完全に滑らかな曲面であったり、表面
の色が面ごとに一定であるといった仮定にもとづいてい
るためである。こうした状況を避け、得られる画像をよ
り現実に近いものとするために行われる代表的手法の一
つにテクスチャーマッピングがある。テクスチャーマッ
ピングはあらかじめ用意した2次元パターンを3次元空
間内の物体モデルの表面に貼り付ける(数学的にいえば
写像する)手法で、単調な表面で構成された物体を複雑
な表面を持つ物体に擬似的に見せかけることを目的とし
ている。これにより、例えば単純な直方体のモデルを金
属や石材のように見せることが可能となる。ただし、本
実施例では簡単のため、ここに述べたリアルさを出すた
めの工夫は特に用いてはいない。
【0024】以上に述べた投影変換,隠面消去,リアル
さを出すための工夫が終わり、UVN座標系によって示
された図形は最終的なデバイス座標系に変換され表示装
置に表示されると一回のレンダリング処理が完了する
(図6に、図5のスクリーンに投影された物体がデバイ
ス座標系に変換されて表示された画像を示す。ただし、
物体の背景は黒で塗りつぶされている)。ただし、デバ
イス座標系とは、画像の中でピクセルやドットの位置を
表すときに用いる座標系のことをいい、表示画像におけ
る座標系と同一であるとする(図6におけるaとbは表
示画像の横と縦の画素数を示す)。
【0025】<CGアニメーションの作成方法>さて、
以上に述べたような方法により得られる絵に動きをつけ
たコンピュータグラフィックスアニメーション(CGア
ニメーション)を作成する場合、大別して次の2つの方
法がある。
【0026】第1番目の方法としては、3次元空間にお
き、照明条件,視点条件(視点の位置,方向,画角)、
および物体モデルの形状や色等を少しずつ変化させてそ
の都度レンダリングを行うことで一連のアニメーション
用の画像群を得たのち(または一つの画像をレンダリン
グするごとに)、それらをビデオレコーダ等の録画装置
を用いて一コマ一コマ録画(コマ録画)し、すべての録
画が終わった後で再生装置で再生する方法である。この
方法においては、画像のレンダリングの際にかかる時間
は許される範囲で長くしてよいので(1つの画像のレン
ダリングに要する時間と作成するアニメーションの全体
の時間に依存する)、画面上に複雑な形状の物体を多数
配置したり、レイトレーシング(光線追跡法)に代表さ
れるような長い計算時間を必要とするレンダリング手法
を用いて高品質な画像を作成することも可能である。例
えば、現在のテレビコマーシャルやSF映画等で用いら
れているCG映像はほとんどこの方法によって作成され
たものである。
【0027】また、第2番目の方法としては、前述の照
明条件,視点条件、および物体モデルの形状や色を変更
しながらのレンダリング、およびそのレンダリング処理
によって得られた画像の表示という2つの処理を高速に
繰り返すことでCGアニメーションを実行する方法があ
る。これは一般的にリアルタイムCGアニメーションと
呼ばれるもので、ユーザからの指示を直接レンダリング
に反映させることでCGアニメーションの動きをリアル
タイムにコントロールするインタラクティブ(対話的)
処理が可能なことが最大の特徴である。反面、実現に関
しては実行するコンピュータのパフォーマンスにかなり
依存し、画面上に表示できる物体の個数に制限があった
り、レンダリング手法として単純で高速なものに限定さ
れてしまうといった制約があるため、前者と比較して作
成される画像は低品質なものとなる。なお、この手法は
各種科学技術シミュレーションをはじめ、航空機操縦練
習用のフライトシミュレーションやゲームセンタ用のレ
ーシングゲーム等に頻繁に用いられる。
【0028】以下、本実施例におけるCGシミュレーシ
ョン処理を図面に基づき詳細に説明する。なお、本実施
例では一種の人工生命的シミュレーションの例を記述し
ている。
【0029】図1は本実施例の“シミュレーション装
置”の構成を示す図である。図1において、2は物体の
モデリングデータ,シミュレーションデータ,視点条件
等の初期値の入力を行うためのデータ入力装置であり、
例えばキーボードが用いられる。
【0030】3はシミュレーションの開始,終了等を指
示するコマンド入力装置であり、例えばマウスが用いら
れる。
【0031】4は、シミュレーションデータを格納する
ファイル装置であり不揮発性のメモリが用いられる。
【0032】5は、各種変数の更新,現時刻(秒数によ
る)の算出、およびシミュレーションデータを用いた画
像の生成等を行う演算装置である。
【0033】6はレンダリング処理により生成された表
示画像を表示するための画像表示装置であり、例えば、
CRTモニタが用いられる。
【0034】7は、視点位置の移動、および視点の方位
角,仰角の変化を入力するための視点入力装置であり、
例えばスペースボールが用いられる。スペースボールは
一般的には図7のような形をしており、その球状の部分
を微妙に動かすことで任意の方向への移動、および任意
の軸を中心とした回転を検出する装置である。本実施例
では、図7(a)のように、ある方向にボールの中心が
動いた場合には、その移動ベクトルのX,Y,Zの各移
動量成分Dx,Dy,Dzを出力し、また図7(b)の
ようにある軸を中心としてボールが回転した場合には、
その方位角と仰角の各回転量成分Dα,Dβを出力する
ものとする。
【0035】8は、ユーザに対する指示等の各種情報を
表示するためのデータ表示装置である。
【0036】9は、装置の起動中に物体のモデリングデ
ータ,シミュレーションデータ,視点条件等の各種デー
タを格納するメモリ装置である。
【0037】1は制御装置であり、データ入力装置2,
コマンド入力装置3,ファイル装置4,演算装置5,画
像表示装置6,視点入力装置7,データ表示装置8、お
よびメモリ装置9を制御するものである。
【0038】以上のように構成されたシミュレーション
装置において、データの流れにしたがって説明する。
【0039】まずシミュレーション装置において、モデ
ルデータが存在しない場合は、モデルの形状データの入
力待ち状態になる。ここで、ユーザは1つの物体の形状
データをモデリング座標系(モデリング座標系はワール
ド座標系と一致しているものとする)における座標値を
用いて入力することで物体の形状モデリングを行う(終
了後、モデルデータはファイル装置4にセーブされ
る)。次に、ファイル装置4内のシミュレーションデー
タのロードが行われ、メモリ装置9に設定される(もし
存在しない場合は、デフォールトのシミュレーションデ
ータが設定される)。次に、ユーザはデータ入力装置2
を用いて、視点条件(視点座標,視角(画角),仰角,
方位角,スクリーンまでの距離)の初期化を行う。
【0040】そして、これが終わるとシミュレーション
装置は、メモリ装置9内のモデルデータとシミュレーシ
ョンデータを用いて、装置非動作時のシミュレーション
処理を実行する。この処理の実行中、ユーザは視点条件
を視点入力装置7であるトラックボールを用いて変更す
ることが可能である。次に、装置は、通常のシミュレー
ション処理を実行する。同様にこの処理の実行中もま
た、ユーザは視点条件を視点入力装置7であるトラック
ボールを用いて変更することが可能である。そして、ユ
ーザがしかるべき終了の指示を与えると、前記通常シミ
ュレーションは終了する。この後、メモリ装置9内のシ
ミュレーションデータに対し現時刻の設定が行われる。
そして最後に、このシミュレーションデータがファイル
装置4にセーブされると一連のCGシミュレーション処
理は終了する。
【0041】ここで、本実施例におけるCGシミュレー
ション処理全般で用いられるシミュレーションデータに
ついて説明する。
【0042】図8に、本実施例におけるシミュレーショ
ンデータの例を示す。この図に示すように、シミュレー
ションデータは、例えばJISコードのような文字コー
ドで表記された、各項目とそれに対応する数値の文字列
の組の集まりであるとする。まず1行目の装置終了時刻
Teは前回装置を終了したときの時刻(グリニッジ標準
時における西暦1900年1月1日0時0分0秒から算
出した秒数で示す。以下、特に断らない場合、時刻はこ
の秒数で示すものとする。)を、2行目のNmaxが仮
想空間に存在する物体の個数の上限を、また3行目のN
totalがその時点での物体総数を、4行目〜6行
目のX範囲,Y範囲,Z範囲は、それぞれ仮想空間にお
けるX軸方向,Y軸方向,Z軸方向に対する物体が存在
可能な範囲(それぞれ2つの値の内、1つ目が最小値2
つ目が最大値を表す)を示すものとする。そして、第7
行目から始まる11項目(識別番号I,生存フラッグ
A,寿命U,分裂周期S,誕生時刻B,成長時間W,最
終分裂時刻R,位置P,大きさS,色C,進行ベクトル
V)のブロックが、装置終了時刻におけるある1つの物
体の内部データに対応する。この内、識別番号Iは物体
の識別番号を、生存フラッグは物体の生死を判断する数
字を(生と死をそれぞれ1と0で判断する)、寿命Uは
物体の寿命を秒単位で表した数字を、分裂周期Sは物体
の分裂周期(秒)を、誕生時刻Bは物体の誕生時刻
(秒)を、成長時間Wは物体が誕生してからの時間
(秒)を、最終分裂時刻Rは物体の最終分裂時刻(秒)
を、位置Pは仮想空間における物体の座標を、大きさS
は仮想空間における物体の領域を、色は物体の色の赤
(R),緑(G),青(B)の値を(各0.0〜1.0
内を変化)を、また進行ベクトルは仮想空間内における
物体の進行方向と速度を示すベクトルを、それぞれ示す
ものとする。したがって、仮想空間内に物体が複数存在
する場合は、シミュレーションデータ内に上記7項目で
構成されるブロックが複数個連なることになる。
【0043】以上に述べたシミュレーションデータは、
CGシミュレーション処理の際、メモリ装置9内に格納
されることになる。
【0044】次に、本実施例におけるCGシミュレーシ
ョン処理におけるシミュレーションデータの変更方法に
ついて説明する。
【0045】図9は、本実施例におけるシミュレーショ
ンデータの変更処理を示すフローチャートである。
【0046】以下、データの流れにしたがって処理方法
を詳細に説明する。
【0047】ステップT1の説明 まず、制御装置1は、メモリ装置9内のカウンタi、お
よびnを0で初期化する。
【0048】ステップT2の説明 制御装置1は、カウンタiを物体総数Nと比較し、i≦
Nならば次のステップへ進み、そうでない場合はステッ
プT13へ進む。
【0049】ステップT3の説明 制御装置1の命令により、演算装置5はi番目の物体の
仮想空間における位置Pi(xi,yi,zi)を、引
数kおよびこの物体の運動ベクトルVi=(pi,q
i,ri)を用いて次のように変更する。
【0050】xi=xi+k×pi yi=yi+k×qi zi=zi+k×ri ただし、便宜上、前記のPi,Viのようにシミュレー
ションデータの項目名にインデックスが付いたものはi
番目の物体に対応するそれぞれの項目を示すものとする
(つまり、このPiとViはそれぞれi番目の物体の位
置と運動ベクトルを示している)。
【0051】ステップT4の説明 前ステップで更新されたi番目の物体の位置Piの仮想
空間における領域チェックを行う。
【0052】すなわち、制御装置1の命令により、演算
装置5はPiの各要素が、それぞれが範囲の限界に含ま
れているかどうかチェックする。つまり、 Xmin i +≦xi≦Xmax i Ymin i +≦yi≦Ymax i Zmin i +≦zi≦Zmax i であるかどうかを判断し、もしそうでない要素があった
ら、それに対応する運動ベクトルViにおける対応する
要素の符号を逆にする。つまり、xi,yi,ziが前
述の範囲を超えていた場合、それぞれのpi,qi,r
i値を次のように変化させる(これにより、物体の進行
方向を変化させる)。
【0053】pi=−pi qi=−qi ri=−riステップT5の説明 制御装置1の命令により、演算装置5はi番目の物体の
成長時間Wiを次式で計算しメモリ装置9内のシミュレ
ーションデータ内に格納する。
【0054】Wi=Tc−Bi(ただし、Tcは現時刻
を示す)ステップT6の説明 ここでは、分裂時刻のチェックを行う。
【0055】すなわち、制御装置1の命令により、演算
装置5は Tc>Ri(ただし、Tcは現時刻を示す) であるかどうかをチェックし、もしそうならステップT
7へ進み、そうでない場合はステップT11へ進む。
【0056】ステップT7の説明 ここでは、i番目の物体が分裂周期Siに達したかどう
かを判定する。
【0057】すなわち、制御装置1の命令により、演算
装置5はメモリ装置9内のシミュレーションデータを用
いて、 Wi%Si (ただし、a%bはaをbで割ったときの
剰余を示す) を計算し、この値が0ならば次のステップへ進み、そう
でない場合はステップT11へ進む。
【0058】ステップT8の説明 制御装置1の命令により、演算装置5はメモリ装置9内
のシミュレーションデータにおけるRiに現時刻Tcを
代入する。
【0059】ステップT9の説明 制御装置1の命令により、演算装置5はメモリ装置9内
におけるシミュレーションデータ内のi番目の物体のデ
ータブロック、すなわち識別子の値がiとなっている行
から11行分のデータを、N+n番目の物体のデータと
してシミュレーションデータの最後に複写する。
【0060】ステップT9´の説明 制御装置1の命令により、演算装置5はメモリ装置9内
のシミュレーションデータにおけるN+n番目のデータ
の進行ベクトル、各要素を以下のように変更する(この
処理により、新しい物体(N+n番目の物体)の進行方
向を変化させる)。
【0061】pi←qi qi←ri ri←qiステップT10の説明 制御装置1の命令により、演算装置5はカウンタnを1
インクリメントする。
【0062】ステップT11の説明 制御装置1の命令により、演算装置5はカウンタiを1
インクリメントする。
【0063】ステップT12の説明 ここでは、i番目の物体の生存チェックを行う。
【0064】すなわち、制御装置1の命令により演算装
置5は、まずメモリ装置9内のシミュレーションデータ
におけるこの物体の誕生時刻Biから、現時点での成長
時間Wi(秒)を算出する。ただし、この処理が装置非
動作時のシミュレーションから呼ばれる場合と通常のシ
ミュレーションから呼ばれる場合で以下のように算出方
法を切り替える。
【0065】前者の場合:Wi=Te−Bi+k×Y
(ただし、kは前者の中で計算された再生速度係数k
を、Yは装置非動作時間のシミュレーションを開始して
からの経過時間を示すものとする。) 後者の場合:Wi=Tc−Bi(ただし、Tcは現時刻
を示す) そして、このWiがこの物体の寿命Liよりも大きけれ
ば、同じくシミュレーションデータにおける生存フラグ
Aiに0を代入する。
【0066】ステップT13の説明 ここでは、メモリ装置9におけるシミュレーションデー
タ内から寿命を超えた物体のデータブロックの削除を行
う。
【0067】すなわち、制御装置1の命令により演算装
置5は、メモリ装置9内のシミュレーションデータ内の
N+n個の物体のそれぞれのデータブロックにおいて生
存フラッグが0となっている物体のデータブロックを削
除する(削除した部分は順に詰める)。ここで、削除さ
れた物体の総数をhとする。
【0068】ステップT14の説明 制御装置1の命令により演算装置5は、メモリ装置9内
のシミュレーションデータの総数NとしてN+n−hを
代入し、シミュレーションデータの変更処理を終了す
る。
【0069】以上に述べたシミュレーションデータの変
更方法は、本実施例における装置非動作時のシミュレー
ション処理、および通常のシミュレーション処理の中で
用いられる。
【0070】次に、本実施例における装置非動作時間を
仮定した場合のシミュレーション処理について説明す
る。
【0071】図10は装置非動作時間におけるシミュレ
ーション処理を示したフローチャートである。
【0072】以下、データの流れにしたがって処理方法
を詳細に説明する。
【0073】ステップH1の説明 まず最初、制御装置1の命令により、演算装置5はメモ
リ装置9内にロードされたシミュレーションデータにお
ける装置終了時間Teを用いて装置非動作時間Tbを次
のように計算する。
【0074】Tb=Tc−Te ただし、ここでTcは現時刻を示すものとする。
【0075】ステップH2の説明 次に、制御装置1の命令により、演算装置5はTbが0
より大きいか否かを判断し、もし大きければステップH
3へ進み、もしそうでないならこの処理を終了する。
【0076】ステップH3の説明 次に、制御装置1の命令により、データ入力装置2はデ
ータ入力待ち状態となり、ユーザが装置非動作時間のシ
ミュレーションの再生時間fを入力する。
【0077】ステップH4の説明 制御装置1の命令により、演算装置5は現時刻をT0に
代入する。
【0078】ステップH5の説明 制御装置1の命令により、演算装置5は再生速度係数k
を次式で計算する。
【0079】k←Tb/fステップH6の説明 制御装置1の命令により、演算装置5は現時刻をT1に
代入する。
【0080】ステップH7の説明 制御装置1の命令により、演算装置5は再生開始からの
時間(秒) T1−T0 が、fより小さいか否かを判断し、もし小さい場合はス
テップH8へ進み、反対にそうでない場合はこの処理を
終了する。
【0081】ステップH8の説明 次に、視点条件の測定と更新を行う。
【0082】すなわち、制御装置1の命令により、視点
入力装置7であるスペースボールは移動ベクトルにおけ
るX,Y,Z方向のそれぞれの成分Dx,Dy,Dz、
および、回転方向における左右と上下のそれぞれの回転
成分Dα,Dβを測定する。
【0083】そして、これらの値を用いて、視点条件
(視点位置Xe,Ye,Ze、および方位角α,仰角
β)の更新は以下の式により行われ、結果はメモリ装置
9に格納される。
【0084】Xe←Xe+Dx Ye←Ye+Dy Ze←Ze+Dz α ← α+Dα β ← β+DβステップH9の説明 制御装置1の命令により、演算装置5は前述の方法によ
りメモリ装置9内のシミュレーションデータの変更処理
を実行する。ただし、このシミュレーションデータの変
更処理の中では、このシミュレーションデータの他、前
記再生速度係数kが用いられる。
【0085】ステップH10の説明 制御装置1の命令により、演算装置5は画像のレンダリ
ング処理を行う。
【0086】まず、演算装置5は生成画像のすべての画
素を例えば黒のデータで初期化する。
【0087】そして、演算装置5は前述のレンダリング
方法により、メモリ装置9内の視点条件値を用いて、メ
モリ装置9内のシミュレーションデータに記述されてい
るN個の物体のそれぞれに対し、同じくメモリ装置9内
の1つのモデルデータを適用して、生成画像のしかるべ
き位置に描写する(本実施例では簡単のため、まずワー
ルド座標系と物体のモデリング座標系のスケールをそろ
えた上で、シミュレーションデータ内のそれぞれの物体
の位置Pi(i=1、……、N)に、1つのモデルのモ
デリング座標系を移動(その際、2つの座標系の座標軸
が平行かつ同方向を向くようにする)させ描写するとい
うやり方で、N個の物体が描写されるものとする。また
その際、各物体は、シミュレーションデータ内のCi
(i=1、……、N)で着色が行われるものとする(図
11(a)参照)。
【0088】ステップH11の説明 制御装置1の命令により、画像表示装置6はメモリ装置
9内の生成画像を表示した後(図11(b)参照)、ス
テップH6へ進む。
【0089】以上に述べた装置非動作時のシミュレーシ
ョン処理は、後述のCGシミュレーション処理の中で用
いられる。
【0090】次に、本実施例における通常のシミュレー
ション処理について説明する。
【0091】図12は、本実施例における通常のCGシ
ミュレーション処理を示したフローチャートである。
【0092】以下、データの流れにしたがって処理方法
を詳細に説明する。
【0093】ステップR1の説明 制御装置1の命令により、演算装置5は変数kに1を代
入する。
【0094】ステップR2の説明 制御装置1の命令により、コマンド入力装置3であるマ
ウスはユーザから通常のCGシミュレーション処理終了
の指示があるかどうかを判断し、もしある場合はこの処
理を終了する。
【0095】ステップR3の説明 次に、視点条件の測定と更新を行う。
【0096】すなわち、制御装置1の命令により、視点
入力装置7であるスペースボールは移動ベクトルにおけ
るX,Y,Z方向のそれぞれの成分Dx,Dy,Dz、
および、回転方向における左右と上下のそれぞれの回転
成分Dα,Dβを測定する。
【0097】そして、これらの値を用いて、視点条件
(視点位置Xe,Ye,Ze、および方位角α,仰角
β)の更新は以下の式により行われ、結果はメモリ装置
9に格納される。
【0098】Xe←Xe+Dx Ye←Ye+Dy Ze←Ze+Dz α ← α+Dα β ← β+DβステップR4の説明 制御装置1の命令により、演算装置5は前述の方法によ
りメモリ装置9内のシミュレーションデータの変更処理
を実行する。ただし、このシミュレーションデータの変
更処理の中では、このシミュレーションデータの他、前
記変数kが用いられる。
【0099】ステップR5の説明 制御装置1の命令により、演算装置5は画像のレンダリ
ング処理を行う。
【0100】まず、演算装置5は生成画像のすべての画
素を例えば黒のデータで初期化する。
【0101】そして、演算装置5は前述のレンダリング
方法により、メモリ装置9内の視点条件値を用いて、メ
モリ装置9内のシミュレーションデータに記述されてい
るN個の物体のそれぞれに対し、同じくメモリ装置9内
の1つのモデルデータを適用して、生成画像のしかるべ
き位置に描写する(本実施例では簡単のため、まずワー
ルド座標系と物体のモデリング座標系のスケールをそろ
えた上で、シミュレーションデータ内のそれぞれの物体
の位置Pi(i=1、……、N)に、1つのモデルのモ
デリング座標系を移動(その際、2つの座標系の座標軸
が平行かつ同方向を向くようにする)させ描写するとい
うやり方で、N個の物体が描写されるものとする。また
その際、各物体は、シミュレーションデータ内のCi
(i=1、……、N)で着色が行われるものとする(図
11参照)。
【0102】ステップR6の説明 制御装置1の命令により、画像表示装置6はメモリ装置
9内の生成画像を表示した後(図11(b)参照)、ス
テップR2へ進む。
【0103】以上に述べた通常のシミュレーション処理
は、後述のCGシミュレーション処理の中で用いられ
る。
【0104】次に、本実施例におけるCGシミュレーシ
ョン処理について説明する。
【0105】図13は、本実施例におけるCGシミュレ
ーション処理を示すフローチャートである。
【0106】ただし、このCGシミュレーション処理を
最初に実行する前にはあらかじめ、データ入力装置2に
よりシミュレーションデータの初期値の入力が行われフ
ァイル装置4に格納されているものとする。
【0107】以下、データの流れにしたがって処理方法
を詳細に説明する。
【0108】ステップS1の説明 まず、制御装置1は、ファイル装置4内に物体を表現す
るためのモデルデータが存在するかどうかを確認し、も
し存在する場合はステップS4に進み、存在しない場合
はステップS2へ進む。
【0109】ステップS2の説明 ここで、ユーザは物体のモデリング処理を実行する。
【0110】まず、制御装置1はデータ表示装置8に、 “物体の座標データを入力して下さい→” との表示を行い、データ入力装置2であるキーボードを
コマンド入力待ち状態とする。ここでユーザは、キーボ
ードによりこの表示に続けて、例えば、 “8 -0.5 0.5 0.5 0.5 0.5 -0.5 0.5 0.5 0.5 -0.5 0.5 0.5 -0.5 -0.50.5 0.5 -0.5 -0.5 0.5 -0.5 0.5 -0.5 -0.50.5” とタイプし、最後にリターン(改行)キーを押すと、次
に制御装置1はデータ表示装置8に、 “物体の面ループデータを入力して下さい→” との表示を行わせ、データ入力装置2であるキーボード
をデータ入力待ち状態とする。ここでユーザは、キーボ
ードによりこの表示に続けて、例えば、 “6 41234 45876 41562 44378 41485 42673 ” とタイプし最後にリターン(改行)キーを押すと、制御
装置1は、入力された座標データおよび面ループデータ
の組を物体のモデルデータとしてメモリ装置9に格納す
る。
【0111】ステップS3の説明 制御装置1は、メモリ装置9内のモデルデータをファイ
ル装置4へ格納する。
【0112】ステップS4の説明 制御装置1は、ファイル装置4内のモデルデータをメモ
リ装置9へロードする。
【0113】ステップS5の説明 制御装置1は、ファイル装置4内にシミュレーションデ
ータが存在するかどうかを確認し、もし存在する場合は
ステップS7へ進み、存在しない場合はステップS6へ
進む。
【0114】ステップS6の説明 制御装置1は、メモリ装置7におけるシミュレーション
データとして例えば以下のデフォールト値(暗黙値)の
組(物体総数が1個のシミュレーションデータの一例)
を設定する。
【0115】 装置終了時刻Te 0 物体総数上限N max 1000 物体総数N total 1 X範囲(X min,X max) −10.0 10.0 Y範囲(Y min,Y max) −10.0 10.0 Z範囲(Z min,Z max) −10.0 10.0 識別番号I 1 生存フラッグA 1 寿命U 5000 分裂周期S 1000 誕生時刻B 12345678 成長時間W 0 最終分裂時刻R 0 位置P(x,y,z) 0.0 0.0 0.0 大きさS 1.0 1.0 1.0 色C 1.0 1.0 1.0 進行ベクトル(p,q,r) 0.6 0.2 0.1ステップS7の説明 制御装置1は、ファイル装置4内のシミュレーションデ
ータをメモリ装置9へロードする。
【0116】ステップS8の説明 次に、ユーザは視点条件データの初期値の入力を行う。
【0117】すなわち、制御装置1は、データ表示装置
2に、 “視点条件を入力して下さい→” との表示を行い、コマンド入力装置3であるキーボード
をコマンド入力待ち状態とする。ここでユーザはキーボ
ードにより、この表示に続けて、例えば、 “0.0 0.0 -10.0 2.0 0.0 5.0 300.0 ” とタイプし最後にリターン(改行)キーを押すとこれら
の数値データが視点条件データの初期値としてメモリ装
置9に格納される。ただし、これらの数値データの内、
第1番目から第3番目の数値が視点条件Pe(Xe,Y
e,Ze)の各座標を、また第4番目から第7番目の数
値がそれぞれ、視点θ,方位角α,仰角β,視距離fを
示すものとする。
【0118】ステップS9の説明 制御装置1は、メモリ装置7内のシミュレーションデー
タに基づき、装置非動作時間におけるシミュレーション
を、前述の方法(図10参照)により時間を短縮して実
行する。
【0119】ステップS10の説明 制御装置1は、メモリ装置7内のシミュレーションデー
タに基づき、通常のシミュレーションを、前述の方法
(図12参照)で実行する。
【0120】ステップS11の説明 制御装置1の命令により、演算装置5は現時刻Tを算出
し、この値をメモリ装置9内のシミュレーションデータ
の項目“装置終了時刻Te”に設定する。
【0121】ステップS12の説明 制御装置1は、メモリ装置7内のシミュレーションデー
タをファイル装置4に格納してCGシミュレーション処
理を終了する。
【0122】以上に説明したように、本実施例によれ
ば、シミュレーション装置の起動直後に、最終装置終了
時にファイル装置に格納したシミュレーションデータに
基づき、装置非動作時間(最終装置終了時刻から装置再
起動時刻までの時間)のシミュレーションの様子を時間
短縮したコンピュータグラフィックスアニメーションと
して表示することを特徴とする。
【0123】これにより、装置非動作時間のシミュレー
ションの状態を確認することが可能になるため、シミュ
レーションの対象となる事柄のより詳細な把握,理解が
可能となる。
【0124】また、装置を長時間動作し続ける必要がな
いため、節電にもつながるという利点もある。
【0125】なお、本発明は、複数の機器から構成され
るシステムに適用しても、1つの機器からなるシステム
に適用してもよい。
【0126】また、本発明は、システムあるいは装置に
プログラムを供給することで実現される場合にも適用で
きることはいうまでもない。
【0127】(実施例の変形)前記実施例では、装置非
動作時間を仮定した場合のシミュレーションの様子を示
す手段としてリアルタイムCGアニメーション(前記実
施例中の<CGアニメーションの作成方法>における第
2番目の方法)を用いたが、その他の方法として以下の
ものが考えられる。
【0128】すなわち、装置の起動直後に、最終装置終
了時に格納したシミュレーションデータに基づき、装置
非動作時間を仮定した場合のシミュレーションの様子を
示す画像群(ムービーデータ)をあらかじめ生成した後
で、これらの画像群を最初から順番に表示することで
(ムービーの再生)、この時間におけるシミュレーショ
ン(モデルの可視化)を行ってもよい(前記実施例中の
<CGアニメーションの作成方法>における第1番目の
方法)。
【0129】
【発明の効果】以上に説明したように、本発明によれ
ば、シミュレーション装置の起動直後に、最終装置終了
時に記憶手段(ファイル装置)に格納されたシミュレー
ションデータに基づき、装置非動作時間(最終装置終了
時刻から装置再起動時刻までの時間)を仮定した場合の
シミュレーションの様子を時間短縮したコンピュータグ
ラフィックスアニメーション等により表示することがで
きる。
【0130】これにより、装置非動作時間を仮定した場
合のシミュレーションの様子を確認することが可能にな
るため、シミュレーションの対象となる事柄のより詳細
な把握,理解が可能となる。
【0131】また、装置を長時間動作し続ける必要がな
いため、節電にもつながるという利点もある。
【図面の簡単な説明】
【図1】 実施例の構成を示す図
【図2】 モデリング座標系を示す図
【図3】 モデルデータの例を示す図
【図4】 投影変換のための座標系を示す図
【図5】 投影変換の説明図
【図6】 表示画面の例を示す図
【図7】 スペースボールの説明図
【図8】 シミュレーションデータの例を示す図
【図9】 シミュレーションデータ変更処理を示すフロ
ーチャート
【図10】 装置非起動時間のシミュレーション処理を
示すフローチャート
【図11】 レンダリングの説明図
【図12】 通常のCGシミュレーション処理を示すフ
ローチャート
【図13】 実施例の動作を示すフローチャート
【図14】 シミュレーション時間の説明図
【符号の説明】
1 制御装置 4 ファイル装置 6 画像表示装置

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 最終の装置終了時のシミュレーションデ
    ータを格納する記憶手段と、この記憶手段に格納された
    シミュレータデータにもとづいて装置非動作時のシミュ
    レーションの様子を示す画像を生成する装置非動作時シ
    ミュレーション手段と、前記記憶手段に格納されたシミ
    ュレーションデータにもとづいて通常のシミュレーショ
    ンの様子を示す画像を生成する通常シミュレーション手
    段と、前記装置非動作時シミュレーション手段で生成し
    た画像と前記通常シミュレーション手段で生成した画像
    を表示する表示手段とを備えたことを特徴とするシミュ
    レーション装置。
  2. 【請求項2】 装置非動作時シミュレーション手段は、
    最終の装置終了時刻から装置再起動時刻までのシミュレ
    ーションの様子を時間短縮して示すコンピュータグラフ
    ィックスアニメーションを生成するものであることを特
    徴とする請求項1記載のシミュレーション装置。
  3. 【請求項3】 シミュレーション装置起動直後に、最終
    の装置終了時刻から装置再起動時刻までのシミュレーシ
    ョンの様子を時間を短縮して示す画像で表示し、続いて
    通常のシミュレーションの様子を示す画像を表示するこ
    とを特徴とするシミュレーション方法。
JP18351096A 1996-07-12 1996-07-12 シミュレーション装置および方法 Withdrawn JPH1026927A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18351096A JPH1026927A (ja) 1996-07-12 1996-07-12 シミュレーション装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18351096A JPH1026927A (ja) 1996-07-12 1996-07-12 シミュレーション装置および方法

Publications (1)

Publication Number Publication Date
JPH1026927A true JPH1026927A (ja) 1998-01-27

Family

ID=16137109

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18351096A Withdrawn JPH1026927A (ja) 1996-07-12 1996-07-12 シミュレーション装置および方法

Country Status (1)

Country Link
JP (1) JPH1026927A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003150217A (ja) * 2001-11-09 2003-05-23 Fanuc Ltd 作業機械のシミュレーション装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003150217A (ja) * 2001-11-09 2003-05-23 Fanuc Ltd 作業機械のシミュレーション装置

Similar Documents

Publication Publication Date Title
Csuri et al. Towards an interactive high visual complexity animation system
US5261041A (en) Computer controlled animation system based on definitional animated objects and methods of manipulating same
JPH07325934A (ja) 仮想世界に向上したグラフィックスを提供する方法および装置
CN111124119B (zh) 基于虚拟现实技术的建筑模型呈现与交互方法
JP2001273517A (ja) ゲームシステム及びゲーム用プログラムを記録したコンピュータ読み取り可能な記録媒体
Hackathorn Anima II: a 3-D color animation system
CN114119818A (zh) 场景模型的渲染方法、装置及设备
CN110415326A (zh) 一种粒子效果的实现方法及装置
JP3748451B1 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP3350655B2 (ja) ゲームシステム及び情報記憶媒体
JPH1026927A (ja) シミュレーション装置および方法
US7710419B2 (en) Program, information storage medium, and image generation system
JP3501479B2 (ja) 画像処理装置
JP2005141647A (ja) プログラム、情報記憶媒体、及び画像生成システム
US7724255B2 (en) Program, information storage medium, and image generation system
JP4592087B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
Kumar et al. Graphics in the Game Industry
JP3509156B2 (ja) ゲーム機における照射面の表示方法
JP2000036058A (ja) 画像生成装置及び情報記憶媒体
JP3453410B2 (ja) 画像処理装置及びその方法
Li Application of Computer 3D Technology in Graphic Design of Animation Scene
Csuri 3-D computer animation
JP2007272389A (ja) プログラム、情報記録媒体および画像生成システム
Yli-Pentti On production of 3D character models for games
Pelechano et al. A Framework for Rendering, Simulation and Animation of Crowds.

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20031007