(57)【特許請求の範囲】
【請求項１】
図を構成する要素を配置可能な複数の座標位置に関する情報を記憶する手段と、
上記座標から選択された、どの１または複数の座標位置に図を構成する要素を配置するかを規定する、図を構成する要素のレイアウトに関するデータを記憶する手段と、
上記図に付加したい特徴を指定する手段と、
指定された上記特徴に基づいたルールで上記座標位置の間の位置関係を修正する手段と、
修正された上記座標位置の間の位置関係の下で、上記図を構成する要素を表示する手段とを有することを特徴とする作図装置。
【請求項２】
図を構成する要素のレイアウトに関するデータを記憶する手段と、
上記図に付加したい特徴を指定する手段と、
指定された上記特徴に基づいて上記レイアウトの態様を決定する手段と、
上記図の一部の領域を指定する領域指定手段と、
決定された上記レイアウトの態様に基づいて、指定された上記一部の領域についての上記レイアウトに関するデータを修正する手段と、
上記レイアウトに関するデータに基づいて上記図を表示する手段とを有することを特徴とする作図装置。
【請求項３】
図を構成する要素を配置可能な複数の座標位置に関する情報を記憶する手段と、
上記座標位置から選択されたどの１または複数の座標位置に図を構成する要素を配置するかを規定する、図を構成する要素のレイアウトに関するデータを記憶するレイアウトデータ記憶手段と、
上記図に付加したい特徴を指定する手段と、
指定された上記特徴に基づいたルールで上記座標位置の間の位置関係を修正する手段と、
上記特徴の指定を含む上記図の変更指令の履歴を記憶する手段と、
上記図の変更指令の履歴を用いて、取り消し対象の変更指令を指定する手段と、
指定された上記取り消し対象の変更指令に基づいて、上記修正された上記座標位置の間の位置関係を修正し、上記取り消し対象の変更指令が行われない状態に戻す手段と、
修正された上記座標位置の間の位置関係の下で、上記図を構成する要素を表示する手段とを有することを特徴とする作図装置。
【請求項４】
上記指定された特徴に基づいて上記図の要素の形状および色の一方または双方が変更される請求項１、２または３記載の作図装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、図形を扱えるワードプロセツサなど、対話的操作により電子的に作図を行うための作図方法および作図装置に関するものである。
【０００２】
【従来の技術】
近年、ワードブロセツサなどでグラフィカルＵＩを利用して、エンドユーザが電子的に作図をすることがー般的になった。また、カラースキャナやカラープリンタを含むコンピュータシステムの普及により、グラフィックデザイナだけではなく、一般ユーザでもカラーの図を作成できる環境ができつつある。カラーの図は白黒に較べて訴求力が高いので、顧客への提案書やプレゼンテーションのために、美しく分かりやすい図を容易に作成したいというユーザのニーズは高い。
【０００３】
美しく分かりやすい図を作るには、「同心円状に図の要素を並べて、広がっていく印象を与える」や「右上がりにして、発展しつづける印象を与える」など、目的に応じたデザインを考え、そのデザインに従って作図をする必要がある。しかしながら、グラフィックデザイナではない一般ユーザにとっては、図の目的から最終的な仕上がりを、作図前に明確にイメージをするのは困難である。また、場合によっては、まったくイメージできないような場合もありうる。
【０００４】
ワードプロセッサやグラフィックソフトウエアなど、対話的操作による電子的な作図に関する従来の技術では、作図作業は、ユーザが直線や多角形や楕円形といった図の要素を生成し、これを２次元平面上に配置するという操作を繰り返すことで行われる。従来の技術に基づくシステムで用意される編集操作系は、個々の図の要素の位置や大きさや色を直接的にユーザが指定するものになっている。
【０００５】
従来の技術では、図のデザインをどう決めるかについてはユーザに任されている。また、デザインが決まった場合に、そのデザインを具体的にどのような編集操作ステップによって実現するかも、ユーザに任されている。ユーザが図のデザインについて漠然としたイメージしか持っていない、あるいはイメージがまったくわかない場合は、従来の技術ではユーザは作図作業がいきづまることになる。
【０００６】
【発明が解決しようとする課題】
本発明は、上述した事情に鑑みてなされたもので、ユーザが対話的操作により電子的に作図する際に、ユーザが容易にデザイン決定ができ、それに従った作図を容易に行える作図装置を提供することを目的とするものである。
【０００７】
【課題を解決するための手段および作用】
本発明は上述の目的を達成するために、図を構成する要素のレイアウトに関するデータを記憶する手段と、上記図に付加したい特徴を指定する手段と、指定された上記特徴に基づいて上記レイアウトの態様を決定する手段と、決定された上記レイアウトの態様に基づいて、上記レイアウトに関するデータを修正する手段と、上記レイアウトに関するデータに基づいて上記図を表示する手段とを、作図装置に設けている。
【０００８】
この構成によれば、単に作図目標等、図面に付加したい特徴を指定するだけで図の要素のレイアウトを指定でき、容易に図のデザインを容易に行える。
【０００９】
また、本発明は上述の目的を達成するために、図を構成する要素のレイアウトに関するデータを記憶する手段と、上記図に付加したい特徴を指定する手段と、指定された上記特徴に基づいて上記レイアウトの態様を決定する手段と、上記図の一部の領域を指定する領域指定手段と、決定された上記レイアウトの態様に基づいて、指定された上記一部の領域についての上記レイアウトに関するデータを修正する手段と、上記レイアウトに関するデータに基づいて上記図を表示する手段とを、作図装置に設けている。
【００１０】
この構成によれば、図面の領域毎に異なった特徴を付与でき、きめ細かな図面デザインを行える。
【００１１】
また、本発明は上述の目的を達成するために、図を構成する要素のレイアウトに関するデータを記憶するレイアウトデータ記憶手段と、上記図に付加したい特徴を指定する手段と、指定された上記特徴に基づいて上記レイアウトの態様を決定するレイアウト態様決定手段と、決定された上記レイアウトの態様に基づいて、上記レイアウトに関するデータを修正する手段と、上記特徴の指定を含む上記図の変更指令の履歴を記憶する手段と、上記図の変更指令の履歴を用いて、取り消し対象の変更指令を指定する手段と、指定された上記取り消し対象の変更指令に基づいて、上記レイアウトに関するデータを修正し、上記取り消し対象の変更指令が行われない状態に戻す手段と、上記レイアウトに関するデータに基づいて上記図を表示する手段とを、作図装置に設けている。
【００１２】
この構成によれば、すでに付与した特徴に満足しない場合、任意の操作時点に戻り処理のやり直し等を行え、デザインの自由度が向上する。とくに経験の少ないユーザには便利である。
【００１３】
また、本発明では、上記指定された特徴に基づいて上記図の要素の形状および色の一方または双方を変更するようにしてもよい。
【００１４】
さらに、上記レイアウトデータ記憶手段は、上記図の要素を配置できる複数の点の座標データを記憶し、上記レイアウト態様決定手段は上記複数の点の分布の態様を決定するようにしてもよい。
【００１５】
【発明の実施の形態】
以下、この発明の実施例について図面を参照して説明する。
【００１６】
図１はこの実施例の作図装置の全体構成を示す。この作図装置は、専用のワードプロセッサや汎用のパーソナルコンピュータ、ワークステーション、あるいはホストのソフトウェアとして実現できる。
【００１７】
この図において、作図装置は、斜めに歪んだ四角形のブロックで示すユーザ指示入力部、すなわち、要素生成指示部１０４、要素配置指示部１０５、要素削除指示部１０６、作図目標選択部１１４、レイアウト変更範囲指示部１１６、および取消し対象選択部１１９を有し、ユーザの各種指示を受け付けるようになっている。ユーザの指示は矩形のブロックで示す実行部、すなわち、要素データ変更部１０２、指示履歴変更部１０８、座標データ変更部１１１、逆指示生成部１１７、図印刷部１２１、取消し実行制御部１２０、処理制御部１２２で実行される。処理制御部１２２は全体の制御を統括する。
【００１８】
各部の実行に際しては、記憶部すなわち要素データ保持部１０１、要素雛型保持部１０７、座標データ保持部１０９、方位／距離設定ルール保持部１１０、作図目標選択肢保持部１１２、選択肢−設定ルール対応保持部１１３、レイアウト変更範囲記憶部１１５、指示履歴保持部１１８が各種データを記憶する。
【００１９】
以下、各部の構成を詳細に説明する。
【００２０】
［要素データ保持部１０１］
要素データ保持部１０１は、図の要素ごとに、その形状、色、配置に関する情報を保持する機能を持つ。この実施例では、図の要素に関する属性データを表形式で保持する。表は、属性と属性値との組を対応づけたものである。要素毎に、一つの表が作られる。以下、各属性について説明する。
【００２１】
属性には、「位置」、「色」、「形状」、「テキスト」、および「表示順序」がある。属性「位置」は、その要素の２次元平面上の位置を示す。属性値として、後述する配置可能座標の座標ＩＤをとる。属性「色」は、その要素の色を示す。属性値として、国際照明学会が定めたスケールであるＬ＊ａ＊ｂ＊でその要素の色を表現した値をとる。属性「形状」は、その要素の形状を示す。属性値として、ページ記述言語のＰｏｓｔＳｃｒｉｐｔ（米国アドビ・システムズ社の商標）でその要素の形状を記述した値をとる。属性「テキスト」は、その要素が何を表わすかを示すテキストであり、その要素の内側に描画されるものを示す。属性値として、ページ記述言語のＰｏｓｔＳｃｒｉｐｔでその要素の形状を記述した値をとる。属性「表示順序」は、その要素が何番目に表示されるかを示す。この実施例では、描画は上書きで行われるので、要素が重なった場合には表示順序が後のものが手前に見える。属性値として、一意の正数値をとる。
【００２２】
［要素データ変更部１０２］
要素データ変更部１０２は、他の機能部からの命令に応じて、要素データ保持部が保持する情報を変更する機能を持つ。また、変更する命令を受けた場合、その変更処理を行った後、画面書き換え命令を画面表示部１０３へ送る機能を持つ。
【００２３】
図の要素の生成、すなわち新たな表の生成は、要素生成指示部１０４から送られる命令によって行われる。この命令を受けると、まず新たな一つの表を要素データ保持部１０１中に作り、次にその表の各属性値に値を代入する。属性「色」と「形状」と「テキスト」は、その命令の引数として渡されるので、その値を属性値として表に代入する。属性「位置」は、デフオルトとして、座標ＩＤ｛１，１｝を属性値として用いる。属性「表示順序」は、この機能部に保持された表のその属性値としてその時点で最も大きな値を調べ、その値に１を加えた正数値を新しい要素の属性「表示順序」の属性値とする。
【００２４】
図の要素の配置は、要素配置指示部１０５から送られる命令によって行われる。まず、配置の変更対象となる要素を特定する。これは、その命令の引数として渡される、移動元の座標ＩＤを属性「位置」の値として持つもののうち、属性「表示順序」の値が最も大きいものである。要素が特定できれば、その要素の属性「位置」の値を、引数として渡された移動先の座標ＩＤで置き換える。また、引数としてＰｏｓｔＳｃｒｉｐｔプログラムが渡された場合は、これを属性「テキスト」の値としてその表に代入する。属性「表示順序」は、この機能部に保持された表のその属性値としてその時点で最も大きな値を調べ、その値に１を加えた正数値を新しい要素の属性「表示順序」の属性値とする。
【００２５】
図の要素の削除、すなわちある表の削除は、要素削除指示部１０６から送られる命令によって行われる。削除されるものは、その命令の引数として渡される座標ＩＤを属性「位置」の値として持つもののうち、属性「表示順序」の値が最も大きいものである。
【００２６】
［要素雛型保持部１０７］
個々の図の要素の雛型となる、要素の属性「色」と「形状」に関する値を持つ。色については、Ｌ＊ａ＊ｂ＊の値と、その色を表わす言葉（赤や青など）とを対応づけた組からなる表を持つ。「形状」については、ＰｏｓＳｃｒｉｐｔプログラムと、その形状を示す言葉（四角や楕円など）とを対応づけた組からなる表を持つ。
【００２７】
［要素生成指示部１０４］
ユーザの指示を受け、要素雛型保持部１０７を用いて新たな図の要素を生成し、これを要素データ変更部１０２を介して要素データ保持部１０１に記憶させる機能を持つ。また、テキスト入力を受け付ける機能を持つ。
【００２８】
ユーザの指示は、要素の属性「色」と「形状」に関して、要素雛型保持部１０７が保持する表のうちから、色と形状を示す言葉をそれぞれ選択することで行われる。このとき、テキストを入力すると、そのテキストを新たに作った図の要素が表わすもの、すなわちその要素の内側に表示されるテキストにできる。
【００２９】
選択が行われた後、要素生成指示部１０４は、要素データ変更部１０２に新たな表を作成する命令を送る。この命令の引数として、次のものが要素データ変更部に渡される。
＊ユーザが選択した色を表わす言葉と対応づけられたＬ＊ａ＊ｂ＊の値。（属性「色」の値になる）
＊ユーザが選択した形状を表わす言葉と対応づけられたＰｏｓｔＳｃｒｉｐｔプログラム。（属性「形状」の値になる）
＊入力されたテキストが、できるだけ前記のＰｏｓｔＳｃｒｉｐｔプログラムが表示上占める領域の内側にはいるように、フオント／行数／行間隔が設定された、入力されたテキストを描画するためのＰｏｓｔＳｃｒｐｔプログラム。（属性「テキスト」の値になる）
そしてこの機能部は、指示の履歴を残すために、履歴の追加命令を指示履歴変更部１０８へ送る。この追加命令の引数は、要素データ変更部１０２に送った命令である。
【００３０】
［要素配置指示部１０５］
要素配置指示部１０５は、ユーザの指示を受け、ある座標に配置されている図の要素を、別の座標に移動する機能を持つ。また、テキスト入力を受け付ける機能を持つ。
【００３１】
ユーザの指示は、まず移動元の座標を選択することで行われる。この座標に配置された図の要素のうち、最も手前に表示されているものが移動の対象となる。このときテキストを入力すると、移動対象となる図の要素の属性「テキスト」の値として、入力したテキストを設定することができる。この後、移動先となる座標が選択される。選択が行われた後、要素配置指示部１０５は、要素データ変更部１０２に属性値の変更の命令を送る。この命令の引数として、次のものが要素データ変更部１０２に渡される。
＊はじめに選択した座標のＩＤ。（移動元を示す）
＊あとで選択した座標のＩＤ。（移動先を示す）
＊入力されたテキストが、できるだけ前記のＰｏｓｔＳｃｒｉｐｔプログラムが表示上占める領域の内側にはいるように、フオント／行数／行間隔が設定された、入力されたテキストを描画するためのＰｏｓｔＳｃｒｉｐｔプログラム。（属性「テキスト」の値になる）
そしてこの機能部は、指示の履歴を残すために、履歴の追加命令を指示履歴変更部１０８へ送る。この追加命令の引数は、要素データ変更部１０２に送った命令である。
【００３２】
［要素削除指示部１０６］
要素削除指示部１０６は、ユーザの指示を受け、任意の座標に配置された図の要素を削除する機能を持つ。ユーザの指示は、座標を選択することで行われる。この座標に配置された図の要素のうち、最も手前に表示されているものが削除の対象となる。ユーザの指示後、選択された座標のＩＤを引数として、削除命令を要素データ変更部へ送る。そしてこの機能部は、指示の履歴を残すために、履歴の追加命令を指示履歴変更部１０８へ送る。この追加命令の引数は、要素データ変更部に送った命令である。
【００３３】
［座標データ保持部１０９］
座標データ保持部１０９は、図の要素を配置可能な、２次元平面上の座標に関する情報を保持する機能を持つ。この実施例では、配置可能な座標の数は固定であり、全部で１６個である。ある座標のデータは、座標ＩＤと、その座標の２次元上での位置を示す値とからなる。座標ＩＤは、座標を一意に識別するためものである。この実施例では、｛１，１｝といった、２元の正数値の組で表わす。位置を示す値は、他の座標点を測定対象として、これに対する方位と距離で示される。測定対象となる座標点は一点であり、これを座標ＩＤで示す。方位は、測定対象が自身からみてどの方向にあるかを示すものであり、画面表示あるいは印刷時に上になる方向を０度として時計回りの角度で示される。距離は、印刷の単位である、ポイントを単位とした非負の整数値で示される。
【００３４】
位置を示す値の概念図を図２に示す。例えば、図２の左上の座標点｛１，２｝は座標点｛１，１｝を測定対象（基準）として、１３５度の方位であり、距離は１０２ポイントである。
【００３５】
［方位／距離設定ルール保持部１１０］
方位／距離設定ルール保持部１１０は、座標間隔の設定に関する規則を保持する機能を持つ。この実施例では、座標データ保持部に保持された座標データに対して、その方位と距離の設定に関するルールを保持する。この実施例では、ルールは４種類である。ルールは、Ｃ言語に似た文法を持つプログラムにより、逐次的手順として記述されている。
【００３６】
ルール１は、座標の配置が等間隔となり、全体として格子状の構図をなすものである。ルール１（ｒｕｌｅ＿１（ｄｉｓ＿ｖａｌ））では、すべての座標で、隣の格子点との距離がｄｉｓ＿ｖａｌの値に設定される。ルール１は以下のように記述される（Ｃ言語に類する態様で）。ルール１により実行される動作を図２３に示す。図の記述は容易に理解できるためとくに説明は行わない。
【００３７】
【表１】
0003589253.tif 000002
ルール２は、座標の配置が等比的に広がり、全体として末広がりの構図をなすものである。ルール２（ｒｕｌｅ＿２（ｄｉｓ＿ｖａｌ，ｒａｔｉｏ））では、間隔の初期値をｄｉｓ＿ｖａｌの値として、ｒａｔｉｏの比率で間隔が広がっていくように格子点の間隔が設定される。ルール２は以下のように記述される。ルール２により実行される動作を図２４に示す。
【００３８】
【表２】
0003589253.tif 000003
ルール３は、座標の配置がある任意の点を中心として同心円状に並ぶものである。ルール３（ｒｕｌｅ＿３（ｃｅｎｔｅｒ＿ｐｏｉｎ，ｄｉｓ＿ｖａｌ））では、座標ｃｅｎｔｅｒ＿ｐｏｉｎｔを中心点として、ｄｉｓ＿ｖａｌの値を半径差とする同心円に格子点が配置されるようになる。ルール３は以下のように記述される。ルール３により実行される動作を図２５〜図２８に示す。
【００３９】
【表３】
0003589253.tif 000004
【００４０】
【表４】
0003589253.tif 000005
ルール４は、ある任意の点を中心に、任意の角度だけ全体の構図を回転させるものである。ルール４（ｒｕｌｅ＿４（ｃｅｎｔｅｒ＿ｐｏｉｎｔ，ｐｌｕｓ＿ａｎｇｌｅ））では、座標ｃｅｎｔｅｒ＿ｐｏｉｎｔを回転の中心として、ｐｌｕｓ＿ａｎｇｌｅの値だけ時計方向にすべての座標点を回転させる。ルール４は以下のように記述される。ルール４により実行される動作を図２９に示す。
【００４１】
【表５】
0003589253.tif 000006
ここで、関数ｐｏｉｎｔ＿ｄａｔａ（｛ｉ，ｊ｝）はシステム定義であり、座標｛ｉ，ｊ｝の座標データへアクセスするためのボインタを返す。これにより、ｐ−＞ｐｏｓｉｔｉｏｎ−＞〉ａｎｇｌｅのように、座標データの各属性値を参照／代入することができる。また、関数ｉｎ＿ｃｈａｎｇｅ＿ａｒｅａ（｛ｉ，ｊ｝）はシステム定義であり、座標ＩＤ｛ｉ，ｊ｝がレイアウト変更の範囲に入っているかどうかを調べるものである。この関数は、入っていれば１を、入っていなければ０を返す。
【００４２】
また、関数ｒｅｓｅｔ＿ｒｅｆｅｒｅｎｃｅ（｛ｉ，ｊ｝）は、方位／距離設定の基準点となる座標を座標ＩＤ｛ｉ，ｊ｝にし、この座標から測定対象の繋がりを木状に展開するシステム定義関数である。測定対象の変更に従って、距離と方位は、座標の配置がこの関数が適用される前と変わらないように、適切に設定される。座標ＩＤ｛ｌ，ｍ｝での「測定対象」の設定は次の通り。
＊ｌ＜ｉかつｍ＝ｊのとき、「測定対象」は座標ＩＤ｛ｌ＋１，ｍ｝
＊ｌ＞ｉかつｍ＝ｊのとき、「測定対象」は座標ＩＤ｛ｌ−１，ｍ｝
＊ｍ＞ｊのとき、「測定対象」は座標ＩＤ｛ｌ，ｍ−１｝
＊ｍ＜ｊのとき、「測定対象」は座標ＩＤ｛ｌ，ｍ＋１｝
また、ＸＰＯＩＮＴＭＡＸ，ＹＰＯＩＮＴＭＡＸは、配置可能座標の第１元、第２元の最大数を示すマクロである。この実施例では値は両方とも４である。また、ＬＥＦＴ，ＲＩＴＨＴ，ＢＯＴＴＯＭ，ＴＯＰは、各々、レイアウト変更範囲に入る座標の第１元の最小値、最大値、第２元の最小値と最大値を示すマクロである。実際の値は、後述する座標データ変更部で、各ルールに基づいて座標データが設定される際に、この時点でのレイアウト変更範囲に従って決まる。これらのシステム定義関数とマクロは、後述する座標データ変更部１１１で定義されている。
【００４３】
［作図目標選択肢保持部１１２］
作図目標選択肢保持部１１２は、作図目標の選択肢を保持する機能を持つ。この実施例では、ある作図目標は、ＩＤと文字列と画像（ビットマップデータ）の組で表現される。ＩＤは、各作図目標を各機能部が一意に識別するためのものであり、作図目標を示す文字列ＤＧに一意な正数値を続けたものである（例えば、ＤＧ３）。文字列および画像は、ユーザがその作図目標を他のものと区別できる言葉および図形を示している。
【００４４】
この実施例では、選択肢として用意されている作図目標は、「図の主旨」「図の用途」「図の概観」の３点から類別されている。このような類別は、ユーザが所望の作図目標を検索しやすくなる点で有用である。この実施例では、作図目標の選択肢を表形式のデータによって保持している。図３に、このデータの例を示す。
【００４５】
［選択肢−設定ルール対応保持部１１３］
選択肢−設定ルール対応保持部１１３は、作図目標選択肢保持部１１２に保持された作図目標と、方位／距離設定ルール保持部１１０に保持されたルールとの対応関係を保持する機能を持つ。この実施例では、作図目標のＩＤとルール名とそのルールへの引数の値とを対応づけた表形式のデータを用いることで、対応関係を保持している。引数が作図目標の選択時に決定される場合は、それを示す予約語が入る。
【００４６】
図４に、図３の例に基づいた、このデータの例を示す。ここで、予約語＿ｆｉｌｌ＿ｄｉｓｔａｎｃｅは間隔の長さを入力する、＿ｆｉｌｌ＿ｐｏｉｎｔは配置可能座標の座標ＩＤを入力することを示す。
【００４７】
［作図目標選択部１１４］
作図目標選択部１１４は、ユーザの指示により、作図目標選択肢保持部１１２に保持された選択肢のうちから一つを選び、これにしたがって配置可能座標を変更する指示を送ることができる機能を持つ。また、選択した作図目標が可変の値を取りえる場合は、その値を指定できる機能を持つ。
【００４８】
この実施例では、作図目標選択肢保持部１１２の類別に従って、各カテゴリーから作図目標を絞って画面表示部１０３へ表示させることができる（図５参照）。ユーザが各カテゴリーで項目を選ぶと、この機能部は、その項目をカテゴリーに持つ作図目標を作図目標選択肢保持部１１２から調べて、その作図目標の文字列と画像を画面表示部へ表示させる。作図目標が複数ある場合は、各作図目標を、作図目標を表す文字列を５０音順に並べた順序で表示させる。また、作図目標が多数あって表示しきれない場合は、図５に示すように、スクロール可能なウインドウの表示形式が取られる。なお、各項目をカテゴリーに持つものがなければ、何も表示させない。
【００４９】
カテゴリーの項目の選び方は、項目表示の部分がポップアップメニューになっており、このメニュー項目から選ぶことになる（図６参照）。メニュー項目は、ある項目に絞らないことを意味する「指定なし」と、作図目標選択肢保持部１１２に保持されたデータにある各カテゴリーの項目である。これらは、「指定なし」を除き、５０音順に表示される。また、重複するものは一つだけ表示される。選択しているものには下線が引かれて表示される。
【００５０】
ユーザが画面表示された作図目標の中から一つを選んだ場合、すなわち、図５において、作図目標を示す文字列と画像の組を選び（選ばれたものは太線で囲われる）、この後「ＯＫ」の領域を選択した場合、この機能部は、選ばれた作図目標のＩＤを調べる。そして、選択肢−ルール対応保持部１１３でこのＩＤと対応づけられているルールとその引数を調べ、この値を座標データ変更部１０２へ渡す。このとき、引数に予約語がある場合は、その予約語に応じた方法でユーザに値を入力させる。例えば、引数の予約語が＿ｆｉｌｌ＿ｄｉｓｔａｎｃｅの場合、ユーザに画面の２点を選ばせてその２点間の長さを取る、あるいはテンキーで数値入力させる、あるいはスライダーを表示しそれの長さを調節させる、などの方法からユーザが所望の方法で値を入れることができる。また、引数の予約語が＿ｆｉｌｌ＿ｐｏｓｉｔｉｏｎの場合、ユーザに画面上の座標点を選択させてそのＩＤを取る、といった方法で値を入力することができる。
【００５１】
最後に、この機能部は、指示の履歴を残すために、履歴の追加命令を指示履歴変更部１０８へ送る。この追加命令の引数は、ユーザが選択した作図目標のＩＤと、座標データ変更部１１１へ渡した命令との組である。
【００５２】
［レイアウト変更範囲記憶部１１５］
レイアウト変更範囲記憶部１１５は、レイアウト変更範囲指示部１１６によって指示された、レイアウト変更の範囲を記憶する機能を持つ。この実施例では、配置可能座標の座標ＩＤを一つ以上記憶している。この記憶された複数の座標ＩＤが、レイアウト変更の範囲を示す。
【００５３】
［レイアウト変更範囲指示部１１６］
レイアウト変更範囲指示部１１６は、作図目標の指示によりレイアウトが変更される範囲を、ユーザが指示できるための機能を持つ。この実施例では、変更範囲を図全体にするか、図の一部にするかを指示できる。ここで図の一部の場合は、２種類の方法でその範囲を指示できる。一つは、図の領域の一部を指示する方法である。もう一つは、一つ以上の要素を選択する方法である。
【００５４】
ユーザが変更範囲として図全体を指示した場合は、この機能部は、座標データ保持部に存在するすべての座標ＩＤを、レイアウト変更範囲記憶部１１５に記憶させる。ユーザが変更範囲として図の領域の一部を指示した場合は、この機能部は、その領域に内包される配置可能座標の座標ＩＤを、レイアウト変更範囲記憶部１１５に記憶させる。なお、この指示方法は、近接する要素に対して一括してデザイン変更を施す指示がしやすい点で有用である。
【００５５】
ユーザが変更範囲として一つ以上の要素を選択した場合は、この機能部は、その選択された要素の位置である座標ＩＤを、レイアウト変更範囲記憶部１１５に記憶させる。なお、この指示方法は、画面上では離れて位置するが意味的には関連する要素などに対して、同じデザイン変更を施す指示がしやすい点で有用である。
【００５６】
［逆指示生成部１１７］
逆指示生成部１１７は、ある指示に対して、その指示を打ち消す指示を生成する機能を持つ。ある指示Ａを打ち消す指示Ｂとは、指示Ａを実行後に指示Ｂを実行すれば、要素データおよび座標データが指示Ａの実行前に戻るものを指す。例えば、指示が「方位を＋α度回転させる」であれば、これを打ち消す指示は「方位を−α度回転させる」である。また、指示「距離をｘ倍する」を打ち消す指示は「距離を１／ｘ倍する」である。
【００５７】
この実施例では、この機能部は、方位／距離設定ルール保持部中に保持されたルールとシステム定義関数に対して、辞書形式データで各々を打ち消す指示を記憶している。また、この辞書形式データでは、前記ルールやシステム定義関数の引数に応じた変換（前出の「方位を＋α」の例で、−α）が記載されている。この機能部は、この辞書形式データに従って、ある引数を取ったルールあるいはシステム定義関数が与えられた時に、それを打ち消すような引数を取ったルールあるいはシステム定義関数を返す。
【００５８】
［指示履歴保持部１１８］
指示履歴保持部１１８は、レイアウトをある時点に戻すことができるように、ユーザが行ったレイアウト変更指示に関する情報の履歴を保持する機能を持つ。この実施例では、ユーザが行ったレイアウト変更指示を示す文字列と、その指示の有効範囲、その指示を打ち消す指示とを一組として、これを指示が実行された順に記憶していく。この実施例では、最大５１２組を保持できる。これを越えた場合、最も古いものが消されて、新しいものが付け加えられる。
【００５９】
［指示履歴変更部１０８］
指示履歴変更部１０８は、他の機能部からの命令に従って、指示履歴保持部１１８中の履歴の追加または削除を行う機能を持ち、また、命令で渡される、レイアウト変更を実行した関数／ルールから、それを表す文字列（人が読んで分かる言葉）を探しだす機能を持つ。
【００６０】
追加命令では、引数として、レイアウト変更指示、または、作図目標のＩＤとしイアウト変更指示の組が渡される。追加命令がくると、この機能部は、まず、渡されたレイアウト変更指示を逆指示生成部１１７へ渡して、これを打ち消す指示を生成させる。次に、追加命令の引数がレイアウト変更指示だけの場合は、その指示を表す文字列（例えば、「要素の削除」「要素の追加」など）を、この機能部に保持された辞書データから検索し、記憶する。また、追加命令の引数が作図目標のＩＤとしイアウト変更指示の組の場合は、そのＩＤが示す作図目標を表す文字列を作図目標選択肢保持部１１２から探し、記憶する。最後に、この機能部が記憶した文字列と、レイアウト変更範囲記憶部１１５が記憶する座標ＩＤと、逆指示生成部１１７から返る結果とを一組として、この組を指示履歴保持部１１８の最も新しい組として指示履歴保持部１１８に保持させる。
【００６１】
削除命令では、指示履歴保持部１１８に保持された最も新しい組を削除する。
【００６２】
［取消し対象選択部１１９］
取消し対象選択部１１９は、指示履歴保持部１１８が保持する履歴から、ユーザがどの時点までレイアウトを戻すかを選択できる機能を持つ。この機能部は、指示履歴保持部１１８が保持する組のすべてに対して、組中のユーザが行ったレイアウト変更指示を表す文字列を、指示が実行された順序の逆順で画面表示部１０３に表示させる（図７参照）。ユーザが画面表示された言葉から一つを選択すると、この機能部は、それが指示履歴保持部１１８中の履歴の何番目の組かを調べ、その番号を取消し実行制御部１２０へ渡す。
【００６３】
［取消し実行制御部１２０］
取消し実行制御部１２０は、取消し対象選択部１１９を用いたユーザの選択にしたがって、レイアウトをその選択の時点に戻すように、レイアウトの変更を実行する機能を持つ。この実施例では、指示履歴保持部１１８中に保持された組の中の「指示を打ち消す指示」を、履歴をさかのぼりながら順次実行することで、レイアウトをユーザが選択した時点へ戻すようにしている。
【００６４】
この機能部の処理は、取消し対象選択部１１９から、指示履歴保持部１１８中の履歴の何番目の組かを示す番号を渡されることで開始される。この機能部の処理は、次のアルゴリズムに従う。
［ステップ１］  取消し対象選択部１１９から渡された番号を記憶する。
［ステップ２］  指示履歴保持部１１８が保持する履歴のうち、最も新しい組が何番目になるかを調べ、これがステップ１で記憶した番号と一致すれば処理を終了する。一致しなければ、ステップ３へ進む。
［ステップ３］  最も新しい組の中の「その指示の有効範囲」に一致するように、しイアウト変更範囲記憶部１１５の情報を書き換える。
［ステップ４］  最も新しい組の中の「その指示を打ち消す指示」を実行する。具体的には、「その指示を打ち消す指示」が要素の生成／削除に関するものであれば要素データ変更部へその打ち消す指示を渡し、そうでなければ座標データ変更部へその指示を渡す。
［ステップ５］  最も新しい組を指示履歴保持部１１８から削除する。この後、ステップ２へ進む。
【００６５】
［座標データ変更部１１１］
座標データ変更部１１１は、作図目標選択部から送られた命令により、方位／距離ルール保持部１１０に保持されたルールを用いて、座標データ保持部１０９の座標データを変更する。また、前述のＸＰＯＩＮＴＭＡＸやｒｅｓｅｔ＿ｒｅｆｒｅｎｃｅ（）といった、マクロやシステム定義関数を保持しており、ルールを解釈する際にこれらを利用する。
【００６６】
この機能部は、座標データを変更後、画面表示部へ画面書き換え命令を送る。例えば、他の機能部からの命令が、図の全体に対してｒｕｌｅ＿１（１４４）で座標データを変更である場合、この機能部は図８のように座標配置を設定する。図８の状態から、レイアウト変更範囲を座標ＩＤ｛１，２｝｛２，１｝，｛２，２｝，｛２，３｝，｛３，２｝として、ｒｕｌｅ＿４（｛２，２｝，−１５）の実行が命令された場合、この機能部は図９のように座標配置を設定する。また、他の機能部からの命令が、図の全体に対してｒｕｌｅ＿２（７２，１．２４）で座標データを変更である場合、この機能部は図１０のように座標配置を設定する。また、他の機能部からの命令が、図の全体に対してｒｕｌｅ＿３（｛３，１｝，７２）で座標データを変更する場合、この機能部は図１１のように座標配置を設定する。ｒｕｌｅ＿３（｛３，２｝，１４４）の場合、図１２のように座標配置を設定する。また、図１１の状態から、図全体に対してｒｕｌｅ＿４（｛３，１｝，３０）の実行が命令された場合、この機能部は図１３のように座標配置を設定する。
【００６７】
［画面表示部１０３］
画面表示部１０３は、画面書き換え命令により、要素データ保持部１０９に保持された要素のデータを解釈してＲＧＢラスタ画像に変換し、変換後の画像をディスプレイに表示する機能を持ち、また、ボインティングデバイスに連動するカーソルを画面上に表示し、前述の各種指示／選択の際に座標点や図の要素を直接選択する操作を可能にする機能を持つ。
【００６８】
図の要素を描画する際は、属性「表示順序」の値の小さいものから順次上書きで描画する。また、方位０が必ず画面で上を向くように描画する。ある要素が属性「テキスト」に値を持つ場合は、まず属性「色」と「形状」にしたがって描画し、そのあとで属性「テキスト」の値に基づいてテキストを上書きで描画する。
【００６９】
［図印刷部１２１］
図印刷部１２１は、ユーザの指示により、要素データ保持部に保持された要素のデータを解釈してＣＭＹＫラスタ画像に変換し、変換後の画像を紙／ＯＨＰシートに印刷する機能を持つ。図の要素を描画する際は、属性「表示順序」の値の小さいものから順次上書きで描画する。また、方位０が必ず紙／ＯＨＰシートで上を向くように描画する。ある要素が属性「テキスト」に値を持つ場合は、まず属性「色」と「形状」にしたがって描画し、そのあとで属性「テキスト」の値に基づいてテキストを上書きで描画する。
【００７０】
［処理制御部１２２］
処理制御部１２２は、処理全体の流れを統括する機能を持つ。また、システム全体の起動と終了のユーザ指示を受ける機能を持つ。またこの処理制御部１２２はユーザ指示が行える各機能部へ、指示入力受け付けの時間を順次割り当て、また、時間が割り当てられた機能部でユーザからの入力があった場合、その要求による処理が終了するまで他の機能部への割り当てを中断する。
【００７１】
実施例における処理の流れを図１４に示す。この処理の流れは、処理制御部１２２によって統括され、実行される。図１４では、ステップＳ１で処理の終了を監視し、また、ステップＳ２、Ｓ４、Ｓ６、Ｓ８、Ｓ１０、およびＳ１２でユーザの指示が何かを判別し、これに基づいて、処理の終了や、各機能部の動作を実行するようになっている（Ｓ３、Ｓ５、Ｓ７、Ｓ９、Ｓ１１、Ｓ１３およびＳ１４）。各機能部についてはすでに説明した。
【００７２】
この実施例では、例えば、図１５に示されるように図の要素が配置されている場合に、作図目標「伸びる」を選択することで、図１６のような図の配置を自動的に得ることができる。また、図１７に示されるように図の要素が配置されている場合に、図１８の枠線のようにレイアウト変更範囲となる領域を指示し、作図目標「注目させる」を選択ことで、図１９のような図の配置を自動的に得ることができる。
【００７３】
図１６や図１９で示したような、作図目標の選択によって得られたレイアウト結果が気に入らない場合は、ユーザは図７に示した取消し対象選択部を用いて、図１５や図１７に示すレイアウトにいつでも戻すことができる。
【００７４】
この実施例では、配置可能座標をあらかじめ有限個用意し、これらを２元のＩＤで識別し、その２次元平面上での位置を規則に応じて設定し、各座標に配置された図の要素の２次元平面上での位置を決める方法をとった。この方法では、座標ＩＤの隣接関係（｛ｉ，ｊ｝と｛ｉ＋１，ｊ｝など）や同軸関係（｛ｉ，ｊ｝と｛ｉ，ｍ｝）を利用して規則を設定できるので、配置座標のＩＤが近い図の要素は構図にかかわらず近くに並んで配置される、といったことが容易に可能となる。
【００７５】
なお、図の要素の位置を直接規則で制約する方法、あるいは、配置可能な座標の集合を複数個用意しそれらの間の写像を規定する方法を用いても、図の要素を構図に合わせて配置を変えることについて、この実施例と同様の効果を実現できることは明らかである。
【００７６】
また、この実施例では、間隔設定を他の格子点との方位と距離による、相対的記述で表現している。この方法では、配置可能座標の並びの等比的設定や等差的設定が容易となる。なお、配置可能座標の２次元平面上での位置を示す方法として、絶対的位置指定や距離だけによる相対的指定など、別の方法をとっても、図の要素を構図に合わせて配置を変えることについて、この実施例と同様の効果を実現できることは明らかである。
【００７７】
また、この実施例では、作図目標の選択肢を表示させて、そのうちから選択する方法を取ったが、これをコマンド設定やファンクションキーへのアサインなどの指示の短縮登録を用意することで、よく使う作図目標を選択する手間をより軽減させることもできる。
【００７８】
また、この実施例では、作図目標の選択肢を絞りこむために、作図目標を類別した時間不変の情報を利用したが、この方法の他に、「よく使う作図目標」「晋段あまり使っていない作図目標」など、レイアウト変更の履歴情報を利用して作図プロセスに依存した絞りこみを行うことも可能である。
【００７９】
［実施例の変形］
［変形例１］
方位／距離ルール設定保持部１１０に保持されるルールを、方位／距離の設定だけでなく、これにともなって図の要素の色を変化させるものを付け加える。
【００８０】
例えば、前述のルール中でｐ−＞ｐｏｓｉｔｉｏｎ−＞ａｎｇｌｅのように座標データの位置に関する各属性値を参照／設定できたが、これと同様にｐ−＞ｃｏｌｏｒで座標データの色に関する各属性値を参照／設定できるようにする。そして、座標データ変更部１１１が、座標データ保持部１０９の座標データを変更するとともに、要素データ変更部１１１に命じて選択されたルールにしたがって要素の色を変更させる。
【００８１】
同時に、色づけが変わるルールと対応づけた作図目標に関しては、それを表す文字列や画像、あるいはそれが属するカテゴリー項目に、色づけが変わることがユーザに分かるようにする。例えば、「図の概観」として、「暖かい」「冷たい」「鮮やか」「渋い」「柔らかい」「くっきりした」といった、色に関わる形容詞をカテゴリー項目に加える。また、作図目標を示す画像をカラーピツトマツブとし、色チップやバーによって、配色パターンを示す。
【００８２】
これにより、作図目標の選択肢を選ぶだけで、例えば、要素の並びにしたがったグラデーションや色相変化をつける、図の特定の部分を目立たせる、など構図にあった配色を図の要素に与えることが可能となる。例えば、作図目標「注目させる」が方位／距離と色とを同時変更する場合、作図目標「注目させる」を選択するだけで図１７を図２０のように自動的に変更することが可能になる。
【００８３】
［変形例２］
方位／距離ルール設定保持部１１０に保持されるルールを、方位／距離の設定だけでなく、これにともなって図の要素の形状を変化させるものを付け加える。
【００８４】
例えば、前述のルール中でｐ−＞ｐｏｓｉｔｉｏｎ−＞ａｎｇｌｅのように座標データの位置に関する各属性値を参照／設定できたが、これと同様にｐ−＞ｆｏｒｍで座標データの形状に関する各属性値を参照／設定できるようにする。そして、座標データ変更部１１１が、座標データ保持部１０９の座標データを変更するとともに、要素データ変更部に命じて選択されたルールにしたがって要素の形状を変更させる。
【００８５】
同時に、形状が変わるルールと対応づけた作図目標に関しては、それを表す文字列や画像、あるいはそれが属するカテゴリー項目に、形状が変わることがユーザに分かるようにする。例えば、「図の概観」に、「膨れ上がる」「ざらついた」「金属的」といった、要素の大きさや形やテクスチャーを示すカテゴリー項目を加える。
【００８６】
これにより、例えば、末広がりに合わせて要素を大きくする、図の要素の向きを座標点列に合わせる、図の要素の輪郭形状を座標点列に沿わせる、など構図にあった形状を図の要素に与えることが可能となる。また、配置に合わせ手、要素の輪郭の太さや形、ハッチングのパターンや密度、陰付けなどが行える。例えば、作図目標「伸びる」が方位／距離と形状を変更する場合、この作図目標を選択するだけで図２１を図２２のように自動的に変更することが可能になる。
【００８７】
［変形例３］
上記２つの変形例を組み合わせることで、図の要素の配置と色と形状とを同時に規則を用いて設定することが可能である。
【００８８】
［変形例４］
実施例、および前述の３つの変形例において、ルールあるいは作図目標あるいはこれらの対応関係をユーザが差し替え可能とする。これにより、ユーザの職種や好み、あるいは流行に合わせて、図の構図を用意することが可能となる。
【００８９】
【発明の効果】
以上の説明から明らかなように、本発明によれば、ユーザは作図目標を指示するだけで、システムが自動的に図のデザインを決定し、それに従って図のレイアウトを変更する。また本発明によれば、作図目標の選択肢からユーザは適切なものを選ぶだけでよい。また本発明によれば、図の全体や一部など図の任意の部分に対して作図目標を指示できるので、ある部分はある意図に沿ったデザインにするなど、強調やメリハリをつけることが容易になる。また本発明によれば、システムが行ったレイアウト変更を取り消すことができるので、ユーザはあるデザインの結果が気に入らなければすぐ別のデザインを試すことができる。また本発明によれば、レイアウト変更を取り消す際に、それまでに指示した作図目標を利用してどの時点までレイアウトを戻すかを指示できるので、どのようなデザインに戻るか直感的にわかりやすい。したがって、従来に比べて、図のデザインの決定とこれに基づく作図作業に対するユーザの負担を大幅に軽減するという効果がある。
【図面の簡単な説明】
【図１】この発明の実施例を全体として示すブロック図である。
【図２】上述実施例における座標のデータの記述を説明する図である。
【図３】上述実施例の作図目標選択肢保持部１１２のデータ構造を説明する図である。
【図４】上述実施例の選択肢−設定ルール対応保持部１１３のデータ構造を説明する図である。
【図５】上述実施例の作図目標選択部１１４が提供する作図目標の選択画面を示す図である。
【図６】図５の選択画面の表示態様を説明する図である。
【図７】上述実施例の取消し対象選択部１１９が提供する指示履歴表示用の画面を示す図である。
【図８】上述実施例の座標データ変更部１０２においてルール１を用いて座標を変更した例を示す図である。
【図９】図８においてルール４を用いて座標を変更した例を示す図である。
【図１０】上述実施例の座標データ変更部１０２においてルール２を用いて座標を変更した例を示す図である。
【図１１】上述実施例の座標データ変更部１０２においてルール３を用いて座標を変更した例を示す図である。
【図１２】上述実施例の座標データ変更部１０２においてルール３（パラメータを変えて）を用いて座標を変更した例を示す図である。
【図１３】図１１においてルール４を用いて座標を変更した例を示す図である。
【図１４】上述実施例の処理制御部１２２の動作を説明するフローチャートである。
【図１５】上述実施例で生成された図面のデザインを示す図である。
【図１６】上述実施例で生成された図面のデザインを示す図である。
【図１７】上述実施例で生成された図面のデザインを示す図である。
【図１８】上述実施例で生成された図面のデザインを示す図である。
【図１９】上述実施例で生成された図面のデザインを示す図である。
【図２０】上述実施例の変更例を説明する図である。
【図２１】上述実施例で生成された図面のデザインを示す図である。
【図２２】上述実施例で生成された図面のデザインを示す図である。
【図２３】上述実施例の方位／距離設定ルール保持部１１０に記憶されたルール１の動作を説明するフローチャートである。
【図２４】上述実施例の方位／距離設定ルール保持部１１０に記憶されたルール２の動作を説明するフローチャートである。
【図２５】上述実施例の方位／距離設定ルール保持部１１０に記憶されたルール３（全体）の動作を説明するフローチャートである。
【図２６】上述実施例の方位／距離設定ルール保持部１１０に記憶されたルール３の細部の動作を説明するフローチャートである。
【図２７】上述実施例の方位／距離設定ルール保持部１１０に記憶されたルール３の細部の動作を説明するフローチャートである。
【図２８】上述実施例の方位／距離設定ルール保持部１１０に記憶されたルール３の細部の動作を説明するフローチャートである。
【図２９】上述実施例の方位／距離設定ルール保持部１１０に記憶されたルール４の動作を説明するフローチャートである。
【符号の説明】
１０１  要素データ保持部
１０２  要素データ変更部
１０８  指示履歴変更部
１０９  座標データ保持部
１１０  方位／距離設定ルール保持部
１１１  座標データ変更部
１１２  作図目標選択肢保持部
１１３  選択肢−設定ルール対応保持部
１１４  作図目標選択部
１１５  レイアウト変更範囲記憶部
１１６  レイアウト変更範囲指示部
１１７  逆指示生成部
１１８  指示履歴保持部
１１９  取消し対象選択部
１２０  取消し実行制御部
【図１】
0003589253.tif 000007
【図２】
0003589253.tif 000008
【図３】
0003589253.tif 000009
【図４】
0003589253.tif 000010
【図５】
0003589253.tif 000011
【図６】
0003589253.tif 000012
【図７】
0003589253.tif 000013
【図８】
0003589253.tif 000014
【図９】
0003589253.tif 000015
【図１０】
0003589253.tif 000016
【図１１】
0003589253.tif 000017
【図１２】
0003589253.tif 000018
【図１３】
0003589253.tif 000019
【図１４】
0003589253.tif 000020
【図１５】
0003589253.tif 000021
【図１６】
0003589253.tif 000022
【図１７】
0003589253.tif 000023
【図１８】
0003589253.tif 000024
【図１９】
0003589253.tif 000025
【図２０】
0003589253.tif 000026
【図２１】
0003589253.tif 000027
【図２２】
0003589253.tif 000028
【図２３】
0003589253.tif 000029
【図２４】
0003589253.tif 000030
【図２５】
0003589253.tif 000031
【図２６】
0003589253.tif 000032
【図２７】
0003589253.tif 000033
【図２８】
0003589253.tif 000034
【図２９】
0003589253.tif 000035