(57)【要約】    【課題】  図形を所望の位置に容易に配置することのできる入力装置を提供する。    【解決手段】  コンピュータのディスプレイ画面上には、補助領域表示手段２によって、補助領域８が表示される。また、ディスプレイ画面上には描画領域１０も設けられている。ユーザの入力を受けると、区分手段４は、この補助領域を、ユーザ入力に従って、複数の要素領域に分割する。続いて、ユーザが、区分した補助領域の所望の領域に、図形数を入力する。これを受けて、図形数表示手段６は、補助領域８中に、入力された図形数を表示する。図形表示手段１２は、図形数の入力されている要素領域の、入力補助領域内における位置を算出する。続いて、算出した位置に対応する描画領域１０内の位置に、図形を描画する。この際、入力された図形数に応じた数の図形を描画する。【選択図】  図１
2009129008.tif 000002
【特許請求の範囲】
【請求項１】
補助領域を表示する補助領域表示手段と、
ユーザからの入力指示を受けて、前記補助領域を複数の要素領域に区分する区分手段と、
ユーザからの入力指示を受けて、指定された要素領域中に、図形数を表示する図形数表示手段と、
図形数の入力されている要素領域の補助領域内における位置に対応する描画領域の位置に、所定の図形を、当該図形数の個数表示する図形表示手段と、
を備えた、描画領域に対する図形の入力を行う入力装置。
【請求項２】
描画領域に対する図形の入力を行うため、コンピュータによって下記の機能を実現するためのプログラムであって、
補助領域を表示する補助領域表示手段と、
ユーザからの入力指示を受けて、前記補助領域を複数の要素領域に区分する区分手段と、
ユーザからの入力指示を受けて、指定された要素領域中に、図形数を表示する図形数表示手段と、
図形数の入力されている要素領域の補助領域内における位置に対応する描画領域の位置に、所定の図形を、当該図形数の個数表示する図形表示手段と、
をコンピュータによって実現するためのプログラム。
【請求項３】
請求項１または２の装置またはプログラムにおいて、
前記図形表示手段は、要素領域に入力された図形数に応じ、図形数が大きい場合には図形を小さく、図形数が小さい場合には図形を大きく表示することを特徴とする装置またはプログラム。
【請求項４】
請求項１〜３のいずれかの装置またはプログラムにおいて、さらに、
ユーザからの入力指示を受けて、前記図形と図形との間を関連付ける線を描画する描画手段を備えたことを特徴とする装置またはプログラム。
【請求項５】
請求項１〜４のいずれかの装置またはプログラムにおいて、さらに、
描画された図形に基づいて、シミュレーションを実行するシミュレーション手段を備えたことを特徴とする装置またはプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、図形入力を行うための装置に関し、特にその入力インターフェイスに関するものである。
【背景技術】
【０００２】
コンピュータを用いて図形を描こうとする場合、マウスを使用して、所望の位置に、所望の形の図形を描画するのが一般的な方法である。この方法は、図形の形をどのようにするか、各図形をどの位置に配置するかという点において、極めて高い自由度を持っている。したがって、ユーザの描画能力が高い場合には、ユーザの希望する図形を所望の位置に描くことができる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記のような従来技術においては、描画の自由度が高い反面、適切な描画位置を決定するのが困難であったり、図形の描画自体が面倒であるという問題があった。
【０００４】
このような問題は、図形の形には大きな意味がなく、図形間の関連が見やすいことが重視されるような、ブロック図、組織図等において顕著である。
【０００５】
この発明は、上記のような問題点を解決して、図形を所望の位置に容易に配置することのできる入力装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
この発明の一側面による発明の特徴を以下に示す。
【０００７】
(1)この発明に係る入力装置は、補助領域を表示する補助領域表示手段と、ユーザからの入力指示を受けて、前記補助領域を複数の要素領域に区分する区分手段と、ユーザからの入力指示を受けて、指定された要素領域中に、図形数を表示する図形数表示手段と、図形数の入力されている要素領域の補助領域内における位置に対応する描画領域の位置に、所定の図形を、当該図形数の個数表示する図形表示手段とを備えた、描画領域に対する図形の入力を行う入力装置である。
【０００８】
したがって、補助領域に数値を入力するだけで、対応する描画領域の位置に図形を描画することができ、操作が容易である。
【０００９】
(3)この発明に係る入力装置は、図形表示手段が、要素領域に入力された図形数に応じ、図形数が大きい場合には図形を小さく、図形数が小さい場合には図形を大きく表示することを特徴としている。
【００１０】
したがって、全体のバランスを崩すことなく、対応する描画領域に描画する図形の数を指定することができる。
【００１１】
(4)この発明に係る入力装置は、ユーザからの入力指示を受けて、前記図形と図形との間を関連付ける線を描画する描画手段を備えたことを特徴としている。
【００１２】
したがって、配置された図形同士を関連付ける線を描画することができる。
【００１３】
(5)この発明に係る入力装置は、描画された図形に基づいて、シミュレーションを実行するシミュレーション手段を備えたことを特徴としている。
【００１４】
したがって、シミュレーション装置においても図形の入力を簡素化することができる。
【００１５】
この発明において「補助領域」とは、描画領域における図形の描画を指示するための領域をいう。実施形態においては、図１または図５における補助領域８がこれに該当する。
【００１６】
「要素領域」とは、補助領域を区分したそれぞれの領域をいう。
【００１７】
「描画領域」とは、図形の描画を行う対象領域をいう。
【００１８】
「描画要素領域」とは、補助領域の設定に従って区分された描画領域のそれぞれの領域をいう。
【００１９】
「補助領域表示手段」は、実施形態においては、図３ａのステップＳ１によって実現される図２のＣＰＵ２０の機能がこれに対応する。なお、他のコンピュータに対して表示の指示を行う手段も含む概念である。
【００２０】
「区分手段」は、実施形態においては、図３ａのステップＳ２、Ｓ３によって実現されるＣＰＵ２０の機能がこれに対応する。なお、他のコンピュータに対して区分の指示を行う手段も含む概念である。
【００２１】
「図形数表示手段」は、実施形態においては、図３ａのステップＳ４、Ｓ５によって実現されるＣＰＵ２０の機能がこれに対応する。なお、他のコンピュータに対して表示の指示を行う手段も含む概念である。
【００２２】
「図形表示手段」は、実施形態においては、図３ａのステップＳ６、Ｓ７によって実現されるＣＰＵ２０の機能がこれに対応する。なお、他のコンピュータに対して表示の指示を行う手段も含む概念である。
【００２３】
「描画手段」は、実施形態においては、図３ａのステップＳ１０、Ｓ１１によって実現されるＣＰＵ２０の機能がこれに対応する。なお、他のコンピュータに対して描画の指示を行う手段も含む概念である。
【００２４】
「プログラム」とは、ＣＰＵにより直接実行可能なプログラムだけでなく、ソース形式のプログラム、圧縮処理がされたプログラム、暗号化されたプログラム等を含む概念である。
【発明を実施するための形態】
【００２５】
図１に、この発明の一実施形態による入力装置の機能ブロック図を示す。この実施形態では、シミュレーションに用いるブロック図の描画を例にとって説明する。コンピュータのディスプレイ画面上には、補助領域表示手段２によって、補助領域が表示される。また、後述のように、ディスプレイ画面上には描画領域１０も設けられている。
【００２６】
ユーザの入力を受けると、区分手段４は、この補助領域を、ユーザ入力に従って、複数の要素領域に分割する。続いて、ユーザが、区分した補助領域の所望の要素領域に、図形数を入力する。これを受けて、図形数表示手段６は、補助領域中に、入力された図形数を表示する。
【００２７】
図形表示手段１２は、図形数の入力されている要素領域の、入力補助領域内における位置を算出する。続いて、算出した位置に対応する描画領域１０内の位置に、図形を描画する。この際、入力された図形数に応じた数の図形を描画する。
【００２８】
図２に、図１の入力装置のハードウエア構成を示す。ＣＰＵ２０には、ディスプレイ１４（表示装置）、キーボード１６（入力装置）、マウス１８（入力装置）、メモリ２２（内部記憶装置）、ハードディスク２４(外部記憶装置）が接続されている。
【００２９】
ディスプレイ１４は、補助領域や描画領域を表示するものである。キーボード１６、マウス１８は、ユーザが指令を入力するためのものである。メモリ２２は、一時的な記憶を行うなど、ＣＰＵ２０のワーク領域として機能する。ハードディスク２４には、オペレーティングシステム（ＯＳ）２６（マイクロソフト社のWINDOWS（商標）など）および入力プログラム２８が記録されている。なお、ハードディスク２４などの外部記憶装置が、直接あるいは間接的に、一時的にあるいは常に、複数接続されている場合には、入力プログラム２８はオペレーティングシステム２６が記録されている外部記録装置とは異なる外部記憶装置に記録されていてもよい。入力プログラム２８は、ＯＳ２６と協働してその機能を発揮するものである。なお、入力プログラム２８単独でその機能を発揮するように構成してもよい。
【００３０】
図３ａに、入力プログラム２８のフローチャートを示す。以下、このフローチャートに従って、ＣＰＵ２０の行う動作を説明する。なお、ここでは、図４に示すような、薬物動態をシミュレートするための各器官などの関係を示したブロック図を作成する場合を例として説明する。従来であれば、薬物の流れや器官の重要性などを考慮しつつ、箱の大きさと配置を決定し、それぞれの箱毎に描画を行っていた。この実施形態によれば、このような作業を極めて簡易に行うことができる。
【００３１】
ＣＰＵ２０は、まず、図５に示すように、補助領域８と描画領域１０を含む設定画面をディスプレイ１４に表示する（ステップＳ１）。補助領域８は、描画領域１０にブロック図を配置するための指示を入力するための領域である。補助領域８の左および下には、補助領域を複数の要素領域に分割するための区分ボタン３０ａ、３０ｂ、３２ａ、３２ｂが表示される。なお、これら区分ボタン３０ａ、３０ｂ、３２ａ、３２ｂは、補助領域８の右および上など、いずれの位置に配置してもよい。ただし、補助領域８に近接して配置する方が、操作が分かりやすい。
【００３２】
また、補助領域８の右には、ブロック図の生成ボタン３４と修正ボタン３６が表示される。描画領域１０には、後述のように、補助領域８の指示内容に従ってブロック図が描画される。
【００３３】
ユーザは、作成したいブロック図についての図４のような状態を想定し、各箱の位置を決定できるような縦横のメッシュを決定する。図４から分かるように、左側の箱のかたまりは、箱Ｂ１、Ｂ２、Ｂ３の列と、箱Ｂ４、Ｂ５、Ｂ６、Ｂ７の列の、２つの列にて構成される。右側の箱のかたまりは、箱Ｂ８、Ｂ９、Ｂ１０による一つの列によって構成される。左側と右側の箱のかたまりは、別であることを明確にするために、列を一つ空けた方がよい。このように想定した場合には、メッシュの列は４つ必要であることがわかる。同様の検討を行方向についても行う。箱Ｂ５と箱Ｂ６は、他の箱に比べて重要性が低いので小さく表示したいと考えたとする。とすれば、箱Ｂ５と箱Ｂ６をあわせて１つの行であると想定して、メッシュの行は５つ必要であることが分かる。
【００３４】
このような検討のもと、ユーザは、以下のようにして、区分ボタン３０ａ、３０ｂ、３２ａ、３２ｂをマウス１８によってクリックし、補助領域８内に所望のメッシュを表示させる。区分ボタン３０ａ、３０ｂ、３２ａ、３２ｂが押下されると（ステップＳ２）、ＣＰＵ２０は、区分処理を行う（ステップＳ３）。
【００３５】
区分ボタンの下ボタン３０ｂが、ユーザによって押下されると、ＣＰＵ２０は、行を１つ増加させるとともに、行を区分するための線を描画する。たとえば、補助領域８が図６Ａの状態にあるとする。この時、ＣＰＵ２０は、メッシュの行列の数を、それぞれ「１」としてメモリ２２に記憶している。この状態で、下ボタン３０ｂがクリックされると、ＣＰＵ２０は、メッシュの行数を「２」に増加させて記憶するとともに、図６Ｂに示すように、補助領域８を上下に２等分するように区分線Ｌ１を表示する。さらに、もう一度、下ボタン３０ｂが押下されると、ＣＰＵ２０は、メッシュの行数を「３」に増加させて記憶するとともに、図６Ｃに示すように、補助領域８を上下に３等分するように区分線Ｌ１、区分線Ｌ２を表示する。
【００３６】
このようにして、ユーザは、想定したメッシュの行数に達するまで下ボタン３０ｂを押下する。なお、行数を減らしたい場合、ユーザは上ボタン３０ａを押下することによりこれを実現することができる。たとえば、図６Ｃのような状態において、上ボタン３０ａが押下されると、ＣＰＵ２０は、メッシュの行数を「２」に減少させて記憶するとともに、図６Ｄに示すように、補助領域８を上下に２等分するように区分線Ｌ１を表示する。
【００３７】
列方向の区分ボタンである左ボタン３２ａ、右ボタン３２ｂについても、上記と同様である。つまり、右ボタン３２ｂが押下されると、ＣＰＵ２０は、メッシュの列を増加させて記憶するとともに、補助領域８を左右に列数にて等分するように区分線を表示する。左ボタン３２ａが押下されると、ＣＰＵ２０は、メッシュの列を減少させて記憶するとともに、補助領域８を左右に列数にて等分するように区分線を表示する。
【００３８】
上記のようにして、ユーザは、区分ボタン３０ａ、３０ｂ、３２ａ、３２ｂを押下することで、図７に示すように、想定したメッシュを補助領域８内に表示させることができる。なお、メッシュによって区切られた補助領域８の各領域を、要素領域という。
【００３９】
次に、ユーザは、このメッシュにしたがって、描画領域１０に描画すべき箱の位置と数を指定する。具体的には、箱を描画したい位置に対応するメッシュの要素領域内に、キーボード１６等を用いて数値を入力する。また、メッシュの当該要素領域に対応する位置に描画したい箱の数を数値として指定する。その後、ユーザが生成ボタン３４を押下すると、補助領域８の情報にしたがって、描画領域１０に箱が描画される。この時のＣＰＵ２０の処理を、以下説明する。
【００４０】
補助領域８のメッシュの要素領域が選択されて、キーボード６から数値が入力されると（ステップＳ４）、ＣＰＵ２０は、選択された要素領域に対応付けて当該数値を、メモリ２２に記憶するとともに、入力された数値を表示する（ステップＳ５）。図４のようなブロック図を得るためには、ユーザは、補助領域８に、図８に示すような数値を入力することになる。２行、２列の要素領域に「２」が入力されているのは、この要素領域に、図４の箱Ｂ５、Ｂ６の２つの箱を他の箱よりも小さく表示したいからである。さらに多くの数の箱を小さく表示したい場合には、数値を大きくすればよい。図８のような入力が行われた場合、メモリ２２には、図９に示すように、各要素領域に対応付けて、入力された数値が個数として記録される。なお、各要素領域は、列、行によって特定される。図９において、Ｍ(1,2)は、１列目、２行目の要素領域を示している。
【００４１】
ユーザは、このように数値を入力した後、生成ボタン３４をクリックする。ＣＰＵ２０は、生成ボタン３４がクリックされると（ステップＳ６）、補助領域８の指定に従って、描画領域１０にブロック図を描画する処理を行う（ステップＳ７）。
【００４２】
図３ｂに、描画処理の詳細を示す。ＣＰＵ２０は、まず、図９のテーブルを参照して、補助領域８に入力された箱の個数の合計を算出し、合計数が適切であるか否かを判断する（ステップＳ７１）。算出した合計が、０以下であれば、不適切である旨をディスプレイ１４に表示して、描画処理を終了する。０を超えていれば、ＣＰＵ２０は、描画領域１０の表示を消去して初期化する（ステップＳ７２）。次に、ＣＰＵ２０は、補助領域８において区分線によって指定された各要素領域を、描画領域に対応付けて配置した時の描画要素領域の大きさを算出する（ステップＳ７３）。
【００４３】
補助領域８において図８のように５行４列にて指定がなされている場合には、これに対応して、図１０に示すように、５行４列に描画領域が区分され、２０個の描画要素領域が形成される。なお、この実施形態では、各描画要素領域を区分する線は表示しないようにしているが、これを表示するようにしてもよい。
【００４４】
次に、ＣＰＵ２０は、各描画要素領域Ｎ(1,1)〜Ｎ(4,5)について順番に、箱の描画を行っていく。まず、描画要素領域Ｎ(1,1)について、これに対応する補助領域８の要素領域Ｍ(1,1)に入力された数値（図９参照）を読み出す。要素領域Ｍ(1,1)には数値は入力されていないので、個数は「０」であると判断する。ＣＰＵ２０は、この個数が、０であるか否かを判断する（ステップＳ７４）。「０」であれば、対応する描画要素領域Ｎ(1,1)には何も表示せず、次の描画要素領域Ｎ(2,1)についての処理に移る。描画要素領域Ｎ(2,1)についても個数が設定されていないので、次の描画要素領域Ｎ(3,1)についての処理に移る。
【００４５】
描画要素領域Ｎ(3,1)に対応する要素領域Ｍ(13,1)には、個数「１」が記録されている。したがって、ＣＰＵ２０は、ステップＳ７４からＳ７５に進み、描画すべき箱の大きさを算出する。箱の大きさは、描画要素領域全体の大きさとするのではなく、上下左右に所定のマージンをとった大きさとする。マージン部分に矢印などを表示するためである。なお、マージンの大きさは、個数によって変えるようにしてもよい。
【００４６】
次に、ＣＰＵ２０は、決定した箱の大きさにしたがって、当該描画要素領域Ｎ(3,1)内に箱を描画する（ステップＳ７６）。続いて、次の描画要素領域Ｎ(3,2)に対する処理を行う。このようにして、次々と、それぞれの描画要素領域に対する処理が進められる。
【００４７】
なお、描画要素領域Ｍ(2,2)に対応する要素領域Ｎ(2,2)には、個数「２」が設定されている。この場合、ＣＰＵ２０は、上下左右のマージンだけでなく、箱と箱との間のマージンも考慮して、箱の大きさを決定する。箱間のマージンは予め定めておく。なお、箱の個数によって、箱間のマージンを変化させるようにしてもよい。
【００４８】
全ての描画要素領域について処理が終わると（ステップＳ７７）、ＣＰＵ２０は、描画処理を終了する。
【００４９】
なお、ＣＰＵ２０は、上記の処理を行う際に、箱を生成した順に箱に対してＩＤを付し、配置場所（左上の点の座標）とともに、これをメモリ２２に記録する。上記の例であれば、箱ＩＤとして１〜１０までが記録されることになる。
【００５０】
上記のようにして、図１１に示すようなブロック図が、描画領域１０に描画される。このようにして描画されたブロック図が、ユーザにとって好ましいものでない場合には、ユーザは、補助領域８のメッシュの数や個数を修正し、再度生成ボタン３４を押すことによって、所望のブロック図を得ることができる。
【００５１】
上記のようにして所望の箱の配置を得ることができる。図１１に示すような箱の配置を得ると、ユーザは、箱に対するパラメータ設定や箱と箱を結ぶ連結線の描画を指示する。これらの設定を行うため、ユーザによって描画領域１０の箱がクリックされると（ステップＳ１０)、ＣＰＵ２０は、パラメータ設定処理（ステップＳ１１）を実行する。
【００５２】
パラメータ設定処理において、ＣＰＵ２０は、当該箱の中に表示すべき文字や当該箱から矢印を引くべき相手方の箱の指定などを入力するための画面（図示せず）を表示する。ユーザは、キーボード１６やマウス１８を用いてこの入力を行う。入力完了ボタン（図示せず）がクリックされると、ＣＰＵ２０は、入力内容にしたがって、ブロック図の表示を行う。このようにして描画されたブロック図を図１２に示す。
【００５３】
以下、シミュレーションを行うための微分方程式およびその係数を、矢印に対して設定入力し、シミュレーションを実行する。この点については、一般的なシミュレーションソフトウエアと同様であるので説明を省略する。
【００５４】
なお、作成されたブロック図を簡易に修正したい場合には、ユーザは、マウス１８を操作して、修正に関連する箱の上で右クリックを行う（図３ａのステップＳ１２）。右クリックによってなされる簡易修正処理（ステップＳ１３）のフローチャートを図３ｃに示す。
【００５５】
右クリックを受けると、ＣＰＵ２０は、ポップアップメニューをディスプレイ１４に表示する。このポップアップメニューには、「Add」「Duplicate」「Delete」が表示される。ユーザは、これらメニューのうちから一つを選択する。
【００５６】
なお、現在表示されている箱の数（補助領域８に入力された数値の合計）が、予め設定してあるAddのための上限数（たとえば、予め設定された全箱の上限数）に達している場合には、ＣＰＵ２０は、ポップアップメニュー中に「Add」ないし「Duplicate」を表示しない。また、現在表示されている箱の数（補助領域８に入力された数値の合計）が、予め設定してあるDuplicateのための上限数（たとえば、全箱数の上限の半分）に達している場合には、ＣＰＵ２０は、ポップアップメニュー中に「Duplicate」を表示しない。これにより、無駄な選択動作を排除することができる。なお、上記において、「Add」や「Duplicate」を全く表示しないのではなく、表示した上で選択押下できないようにしてもよい（いわゆるリゾルブ表示）。
【００５７】
「Add」が選択されると、ＣＰＵ２０は、選択された箱の属する描画要素領域において、新たに箱を一つ追加する（ステップＳ１３１）。この処理は具体的には、まず、選択された箱の属する描画要素領域に対応する要素領域に設定されている数値を１つ増加し、当該描画要素領域について箱の再描画を行うことによりなされる。
【００５８】
たとえば、図１２の「薬効」の箱がクリックされて、「Add」が選ばれると、ＣＰＵ２０は、この描画要素領域N(5,1)（図１０参照）に対応する要素領域の数を１つ増加させる。同時に、図９のM(5,1)の個数も１つ増加させる。続いて、ＣＰＵ２０は、当該描画要素領域N(5,1)の再描画を行う。その結果、描画要素領域N(5,1)の箱の数が増加しているので、小さな箱（図１２の「個体」「液体」と同じ大きさの箱）が２つ描画されることになる。
【００５９】
なお、ＣＰＵ２０は、既に存在する箱の下に新たな箱を生成して表示する。この際、ＣＰＵ２０は、新たな箱に対して、「薬効」の箱の次の番号のＩＤを付与するとともに、それより後の箱のＩＤを一つずつ繰り下げる。なお、「繰り下げられた」箱に対して設定していたパラメータや矢印などは消去されない。
【００６０】
「Duplicate」が選択されると、ＣＰＵ２０は、補助領域８を参照して、箱が連続して描画されている描画要素領域のかたまりを検出する。そして、次に、ＣＰＵ２０は、横へのコピーか、縦へのコピーかを選択する入力ボタンを表示する。ユーザの選択に応じて、上記かたまりとして存在する箱を複製する（ステップＳ１３２）。この場合、パラメータや矢印についても複製がなされる。仮に、図１２の状態において描画要素領域N(1,2)、N(2,2)、N(3,2)のかたまりしかないと仮定する。この場合に、ユーザが横へのコピーを選択すれば、描画要素領域N(1,3)、N(2,3)、N(3,3)に「rapid」「個体」「溶液」「腸」の箱が複製される。この場合も、ＣＰＵ２０は、所定の規則にしたがって各箱についてのＩＤをふり直す。
【００６１】
「Delete」が選択されると、当該箱が削除される。当該箱より後の箱のＩＤが繰り上げられる（ステップＳ１３３）。
【００６２】
上記では、箱の上で右クリックを行ってする簡易な修正処理を説明した。より全体的な修正や細かな修正を行う場合には、修正ボタン３６を用いた修正を行うことができる。
【００６３】
ユーザは、補助領域８の数値を変更した後、修正ボタン３６を押下することにより、必要な各箱のパラメータなどを維持しつつ、修正を行うことができる（ステップＳ８、Ｓ９)。
【００６４】
修正ボタン３６が押されると、ＣＰＵ２０は、変更前の全箱数と、変更後の全箱数を比較する。なお、補助領域８の数値が変更された場合であっても、ＣＰＵ２０は、前回に生成ボタン３４または修正ボタン３６が押されたときの数値を記録しているので、これを判断することができる。
【００６５】
全箱数に変化がないときには、各箱のＩＤの順番にしたがって、描画領域１０における表示をやりなおす。この際、各箱のパラメータや矢印などはそのまま引き継ぐようにしている。矢印は、開始箱と終了箱によって定められているので、箱の位置が変わっても、これに従って描画することができる。つまり、全箱数に変化がないときには、ＣＰＵ２０は、箱の移動であると判断して上記のような処理を行う。
【００６６】
一方、全箱数に変化があるときには、ＣＰＵ２０は、各要素領域ごとに箱の数が変更前と変更後で変わっているかを判断する。変化がない要素領域に対応する描画要素領域ついては何も行わない。数が減少している要素領域に対応する描画要素領域については、減少した数の分だけ、その描画要素領域の最も下に表示されている箱（ＩＤが最も大きい箱）から削除する。つまり、「Delete」と同様の処理を行う。また、数が増加している要素領域に対する描画要素領域については、その描画要素領域にその増加分だけの箱を新たに作成する。つまり、「Add」と同様の処理を行う。
【００６７】
上記実施形態では、補助領域８にメッシュを設定する際に、区分ボタン３０ａ、３０ｂ、３２ａ、３２ｂをクリックするようにしている。しかし、列、行の数を入力することによって、メッシュを設定するようにしてもよい。
【００６８】
上記実施形態では、要素領域に数値を入力することで、当該要素領域に対応する描画要素領域における箱の数を設定している。しかし、要素領域には箱の有無だけを入力するようにしてもよい。
【００６９】
上記実施形態では、要素領域に２以上の数値を入力した場合には、縦方向に描画要素領域を分割して箱を描画するようにしている。しかし、横方向に分割して箱を描画するようにしてもよい。また、入力する文字によって縦方向か横方向かを指定するようにしてもよい。たとえば、「V2」と入力すれば縦方向に分割、「H3」と入力すれば横方向に分割というようにすることもできる。
【００７０】
上記実施形態では、矢印を箱のパラメータとして設定するようにしている。しかし、マウス１８などにより、２つの箱をクリックして、直接的に２つの箱の間に矢印を描画するようにしてもよい。
【００７１】
上記実施形態では、一方に矢印のある線を描画するようにしているが、矢印のない線、双方に矢印のある線など、ブロック図の性質に応じて適切な線を描画するようにできる。
【００７２】
上記実施形態では、シミュレーションを行うためのブロック図を描画する場合について説明した。しかし、電気回路のブロック図、コンピュータのシステム構成図、会社の組織図、概念の関連図などを描画する場合にも適用することができる。
【００７３】
上記実施形態では、矩形の箱を描画するようにしている。しかし、描画の目的に応じて、円形、立体図形などを描画するようにしてもよい。
【００７４】
また、上記実施形態では、補助領域８では、縦横方向のメッシュを生成するようにしている。しかし、補助領域８において３次元のメッシュを表示して入力するようにしてもよい。これにより、描画領域１０に３次元空間における箱(直方体)を所望の位置に配置することができる。
【００７５】
なお、上記実施形態では、描画領域１０とともに補助領域８が表示されるようにしている。しかし、補助領域８は必要な場合にだけ表示されるようにしてもよい。たとえば、描画領域１０をマウス１８にて右クリックした場合にだけ、補助領域８が表示されるようにしてもよい。
【００７６】
上記実施形態では、補助領域をメッシュに分割しているが、補助領域および描画領域を円形として、同心円状に分割をするようにしてもよい。また、六角形の連続によって分割を行うようにしてもよい。
【００７７】
なお、上記実施形態では、スタンドアローンのコンピュータによって入力プログラムを実行した場合について説明した。しかし、ＬＡＮやインターネットのサーバに入力プログラムを置いておき、端末側からこれを利用できるようにしてもよい。この場合、入力や表示の処理は、端末側にて行われることになる。
【００７８】
上記実施形態では、図１に示す各機能をＣＰＵによって実現しているが、その一部または全部をハードウエア回路によって実現するようにしてもよい。
【図面の簡単な説明】
【００７９】
【図１】この発明の一実施形態による入力装置の機能ブロック図である。
【図２】図１の入力装置をＣＰＵを用いて実現した場合のハードウエア構成を示す図である。
【図３ａ】入力プログラム２８のフローチャートである。
【図３ｂ】入力プログラム２８のフローチャートである。
【図３ｃ】入力プログラム２８のフローチャートである。
【図４】描こうとしているブロック図の例である。
【図５】設定画面を示す図である。
【図６】補助画面８における区分ボタンの機能を示すための図である。
【図７】補助画面８にメッシュを設定したときの画面を示す図である。
【図８】補助画面８の要素領域に個数を入力した状態を示す図である。
【図９】図８の入力に対応してメモリ２２に記録されるデータを示す図である。
【図１０】補助画面８の設定に対応して区分された描画領域１０を示す図である。
【図１１】補助画面の設定に対応して描画領域１０に箱が表示された状態を示す図である。
【図１２】箱のパラメータや矢印を描画した状態を示す図である。
【符号の説明】
【００８０】
２・・・補助領域表示手段
４・・・区分手段
６・・・図形数表示手段
８・・・補助領域
１０・・描画領域
１２・・図形表示手段
【図１】
2009129008.tif 000003
【図２】
2009129008.tif 000004
【図３ａ】
2009129008.tif 000005
【図３ｂ】
2009129008.tif 000006
【図３ｃ】
2009129008.tif 000007
【図４】
2009129008.tif 000008
【図５】
2009129008.tif 000009
【図６】
2009129008.tif 000010
【図７】
2009129008.tif 000011
【図８】
2009129008.tif 000012
【図９】
2009129008.tif 000013
【図１０】
2009129008.tif 000014
【図１１】
2009129008.tif 000015
【図１２】
2009129008.tif 000016