(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023098598
(43)【公開日】2023-07-10
(54)【発明の名称】電子機器、電子機器の制御方法、及びプログラム
(51)【国際特許分類】
G06F 3/04847 20220101AFI20230703BHJP
【FI】
G06F3/04847
【審査請求】未請求
【請求項の数】18
【出願形態】OL
(21)【出願番号】P 2022162280
(22)【出願日】2022-10-07
(62)【分割の表示】P 2021214903の分割
【原出願日】2021-12-28
(71)【出願人】
【識別番号】390002761
【氏名又は名称】キヤノンマーケティングジャパン株式会社
(71)【出願人】
【識別番号】501065122
【氏名又は名称】エーアンドエー株式会社
(74)【代理人】
【識別番号】100090273
【弁理士】
【氏名又は名称】國分 孝悦
(72)【発明者】
【氏名】木原 和信
【テーマコード(参考)】
5E555
【Fターム(参考)】
5E555AA04
5E555AA28
5E555AA79
5E555BA02
5E555BA70
5E555BB02
5E555BC08
5E555CB44
5E555DA01
5E555DB05
5E555DB56
5E555DC19
5E555DC35
5E555FA00
(57)【要約】
【課題】移動オブジェクトの滑らかな速度変化を、より操作性良く設定できるようにする技術を提供する。
【解決手段】電子機器は、ユーザー操作によって入力された第1の位置と第3の位置との速度に関する設定値を取得する取得手段と、前記第1の位置と前記第3の位置の間の第2の位置の速度に関する設定値を、ユーザーによる設定値の入力操作なしに、前記取得手段で取得した前記第1の位置の設定値と前記第3の位置の設定値とに基づいて設定する設定手段と、移動オブジェクトが前記第1の位置、前記第2の位置、及び前記第3の位置を通って移動する場合に、それぞれの位置に設定された速度の設定値に基づく速度で前記移動オブジェクトを移動させるように制御する制御手段とを有する。
【選択図】
図4
【特許請求の範囲】
【請求項1】
ユーザー操作によって入力された第1の位置と第3の位置との速度に関する設定値を取得する取得手段と、
前記第1の位置と前記第3の位置の間の第2の位置の速度に関する設定値を、ユーザーによる設定値の入力操作なしに、前記取得手段で取得した前記第1の位置の設定値と前記第3の位置の設定値とに基づいて設定する設定手段と、
移動オブジェクトが前記第1の位置、前記第2の位置、及び前記第3の位置を通って移動する場合に、それぞれの位置に設定された速度の設定値に基づく速度で前記移動オブジェクトを移動させるように制御する制御手段と
を有することを特徴とする電子機器。
【請求項2】
前記設定手段は、前記第2の位置の速度に関する設定値を、前記取得手段で取得した前記第1の位置の設定値と前記第3の位置の設定値との間の値に設定することを特徴とする請求項1に記載の電子機器。
【請求項3】
前記設定手段は、前記第2の位置の速度に関する設定値を、前記取得手段で取得した前記第1の位置の設定値と前記第3の位置の設定値とを用いた線形補間に基づいて設定することを特徴とする請求項2に記載の電子機器。
【請求項4】
前記第1乃至前記第3の位置のそれぞれは、分割された特定の図形に含まれる複数の区分領域のいずれかに対応することを特徴とする請求項1乃至3のいずれか1項に記載の電子機器。
【請求項5】
前記取得手段は、第1の軸方向と、前記第1の軸方向と交わる第2の軸方向のそれぞれにおいて複数に分割された前記特定の図形に含まれる複数の区分領域のうち、それぞれ隣り合わない第1乃至第4の区分領域に対してユーザー操作によって入力された速度に関する設定値を取得し、
前記設定手段は、前記第1乃至第4の区分領域と異なる他の区分領域であって、前記第1乃至第4の区分領域に含まれる位置を頂点とする図形に含まれる複数の前記他の区分領域のそれぞれの速度に関する設定値を、ユーザーによる設定値の入力操作なしに、前記取得手段で取得した前記第1乃至第4の区分領域の設定値に基づいて設定することを特徴とする請求項4に記載の電子機器。
【請求項6】
前記設定手段は、複数の前記他の区分領域のそれぞれの速度に関する設定値を、前記取得手段で取得した前記第1乃至第4の区分領域の設定値を用いた双線形補間に基づいて設定することを特徴とする請求項5に記載の電子機器。
【請求項7】
前記第1乃至第4の区分領域は、第1の区分領域と第2の区分領域とが前記第1の軸方向に沿って平行な位置関係であり、前記第1の区分領域と第3の区分領域とが前記第2の軸方向に沿って平行な位置関係であり、前記第2の区分領域と第4の区分領域とが前記第2の軸方向に沿って平行な位置関係であることを特徴とする請求項5又は6に記載の電子機器。
【請求項8】
前記特定の図形は矩形であり、前記第1の軸方向は前記矩形の第1の辺に平行な方向であり、前記第2の軸方向は前記矩形における前記第1の辺と垂直な第2の辺に平行な方向であることを特徴とする請求項5乃至7のいずれか1項に記載の電子機器。
【請求項9】
前記第1乃至第4の区分領域はそれぞれ、前記特定の図形の4つの頂点のいずれかに対応する領域であることを特徴とする請求項8に記載の電子機器。
【請求項10】
前記複数の区分領域のそれぞれを、設定された速度の設定値に対応する色彩で表示するように制御することを特徴とする請求項4乃至9のいずれか1項に記載の電子機器。
【請求項11】
前記複数の区分領域のそれぞれを、設定された速度の設定値の割合に比例したグラデーションとなるように表示することを特徴とする請求項10に記載の電子機器。
【請求項12】
ユーザー操作によって前記特定の図形が選択されたことに応じて、前記複数の区分領域の境界を強調して表示することを特徴とする請求項4乃至11のいずれか1項に記載の電子機器。
【請求項13】
前記制御手段は、前記移動オブジェクトを目的地に向かって移動させるように制御することを特徴とする請求項1乃至12のいずれか1項に記載の電子機器。
【請求項14】
前記移動オブジェクトの移動は、図面上における移動であることを特徴とする請求項1乃至13のいずれか1項に記載の電子機器。
【請求項15】
前記図面は、CADソフトで作成される図面であることを特徴とする請求項14に記載の電子機器。
【請求項16】
前記制御手段は、前記移動オブジェクトが移動する避難シミュレーションを行うことを特徴とする請求項1乃至15のいずれか1項に記載の電子機器。
【請求項17】
ユーザー操作によって入力された第1の位置と第3の位置との速度に関する設定値を取得する取得ステップと、
前記第1の位置と前記第3の位置の間の第2の位置の速度に関する設定値を、ユーザーによる設定値の入力操作なしに、前記取得ステップで取得した前記第1の位置の設定値と前記第3の位置の設定値とに基づいて設定する設定ステップと、
移動オブジェクトが前記第1の位置、前記第2の位置、及び前記第3の位置を通って移動する場合に、それぞれの位置に設定された速度の設定値に基づく速度で前記移動オブジェクトを移動させるように制御する制御ステップと
を有することを特徴とする電子機器の制御方法。
【請求項18】
コンピュータを、請求項1乃至16のいずれか1項に記載された電子機器の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
電子機器、その制御方法、及びプログラムに関し、特に、移動オブジェクトを移動させ
る制御のための技術に関する。
【背景技術】
【0002】
近年、建築物内にいる人の移動のシミュレーションや、コンサート会場などのイベントに来場した人の移動のシミュレーションを、建築物のCAD(Computer-Aided Design)データの図面上で人を示す移動オブジェクトを移動させて行う仕組みが存在する。特許文献1には、オブジェクトが複数の図面上を移動するシミュレーションを実行可能な情報処理装置において、複数の図面間をオブジェクトが移動可能に接続するための移動領域の対応関係を識別可能に表示することが提案されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
人が移動する際の状況によって移動速度が変化する場合がある。例えば、ぬかるみがあり歩きにくい、上り坂の傾斜があり歩きにくい、などの理由で速度が低下する。また、例えば、下り坂の傾斜があり速度が上がる。また、車いすなどの移動では、移動開始時点は速度が遅く、だんだん加速して速くなる。このような速度の変化をシミュレーションするために、移動オブジェクトが移動する速度を変化させる変速領域を配置し、その上を通る移動オブジェクトの速度を変化させる方法がある。移動する際の状況によって移動速度が変化する場合、速度は急に変わるのではなく、滑らかに変化していくのが自然である。従来は、移動オブジェクトの速度を滑らかに変化させるために、現在の速度から目標速度までの速度を刻んだ複数の変速領域を設定し、その上を移動させる必要があった。しかし、複数の変速領域を1つ1つ作成するのは操作手数が多く手間のかかる作業であるという問題があった。
【0005】
そこで本発明は、前記課題の少なくとも1つに鑑み、移動オブジェクトの滑らかな速度変化を、より操作性良く設定できるようにする技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の電子機器は、ユーザー操作によって入力された第1の位置と第3の位置との速度に関する設定値を取得する取得手段と、前記第1の位置と前記第3の位置の間の第2の位置の速度に関する設定値を、ユーザーによる設定値の入力操作なしに、前記取得手段で取得した前記第1の位置の設定値と前記第3の位置の設定値とに基づいて設定する設定手段と、移動オブジェクトが前記第1の位置、前記第2の位置、及び前記第3の位置を通って移動する場合に、それぞれの位置に設定された速度の設定値に基づく速度で前記移動オブジェクトを移動させるように制御する制御手段とを有することを特徴とする。
【発明の効果】
【0007】
本発明によれば、移動オブジェクトの滑らかな速度変化を、より操作性良く設定できる。
【図面の簡単な説明】
【0008】
【
図2】電子機器の制御方法の一例を示すフローチャートである。
【
図3】変速領域グリッド配置処理を説明するための図である。
【
図4】変速領域グリッド配置処理を示すフローチャートである。
【
図5】変速領域グリッド配置処理を説明するための図である。
【
図6】変速領域グリッド配置処理を説明するための図である。
【発明を実施するための形態】
【0009】
図1に、本発明を適用可能な装置の一例としての電子機器100の構成の一例を示す。電子機器100は、パーソナルコンピュータ(以下、PC)などを用いて構成可能なものである。
【0010】
図1において、内部バス150に対してCPU101、メモリ102、不揮発性メモリ103、画像処理部104、ディスプレイ105、操作部106、記録媒体I/F107、外部I/F109、通信I/F110、及びカメラ部112が接続されている。内部バス150に接続される各部は、内部バス150を介して互いにデータのやりとりを行うことができるようにされている。
【0011】
メモリ102は、例えばRAM(半導体素子を利用した揮発性のメモリなど)からなる。CPU101は、例えば不揮発性メモリ103に格納されるプログラムに従い、メモリ102をワークメモリとして用いて、電子機器100の各部を制御する。不揮発性メモリ103には、画像データや音声データ、その他のデータ、CPU101が動作するための各種プログラムなどが格納される。不揮発性メモリ103は、例えばハードディスク(HD)やROMなどで構成される。
【0012】
画像処理部104は、CPU101の制御に基づいて、不揮発性メモリ103や記録媒体108に格納された画像データや、外部I/F109を介して取得した映像信号、通信I/F110を介して取得した画像データ、撮像された画像などに対して各種画像処理を施す。画像処理部104が行う画像処理には、A/D変換処理、D/A変換処理、画像データの符号化処理、圧縮処理、デコード処理、拡大/縮小処理(リサイズ)、ノイズ低減処理、色変換処理などが含まれる。画像処理部104は、特定の画像処理を施すための専用の回路ブロックで構成してもよい。また、画像処理の種別によっては、画像処理部104を用いずに、CPU101がプログラムに従って画像処理を施すことも可能である。
【0013】
ディスプレイ105は、CPU101の制御に基づいて、画像やGUI(Graphical User Interface)を構成するGUI画面などを表示する。CPU101は、プログラムに従い表示制御信号を生成し、ディスプレイ105に表示するための映像信号を生成してディスプレイ105に出力するように、電子機器100の各部を制御する。ディスプレイ105は、入力された映像信号に基づいて映像を表示する。なお、電子機器100自体が備える構成としては、ディスプレイ105に表示させるための映像信号を出力するためのインターフェースまでとし、ディスプレイ105は、外付けのモニタ(テレビなど)で構成してもよい。
【0014】
操作部106は、キーボードなどの文字情報入力デバイスや、マウスやタッチパネルといったポインティングデバイス、ボタン、ダイヤル、ジョイスティック、タッチセンサ、タッチパッドなどを含む、ユーザー操作を受け付けるための入力デバイスである。なお、タッチパネルは、ディスプレイ105に重ね合わせて平面的に構成され、接触された位置に応じた座標情報が出力されるようにした入力デバイスである。
【0015】
記録媒体I/F107は、メモリーカードやCD、DVDといった記録媒体108が装着可能とされ、CPU101の制御に基づき、装着された記録媒体108からのデータの読み出しや、当該記録媒体108に対するデータの書き込みを行う。外部I/F109は、外部機器と有線ケーブルや無線によって接続し、映像信号や音声信号の入出力を行うためのインターフェースである。通信I/F110は、外部機器や通信ネットワーク111などと通信して、ファイルやコマンドなどの各種データの送受信を行うためのインターフェースである。
【0016】
カメラ部112は、光学像を電気信号に変換するCCDやCMOS素子等で構成される撮像素子(撮像センサ)等で構成されるカメラユニットである。カメラ部112には、ズームレンズやフォーカスレンズを含むレンズ群(撮影レンズ)、絞り機能を備えるシャッタ、撮像素子、撮像素子から出力されるアナログ信号をデジタル信号に変換するA/D変換器、撮像系を覆って汚れや破損を防止するバリアを含む。画像処理部104は、カメラ部112で撮像して取得したデータに対し、所定の画素補間、縮小といったリサイズ処理や色変換処理を行う。画像処理部104により得られた演算結果に基づいて、CPU101が露光制御、測距制御、AWB(オートホワイトバランス)処理を行う。カメラ部112で撮像され、画像処理部104で画像処理された表示用の画像データは、ディスプレイ105により表示される。カメラ部112で撮像され、A/D変換器によって一度A/D変換され、メモリ102に蓄積されたデジタル信号をD/A変換器でアナログ変換し、ディスプレイ105に逐次転送して表示することで、ライブビュー表示(LV表示)を行える。ライブビューは、静止画の撮影待機状態、動画の撮影待機状態、動画の記録時に表示可能であり、撮像された被写体像がほぼリアルタイムに表示される。CPU101は、操作部106で行われたユーザー操作に基づく撮影準備指示に応じて、AF(オートフォーカス)処理、AE(自動露出)処理、AWB処理等の動作を開始するように、カメラ部112及び画像処理部104を制御する。CPU101は、撮影指示に応じて、本露光して撮像素子からの信号を読み出し、撮像された画像を画像処理部104で画像処理して画像ファイルを生成し、記録媒体108に記録するまでの一連の撮影処理(本撮影)の動作を開始するように制御する。撮影指示は、操作部106に対するユーザー操作によって行うことができる。カメラ部112は、静止画及び動画の撮影が可能である。
【0017】
図2は、電子機器100の制御方法の一例を示すフローチャートである。このフローチャートにおける各処理は、CPU101が不揮発性メモリ103に格納されたプログラムをメモリ102に展開して実行することにより実現される。
図2の処理を実行可能なCADのソフトウェアの起動指示があると、
図2の処理が開始される。
【0018】
ステップS201では、CPU101は、ディスプレイ105に対して、初期表示を行うように制御する。
【0019】
ステップS202では、CPU101は、ユーザーの操作部106の操作に応じて、ファイルを開くための指示が行われたか否かを判定する。ファイルは、例えば、
図3(a)に示すような図面のファイルである。図面は、例えば、CADのソフトウェアで作成された図面であり、壁オブジェクト301、目的地オブジェクト302、及び移動オブジェクト303、304を有する。移動オブジェクト303、304は、例えば、人オブジェクトである。目的地オブジェクト302は、移動オブジェクトの移動先(目的地)となるオブジェクトである。ファイルを開くための指示が行われた場合には、処理はステップS203に進み、ファイルを開くための指示が行われていない場合には、処理はステップS204に進む。
【0020】
ステップS203では、CPU101は、指示された図面のファイルを不揮発性メモリ103から読み込み、読み込んだファイルの図面をディスプレイ105に表示するように制御する。ディスプレイ105は、例えば、
図3(a)に示すような、図面を含むウィンドウを表示する。その後、処理はステップS202に戻る。
【0021】
ステップS204では、CPU101は、ユーザーの操作部106の操作に応じて、オブジェクトの配置操作が行われたか否かを判定する。オブジェクトは、例えば、
図3(a)の壁オブジェクト301、目的地オブジェクト302、又は移動オブジェクト303、304である。オブジェクトの配置操作が行われた場合には、処理はステップS205に進み、オブジェクトの配置操作が行われていない場合には、処理はステップS206に進む。
【0022】
ステップS205では、CPU101は、ユーザーの操作部106の操作に応じて、オブジェクトを図面上に配置し、オブジェクトが配置された図面をディスプレイ105に表示するように制御する。その後、処理はステップS202に戻る。
【0023】
ステップS206では、CPU101は、ユーザーの操作部106の操作に応じて、図面上のオブジェクトが選択されたか否かを判定する。図面上のオブジェクトが選択された場合には、処理はステップS207に進み、図面上のオブジェクトが選択されていない場合には、処理はステップS215に進む。
【0024】
ステップS207では、CPU101は、ユーザーの操作部106の操作に応じて、選択されたオブジェクトを目的地オブジェクト(目的地図形)に変換する指示がされたか否かを判定する。例えば、CPU101は、ディスプレイ105に対して、
図3(a)のツールパレット321を表示するように制御する。ツールパレット321は、CADソフトウェアにおいて各ツールを選択できる選択肢一覧を示したものである。上記の指示は、ユーザーがツールパレット321内の目的地オブジェクト(目的地図形)を選択することにより、行われる。選択されたオブジェクトを目的地オブジェクト(目的地図形)に変換する指示がされた場合には、処理はステップS208に進み、選択されたオブジェクトを目的地オブジェクト(目的地図形)に変換する指示がされていない場合には、処理はステップS213に進む。
【0025】
ステップS208では、CPU101は、ディスプレイ105に対して、目的地の設定ダイアログを表示するように制御する。目的地の設定ダイアログは、ユーザー操作に応じて設定可能な設定項目として「目的地番号」と「次の目的地」を含む。
【0026】
ステップS209では、CPU101は、ユーザーの操作部106の操作に応じて、目的地の設定ダイアログに対する設定変更操作(設定値の入力)が行われたか否かを判定する。設定ダイアログに対する設定変更操作が行われた場合には、処理はステップS210に進み、設定ダイアログに対する設定変更操作が行われていない場合には、処理はステップS211に進む。
【0027】
ステップS210では、CPU101は、目的地の設定ダイアログに対して入力された変更後の設定値に従って設定変更を行う。より詳しくは、選択されたオブジェクトに対して入力された変更後の設定値を対応づけてメモリ102に記録する。その後、処理はステップS211に進む。
【0028】
ステップS211では、CPU101は、ユーザーの操作部106の操作に応じて、OKボタンがクリックされたか否かを判定する。OKボタンがクリックされた場合には、処理はステップS212に進み、OKボタンがクリックされていない場合には、処理はステップS209に戻る。
【0029】
ステップS212では、CPU101は、ステップS210での設定を反映して、ステップS206で選択したオブジェクトを、目的地オブジェクト(目的地図形)に変換する。その後、処理はステップ202に戻る。これによってオブジェクトの表示形態が、目的地オブジェクトに対応する表示形態となり、目的地オブジェクトであることが識別可能な見た目になる。
【0030】
ステップS213では、CPU101は、選択されたオブジェクトが変速領域グリッドであるか否かを判定する。選択されたオブジェクトが変速領域グリッドである場合には、選択された変速領域グリッドを選択中の表示形態で表示したうえで
図4のステップS415に進み、選択されたオブジェクトが変速領域グリッドでない場合には、処理はステップS214に進む。
【0031】
ステップS214では、CPU101は、選択されたオブジェクトに対して、ユーザーの操作に応じたその他の処理を行う。例えば、CPU101は、選択されたオブジェクトを移動オブジェクト303、304のような移動オブジェクト(ひと図形)に変換する。その後、処理はステップS202に戻る。
【0032】
ステップS215では、CPU101は、ユーザーの操作部106の操作に応じて、変速領域グリッドツールが選択されたか否かを判定する。変速領域グリッドツールの選択は、ツールパレット321に含まれる複数の選択項目のうち、変速領域グリッド322を選択することにより行われる。変速領域グリッドツールが選択された場合には、処理はステップS216に進み、変速領域グリッドツールが選択されていない場合には、処理はステップS217に進む。変速領域グリッド322のうち、左側のアイコンは、操作(クリック又はタッチ)することにより、変速領域グリッドの配置を指示できる機能アイコンである。
【0033】
ステップS216では、CPU101は、変速領域グリッド配置処理を行う。変速領域グリッド配置処理を行った後、処理はステップS202に戻る。以下、
図4を参照して、変速領域グリッド配置処理の詳細を説明する。
図4は、変速領域グリッド配置処理の詳細を示すフローチャートである。このフローチャートにおける各処理は、CPU101が不揮発性メモリ103に格納されたプログラムをメモリ102に展開して実行することにより実現される。
【0034】
ステップS401では、CPU101は、ディスプレイ105に対して、作図用カーソルを表示するように制御する。
【0035】
ステップS402では、CPU101は、操作部106を用いた作図用カーソルを用いたユーザー操作による、変速領域グリッドの範囲を示す矩形の配置操作の受付を行う。CPU101は、ユーザーによる矩形の配置操作(例えば左上頂点と右下頂点をそれぞれクリックして指定する操作)に応じて、変速領域グリッドの範囲を示す矩形を図面上に配置し、矩形が配置された図面をディスプレイ105に表示するように制御する。例えば、CPU101は、
図3(a)の図面に対して矩形306の配置操作が行われると、
図3(b)の矩形306を図面上に配置し、矩形306が配置された図面をディスプレイ105に表示するように制御する。
【0036】
ステップS403では、CPU101は、変速領域グリッドの範囲を示す矩形の配置を完了したか否かを判定する。変速領域グリッドの範囲を示す矩形の配置を完了した場合には、処理はステップS404に進み、変速領域グリッドの範囲を示す矩形の配置を完了していない場合には、処理はステップS402に戻る。
【0037】
ステップS404では、CPU101は、ディスプレイ105に対して、
図3(b)の変速領域グリッドのポップアップダイアログ330を表示するように制御する。ポップアップダイアログ330は、変速領域グリッドツールによって変速領域グリッドの範囲を示す矩形を設定するとポップアップ表示される設定ダイアログであり、ユーザー操作に応じて設定される設定項目として、下記の設定項目を含む。
【0038】
表示設定に係る設定項目として、「シミュレーションで非表示」、「設定値を図面に表示」を含む。「シミュレーションで非表示」は、シミュレーションにおいて変速領域グリッドを表示させるか否かの設定が可能であり、「設定値を図面に表示」は、図面上に変速領域グリッドの速度に関する設定値(速さ又は速度倍率)を表示させるか否かの設定が可能である。
【0039】
グリッド設定に係る設定項目として、横の分割数、縦の分割数を含む。横の分割数は、設定値として横方向における変速領域グリッドの分割数が設定可能であり、縦の分割数は、設定値として縦方向における変速領域グリッドの分割数が設定可能である。横の分割数及び縦の分割数のそれぞれの設定値に基づいて、変速領域グリッドが複数の区分領域に分割される。
【0040】
速度設定に係る設定項目として、変速方法、左上の速さ、左下の速さ、右上の速さ、右下の速さ、左上の速度倍率、左下の速度倍率、右上の速度倍率、右下の速度倍率を含む。変速方法は、設定値として「速度」と「速度倍率」のいずれかを設定可能である。左上の速さ、左下の速さ、右上の速さ、右下の速さ、左上の速度倍率、左下の速度倍率、右上の速度倍率、右下の速度倍率のそれぞれは、ユーザーが任意の設定値を入力可能である。変速方法として「速度」が設定された場合、解析処理(シミュレーション)において、左上の速さ、左下の速さ、右上の速さ、及び右下の速さの各項目に設定された設定値に基づいて、変速領域グリッド内での移動オブジェクトの移動速度が制御される。また、変速方法として「速度倍率」が設定された場合、解析処理(シミュレーション)において、左上の速度倍率、左下の速度倍率、右上の速度倍率、及び右下の速度倍率の各項目に設定された設定値に基づいて、変速領域グリッド内での移動オブジェクトの移動速度が制御される。
【0041】
出現設定に係る設定項目として、出現方法、出現時刻、消失時刻、出現するイベント、消失するイベント、初期状態を含む。出現方法は、変速領域グリッドの出現方法を設定するものであり、設定値として、例えば「固定」、「可変(時間)」、「可変(イベント)」のいずれかを設定可能である。出現時刻、消失時刻は、ユーザーが任意の時刻を入力可能であり、それぞれ変速領域グリッドを出現させる時刻、変速領域グリッドを消失させる時刻を設定可能である。出現するイベント、消失するイベントは、ユーザーが任意のイベントを入力可能であり、それぞれ変速領域グリッドを出現させる契機(トリガー、条件)となるイベント、変速領域グリッドを消失させる契機となるイベントを設定可能である。初期状態は、設定値として、変速領域グリッドが「出現している」か「出現していない」のいずれかを設定可能である。出現方法として「固定」が設定された場合、解析処理(シミュレーション)において、常に変速領域グリッドを出現させるように制御される。出現方法として「可変(時間)」が設定された場合、解析処理(シミュレーション)において、出現時刻の設定値に応じて変速領域グリッドを出現させるように制御され、消失時刻の設定値に応じて変速領域グリッドを消失させるように制御される。出現方法として「可変(イベント)」が設定された場合、解析処理(シミュレーション)において、出現するイベントの設定値のイベントが発生することに応じて変速領域グリッドを出現させるように制御され、消失するイベントの設定値のイベントが発生することに応じて変速領域グリッドを消失させるように制御される。
【0042】
図4に戻り、ステップS405では、CPU101は、ユーザーの操作部106の操作に応じて、ポップアップダイアログ330の各設定項目に対する設定値の入力を受け付ける。
【0043】
ステップS406では、CPU101は、ユーザーの操作部106の操作に応じて、ポップアップダイアログ330の変速方法の設定値として「速度」が設定されたか否かを判定する。変速方法の設定値として「速度」が設定された場合には、処理はステップS407に進み、変速方法の設定値として「速度」が設定されていない場合、すなわち「速度倍率」が設定された場合には、処理はステップS408に進む。
【0044】
ステップS407では、CPU101は、ディスプレイ105に対して、ポップアップダイアログ330において、速度の入力欄をアクティブ化して表示するように制御する。すなわち、CPU101は、ポップアップダイアログ330の速度設定に係る設定項目における左上の速さ、左下の速さ、右上の速さ、右下の速さのそれぞれの入力欄をアクティブ化して表示するように制御する。
【0045】
ステップS408では、CPU101は、ディスプレイ105に対して、ポップアップダイアログ330において、速度倍率の入力欄をアクティブ化して表示するように制御する。すなわち、CPU101は、ポップアップダイアログ330の速度設定に係る設定項目における左上の速度倍率、左下の速度倍率、右上の速度倍率、右下の速度倍率のそれぞれの入力欄をアクティブ化して表示するように制御する。
【0046】
ステップS409では、CPU101は、ユーザーの操作部106の操作に応じて、ポップアップダイアログ330のOKボタンがクリックされたか否かを判定する。OKボタンがクリックされた場合には、処理はステップS410に進み、OKボタンがクリックされていない場合には、処理はステップS405に戻る。
【0047】
ステップS410では、CPU101は、速度設定の左上、左下、右上、右下の各端点の設定値と分割数の横及び縦の設定値とに基づいて、変速領域グリッドの各区分領域の速度を算出する。例えば、CPU101は、速度設定の左上、左下、右上、右下の各端点の設定値を用いた双線形補間に基づいて、分割数の設定値に応じて分割した複数の区分領域の速度をそれぞれ算出する。例えば、横方向の分割数がmであり、縦方向の分割数がnであるとすると、変速領域グリッドの範囲を示す矩形は、(m×n)個の区分領域に分割されることとなる。また、左上の設定値がLtであり、左下の設定値がLbであり、右上の設定値がRtであり、右下の設定値がRbであるとする。このとき、左上の端点を含む区分領域を横方向に1番目、縦方向に1番目の区分領域(1,1)とし、右下の端点を含む区分領域を横方向にm番目、縦方向にn番目の区分領域(m,n)とすると、横方向にi番目(i列目)、縦方向にj番目(j行目)の区分領域(i,j)の速度に関する設定値V(i,j)は、下記(式1)により算出される。
【0048】
【0049】
ステップS411では、CPU101は、変速領域グリッドの範囲を示す矩形のサイズ及び分割数の横及び縦の設定値に基づいて、変速領域グリッドの各区分領域の範囲を算出する。例えば、CPU101は、分割数の設定値に応じて分割した矩形内の複数の区分領域について、各区分領域の4つの頂点の座標を決定し、メモリ102に記憶する。
【0050】
ステップS412では、CPU101は、各区分領域にステップS410で算出した速度の情報を付与し、メモリ102に記憶する。CPU101は、各区分領域に対して、対応する速度に関する設定値を設定することで、各区分領域と速度に関する設定値とを関連付けてメモリ102に記憶する。
【0051】
ステップS413では、CPU101は、各区分領域に対して付与した速度の情報の割合に基づいて、変速領域グリッドを表示する際のカラーデータを算出する。例えば、CPU101は、設定された速度に関する設定値に対応する色彩で区分領域が表示されるようにカラーデータを算出し、さらには設定値の割合に比例したグラデーションで表示されるようにカラーデータを算出する。
【0052】
ステップS414では、CPU101は、ディスプレイ105に対して、変速領域グリッドの範囲を示す矩形を、
図5(a)のような変速領域グリッド501で表示するように制御する。このとき、図面において、変速領域グリッド501を選択している状態となっており、CPU101は、格子状である変速領域グリッド501の全体を選択していることがわかるように、ディスプレイ105に対して、図面における他のオブジェクトと比較して、変速領域グリッド501の格子状の選択枠を強調して表示するように制御する。格子状の選択枠は、変速領域グリッド501における複数の区域(区分領域)の境界を強調している。また、CPU101は、ディスプレイ105に対して、選択している配置済みの変速領域グリッド501の設定ダイアログ521を表示するように制御する。設定ダイアログ521に含まれる設定項目は、変速領域グリッドの範囲を示す矩形を設定したときにポップアップ表示される設定ダイアログ330と同様である。CPU101は、ディスプレイ105に対して、選択している変速領域グリッド501の頂点及び各辺の中点にハンドル506を表示するように制御する。このハンドル506をユーザーが操作部106のマウス操作でドラッグすることにより、変速領域グリッド501の左右伸縮、上下伸縮、及び斜め方向への拡大縮小が可能である。また、変速領域グリッド501が選択されている状態で、変速領域グリッド501内のハンドル506以外の領域をユーザーが操作部106のマウス操作でドラッグすることにより、変速領域グリッド501の位置を変更することが可能である。なお、
図2のステップS213において選択されたオブジェクトが変速領域グリッドであり、ステップS415に進む場合にも、
図5(a)と同様の表示が行われる。
【0053】
また、
図5(a)に一例を示すように図面上に変速領域グリッド501を表示する際、CPU101は、ディスプレイ105に対して、左上の速度に関する設定値502、左下の速度に関する設定値503、右上の速度に関する設定値504、及び右下の速度に関する設定値505を、ユーザーが確認できるようにガイド表示するように制御する。表示される設定値502~505は、設定ダイアログ521において、変速方法の設定値に応じてアクティブとなっている入力欄の設定値である。設定ダイアログ521において、変速方法の設定値として「速度」が設定されている場合には、左上の速さ、左下の速さ、右上の速さ、右下の速さの設定値が設定値502、503、504、505として表示される。また、設定ダイアログ521において、変速方法の設定値として「速度倍率」が設定されている場合には、左上の速度倍率、左下の速度倍率、右上の速度倍率、右下の速度倍率の設定値502、503、504、505として表示される。なお、設定ダイアログ521における設定値を設定値502、503、504、505としてガイド表示するに限らず、設定値502、503、504、505に直接値を設定できるようにして、設定ダイアログ521における設定値に反映させるようにしてもよい。
【0054】
図5(a)には、変速方法の設定値として「速度」が設定されている場合を一例として示しており、左上の速さの設定値である「1.2」が設定値502に、左下の速さの設定値である「1.0」が設定値503に、右上の速さの設定値である「0.5」が設定値504に、右下の速さの設定値である「0.4」が設定値505にそれぞれ表示されている。このように設定されている場合の変速領域グリッド501の各区分領域に設定される速度の設定値の例を
図5(b)に示す。左上の端点を含む1行目1列目の区分領域の速度の設定値は左上の速さの設定値と等しく、左下の端点を含む3行目1列目の区分領域の速度の設定値は左下の速さの設定値と等しい。また、右上の端点を含む1行目5列目の区分領域の速度の設定値は右上の速さの設定値と等しく、右下の端点を含む3行目5列目の区分領域の速度の設定値は右下の速さの設定値と等しい。その他の区分領域の速度の設定値は、前述したように左上の速さ、左下の速さ、右上の速さ、右下の速さの設定値を用いた双線形補間に基づいて算出され、ユーザー操作なしで自動的に設定される。なお、
図5(b)に示した例での速度単位の[m/秒]はCADソフトウェアのシミュレーションで採用している単位の一例であり、実空間での避難時の歩行を想定した速度単位となっている。
【0055】
また、図面上に変速領域グリッド501を表示する際、CPU101は、ディスプレイ105に対して、ステップS413で算出したカラーコードに従って、変速領域グリッド501の各区分領域を表示するように制御する。すなわち、CPU101は、各区分領域の色がそれぞれに設定された速度に関する設定値を割合に換算したものに対応する色となるように、各区分領域に設定された速度に関する設定値の割合に比例したグラデーションの彩色で変速領域グリッド501の各区分領域を表示するように制御する。
図5(a)では、色が濃い方が速度が遅く(設定値が小さく)、色の薄い方が速度が速い(設定値が大きい)例を示している。
【0056】
なお、
図5(a)に示した状態から、変速領域グリッド501を選択している状態を解除した場合、CPU101は、ディスプレイ105に対して、
図6(a)に示すように表示するように制御する。選択されていた変速領域グリッド501の設定ダイアログ521が非表示となり、変速領域グリッド501を強調しての表示やハンドル506の表示も解除される。
【0057】
図4に戻り、ステップS415では、CPU101は、ユーザーの操作部106の操作に応じて、変速領域グリッドの設定ダイアログ431の設定値の変更が行われたか否かを判定する。設定ダイアログ431の設定値の変更が行われた場合には、処理はステップS410に戻り、設定ダイアログ431の設定値の変更が行われていない場合には、処理はステップS416に進む。
【0058】
ステップS416では、CPU101は、ユーザーの操作部106の操作に応じて、変速領域グリッドに対するサイズ又は位置の変更操作が行われたか否かを判定する。変速領域グリッドに対するサイズ又は位置の変更操作が行われた場合には、処理はステップS411に戻る。変速領域グリッドに対するサイズ又は位置の変更操作が行われていない場合には、
図4の変速領域グリッド配置処理を終了し、処理は
図2のステップS202に戻る。
【0059】
図2に戻り、ステップS217では、CPU101は、ユーザーの操作部106の操作に応じて、ファイル保存の指示があるか否かを判定する。ファイル保存の指示がある場合には、処理はステップS218に進み、ファイル保存の指示がない場合には、処理はステップS219に進む。
【0060】
ステップS218では、CPU101は、上記の編集後の図面のファイル(メモリ102に記録した各種設定値を含む)を不揮発性メモリ103に保存する。保存後のファイルは、ステップS203で読み込み可能である。その後、処理はステップS202に戻る。
【0061】
ステップS219では、CPU101は、ユーザーの操作部106の操作に応じて、解析実行(シミュレーションの実行)の指示があるか否かを判定する。解析実行の指示がある場合には、処理はステップS220に進み、解析実行の指示がない場合には、処理はステップS221に進む。
【0062】
ステップS220では、CPU101は、図面の解析処理を行い、ディスプレイ105に対して、移動オブジェクト303、304が目的地オブジェクト302に向けて移動するシミュレーションを表示するように制御する。その後、処理はステップS202に戻る。
【0063】
ステップS221では、CPU101は、ユーザーの操作部106の操作に応じて、
図2のフローチャートの処理の終了の指示(例えばCADソフトを閉じる指示)があるか否かを判定する。終了の指示がある場合には、CPU101は、
図2のフローチャートの処理を終了し、終了の指示がない場合には、処理はステップS202に戻る。
【0064】
ここで、
図2のステップS220での解析処理(シミュレーション)について説明する。解析処理(シミュレーション)を開始すると、CPU101は、移動オブジェクト毎に設定された移動速度で、障害物オブジェクトや壁オブジェクトなど移動オブジェクトの移動を妨げるオブジェクトを通らない経路で、設定した目的地(目的地オブジェクト)に向かって移動オブジェクトの移動を開始させるよう制御する。移動オブジェクトは、例えば、人(歩行者)や車いすである。また、このシミュレーションは、図面上で移動オブジェクトを移動させるシミュレーションであり、例えば、建築物内にいる人の移動のシミュレーションや、コンサート会場などのイベントに来場した人の移動のシミュレーションである。また、例えば、移動オブジェクトが、避難場所や避難口などの目的地に移動する避難シミュレーションであってもよい。
【0065】
(1)移動オブジェクトを目的地オブジェクトに向けて移動させるように制御する際、CPU101は、移動オブジェクト毎に、移動オブジェクトの現在位置の座標が出現済みの変速領域に含まれる否かを判定する。移動オブジェクトの現在位置の座標が出現済みの変速領域に含まれる場合には、CPU101は、その変速領域に対応する移動速度に移動オブジェクトの移動速度を変更して移動オブジェクトを移動させるように制御する。変速領域に対応する移動速度とは、変速領域に定義された(移動オブジェクト毎に設定された移動速度×速度倍率)又は(絶対速度)である。移動オブジェクトの現在位置の座標が出現済みの変速領域に含まれない場合には、CPU101は、移動オブジェクト毎に設定された移動速度で移動オブジェクトを移動させるように制御する。
【0066】
(2)また、移動オブジェクトを目的地オブジェクトに向けて移動させるように制御する際、CPU101は、シミュレーションにおける現在時刻が変速領域を出現或いは消失させる時刻であるか否かを判定する。シミュレーションにおける現在時刻が変速領域を出現或いは消失させる時刻である場合には、CPU101は、出現させる変速領域があれば対象の変速領域を出現させ、消失させる変速領域があれば対象の変速領域を消失させる。
【0067】
(3)また、移動オブジェクトを目的地オブジェクトに向けて移動させるように制御する際、CPU101は、変速領域を出現或いは消失させるイベントが発生したか否かを判定する。変速領域を出現或いは消失させるイベントが発生した場合には、CPU101は、イベント発生に応じて出現させる変速領域があれば対象の変速領域を出現させ、イベント発生に応じて消失させる変速領域があれば対象の変速領域を消失させる。
【0068】
CPU101は、解析終了又はすべての移動オブジェクトの最後の目的地(目的地番号が最大の目的地オブジェクト)への移動が完了するまで、(1)~(3)の制御を繰り返し行い、移動オブジェクトを目的地オブジェクトに向けて移動させるように制御する。
【0069】
前述した解析処理(シミュレーション)の実行において、最初から変速領域グリッドを配置しておく場所の例としては、移動オブジェクトの移動開始地点や出入口や傾斜のある部分などがある。移動オブジェクトの移動開始地点や出入口は初期から全速での移動は通常ないからであり、傾斜のある部分は一般的に下り勾配では速くなり、上り勾配では遅くなるからである。また、変速領域グリッドを出現させるイベントの例としては、浸水発生や火災発生などがある。浸水発生はぬかるみ等で歩きにくくなるからであり、火災発生は煙を避ける姿勢のために歩きにくくなったり、スプリンクラーの稼働で歩きにくくなったりするからである。また、変速領域グリッドを消失させるイベントの例としては、変速領域グリッドを出現させるイベントとは逆に、排水完了、火災鎮火、スプリンクラー停止などがある。
【0070】
なお、前述した説明では、変速領域グリッド及びその区分領域は矩形の領域としているが、作成した変速領域グリッドに対して以下の操作をすれば所望の形で変速領域グリッドを配置することが可能である。例えば、変速領域グリッドにおいて、トリミングしたい部分(歩行させない部分)に障害物オブジェクト(障害物図形)を重ねるようにすることで、その部分を移動オブジェクトが移動できないようにでき、所望の形の変速領域グリッドとすることができる。また、変速領域グリッドのグループを解除して、それぞれの区分領域を単一のオブジェクトとしたうえで、CADソフトウェアの切り欠き機能などで直接加工して形を変化させることで、所望の形の変速領域グリッドとすることができる。
【0071】
次に、効果について説明する。変速領域グリッドにおける端の領域の速さ又は速度倍率をユーザーが設定すれば、その間の領域の速度の設定値は滑らかに変化するようにCPU101により自動的に算出して設定されるため、移動オブジェクトの滑らかな速度変化を少ない操作手数で容易に設定することができる。
【0072】
また、図面に変速領域グリッドを表示する際、表示の見た目も滑らかな速度変化が見てわかるようにグラデーション表示となっているので、どのような速度設定状況となっているか直感的にわかりやすくユーザーに提示することができる。
【0073】
なお、複数の変速領域グリッドを組み合わせることで、移動オブジェクトの移動速度を増加から減少に変化させたり、減少から増加に変化させたりするように制御することも可能である。例えば、
図6(b)に示すように、変速領域グリッド501と速度の設定値が左右対称となる変速領域グリッド601を作成し、変速領域グリッド501の右側に変速領域グリッド601とを接するように左右に並べて配置する。このように複数の変速領域グリッドを組み合わせることで、速度の変化が単調増加及び単調減少のいずれでもない変速領域を作成することが可能である。例えば、
図6(b)に示した変速領域グリッド501と変速領域グリッド601の組み合わせによれば、左右中央に行くほど深くて歩きにくい(速度が落ちる)ぬかるみの移動をシミュレーションすることができる。
【0074】
また、前述した説明では、変速領域グリッドの左上、左下、右上、右下の4つの区分領域における速度の設定値をユーザーが設定し、変速領域グリッドのその他の区分領域の速度の設定値を補間により自動的に算出して設定する例を説明した。しかし、これに限定されるものではなく、左上、左下、右上、右下の4つの端に加えて、中央の区分領域(左右方向の中央、上下方向の中央、左右方向及び上下方向それぞれの中央のいずれか)における速度の設定値をユーザーが設定できるようにして、変速領域グリッドのその他の区分領域の速度の設定値を補間により自動的に算出して設定するようにしてもよい。このようにすれば、
図6(b)に示した変速領域グリッド501と変速領域グリッド601との2つを用いた変速領域グリッドを、1つの変速領域グリッドで生成することができ、操作手数を更に減らすことができる。
【0075】
なお、シミュレーションソフトウェアで移動オブジェクトが移動するシミュレーションを行う際の速度変化の設定について説明したが、これに限るものではない。画面上や仮想空間内を移動する移動オブジェクトに対して、移動オブジェクトの移動経路に本実施形態で説明したような変速領域グリッドを設定できるものであれば適用可能である。例えば、ゲームの製作において、移動オブジェクトであるキャラクターや乗り物の速度を変化させる変速領域を移動経路に複数並べて設定し、滑らかな速度変化をさせる場合に、本実施形態のような変速領域グリッドを適用可能である。
【0076】
なお、CPU101が行うものとして説明した上述の各種制御は1つのハードウェアが行ってもよいし、複数のハードウェア(例えば、複数のプロセッサーや回路)が処理を分担することで、装置全体の制御を行ってもよい。
【0077】
また、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。さらに、上述した各実施形態は本発明の一実施形態を示すものにすぎず、各実施形態を適宜組み合わせることも可能である。
【0078】
また、上述した実施形態においては、本発明を
図1の電子機器に適用した場合を例にして説明したが、これはこの例に限定されず、オブジェクトを移動させるように制御する電子機器であれば適用可能である。すなわち、本発明は、パーソナルコンピュータやPDA、携帯電話端末や携帯型の画像ビューワ、ディスプレイを備えるプリンタ装置、デジタルフォトフレーム、音楽プレーヤー、ゲーム機、電子ブックリーダーなどに適用可能である。
【0079】
(他の実施形態)
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【0080】
なお、上述の実施形態は、何れも本発明を実施するにあたっての具体例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されない。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0081】
100:電子機器 101:CPU 102:メモリ 103:不揮発性メモリ 104:画像処理部 105:ディスプレイ 106:操作部 107:記録媒体I/F 108:記録媒体 109:外部I/F 110:通信I/F 111:通信ネットワーク 112:カメラ部 150:内部バス