(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-12
(45)【発行日】2024-03-21
(54)【発明の名称】情報処理装置、その制御方法及びプログラム
(51)【国際特許分類】
G06T 13/80 20110101AFI20240313BHJP
【FI】
G06T13/80 B
(21)【出願番号】P 2020040180
(22)【出願日】2020-03-09
【審査請求日】2022-08-12
(73)【特許権者】
【識別番号】390002761
【氏名又は名称】キヤノンマーケティングジャパン株式会社
(73)【特許権者】
【識別番号】501065122
【氏名又は名称】エーアンドエー株式会社
(74)【代理人】
【識別番号】100189751
【氏名又は名称】木村 友輔
(72)【発明者】
【氏名】木原 和信
【審査官】岡本 俊威
(56)【参考文献】
【文献】特開2017-120644(JP,A)
【文献】国際公開第2017/126481(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 13/00-13/80
(57)【特許請求の範囲】
【請求項1】
移動オブジェクトが移動するシミュレーションの実行中の所定のタイミング以降に、タイマーの時間が経過したことに応じて、第2のイベントの発生を指示するように制御する制御手段と、
前記第2のイベントの発生の指示に応じて、前記シミュレーションにおいてオブジェクトの表示状態を変更するように制御する表示制御手段と、
を有
し、
前記表示制御手段は、前記タイマーの時間が経過するまでの残り時間を示す複数のタイマーオブジェクトを表示するように制御し、
前記制御手段は、前記複数のタイマーオブジェクトにそれぞれ対応するタイマーの時間が経過したことに応じて、前記複数のタイマーオブジェクトのそれぞれに対応するイベントを発生させるように制御することを特徴とする情報処理装置。
【請求項2】
前記制御手段は、前記所定のタイミングから前記タイマーの時間が経過したことに応じて、前記第2のイベントの発生を指示するように制御することを特徴とする請求項
1に記載の情報処理装置。
【請求項3】
前記制御手段は、前記所定のタイミング以降に、予め指定されたイベントが発生してから前記タイマーの時間が経過したことに応じて、前記第2のイベントの発生を指示するように制御することを特徴とする請求項
1に記載の情報処理装置。
【請求項4】
前記制御手段は、前記所定のタイミング以降に発生した最新のイベントの発生から前記タイマーの時間が経過したことに応じて、前記第2のイベントの発生を指示するように制御することを特徴とする請求項
1に記載の情報処理装置。
【請求項5】
前記制御手段は、前記第2のイベントの発生を指示してから再び前記タイマーの時間が経過したことに応じて、前記第2のイベントの発生を指示するように制御することを特徴とする請求項
1乃至4のいずれか1項に記載の情報処理装置。
【請求項6】
前記タイマーの時間の設定操作をユーザーから受け付けることを特徴とする請求項1乃
至5のいずれか1項に記載の情報処理装置。
【請求項7】
前記表示制御手段は、前記タイマーオブジェクトがどのイベントの発生を指示するためのものであるかを示す表示をするように制御することを特徴とする請求項
1に記載の情報処理装置。
【請求項8】
前記所定のタイミングは、前記シミュレーションの開始から第1の時間が経過したタイミングであることを特徴とする請求項
1乃至7のいずれか1項に記載の情報処理装置。
【請求項9】
前記所定のタイミングは、前記シミュレーションの実行中に、予め指定された第3のイベントが発生したタイミングであることを特徴とする請求項
1乃至7のいずれか1項に記載の情報処理装置。
【請求項10】
前記所定のタイミングは、前記シミュレーションの実行中に、予め指定された第3のイベントが発生してから第1の時間が経過したタイミングであることを特徴とする請求項
1乃至7のいずれか1項に記載の情報処理装置。
【請求項11】
前記所定のタイミングは、前記シミュレーションの実行中に、最新のイベントが発生してから第1の時間が経過したタイミングであることを特徴とする請求項
1乃至7のいずれか1項に記載の情報処理装置。
【請求項12】
前記シミュレーションの開始前に前記第2のイベントの指定操作をユーザーから受け付けることを特徴とする請求項
1乃至11のいずれか1項に記載の情報処理装置。
【請求項13】
前記シミュレーションの開始前に前記所定のタイミングの条件の設定操作をユーザーから受け付けることを特徴とする請求項
1乃至12のいずれか1項に記載の情報処理装置。
【請求項14】
前記表示状態の変更は、前記移動オブジェクトの移動を阻む障害物となるオブジェクトを出現させる表示制御であることを特徴とする請求項
1乃至13のいずれか1項に記載の情報処理装置。
【請求項15】
移動オブジェクトが移動するシミュレーションの実行中の所定のタイミング以降に、タイマーの時間が経過したことに応じて、第2のイベントの発生を指示するように制御する制御ステップと、
前記第2のイベントの発生の指示に応じて、前記シミュレーションにおいてオブジェクトの表示状態を変更するように制御する表示制御ステップと、
を有
し、
前記表示制御ステップは、前記タイマーの時間が経過するまでの残り時間を示す複数のタイマーオブジェクトを表示するように制御し、
前記制御ステップは、前記複数のタイマーオブジェクトにそれぞれ対応するタイマーの時間が経過したことに応じて、前記複数のタイマーオブジェクトのそれぞれに対応するイベントを発生させるように制御することを特徴とする情報処理装置の制御方法。
【請求項16】
少なくとも1つのコンピュータを、請求項1乃至
14のいずれか1項に記載された情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、その制御方法及びプログラムに関する。
【背景技術】
【0002】
避難者(歩行者)のアイコンを地図上の建物内等に配置して、災害が発生したことを想定し、避難場所に向けてアイコンを移動させる避難シミュレーションをする仕組みが存在する。
【0003】
例えば特許文献1では、津波の被害予測のデータと、歩行者ごとの歩行速度に従って、歩行者のオブジェクトを避難目的地に避難させるシミュレーションの技術が記載されている。
【0004】
また、特許文献2では、時間ごとの浸水域を特定し、歩行者の避難を妨げるように、浸水域を表す障害物を配置していく技術が記載されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2007-206803号公報
【文献】特開2017-120644号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
避難に限らず、シミュレーションに際しては、所定のイベントを一定の時間間隔やアクションに応じて実行、繰り返し処理したい場合がある。例えば避難シミュレーションにおけるゲート(障害物の一例である)の開閉や、街の設計に際しての歩行状況をシミュレーションする際の信号機の色変更。駅の設計、発着ダイヤの策定に際しての乗車・降車シミュレーションにおける、電車の発着等がある。
【0007】
シミュレーションの結果あるいは過程を確認するにあたり、当該イベントがいつ実行されるのか把握できることは、ユーザにとって、どのイベントが要因で想定通りの結果が得られたか/得られなかったか、を確認するための重要な要素となる。
【0008】
本発明は、より好適なシミュレーションを実行可能な仕組みを提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明の情報処理装置は、
移動オブジェクトが移動するシミュレーションの実行中の所定のタイミング以降に、第1のイベントが発生したことに応じて、第2のイベントの発生を指示するように制御する制御手段と、
前記第2のイベントの発生の指示に応じて、前記シミュレーションにおいてオブジェクトの表示状態を変更するように制御する表示制御手段と、
を有することを特徴とする。
【発明の効果】
【0010】
本発明によれば、より好適なシミュレーションを実行可能な仕組みを提供することができる。
【図面の簡単な説明】
【0011】
【
図1】本発明の実施形態における、情報処理システムの構成の一例を示す図である。
【
図2】本発明の実施形態における、各種装置のハードウェア構成の一例を示す図である。
【
図3】本発明の実施形態における、各種装置の機能構成の一例を示す図である。
【
図4】本発明の実施形態における、タイマーの設定処理の流れを示すフローチャートである。
【
図5】本発明の実施形態における、タイマーにかかる処理の流れを示すフローチャートである。
【
図6】本発明の実施形態における、タイマーオブジェクトの表示更新処理の流れを示すフローチャートである。
【
図7】本発明の実施形態における、各種データ構成の一例を示す図である。
【
図8】本発明の実施形態における、表示画面の構成の一例を示す図である。
【
図9】本発明の実施形態における、表示画面の構成の一例を示す図である。
【
図10】本発明の実施形態における、タイマーオブジェクトの表示更新の様子の一例を示す図である。
【
図11】本発明の実施形態における、表示画面の構成の一例を示す図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して、本発明の実施の形態の一例について説明する。
【0013】
まず
図1を参照して、本発明の実施形態における、情報処理システムの構成の一例について説明する。
【0014】
PC100とサーバ200は、LAN101(ネットワークの一例)を介して通信可能に接続されている。
【0015】
図1は、本発明の情報処理システムの概要を示す図である。PC100は、情報処理装置の1つであり、CAD110(Computer-Aided Design)と、CAD110のプラグインとして機能するシミュレーションソフト120と、を記憶している。
【0016】
本発明の実施形態において、CAD110は、3次元CADアプリケーションソフトウェアである。また、シミュレーションソフト120は、CADアプリケーションソフトウェアのプラグインとして機能するソフトウェアである。
【0017】
シミュレーションソフト120は、シミュレーションエンジンを含み、そのシミュレーションエンジンを用いて、CAD110により作成された地図上に配置された歩行者のアイコン(移動オブジェクト)を、移動場所(目的地)に移動させるシミュレーション処理を行う。
【0018】
より具体的には、シミュレーションソフト120は、シミュレーション上での時刻を、一定の間隔毎に進ませ、時間の経過に伴い、当該歩行者を移動場所に向けて移動させるシミュレーション処理を行う。
【0019】
シミュレーションソフト120は、例えば様々な災害の発生を想定した移動シミュレーションができる。例えば、シミュレーションソフト120は、津波、洪水、川の氾濫等の水災害、火災、土砂災害等の発生を想定した移動シミュレーションも行うことができる。また、電車の乗り降りの時間・スペースが十分か検証するために、電車の車両内の座席を目的地にして歩行者を駅ホームから車両内に移動(乗車)させ、逆に駅ホームに移動(降車)させるシミュレーションを行うことができる。
【0020】
サーバ200は、CAD110が読み込み、PC100で表示するファイル(CADファイル)を記憶している情報処理装置である。PC100は当該CADファイルをサーバ200から取得し、PC100のメモリ上に展開、記憶して、表示画面に表示する。以上が
図1のシステム構成の説明である。
【0021】
次に、
図2を参照して本発明の実施形態における、情報処理装置(PC100およびサーバ200)のハードウェア構成等の一例について説明する。
【0022】
情報処理装置は、CPU201、ROM202、RAM203、入力コントローラ205、ビデオコントローラ206、メモリコントローラ207、通信I/Fコントローラ208を含む。CPU201、ROM202、RAM203、入力コントローラ205、ビデオコントローラ206、メモリコントローラ207、通信I/Fコントローラ208は、システムバス204を介して、相互に接続されている。
【0023】
CPU201は、システムバス204を介して接続される各デバイスやコントローラを統括的に制御する中央演算装置である。ROM202は、CPU201の制御プログラムであるBIOS(Basic Input / Output System)等の各種プログラム、各種データ等を記憶する記憶装置である。
【0024】
RAM203は、CPU201の主メモリ、ワークエリア等として機能する記憶装置である。CPU201は、処理の実行に際して必要なプログラム等をROM202又は外部メモリ211からRAM203にロードして、ロードしたプログラムを実行することで各種動作を実現する。
【0025】
入力コントローラ205は、入力装置209からの入力を制御するコントローラである。入力装置209は、キーボード(KB)やマウス等のポインティングデバイス等の入力装置である。ビデオコントローラ206は、ディスプレイ装置210への表示を制御するコントローラである。ディスプレイ装置210は、液晶ディスプレイ等の表示器である。
【0026】
メモリコントローラ207は、外部メモリ211へのアクセスを制御するコントローラである。外部メモリ211は、オペレーティングシステムプログラム(以下、OS)、各種設定情報等を記憶するハードディスク(HD)や、フレキシブルディスク(FD)等の記憶装置である。また、外部メモリ211は、ブートプログラム、各種のアプリケーションのプログラム、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶する。また、メモリコントローラ207は、PCMCIAカードスロットにアダプタを介して接続されるフラッシュメモリ型メモリカード等の外部メモリ211へのアクセスを制御することもできる。
【0027】
通信I/Fコントローラ208は、LANやインターネット等のネットワークを介した外部装置との接続・通信に利用されるコントローラであり、ネットワークを介した通信処理を実行する。通信I/Fコントローラ208は、例えば、TCP/IPを用いた外部装置との通信等が可能である。
【0028】
CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ装置210上での表示を可能としている。また、CPU201は、ディスプレイ装置210上のマウスカーソル等を介したユーザの指示を受け付けることができる。
【0029】
本実施形態の処理を実現するための各種プログラムは、外部メモリ211に記憶されていることとするが、ROM202に記憶されているものとしてもよい。また、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ211に記憶されているとするが、ROM202に記憶されているものとしてもよい。
【0030】
なお、ディスプレイ装置210は、シミュレーションソフト120による指示に応じてCAD110が生成したオブジェクト(例えば、建物と道の間を塞ぐ扉等)を表示出力する出力部の一例である。以上が
図2の説明である。
【0031】
CPU201が、ROM202又は外部メモリ211に記憶されたプログラムに基づき処理を実行することによって、
図3で後述するPC100の機能及び後述する各図のフローチャートの処理が実現される。
【0032】
図3は、PC100およびサーバ200の機能構成の一例を示す図である。PC100は、CAD110(CAD部)、シミュレーションソフト120を備える。
【0033】
CAD110は、図形記憶部311、図形表示部312を備える。図形記憶部311は、サーバ200の図形記憶部321に記憶されている図形(オブジェクト)を読み出し、記憶する記憶部である。
【0034】
図形表示部312は、図形記憶部311に記憶された図形を表示する機能部である。例えば、歩行者オブジェクトや、建造物、道、歩行者の移動を阻む障害物、オブジェクトの表示/非表示/移動の開始等のイベントにかかるタイマーを表現したタイマーオブジェクト等を表示する。
【0035】
シミュレーションソフト120は、タイマー情報記憶部313、タイマー更新対象イベント特定部314、イベント名表示制御部315、条件判定部316、タイマー更新制御部317等を備える。
【0036】
タイマー情報記憶部313は、タイマー開始の条件や、タイマーが0になった時点で発生させるイベント、タイマーの繰り返し回数等を含むタイマー情報を記憶する記憶部である。タイマー情報の一例は
図7の説明で後述する。
【0037】
イベント名表示制御部315は、タイマー情報に対応するタイマーオブジェクト(例:
図8の811)に対応付けて表示するイベント名を特定し、当該イベント名をタイマーオブジェクトの近傍に表示する制御部である。
【0038】
条件判定部316は、タイマーの開始条件、終了条件等が満たされたか判定する判定部である。
【0039】
タイマー更新制御部317は、時間の経過に応じて、タイマーオブジェクトの表示を更新する制御部である。以上が
図3の説明である。
【0040】
次に、
図4のフローチャートを用いて、本発明の実施形態におけるタイマーの設定処理の流れの説明を行う。
【0041】
以下、説明するフローチャートの各ステップに示す処理は、PC100のCPU201、またはサーバ200のCPU201が、CAD110又はシミュレーションソフト120の機能を用いて実行するものとする。
【0042】
なお、
図4の処理開始時点においては、既に、CAD110によってCADファイルがメモリ上に読み出し、記憶、展開、表示されているものとする。表示例を
図8のCAD画面800に示す。
【0043】
ステップS401で、シミュレーションソフト120は、CAD画面800(
図8)の「シミュレーション」ボタンの押下操作に応じて起動する。
【0044】
ステップS402で、シミュレーションソフト120は、タイマーオブジェクト811(
図8)を配置する操作を受け付ける。例えば、シミュレーションソフト120がCAD画面上に配置・表示している不図示の「タイマーオブジェクト配置ボタン」が押下イベントを検知する。
【0045】
ステップS403で、シミュレーションソフト120は、CAD画面に表示しているCADファイル上に、タイマーオブジェクトを配置、表示するよう指示する。
【0046】
ステップS421で、CAD110は、当該指示を受け付け、タイマーオブジェクトを画面上の所定の位置に配置して表示する。
【0047】
具体的には、シミュレーションソフト120が、タイマーオブジェクトを構成する線分の位置、サイズ、角度等を指定して、CAD110に図形(オブジェクト)を作成するよう指示し、CAD110が当該指示に従ってオブジェクトを生成して、表示する。また、タイマーの時間(後述する「待機時間706」)を取得して、テキストボックスに入力し、当該テキストボックスをタイマーオブジェクトの一部として配置・表示するよう指示する。CAD110は当該指示に従ってテキストボックスを配置して、表示する。
【0048】
タイマーオブジェクトは、CAD画面上に複数配置可能である。タイマーオブジェクトが複数配置されている例を
図9の800に示す。
【0049】
シミュレーションソフト120は、配置されたタイマーオブジェクトに対応する空のタイマー情報をメモリ上に生成し、記憶する。タイマー情報の一例を
図7の700に示す。
【0050】
タイマー情報とは、何を条件にタイマーを開始し、タイマーが0になった場合に何のイベントを実行するのかを記憶する情報である。タイマー情報は、シミュレーションソフト120におけるイベントの1つである。
【0051】
タイマーは、タイマー開始後、イベント発信の条件を満たした場合に当該イベントを発信し、終了条件を満たした場合にタイマーを終了(タイマーによるイベント発信を終了)する。
【0052】
図7の700を参照し、タイマー情報として記憶される各種情報について説明する。
【0053】
701は、タイマー情報を一意に識別するID(タイマーID)である。702は、各タイマー情報に対応するタイマーオブジェクトのオブジェクトIDが格納される
タイマーの開始設定について説明する。
【0054】
708は、タイマーの開始方法(開始条件)である。開始方法には、シミュレーション開始からの「時間」経過、指定されたイベントにかかる「イベント受信」、当該「時間」と「イベント受信」の組み合わせである「イベント受信+時間」、および、指定されたイベントに関わらず、最新のイベント受信と前記「時間」の組み合わせ条件である「最新のイベント受信+時間」があり、方法の選択肢としてメモリに記憶されている。
【0055】
709は、開始イベント名である。タイマー開始の条件となるイベント名を示す。例えば開始方法708(開始条件)が「イベント受信」の場合、当該開始イベント名709に記憶されたイベントが受信(イベントの発生が検知)され次第、タイマーを開始する。ここでいうタイマーの開始とは、タイマーを有効にする処理のことである。
【0056】
710は、開始時間である。タイマー開始の条件となる時間を示す。例えば開始方法708が「時間」の場合、当該開始時間710イベント名に記憶された時間が経過し次第、タイマーを開始する。ここでいうタイマーの開始とは、タイマーを有効にする処理のことである。
【0057】
次に、タイマーによって実行する(実行するように指示を発信する)イベントの設定について説明する。
【0058】
703は、発信イベント名である。タイマーの時間経過等の、イベントの発信条件(発信方法)が満たされた場合に発信する(実行する)イベント名を示す。
【0059】
704は、発信方法である。発信方法には、タイマー開始からの「時間」経過、指定されたイベントにかかる「イベント受信」、当該「時間」と「イベント受信」の組み合わせである「イベント受信+時間」、および、指定されたイベントに関わらず、最新のイベント受信と前記「時間」の組み合わせ条件である「最新のイベント受信+時間」があり、方法の選択肢としてメモリに記憶されている。
【0060】
705は、待機イベント名である。イベント発信の繰り返しごとに待機するイベントを示す。例えば、発信方法704が「イベント受信」の場合、当該待機イベント名705に設定されたイベントが受信(イベントの発生が検知)され次第、発信イベント名703のイベントを発信(実行)する。
【0061】
706は、待機時間である。イベントの発信まで待機する時間(タイマーの時間)を示す。例えば、発信方法704が「時間」の場合、タイマーが有効になってから(あるいはカウントダウンが再開されてから)、当該待機時間706に設定された時間が経過した場合に、発信イベント名703のイベントを発信(実行)する。つまり、タイマーのカウントダウンが0になり次第、イベントを発信する。
【0062】
707は、繰り返し回数である。イベント発信を何回まで繰り返し実行するか、を示す情報である。
【0063】
例えば、発信方法704が「時間」の場合、タイマーが有効になることによるカウントダウンの開始や、カウントダウンが0になりイベントが発信されたことによるカウントダウンの再開から、待機時間706が経過するごとに、対象のイベントを実行するための情報を、イベントを実行する機能部に発信する。また、イベントの繰り返し回数を1つカウントアップする。シミュレーションソフト120は、当該イベントの発信を、カウント数が繰り返し回数707に達するまで繰り返す。
【0064】
また、例えば、発信方法704が「イベント受信」の場合、待機イベント名705に設定されたイベントを受信したことで対象のイベントを実行するための情報を、イベントを実行する機能部に発信し、イベントの繰り返し回数を1つカウントアップする。当該イベントの発信を、カウント数が繰り返し回数707に達するまで繰り返す。
【0065】
次に、タイマーの終了設定について説明する。
【0066】
711は、終了方法である。イベント発信を終了する方法(条件)を示す。言い換えれば、タイマーを無効化し、タイマーによるイベント発信を終了する条件である。
【0067】
終了方法には、イベント発信の回数が繰り返し回数707に達したことを終了条件とする「繰り返し回数」や、タイマーが有効になってからの経過時間を終了条件とする「時間」、後述する終了イベント名712のイベントの受信を終了条件とする「イベント受信」があり、方法の選択肢としてメモリに記憶されている。
【0068】
712は、終了イベント名である。タイマーによるイベントの発信を終了する条件となる受信イベントを示す。例えば、終了方法711が「イベント受信」の場合、終了イベント名712のイベントを受信したことに応じて、タイマーのカウントダウンを停止し、当該タイマーによるイベント(発信イベント名703のイベント)を停止する。
【0069】
713は、終了時間である。タイマーが開始されてから(有効になってから)どれくらい時間が経過した場合に、タイマーを終了し、当該タイマーによるイベント発信を終了するかを示す。
【0070】
なお、714は、タイマーオブジェクトの表示設定である。シミュレーションの様子を示す動画において、オブジェクトID702のタイマーオブジェクトを表示するか、非表示とするかの設定が記憶される。
【0071】
【0072】
図4の説明に戻る。ステップS422で、CAD110は、タイマーオブジェクトの選択操作を受け付ける。
【0073】
ステップS404で、シミュレーションソフト120は、タイマーオブジェクトの選択操作を検知すると、当該タイマーオブジェクトに対応するタイマーIDを特定する。
【0074】
ステップS423で、CAD110は、タイマーの設定ウインドウ812を表示する。設定ウインドウ812の表示に際しては、CAD110が、シミュレーションソフト120が提供する表示項目を参照し、当該表示項目を設定ウインドウ812に表示する。
【0075】
例えば、CAD110は、タイマーオブジェクトの選択操作を受け付けた場合、タイマーオブジェクトに対応する表示項目をシミュレーションソフト120に問い合わせる。シミュレーションソフト120が当該問い合わせを受け付け、表示項目として、
図7の703~714(
図8の812に例示する項目)と各項目の入力設定を応答する。入力設定とは、項目に対する入力受付部が、テキスト入力フィールドか、プルダウンか、チェックボックスか等の設定である。プルダウンの場合はプルダウンで選択可能な選択候補の情報(「時間」、「イベント受信」、「イベント受信+時間」、「最新のイベント受信+時間」等)を含む。CAD110は当該応答を受け付け、取得した各表示項目を、設定ウインドウ812に表示する。
【0076】
ステップS405で、シミュレーションソフト120は、発信イベント名を設定する。具体的には、CAD110が、タイマーの設定ウインドウ812において、ユーザ操作による発信イベント名の入力を受け付け、当該入力受付を検知したシミュレーションソフト120が、当該発信イベント名をCAD110から取得する。そして当該発信イベント名を、タイマー情報700の発信イベント名703に記憶する。
【0077】
シミュレーションソフト120は、当該発信イベント名を、タイマーオブジェクトの近傍(タイマーオブジェクトの中心から所定方向に所定距離離れた位置)に表示するよう、CAD110指示する。当該イベント名を表示するテキストボックスの位置は、シミュレーションソフト120が指定する。CAD110は当該指示を受け付け、指示に従って発信イベント名を表示する。
【0078】
ステップS406で、シミュレーションソフト120は、イベントの発信方法を設定する。具体的には、CAD110が、タイマーの設定ウインドウ812において、ユーザ操作による発信方法の指定を受け付け、当該指定受付を検知したシミュレーションソフト120が、当該発信方法をCAD110から取得する。そして、当該発信方法を、タイマー情報700の発信方法704に記憶する。
【0079】
発信方法は、メモリに記憶された選択肢をプルダウン表示し、その中から選択(指定)を受け付けるものとする。
【0080】
ステップS407で、シミュレーションソフト120は、待機イベント名と待機時間を設定する。具体的には、CAD110が、タイマーの設定ウインドウ812において、ユーザ操作による待機イベント名と待機時間の入力を受け付け、当該入力受付を検知したシミュレーションソフト120が、当該待機イベント名と待機時間をCAD110から取得する。そして、入力された内容を、タイマー情報700の待機イベント名705、待機時間706に記憶する。
【0081】
ステップS408で、シミュレーションソフト120は、繰り返し回数を設定する。具体的には、CAD110が、タイマーの設定ウインドウ812において、ユーザ操作による繰り返し回数の入力を受け付け、当該入力受付を検知したシミュレーションソフト120が、当該繰り返し回数をCAD110から取得する。そして、入力された内容を、タイマー情報700の繰り返し回数707に記憶する。
【0082】
ステップS409で、シミュレーションソフト120は、イベントの開始方法を設定する。具体的には、CAD110が、タイマーの設定ウインドウ812において、ユーザ操作による開始方法の指定を受け付け、当該指定受付を検知したシミュレーションソフト120が、当該開始方法をCAD110から取得する。そして、当該開始方法を、タイマー情報700の開始方法708に記憶する。開始方法は、メモリに記憶された選択肢をプルダウン表示し、その中から選択(指定)を受け付けるものとする。
【0083】
ステップS410で、シミュレーションソフト120は、開始イベント名を設定する。具体的には、CAD110が、タイマーの設定ウインドウ812において、ユーザ操作による開始イベント名の入力を受け付け、当該入力受付を検知したシミュレーションソフト120が、当該開始イベント名をCAD110から取得する。そして、入力された内容を、タイマー情報700の開始イベント名709に記憶する。
【0084】
ステップS411で、シミュレーションソフト120は、開始時間を設定する。具体的には、CAD110が、タイマーの設定ウインドウ812において、ユーザ操作による開始時間の入力を受け付け、当該入力受付を検知したシミュレーションソフト120が、当該開始時間をCAD110から取得する。そして、入力された内容を、タイマー情報700の開始時間710に記憶する。
【0085】
ステップS412で、シミュレーションソフト120は、終了方法を設定する。具体的には、CAD110が、タイマーの設定ウインドウ812において、ユーザ操作による終了方法の指定を受け付け、当該指定受付を検知したシミュレーションソフト120が、当該終了方法をCAD110から取得する。そして、指定された内容を、タイマー情報700の終了方法711に記憶する。終了方法は、メモリに記憶された選択肢をプルダウン表示し、その中から選択(指定)を受け付けるものとする。
【0086】
また、シミュレーションソフト120は、終了イベント名、終了時間を設定する。具体的には、CAD110が、タイマーの設定ウインドウ812において、終了イベント名、終了時間の入力を受け付け、当該入力受付を検知したシミュレーションソフト120が、入力された内容を、タイマー情報700の終了イベント名712、終了時間713に記憶する。
【0087】
また、シミュレーションソフト120は、シミュレーションの表示/非表示の設定を更新する。具体的には、CAD110が、タイマーの設定ウインドウ812において、「シミュレーションで非表示」のチェックボックスに対するクリック操作を受け付ける。チェックが入っていない状態でクリック操作を受け付けた場合は、チェックボックスをチェックされた状態に表示更新する。チェックが入っている状態でクリック操作を受け付けた場合は、チェックボックスを非チェック状態に表示更新する。当該クリック操作の受付を検知したシミュレーションソフト120は、表示/非表示の設定を、タイマー情報700の表示設定714に「表示」と記憶する。具体的には、チェックが入った場合は、タイマー情報700の表示設定714に「表示」と記憶し、チェックが外れた場合は「非表示」と記憶する。以上が
図4の説明である。
【0088】
次に
図5を参照して、本発明の実施形態における、タイマーにかかる処理の流れについて説明する。
【0089】
ステップS501で、シミュレーションソフト120は、シミュレーションの開始操作を受け付ける。例えば、不図示の「シミュレーション開始」ボタンの押下操作を受け付ける。また当該操作の受付に応じて、シミュレーションを開始する。
【0090】
シミュレーション開始に応じて、シミュレーションソフト120は、CAD110で展開・表示中の全オブジェクトの情報を、CAD110に問い合わせ、メモリ上から取得する。そして、シミュレーションソフト120が参照可能なメモリ上の領域にコピーする(記憶する)。
【0091】
当該取得するオブジェクトの情報には、例えば、タイマーオブジェクトの位置やサイズ、発信イベント名を示すテキストの位置や、時間経過とともに更新すべきタイマーのメーター部分の形状や円弧の角度の情報を含む。また、歩行者のオブジェクトの形状や歩行速度の設定情報、歩行不可能な壁・障害物や、歩行可能な道・建築物等のオブジェクトの位置・サイズ、歩行者の目的地となる位置を規定した矩形オブジェクトの位置・サイズ等の情報を含む。
【0092】
また、ステップS502で、シミュレーションソフト120は、当該取得した情報に従って歩行者オブジェクトを目的地に移動させる様子を示す画像を所定時間ごとに生成(メモリ上で描画処理して記録)し、ウインドウ910(
図9)に表示することで、シミュレーション途中の様子を動画表示する。なお、描画の開始に際して、タイマーオブジェクトのうち、表示設定714が「非表示」のタイマーに対応するタイマーオブジェクトはシミュレーション終了まで描画しない。表示設定714が「表示」のタイマーに対応するタイマーオブジェクトのみを描画する。
【0093】
シミュレーションソフト120は、タイマーの数(タイマー情報700における情報の数)だけ、ステップS502~S513の処理を実行する。
【0094】
ステップS503で、シミュレーションソフト120は、実行するイベントタイマーを特定する。具体的には、シミュレーション開始から終了までの間において、終了条件が満たされていないタイマーを、1つ取得し、実行対象として決定する。
【0095】
ステップS504で、シミュレーションソフト120は、当該タイマーの開始条件(開始方法)が満たされたか判定する。条件が満たされていない場合は、当該開始条件が満たされるまで待機する。開始条件が満たされた場合は処理をステップS505に移行する。
【0096】
ステップS505で、シミュレーションソフト120は、当該タイマーの開始時刻をメモリに記憶する。
【0097】
ステップS506で、シミュレーションソフト120は、タイマーを有効にする。例えば、発信方法704に「時間」が設定されている場合は、待機時間706を取得し、カウントダウンを開始する。
【0098】
ここでは1秒単位でカウントダウンする。カウントダウンされている時間の情報は、タイマーの開始からカウントダウンされるごとにメモリに記憶する。
【0099】
発信方法704が「イベント受信」である場合は、カウントダウンは行なわず、待機イベント名705のイベントを受信するまで待機する。
【0100】
ステップS507で、シミュレーションソフト120は、所定の時間が経過したことに応じてタイマーの残り時間を取得する。ここでは1秒ごとに残り時間を取得するものとする。
【0101】
ステップS508で、シミュレーションソフト120は、タイマーオブジェクトの表示更新処理を行なう。表示更新処理は、カウントダウンを行なっているタイマーについて実施する。カウントダウンを行なっていないタイマーについては実施しない。詳細は
図6の説明で後述する。
【0102】
ここで
図6を参照して、タイマーオブジェクトの表示更新処理の流れについて説明する。
【0103】
ステップS601で、シミュレーションソフト120は、実行中のタイマーに対応するタイマーオブジェクトを特定する。具体的には、
図7のタイマー情報700において、タイマーID701に対応するオブジェクトID702を特定する。
【0104】
ステップS602で、シミュレーションソフト120は、
図5のステップS506で取得した残り時間に応じた角度を特定する。具体的には、当該残り時間の、待機時間706(タイマー開始からタイマーが0になるまでの時間)に対する割合(%)を算出し、当該割合を360(360°)に掛けた数値を、残りに応じた角度として特定する。
【0105】
ステップS603で、シミュレーションソフト120は、メモリ上に記憶したタイマーオブジェクトの円弧の角度を変更する。具体的には、シミュレーションソフト120における、オブジェクトの描画機能部に対して、円弧の角度を変更して、タイマーオブジェクトを描画するよう指示する。また、残り時間を示すテキストを、最新の残り時間の表示に更新するよう指示する。
【0106】
ステップS604で、シミュレーションソフト120は、タイマーオブジェクトにおける円弧の角度を変更し、描画、記憶して、円弧の表示を更新したタイマーオブジェクトをウインドウ910に表示する。また、残り時間のテキストの表示を更新する。
【0107】
すなわち、発信イベントの発信まで、残り時間がどれくらいかを、タイマーオブジェクトの円の表示を更新することで、ユーザに通知する。一例を
図10に示す。以上が
図6の説明である。
【0108】
図5の説明に戻る。ステップS509で、シミュレーションソフト120は、タイマーにおけるイベントの発信条件(発信方法の内容)が満たされたか判定する。
【0109】
発信条件が満たされていない場合は処理をステップS513に移行し、終了条件(終了方法の内容)が満たされたか判定する。終了条件が満たされていない場合は処理をステップS506に移行し、カウントダウンを継続する。
【0110】
発信条件が満たされている場合は処理をステップS510に移行する。ステップS510で、シミュレーションソフト120は、発信イベント名が示すイベントを発信する。
【0111】
具体的には、当該イベントを実行する機能を備えるモジュールに対し、イベントの内容を実行するように指示を発信する。例えば、シミュレーションソフト120におけるオブジェクトの描画・表示機能部に対し、当該発信イベントの内容に従った指示(例:障害物のオブジェクトの表示指示)を発信する。当該指示を受け付けた機能部は、当該イベントを実行する。
【0112】
シミュレーションソフト120は、当該タイマーが開始されてから実行された当該発信イベントの発信回数を1カウントアップする。当該発信回数は、PC100のメモリ上に、タイマー情報700のレコードごとに生成され、記憶されているものとする。
【0113】
ステップS512で、シミュレーションソフト120は、終了条件(終了方法の内容)が満たされたか判定する。終了条件が満たされていない場合は処理をステップS506に移行し、カウントダウンを継続する。終了条件が満たされている場合は当該タイマーを終了する。以上が
図5の説明である。
【0114】
以上説明したように、本発明によれば、どのイベントがいつ発生するかを容易に確認可能な仕組みを提供することができる。
【0115】
なお、どのタイマーオブジェクトが、どのオブジェクトを対象としてイベントを発信イベントとしているか(例:どの障害物の出現イベントまでのタイマーか)を、ユーザにとって確認容易とするために、タイマーオブジェクトと当該対象のオブジェクトとの対応関係を表示するようにしてもよい。
【0116】
具体例を
図9の901、902に示す。
図9の901はオブジェクトの1つであり、イベント001(イベントID=event001)において表示する対象となるオブジェクトである。
【0117】
例えば、シミュレーションソフト120は、発信イベント名703に「event001」が記憶されると、不図示のイベント001の情報(イベントを識別するイベントIDと、イベントの内容、イベントの対象となるオブジェクトのオブジェクトIDが記憶された情報)をメモリから取得する。そして、当該イベントの情報に含まれる、イベントの対象となるオブジェクトを特定して、当該オブジェクトと、当該発信イベント名が設定されたタイマーオブジェクトとを対応付けて表示する。例えば、
図9の901と902に示すように、イベント001のタイマーオブジェクトと、その対象であるオブジェクト901をつないだ線分を生成するようCAD110に指示し、CAD110が当該指示に従って線分902を生成して表示する。
【0118】
当該処理により、どのタイマーが、どのオブジェクトに関するイベントのタイマーなのかを容易に確認できるようになる。
【0119】
また、本発明の実施形態において説明したタイマーは、タイマーという種類のイベントである(イベントの一種である)。そのため、待機イベント名にタイマーID(タイマーイベントのイベントID)を設定することで、例えば、タイマーが有効になった/無効になったイベントをキーにして、新たなタイマーを有効にすることが可能である。
【0120】
上記のような、他のタイマーの状況により新たなタイマーの有効/無効をコントロールする場合、どのタイマーの開始あるいは終了後に、どのタイマーが開始されるのか等、タイマー同士の関係性を確認したいことがある。
【0121】
よって、例えば
図11の1101のように、当該タイマー同士の関係性を、表示画面上で識別可能に表示・通知するようにしてもよい。
【0122】
例えば、シミュレーションソフト120は、timer003の発信イベント名703に「timer001」が記憶されると、当該timer003のタイマーオブジェクトとtimer001のタイマーオブジェクトとを対応付けて表示する。例えば、
図11の1101のように、各タイマーをつないだ線分を生成するようCAD110に指示し、CAD110が当該指示に従って線分1101を生成して表示する。
【0123】
当該処理により、どのタイマーの開始あるいは終了後に、どのタイマーが開始されるのか等、タイマー同士の関係性を確認したいことがある。
【0124】
また、どのタイマーが、どのイベントの受信を条件として有効となるか、あるいは開始されるかを識別表示するようにしてもよい。
【0125】
例えば、シミュレーションソフト120は、timer002の待機イベント名に「event00X」が記憶されると、待機イベントを示す色やフォント(例:青色)で、event00Xを示すテキスト1111を、当該timer002のタイマーオブジェクト近傍に配置・表示するようCAD110に指示し、CAD110が当該指示に従って当該テキストを配置・表示する。開始イベント名の場合は、開始イベント名を示す色やフォント(例:赤色)で、テキストを配置・表示するものとする。
【0126】
当該処理により、どのタイマーが、どのイベントの受信を条件として有効となるか、あるいは開始されるかをユーザに確認させることができる。
【0127】
また、同じイベントについて重複してタイマーを設定してしまうことを回避できるように、設定されている発信イベント名が重複するタイマーを確認容易に表示してもよい。
【0128】
例えば、シミュレーションソフト120は、発信イベント名が新たなに設定された場合に、当該発信イベント名と同一の発信イベント名が設定されたタイマーが他にないか、タイマー情報700を参照して判定する。同一の発信イベント名が設定されたタイマーがあった場合、これら同一の発信イベント名が設定されたタイマーのタイマーオブジェクトを識別表示するようCAD110に指示する。例えば、これらのタイマーのタイマーオブジェクトを、発信イベントが重複している旨を示す破線でつないで表示する。当該破線の位置はシミュレーションソフト120がCAD110に指示する。
【0129】
当該処理により、同じイベントについて重複してタイマーを設定してしまうことを回避できるように、設定されている発信イベント名が重複するタイマーを容易に確認できるようにすることができる。
【0130】
尚、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
【0131】
具体的には、PC100とサーバ200が一体であり、上述した実施形態の各フローチャートの処理を実行するようにしてもよい。また、シミュレーションソフトとCADが一体であり、シミュレーションソフトの機能を備えるCADが、上述した実施形態の各フローチャートの処理を実行するようにしてもよい。
【0132】
また、上述した実施形態においては、タイマーオブジェクトの近傍に表示する発信イベント名とタイマーの残り時間はテキストボックスに入力されたテキストであるものとして説明したが、テキストの形状をした図形(オブジェクト)で表現してもよい。この場合、残り時間の減少に伴うタイマーの表示更新時は、当該残り時間を示す数値の図形を、あらかじめメモリに記憶してある図形の中から取得し、残り時間のテキスト情報として描画、表示する。
【0133】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【0134】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0135】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD-ROM、CD-R、CD-RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD-ROM,DVD-R)などもある。
【0136】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【0137】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0138】
また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0139】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【0140】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【0141】
尚、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。
即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0142】
100 PC
101 LAN
110 CAD
120 シミュレーションソフト
200 サーバ