(57)【要約】【課題】グラフ作成時の作業効率をより向上させることを目的とする。【解決手段】ユーザ操作に基づいて、節と線との組で構成される基本グラフに節と線との増加数を指定する指定手段と、基本グラフに対する節と線との自動追加に関する規則情報に基づいて、指定手段で指定された増加数の分だけ、基本グラフに節と線とを追加し、基本グラフを拡張する拡張手段と、を有することによって課題を解決する。【選択図】図３
2010160587.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ操作に基づいて、節と線との組で構成される基本グラフに節と線との増加数を指定する指定手段と、
基本グラフに対する節と線との自動追加に関する規則情報に基づいて、前記指定手段で指定された増加数の分だけ、基本グラフに節と線とを追加し、前記基本グラフを拡張する拡張手段と、
を有することを特徴とするグラフ作成装置。
【請求項２】
前記拡張手段は、前記規則情報に基づいて、前記指定手段で指定された増加数の分だけ、基本グラフに節と線とを追加すると共に、前記基本グラフを構成する節が付帯情報を有する場合は前記追加する節の付帯情報を、前記基本グラフを構成する線が付帯情報を有する場合は前記追加する線の付帯情報を、前記基本グラフに追加することを特徴とする請求項１に記載のグラフ作成装置。
【請求項３】
前記節の付帯情報は前記節の名前であって、前記線の付帯情報は前記線の名前であることを特徴とする請求項２に記載のグラフ作成装置。
【請求項４】
前記線の付帯情報は前記線の向きに関する情報であることを特徴とする請求項２に記載のグラフ作成装置。
【請求項５】
前記拡張手段は、前記基本グラフを構成する線の付帯情報に基づいて、前記追加する線の付帯情報を決定し、前記基本グラフに追加することを特徴とする請求項４に記載のグラフ作成装置。
【請求項６】
前記拡張手段は、前記基本グラフを構成する線の付帯情報に基づいて、前記追加する線の付帯情報を、前記基本グラフを構成する線の付帯情報と同じになるよう決定し、前記基本グラフに追加することを特徴とする請求項５に記載のグラフ作成装置。
【請求項７】
前記基本グラフと前記規則情報とを対応付けて保存する保存手段と、
ユーザ操作に基づいて、前記保存手段で保存されている基本グラフ群から基本グラフと前記基本グラフに対応する前記規則情報とを選択する選択手段と、
を更に有し、
前記拡張手段は、前記選択手段で選択された前記規則情報に基づいて、前記選択手段で選択された前記基本グラフに節と線とを追加し、前記基本グラフを拡張することを特徴とする請求項１乃至６の何れか１項に記載のグラフ作成装置。
【請求項８】
グラフ作成装置におけるグラフ拡張方法であって、
前記グラフ作成装置が、
ユーザ操作に基づいて、節と線との組で構成される基本グラフに節と線との増加数を指定する指定ステップと、
基本グラフに対する節と線との自動追加に関する規則情報に基づいて、前記指定ステップで指定された増加数の分だけ、基本グラフに節と線とを追加し、前記基本グラフを拡張する拡張ステップと、
を含むことを特徴とするグラフ拡張方法。
【請求項９】
前記拡張ステップでは、前記規則情報に基づいて、前記指定ステップで指定された増加数の分だけ、基本グラフに節と線とを追加すると共に、前記基本グラフを構成する節が付帯情報を有する場合は前記追加する節の付帯情報を、前記基本グラフを構成する線が付帯情報を有する場合は前記追加する線の付帯情報を、前記基本グラフに追加することを特徴とする請求項８に記載のグラフ拡張方法。
【請求項１０】
前記節の付帯情報は前記節の名前であって、前記線の付帯情報は前記線の名前であることを特徴とする請求項９に記載のグラフ拡張方法。
【請求項１１】
前記線の付帯情報は前記線の向きに関する情報であることを特徴とする請求項９に記載のグラフ拡張方法。
【請求項１２】
前記拡張ステップでは、前記基本グラフを構成する線の付帯情報に基づいて、前記追加する線の付帯情報を決定し、前記基本グラフに追加することを特徴とする請求項１１に記載のグラフ拡張方法。
【請求項１３】
前記拡張ステップでは、前記基本グラフを構成する線の付帯情報に基づいて、前記追加する線の付帯情報を、前記基本グラフを構成する線の付帯情報と同じになるよう決定し、前記基本グラフに追加することを特徴とする請求項１２に記載のグラフ拡張方法。
【請求項１４】
前記グラフ作成装置が、ユーザ操作に基づいて、前記基本グラフと前記規則情報とを対応付けて保存する保存手段で保存されている基本グラフ群から基本グラフと前記基本グラフに対応する前記規則情報とを選択する選択ステップを更に有し、
前記拡張ステップでは、前記選択ステップで選択された前記規則情報に基づいて、前記選択ステップで選択された前記基本グラフに節と線とを追加し、前記基本グラフを拡張することを特徴とする請求項８乃至１３の何れか１項に記載のグラフ拡張方法。
【請求項１５】
コンピュータを、
ユーザ操作に基づいて、節と線との組で構成される基本グラフに節と線との増加数を指定する指定手段と、
基本グラフに対する節と線との自動追加に関する規則情報に基づいて、前記指定手段で指定された増加数の分だけ、基本グラフに節と線とを追加し、前記基本グラフを拡張する拡張手段と、
して機能させることを特徴とするプログラム。
【請求項１６】
請求項１５に記載のプログラムを記憶したコンピュータにより読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グラフ作成装置及びグラフ拡張方法に関する。
【背景技術】
【０００２】
近年、状態遷移図等のグラフを作成するためのアプリケーションプログラム（アプリケーション）が一般に広く普及している。このようなアプリケーションでは、ユーザは始めに、ポインティングデバイス等を操作して、グラフを構成する複数の節を作業領域に配置させ、続いて、その節同士を線で連結するようアプリケーションに指示する。ユーザはこのような作業を繰りかえすことで、所望するグラフをアプリケーションに作成させる。
【０００３】
従来技術では、似たような節と線との組を何度も書きたい場合、ユーザは既存のグラフの全体、又は、一部をコピー＆ペーストすることで作業量を削減していた。例えば、図１に示すように、作成途中のグラフ０１００から０１０１のようなグラフを作成したい場合を考える。ここで、グラフ０１００のコピー＆ペーストを繰りかえして作業量の低減を図った場合、次のような問題が生じる。この方法では、０１０２、０１０３に示すように、ペーストしたオブジェクトが、作成中のグラフのどの部分にも連結されていない状態であるため、不足している線を新たに書き加える必要がある。また、節と線とに付帯情報が与えられている場合には、ペーストしたオブジェクトの情報を手動で修正しなければならない場合がある。今回の例では、各節に与えられた付帯情報が名前であるため、当該グラフ中でユニークである必要があり、０１０４〜０１０７の付帯情報は手動による修正の対象となってしまう。
【０００４】
このような問題に対し、一般の多くのドローツール等では、ユーザが頻繁に使用することが予想される図形の組み合わせを予めテンプレートとして準備し、それらをドラッグ＆ドロップ等で作業領域に適用していくことで、作業量の低減を図っている。更に、このようなドローツール等では、以下のような処理を行うことによって、二次的な作業の更なる低減を図っている従来技術もある（特許文献１を参照）。つまり、テンプレートを作図領域に適用する際、ユーザがポインティングデバイスによって始点と終点とを指定する。ドローツール等は、始点と終点との距離に応じてテンプレートのサイズを利用時に変更可能とする。
【０００５】
一方、ユーザが事前に作成したデータを複製していく機能という観点では、マイクロソフト社の表計算ソフトＥｘｃｅｌ（登録商標）のオートフィル機能がある。この機能によれば、スプレッドシート内のセルに事前に入力しておいた数値情報から連続性を見出し、連続データを自動で生成することができる。これにより、ユーザは作成したい連続データの一部分を入力するだけで良く、煩雑なルーティンワークを回避することができる。グラフの作成装置においても、この機能は、先述したような名前、重み、条件式等、付帯情報を自動追加する処理への応用が期待できる。特に、節と線との名前等、そのグラフ中でユニークでなければならない付帯情報は、その末尾に数字等で番号付けを行うことが慣例的に多く、オートフィル機能によって連続データを自動生成することで、作業量の低減を効果的に行うことができる。
【０００６】
【特許文献１】特開２００６−１１２１７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述したような従来技術をグラフ作成装置に応用した場合においては、次のような問題が生じる。
グラフを構成する節と線とは、ユーザが作成したいグラフによって、その必要数がばらばらである。そのため、節と線とが特定数に固定されたグラフのテンプレートを準備・利用した場合、ユーザが目的に応じて手作業で節と線とを追加・削除する必要がある。
【０００８】
特許文献１に関して、テンプレートの利用時に指定する始点・終点間の距離に応じてテンプレートを変化させる機構は、作業量の低減という観点から有用ではある。しかし、グラフの作成装置においては、テンプレートのサイズではなく、その節数を状況に応じて変化させる機能が必要とされる。また、特許文献１はユーザが作成した図をテンプレートとして保存する機能をもたないため、ユーザが自身の過去の成果物を流用することができない。
【０００９】
Ｅｘｃｅｌに搭載されているオートフィル機能は、スプレッドシート内の特定の「隣り合うセルのデータ」のみに着目して、連続データを生成するものである。グラフは節と線という２つの異なる要素をもち、更に、それぞれの付帯情報が種別毎に内包されている。オートフィル機能は、このような多種多様な情報を区別して連続データ化する能力をもたない。
【００１０】
本発明はこのような問題点に鑑みなされたもので、グラフ作成時の作業効率をより向上させることを目的とする。
【課題を解決するための手段】
【００１１】
そこで、本発明のグラフ作成装置は、ユーザ操作に基づいて、節と線との組で構成される基本グラフに節と線との増加数を指定する指定手段と、基本グラフに対する節と線との自動追加に関する規則情報に基づいて、前記指定手段で指定された増加数の分だけ、基本グラフに節と線とを追加し、前記基本グラフを拡張する拡張手段と、を有することを特徴とする。
【００１２】
かかる構成とすることにより、グラフ作成時の作業効率をより向上させることができる。
【００１３】
また、本発明は、グラフ拡張方法、プログラム及び記憶媒体としてもよい。
【発明の効果】
【００１４】
本発明によれば、グラフ作成時の作業効率をより向上させることができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施形態について図面に基づいて説明する。
【００１６】
まず、はじめに次のことを付記する。以下に示す各実施形態のすべての記述において、節、線、付帯情報、及び、それらを任意に組み合わせたものの物理的形態は特に限定されるものではない。例えば、線は節間の接続関係を意味するものであって、その形態が必ずしも線状（ライン）である必要はない。また、線が方向に関する情報をもつか否かも限定しない。従って、対象となるグラフが無向グラフ、有向グラフの何れの場合であっても、グラフ作成装の一例であるコンピュータの機能は限定されない。更に、基本グラフとは、拡張の対象となるグラフのことを意味し、これには拡張を行う際の節と線とを自動追加する規則が関連付けられているものとする。なお、基本グラフという用語は、拡張前のグラフに対する呼び名であって、拡張後のグラフに関しては単にグラフと呼ぶものとする。また、各実施形態では、図等に示す特定の基本グラフの拡張例を基に説明を行うが、各実施形態は、各例における基本グラフの構成（節、線、付帯情報やそれらの連番指定部分の有無と内容、各節間の連結の仕方等）により限定されるものではない。また、一部の実施形態では、基本グラフの拡張時の形状（格子状、リング状）に関しても述べているが、この拡張形状に関する規則、及び、拡張形状に関する規則をコンピュータで実現するためのアルゴリズムも、各実施形態の説明に限定されるものではない。
【００１７】
＜第１実施形態＞
図２は、コンピュータのハードウェア構成の一例を示す図である。ＣＰＵ０２００は、記憶装置０２０３に格納されている、グラフ作成プログラムを実行し、ＲＡＭ０２０２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。ここで、記憶装置０２０３は、ＨＤＤやＩＣメモリーカードの他、ＦＤ、ＣＤ−ＲＯＭ、ＤＶＤ等の記憶装置と記憶媒体のセット等であっても良く、特に限定されない。ＲＯＭ０２０１には、基本Ｉ／Ｏプログラム等のプログラム、各種データを記憶する。ＲＡＭ０２０２は、ＣＰＵ０２００の主メモリ、ワークエリア等として機能する。記憶装置０２０３は、グラフ作成プログラム、及び、基本グラフデータファイルを格納している。キーボード０２０４は、ユーザがコンピュータに対して、グラフの節と線との付帯情報等を入力する際等に用いる。更に、コンピュータはポインティングデバイス０２０６を有する。ユーザは、グラフ作成プログラムが提供する、ユーザインタフェース画面上のオブジェクトやコマンドメニューの項目を、ポインティングデバイス０２０６を用いて選択することができる。更に、選択したオブジェクトの移動やコピー、ペースト、位置合わせ、基本グラフの配置、基本グラフの拡張等の処理も、ポインティングデバイス０２０６を用いてユーザが指示することができる。ディスプレイ０２０５は、グラフ作成プログラムが提供するユーザインタフェース等を表示する。システムバス０２０７は、コンピュータ内のデータの流れを司る。
【００１８】
次に、上記の如く構成された第１実施形態に係るグラフ作成装置の動作を、図３から図１３までを参照しながら詳細に説明する。
図３で示す基本グラフ０３００には、図中０３０１等の円で示される節が複数配置されている。更に、０３０２等で示される線によって各節間が連結されている。本例では、節間を連結している線は方向線であり、グラフ全体としては有向グラフになっている。コンピュータでは、このような線の方向を付帯情報として扱う。また、各節には、付帯情報として節の名前（０３０３〜０３０６）が設定されており、その末尾２文字の番号部分には、基本グラフ拡張時に連続データとして付帯情報を拡張することを示す、連番指定がなされている。本例でのグラフの付帯情報は、ここで説明した節の名前と線の方向のみであるが、コンピュータが扱うことのできる付帯情報はこれらに限るものではない。他の例としては、線の遷移条件（イベント名等）や、線の重み等が付与されていても良い。
【００１９】
ユーザがポインティングデバイスを利用してこの基本グラフを選択すると、選択中であることを示す外枠０３０７と、基本グラフを拡張可能な方向を示す●記号（０３０８等、すべての●記号）と、が表示される。本実施形態では、ユーザはポインティングデバイスの位置を示す矢印０３０９を操作しながら、右下の●記号０３０８を右下方向にドラッグする。これにより、ユーザは、基本グラフに対して節の増加数を指定することができる。また、ユーザは節の増加量プレビュー０３１０の表示を確認することで、現在の●記号の移動量に対応した節の増加量をプレビューできる。本実施形態の例では、ユーザは節の増加量プレビュー０３１０に「３×３」と表示されたのを確認したところで、●記号をリリースすることを想定する。このリリース時点の●記号の移動量に基づいて、最終的な節の増加数を決定する。
【００２０】
ユーザが基本グラフに与えた節の増加数の情報を基に、基本グラフがコンピュータによって拡張される。図３の例における拡張処理では、節が２行２列から３行３列の格子状に追加配置され、かつ、線や付帯情報もそれに伴って自動で追加されたグラフ０３１１が生成される。このとき、各節の付帯情報（節の名前）については、拡張前の基本グラフで連番指定されていた末尾２文字の番号部分が、拡張に伴って連番として付与される（０３１２〜０３２０）。図３の例では、横方向への拡張では２文字の番号部分の１桁目が、横方向への拡張では２文字の番号部分の２桁目が、それぞれ１増加する連続データとなっている。また、図３の例のように、拡張の対象が有向グラフである場合、コンピュータは線の方向に関しても、他の付帯情報と同様、各線（矢印）が基本グラフに基づいて同じ方向を向くように拡張する。以下では、ここでなされた増加数指定に関する処理と、基本グラフ拡張処理と、に関する詳細を説明する。
【００２１】
図４は、第１実施形態の基本グラフのデータ構成を示す図である。基本グラフは、節に関するデータ０４０１と線に関するデータ０４０２とを保持しており、それぞれのデータ構造の詳細については図５、及び、図６に示す。基本グラフデータ０４００は、その他に、基本グラフを拡張可能な方向を示すフラグ群０４０３と、拡張時に節を配置していく間隔と、を横方向（０４０４）、縦方向（０４０５）別に保持する。これらは基本グラフデータの作成時に予め格納されている。
【００２２】
図５は、図４における節データ０４０１の詳細なデータ構造を示した図である。節データは、基本グラフ内でユニークに割り当てられる節ＩＤ０５０１を保持する。Ｘ座標０５０２、Ｙ座標０５０３は、基本グラフ内におけるこの節の位置座標を示す。連結している線のＩＤ０５０４を格納する領域には、この節から出て行く線のＩＤをリストとして保持する。加えて、節データは、この節の付帯情報０５０５に関する情報も保持し、そのデータ構造は後述する図７に示す通りである。
【００２３】
図６は、図４における線データ０４０２の詳細なデータ構造を示した図である。線データは、節データ０５００と同様、基本グラフ上の線にユニークに割り当てられるＩＤ０６０１を保持する。Ｘ座標０６０２、Ｙ座標０６０３は基本グラフ内におけるこの線の位置座標を示す。その他、線データは、線の方向０６０４、長さ０６０５、付帯情報０６０６に関する情報を保持する。線の方向０６０４は、節から線が上下左右のどの方向に伸びているかを示すフラグである。また、先と同様、付帯情報に関する詳細なデータ構造は後述する図７に示す通りである。
【００２４】
図７は、図５、図６における付帯情報０５０５、及び、０６０６のデータ構造の詳細を示す図である。図７では、付帯情報の種別０７０１とその値０７０２との他に、付帯情報が連番指定部分をもつ場合に、１データあたりの横方向の増分０７０３と、縦方向の増分０７０４と、を保持する領域を有する。例えば、連番指定部分の値がａ，ｂ，ｃ，・・・と増加していく場合、１データあたりの増分は１であり、ａ，ｄ，ｇ，・・・と増加していく場合、１データあたりの増分は３となる。また、連番指定部分の値がｚ，ｙ，ｘ，・・・と減少していく場合、１データあたりの増分は−１となる。
【００２５】
図８は、第１実施形態における、基本グラフの増加数指定に関する処理の一例を示すフローチャートである。グラフ作成領域に配置された任意の基本グラフをユーザが選択すると、コンピュータは、基本グラフの外周に選択中であることを示す枠を表示する（ステップＳ０８００）。更に、コンピュータは、基本グラフから拡張可能な方向を示すフラグを参照し（ステップＳ０８０１）、表示した外枠の角や辺に、その方向に拡張可能であることを示す●記号を表示する（ステップＳ０８０２）。コンピュータは、ユーザによるポインティングデバイスの●記号の操作を介して（つまりユーザ操作に基づいて）、●記号のドラッグ量（移動量）と方向とを入力する（ステップＳ０８０３）。このとき、コンピュータは、●記号の移動方向が、基本グラフを拡張可能な方向と一致しているかを判定し（ステップＳ０８０４）、一致していなければ以降の処理を行わない。拡張可能な方向と●記号の移動方向とが一致した場合には、コンピュータは、その移動量と、基本グラフ拡張時の節の配置間隔を基に増加量の計算を行う（ステップＳ０８０５）。ここでは、コンピュータは、節の配置間隔１つ分だけ●記号が移動されたとき、指定される節の増加数も１増加すると考える。コンピュータは、この計算結果を基に、現在の●記号の移動量に対する節の増加数のプレビューをユーザに提示する（ステップＳ０８０６）。コンピュータは、ユーザがポインティングデバイスで●記号をリリースした時点での●記号の移動量から、ステップＳ０８０５と同様の処理で、最終的な節の増加数を決定する（ステップＳ０８０７）。この後、コンピュータは基本グラフ拡張処理に移行する。
【００２６】
図９は、基本グラフ拡張に関する処理を示すフローチャートである。始めに、コンピュータは、節拡張処理を行い（ステップＳ０９００）、続いて、コンピュータは、付帯情報をもつ節があるかどうかを判定する（ステップＳ０９０１）。ここで、付帯情報をもつ節があった場合、コンピュータは、その付帯情報の拡張を行う（ステップＳ０９０２）。次に、コンピュータは、線拡張処理を行い（ステップＳ０９０３）、先と同様、付帯情報をもつ線があるかどうかの判定を行う（ステップＳ０９０４）。付帯情報をもつ線があった場合、コンピュータは、その付帯情報の拡張を行う（ステップＳ０９０５）。
次に、図１０から図１３までを参照しながら、ここで述べた節拡張処理、線拡張処理、及び、それらの付帯情報拡張処理の詳細を説明する。
【００２７】
図１０は、図９の基本グラフ拡張処理における、節拡張に関する処理の一例を示すフローチャートである。コンピュータは、この追加処理を、左上に位置すべき節から横方向に順に行い、その行の処理がすべて終了すると、次の行の処理に移行する。コンピュータは、最終的にすべての行の処理が終了するまで節の追加処理を継続する。
個々の節の追加配置処理に関しては、始めに、コンピュータは、追加する節の横方向、縦方向それぞれの配置間隔を基本グラフから読み込む（ステップＳ１０００）。コンピュータは、読み込んだこの配置間隔の情報と、既に配置されている隣り合う節の座標と、から新しく追加する節の座標を決定する（ステップＳ１００１）。続いて、コンピュータは、実際に決定した位置に節を配置する（ステップＳ１００２）。
【００２８】
図１１は、図９の基本グラフ拡張処理における、線拡張に関する処理の一例を示すフローチャートである。コンピュータは、線拡張も節拡張の際と同様、左上の節間から順に連結を行っていくが、線拡張の場合は横方向・縦方向それぞれの節間に関して処理を行う必要がある。まず、始めに、コンピュータは、これから線を追加する節間の線に関する情報を基本グラフから読み込む（ステップＳ１１００）。コンピュータは、読み込んだこの情報を基に、始めに横方向への線の連結を行い（ステップＳ１１０１）、これをすべての行に対して行うことで（ステップＳ１１０１〜ステップＳ１１０５）、グラフ中の横方向への線の連結を終了する。続いて、コンピュータは、再び左上の節間に処理の対象を戻し、横方向への線の連結と同様の処理で、縦方向への線の連結も行う（ステップＳ１１０６〜ステップＳ１１１１）。これにより、全方向の線の連結が終了する。
【００２９】
図１２は、図９の基本グラフ拡張処理における、付帯情報拡張に関する処理の一例を示すフローチャートである。このフローは単一の節、又は、線に関する付帯情報拡張処理を示すものであり、実際にはこの処理が、拡張後の基本グラフにおけるすべての節、すべての線に対して行われる。始めに、コンピュータは、付帯情報に連番指定部分があるかどうかを調査し（ステップＳ１２００）、連番指定部分がなかった場合には、基本グラフにある付帯情報を、そのまま新しい付帯情報として付与する（ステップＳ１２０４）。連番指定部分があった場合、コンピュータは、連番指定部分の１データあたりの増分を基本グラフから各方向別に読み込む（ステップＳ１２０１）。コンピュータは、この増分情報と、直前（左側、又は、上側）の付帯情報と、から、新しい付帯情報の連番部分の値を決定し（ステップＳ１２０２）、新しい付帯情報として付与する（ステップＳ１２０３）。コンピュータは、この処理を節・線の付帯情報がすべて付与されるまで、繰りかえし行う（ステップＳ１２０５）。
【００３０】
なお、本実施形態でここまでに示した各データ構造、及び、フローチャートは、コンピュータに機能を実装するための一例を示すものであって、必ずしもここでの内容に限定されるものではない。
【００３１】
以上説明したように、第１実施形態によれば、グラフ作成装置は、基本グラフに対して、ユーザが指定した増加数の分だけ格子状に節を追加配置し、更に、それに伴って追加すべき線とそれらの付帯情報の追加も自動で行うものである。このとき、基本グラフの付帯情報に連番指定部分が与えられている場合には、基本グラフの拡張時に当該部分を連続データ化して付与する。コンピュータのこれらの機能は、次のような効果を奏する。
似たような節と線との組を何度も繰りかえし書いていかなければならない場合に、コピー＆ペーストに伴うユーザ手動による追加作業（線や付帯情報の追加・修正等）の量を大幅に減少させ、手動修正に伴う作業ミスを低減させることが可能となる。
【００３２】
＜第２実施形態＞
第１実施形態では、基本グラフの拡張に際し、その拡張形状が特定の規則（アルゴリズム）に従って決定されるものであった（第１実施形態の説明内で挙げた例では、基本グラフは常に格子状に拡張された）。ここで述べる第２実施形態では、基本グラフの拡張形状に関する規則（規則情報）が複数あるとき、どの規則に基づいて拡張を行うかを特定する情報を基本グラフ自体にもたせることで、基本グラフ毎に拡張形状を切り替える機構に関して説明する。
【００３３】
例として、第１実施形態の図３で示したような格子状に拡張する規則に加えて、図１３で示すように、基本グラフをリング状に拡張する規則が準備されている場合を考える。なお、規則（規則情報）は、例えば、後述する図１４に示されるように対応する各基本グラフデータファイルに関連付けられて（対応付けられて）、保存手段の一例である記憶装置０２０３等に記憶（又は保存）されているものとする。コンピュータは、基本グラフ１３００に対し、第１実施形態と同様の処理で節の増加数を指定する。このとき、本実施形態では、コンピュータは、基本グラフがもつ拡張形状に関する情報に従い、節の増加量プレビュー１３０４の表示と、拡張後のグラフの形状（追加される節の配置）１３０５と、を切り替える。図１３の例では、節がリング状に追加配置されるように基本グラフに指定されている。このため、節の増加量プレビュー１３０４には、格子状のときのような横方向・縦方向の節数ではなく、リング状に配置する節の数が単一の値で表示されている。
【００３４】
次に、基本グラフに対し、その拡張形状に関する規則を特定するための情報をもたせる処理の一例を、図１４用いて説明する。図１４は、第２実施形態の基本グラフのデータ構成を示す図である。データ構造１４００の詳細に関して、１４０１、１４０２、１４０４、１４０５の内容は、第１実施形態の説明で示した図４のものと同様である。図１４の例では、それらに加えて、基本グラフの拡張形状を特定するためのＩＤ１４０６が含まれている。このＩＤは、別途領域に格納済みの基本グラフ拡張規則に割り振られているもので、コンピュータは、この情報を基に、拡張、その他の処理において、実行するアルゴリズムを切り替える。本実施形態において、コンピュータは、このＩＤによって、基本グラフを格子状に拡張するか、リング状に拡張するかを基本グラフ毎に切り替えることができる。なお、他の方法としては、例えば、この領域に、拡張形状を決定するプログラム自体を格納しても良いし、別途領域に格納済みのプログラムへの参照を保持しても良い。何れの場合においても、コンピュータは、増加数指定から基本グラフ拡張に至る一連の処理の実行に際して、基本グラフのデータ構造内にある、予め準備された拡張形状に関する規則の情報を参照して、実行する処理内容を切り替える。
【００３５】
なお、本実施形態で示したデータ構造は、コンピュータの機能を実装するための一例を示すものであって、必ずしもここでの内容に限定されるものではない。
以上説明したような第２実施形態によれば、コンピュータは、基本グラフの拡張形状に関する規則が複数準備されている場合に、基本グラフの拡張形状を基本グラフ毎に切り替えることができる。これにより、基本グラフをユーザの意図にそぐわない形状に拡張してしまう機会を減少させ、二次的な手動による追加作業をより効果的に低減させることができる。
【００３６】
＜第３実施形態＞
第１実施形態、第２実施形態では、基本グラフの拡張処理に関する例を説明したが、本実施形態では、ユーザが作成したグラフを、コンピュータが基本グラフとして保存し、グラフ作成領域に適用する例を説明する。また、本実施形態では、コンピュータが基本グラフを保存する際に、節と線との付帯情報に対し、拡張時に連番として付与する部分を指定する方法の一例を説明する。更に、本実施形態では、コンピュータが基本グラフの拡張に際して、拡張形状を指定する一例についても合わせて説明する。
【００３７】
図１５は、ユーザが基本グラフの編集・保存を指示し、実際にグラフの作成に基本グラフを利用するためのユーザインタフェースの一例を示す図である。なお、ユーザインタフェースを構成する各種領域、リスト、シンボル等の構成要素、及び、それらの配置と利用方法、動作内容は、図１５で示す内容によって限定されるものではない。
図１５の例では、ユーザインタフェース（ユーザインタフェース画面）の左側にグラフ作成領域１５００が設けられている。ユーザはこの領域で、所望のグラフを作成する。ユーザインタフェースの右側上部には、保存済みの基本グラフの名称を一覧化したリスト１５０１が配置されている。ユーザはポインティングデバイス等を利用して、これらのうちから任意の基本グラフを選択することができる（図中１５０２はポインティングデバイスが指し示す位置を表す矢印である）。選択された基本グラフは、リスト１５０１上において、その名称にフォーカス１５０４が表示され、更に、ユーザインタフェースの右側下部にある基本グラフ編集領域１５０５に選択中の基本グラフの内容が表示される。ここで、図中１５０６、１５０７には、記号＃で挟まれた単一のアルファベット文字があるが、これは基本グラフの拡張時に連番として付与すべき部分をユーザが指定していることを意味している。当然ではあるが、ここでの表示に＃記号を用いることは特に限定されておらず、ユーザが連番指定部分を明確に特定できるような情報を与える手段であれば良い。この基本グラフ編集領域１５０５には、この他にも、基本グラフを拡張する際の形状に関する規則を指定するためのドロップダウンメニュー１５０８が配置されている。ユーザは既に登録されている規則の中から１つを選択することができる。
【００３８】
図１６は、基本グラフの保存指定に関する処理の一例を示すフローチャートである。なお、第２実施形態で説明した拡張形状に関する規則に応じて、ここでの処理の内容を切り替えても良い。始めに、コンピュータは、すべての節に関して、節ＩＤ、基本グラフ上での位置を示すＸＹ座標、連結されている線ＩＤ、付帯情報の情報を保存する（ステップＳ１６００）。同様に、コンピュータは、すべての線に関して、線ＩＤ、基本グラフ上での位置を示すＸＹ座標、線の方向を示すフラグ、線の長さ、付帯情報の情報を保存する（ステップＳ１６０１）。次に、コンピュータは、基本グラフの拡張形状を特定するためのＩＤを保存する（ステップＳ１６０２）。
続いて、コンピュータは、横・縦それぞれの方向に対し、２つ以上の節が連結されているかを判定し、基本グラフの拡張可能方向を決定する（ステップＳ１６０３〜ステップＳ１６０６）。ここで、コンピュータは、斜め方向へ拡張可能であるか否かを、横方向・縦方向の拡張可能性から決定する。更に、コンピュータは、ここで得られた拡張可能な方向毎に、拡張時の節の配置間隔を決定する処理に移行する（ステップＳ１６０７〜ステップＳ１６１０）。コンピュータは、その方向に並ぶすべての節間の平均値を、拡張時の節の配置間隔として求めているものとする。最後に、コンピュータは、保存した付帯情報に連番指定部分があるかどうかを判定し（ステップＳ１６１１）、連番指定部分がある場合には、１データあたりの増分を計算する（ステップＳ１６１２）。
【００３９】
図１７は、図１６のステップＳ１６１２において、付帯情報の連番指定部分に対する１データあたりの増分を計算する処理の詳細を示すフローチャートである。本実施形態では、常に右側（下側）の値から左側（上側）の値を減じた値を増分と定義しており、従って、連番指定の仕方によっては、増分が負数になる場合もありえる。
なお、本実施形態で示したフローチャートは、コンピュータの機能を実装するための処理の一例であって、必ずしもここでの内容に限定されるものではない。
以上説明したように、第３実施形態によれば、コンピュータは、ユーザが任意に作成したグラフを基本グラフとして保存することができ、作成した保存済みの基本グラフ群を実際のグラフの作成作業に利用することができる。また、第３実施形態によれば、基本グラフの保存時には、節と線との付帯情報に対し、拡張時に連番にして付与する部分を指定することができる。また、第３実施形態によれば、基本グラフの拡張形状に関する規則が複数準備されている場合に、ユーザが所望する拡張規則を基本グラフに関連付けて保存することができる。これにより、ユーザはコンピュータから供給されるような予め準備された基本グラフだけでなく、ユーザ自身が望む任意の基本グラフを作成することができる。更に、第３実施形態によれば、過去に作成したグラフの全体、又は、その一部を基本グラフとしてコンピュータに保存・利用することができる。また、第３実施形態によれば、保存した基本グラフはコンピュータが一元管理するため、再利用したい過去のグラフデータを事前にユーザ自身が探索しておく必要もなくなり、グラフ作成時の作業量が低減される。
【００４０】
＜その他の実施形態＞
また、本発明の目的は、以下のようにすることによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（又は記録媒体）を、システム或いは装置に供給する。そして、そのシステム或いは装置の中央演算処理手段（ＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコードを記録した記憶媒体は本発明を構成することになる。
【００４１】
また、システム或いは装置の前記中央演算処理手段が読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、システム或いは装置上で稼働しているオペレーティングシステム（ＯＳ）等が実際の処理の一部又は全部を行う。その処理によって上述した実施形態の機能が実現される場合も含まれる。
【００４２】
更に、記憶媒体から読み出されたプログラムコードが、前記システム或いは装置に挿入された機能拡張カードや、接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれる。
【００４３】
本発明を前記記憶媒体に適用する場合、その記憶媒体（コンピュータ読み取り可能な記憶媒体）には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【００４４】
以上、上述した各実施形態によれば、グラフ作成時の作業効率をより向上させることができる。また、上述した各実施形態によれば、ユーザがグラフを作成する際の所要時間を短縮し、また、過去の成果物を再利用する際の手動修正に伴う作業ミスを低減させることができる。更に、上述した各実施形態によれば、基本グラフを装置側で一元管理するため、他ファイル（プロジェクト）から成果物を再利用したい場合でも、予め準備された一覧から基本グラフを選択するだけでよく、ユーザの作業量を削減することができる。
【００４５】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００４６】
【図１】従来技術の問題点を説明するための図である。
【図２】コンピュータのハードウェア構成の一例を示す図である。
【図３】第１実施形態の基本グラフの拡張例を示す図である。
【図４】第１実施形態の基本グラフのデータ構成を示す図である。
【図５】図４における節データ０４０１の詳細なデータ構造を示した図である。
【図６】図４における線データ０４０２の詳細なデータ構造を示した図である。
【図７】図５、図６における付帯情報０５０５、及び、０６０６のデータ構造の詳細を示す図である。
【図８】第１実施形態における、基本グラフの増加数指定に関する処理の一例を示すフローチャートである。
【図９】基本グラフ拡張に関する処理を示すフローチャートである。
【図１０】図９の基本グラフ拡張処理における、節拡張に関する処理の一例を示すフローチャートである。
【図１１】図９の基本グラフ拡張処理における、線拡張に関する処理の一例を示すフローチャートである。
【図１２】図９の基本グラフ拡張処理における、付帯情報拡張に関する処理の一例を示すフローチャートである。
【図１３】第２実施形態の基本グラフの拡張例を示す図である。
【図１４】第２実施形態の基本グラフのデータ構成を示す図である。
【図１５】ユーザが基本グラフの編集・保存を指示し、実際にグラフの作成に基本グラフを利用するためのユーザインタフェースの一例を示す図である。
【図１６】基本グラフの保存指定に関する処理の一例を示すフローチャートである。
【図１７】図１６のステップＳ１６１２において、付帯情報の連番指定部分に対する１データあたりの増分を計算する処理の詳細を示すフローチャートである。
【符号の説明】
【００４７】
０２００  ＣＰＵ
０２０１  ＲＯＭ
０２０２  ＲＡＭ
０２０３  記憶装置
【図１】
2010160587.tif 000003
【図２】
2010160587.tif 000004
【図３】
2010160587.tif 000005
【図４】
2010160587.tif 000006
【図５】
2010160587.tif 000007
【図６】
2010160587.tif 000008
【図７】
2010160587.tif 000009
【図８】
2010160587.tif 000010
【図９】
2010160587.tif 000011
【図１０】
2010160587.tif 000012
【図１１】
2010160587.tif 000013
【図１２】
2010160587.tif 000014
【図１３】
2010160587.tif 000015
【図１４】
2010160587.tif 000016
【図１５】
2010160587.tif 000017
【図１６】
2010160587.tif 000018
【図１７】
2010160587.tif 000019