(57)【要約】【課題】ベジェ曲線を描画する際に、ユーザが表現したい特徴を忠実にベジェ曲線に反映できるようにすること。【解決手段】ユーザによって入力されたアンカーポイントａ、ｂ、ｃを通過するベジェ曲線を描画する際に、アンカーポイントｂを支点に直線ａｂを回転させた直線Ｌ１および、アンカーポイントＢを支点に直線ｂｃを回転させた直線Ｌ２を求める。その後、それぞれの直線上に、コントロールポイントＣｂ１、コントロールポイントＣｂ２を求める。【選択図】      図１
2004295317.tif 000002
【特許請求の範囲】
【請求項１】
曲線が通過する２つのアンカーポイントと通過しない２つのコントロールポイントの４つの制御点からベジェ曲線を描画する情報処理装置において、
アンカーポイントを入力する入力手段と、
前記入力手段により入力されたアンカーポイントからコントロールポイントを決定するコントロールポイント決定手段と、
前記入力されたアンカーポイントと、前記コントロールポイント決定手段により決定されたコントロールポイントからベジェ曲線を描画する描画手段と、
前記描画手段により描画されるベジェ曲線を表示する表示手段と、を備え、
前記コントロールポイント決定手段は、ａｂｃの順に入力されたアンカーポイントに対して、アンカーポイントｂを基準に、角ａｂｃの角度から求められる所定の角度分、直線ａｂ上の点および直線ｂｃ上の点を回転させることにより第１のコントロールポイントＣｂ１，Ｃｂ２を決定し、アンカーポイントａおよびコントロールポイントＣｂ１、アンカーポイントｂおよびコントロールポイントＣｂ２それぞれにより、第２のコントロールポイントを決定する、
ことを特徴とする情報処理装置。
【請求項２】
曲線が通過する２つのアンカーポイントと通過しない２つのコントロールポイントの４つの制御点からベジェ曲線を描画する情報処理装置において、
アンカーポイントを入力する入力手段と、
前記入力手段により入力されたアンカーポイントからコントロールポイントを決定するコントロールポイント決定手段と、
前記入力されたアンカーポイントと、前記コントロールポイント決定手段により決定されたコントロールポイントからベジェ曲線を描画する描画手段と、
前記描画手段により描画されるベジェ曲線を表示する表示手段と、を備え、
前記コントロールポイント決定手段は、ａｂｃの順に入力されたアンカーポイントに対して、角ａｂｃの角度により、コントロールポイントの算出処理を変更する、
ことを特徴とする情報処理装置。
【請求項３】
曲線が通過する２つのアンカーポイントと通過しない２つのコントロールポイントの４つの制御点からベジェ曲線を描画する情報処理装置を用いて、
アンカーポイントを入力する入力工程と、
前記入力されたアンカーポイントからコントロールポイントを決定するコントロールポイント決定工程と、
前記入力されたアンカーポイントと、前記決定されたコントロールポイントからベジェ曲線を描画する描画工程と、
前記描画工程により描画されるベジェ曲線を表示する表示工程と、を備え、
前記コントロールポイント決定工程は、ａｂｃの順に入力されたアンカーポイントに対して、アンカーポイントｂを基準に、角ａｂｃの角度から求められる所定の角度分、直線ａｂ上の点および直線ｂｃ上の点を回転させることにより第１のコントロールポイントＣｂ１，Ｃｂ２を決定し、アンカーポイントａおよびコントロールポイントＣｂ１、アンカーポイントｂおよびコントロールポイントＣｂ２それぞれにより、第２のコントロールポイントを決定する、
ことを特徴とする描画方法。
【請求項４】
曲線が通過する２つのアンカーポイントと通過しない２つのコントロールポイントの４つの制御点からベジェ曲線を描画する情報処理装置を用いて、
アンカーポイントを入力する入力工程と、
前記入力されたアンカーポイントからコントロールポイントを決定するコントロールポイント決定工程と、
前記入力されたアンカーポイントと、前記決定されたコントロールポイントからベジェ曲線を描画する描画工程と、
前記描画工程により描画されるベジェ曲線を表示する表示工程と、を備え、
前記コントロールポイント決定工程は、ａｂｃの順に入力されたアンカーポイントに対して、角ａｂｃの角度によりコントロールポイントの計算処理を変更する、
ことを特徴とする描画方法。
【請求項５】
前記請求項３〜請求項４のいずれか１つに記載された方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、情報処理装置にかかり、詳細には、ベジェ曲線の描画機能を備えた情報処理装置および描画方法およびその方法をコンピュータに実行させるプログラムに関する。
【０００２】
【従来の技術】
パーソナルコンピュータ等の情報処理装置を用いて業務を遂行する際に、ワードプロセッサ・アプリケーション、表計算アプリケーション、図形プロセッサ・アプリケーションといった複数のアプリケーションを用いて、文書やグラフ、図面といったデータファイルを作成することが一般的になってきている。
【０００３】
このような情報処理装置において、道路地図や建築用図面等の各種図面を作成する場合、曲線を描画する必要があり、代表的な描画方法として、ベジェ関数によるベジェ曲線を使用する方法が知られている。
【０００４】
ベジェ曲線の描画は、４つの制御点によって描画するもので、始点となるアンカーポイント、終点となるアンカーポイント、および２つのコントロールポイントを入力し、アンカーポイント２点を通過し、コントロールポイントの内側を通過する曲線が描画される。
【０００５】
特開平７−８５３０２では、ユーザにベジェ曲線が通過する点を指定するだけでベジェ曲線の描画を可能にしている。図７に示すように、アンカーポイントａ、ｂ、ｃ入力した後、アンカーポイントｂを通り、アンカーポイントａとアンカーポイントｃを結んだ直線に平行な直線上に、コントロールポイントＣｂ１、Ｃｂ２を設定する。次にアンカーポイントａとコントロールポイントＣｂ１を結んだ直線上の中点位置にコントロールポイントＣａ２を設定する。このようなやり方でベジェ曲線を描画することが可能である。
【０００６】
【発明が解決しようとする課題】
しかしながら、特開平７−８５３０２でコントロールポイントを自動的に設定する方法において、コントロールポイントを算出する際の計算方法は１種類に決められている。そのため、ユーザが緩やかな曲線や尖った形の曲線を描こうとした場合にも、定められたの計算方法でコントロールポイントが算出されるために、アンカーポイントによって構成される角度によって表現される緩やかな曲線または尖った形の曲線の特徴が明確にならないという問題点があった。
【０００７】
本発明は、上述した従来技術による問題点を解消するため、自動的にコントロールポイントを設定してベジェ曲線を描画する際に、コントロールポイントを決定する際に、所定のアンカーポイントを基準に回転させることによってコントロールポイントを求めることで、所望のベジェ曲線を描画することを可能にする情報処理装置、描画方法およびその方法をコンピュータに実行させるプログラムを提供することを第１の目的とする。
【０００８】
また、アンカーポイントによって構成される角の大きさによってコントロールポイントの算出方法を切り替えることで、ユーザが所望する曲線の特徴（なめらかな、もしくは尖った等）を反映したベジェ曲線を描画することを可能にする情報処理装置、描画方法およびその方法をコンピュータに実行させるプログラムを提供することを第２の目的とする。
【０００９】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するため、請求項１に記載の発明にかかる情報処理装置は、曲線が通過する２つのアンカーポイントと通過しない２つのコントロールポイントの４つの制御点からベジェ曲線を描画する情報処理装置において、アンカーポイントを入力する入力手段と、前記入力手段により入力されたアンカーポイントからコントロールポイントを決定するコントロールポイント決定手段と、前記入力されたアンカーポイントと、前記コントロールポイント決定手段により決定されたコントロールポイントからベジェ曲線を描画する描画手段と、前記描画手段により描画されるベジェ曲線を表示する表示手段と、を備え、前記コントロールポイント決定手段は、ａｂｃの順に入力されたアンカーポイントに対して、アンカーポイントｂを基準に、角ａｂｃの角度から求められる所定の角度の分だけ、直線ａｂ上の点および直線ｂｃ上の点を回転させることにより第１のコントロールポイントＣｂ１，Ｃｂ２を決定し、アンカーポイントａおよびコントロールポイントＣｂ１、アンカーポイントｂおよびコントロールポイントＣｂ２それぞれにより、第２のコントロールポイントを決定する、ことを特徴とする。
【００１０】
この請求項１に記載の発明によれば、ユーザによって入力された角ａｂｃの角度を反映する形でベジェ曲線を描画することが可能になるため、ユーザが所望するベジェ曲線を描画することが可能になる。
【００１１】
また、請求項２に記載の発明にかかる情報処理装置は、曲線が通過する２つのアンカーポイントと通過しない２つのコントロールポイントの４つの制御点からベジェ曲線を描画する情報処理装置において、アンカーポイントを入力する入力手段と、前記入力手段により入力されたアンカーポイントからコントロールポイントを決定するコントロールポイント決定手段と、前記入力されたアンカーポイントと、前記コントロールポイント決定手段により決定されたコントロールポイントからベジェ曲線を描画する描画手段と、前記描画手段により描画されるベジェ曲線を表示する表示手段と、を備え、前記コントロールポイント決定手段は、ａｂｃの順に入力されたアンカーポイントに対して、角ａｂｃの角度により、コントロールポイントの算出処理を変更する、ことを特徴とする。
【００１２】
この請求項２に記載の発明によれば、角ａｂｃの角度の大小によってコントロールポイントの算出処理を切り替えるために、ユーザが入力したアンカーポイントが成す角度を反映したベジェ曲線を描画することが可能になる。したがって、角ａｂｃが鋭角であれば、尖った形に、鈍角であればなめらかなベジェ曲線を描画することできる。
【００１３】
また、請求項３に記載の発明にかかる描画方法は、曲線が通過する２つのアンカーポイントと通過しない２つのコントロールポイントの４つの制御点からベジェ曲線を描画する情報処理装置を用いて、アンカーポイントを入力する入力工程と、前記入力されたアンカーポイントからコントロールポイントを決定するコントロールポイント決定工程と、前記入力されたアンカーポイントと、前記決定されたコントロールポイントからベジェ曲線を描画する描画工程と、前記描画工程により描画されるベジェ曲線を表示する表示工程と、を備え、前記コントロールポイント決定工程は、ａｂｃの順に入力されたアンカーポイントに対して、アンカーポイントｂを基準に、角ａｂｃの角度から求められる所定の角度分、直線ａｂ上の点および直線ｂｃ上の点を回転させることにより第１のコントロールポイントＣｂ１，Ｃｂ２を決定し、アンカーポイントａおよびコントロールポイントＣｂ１、アンカーポイントｂおよびコントロールポイントＣｂ２それぞれにより、第２のコントロールポイントを決定する、ことを特徴とする。
【００１４】
この請求項３に記載の発明によれば、ユーザによって入力された角ａｂｃの角度を反映する形でベジェ曲線を描画することが可能になるため、ユーザが所望するベジェ曲線を描画することが可能になる。
【００１５】
また、請求項４に記載の発明にかかる描画方法は、曲線が通過する２つのアンカーポイントと通過しない２つのコントロールポイントの４つの制御点からベジェ曲線を描画する情報処理装置を用いて、アンカーポイントを入力する入力工程と、前記入力されたアンカーポイントからコントロールポイントを決定するコントロールポイント決定工程と、前記入力されたアンカーポイントと、前記決定されたコントロールポイントからベジェ曲線を描画する描画工程と、前記描画工程により描画されるベジェ曲線を表示する表示工程と、を備え、前記コントロールポイント決定工程は、ａｂｃの順に入力されたアンカーポイントに対して、角ａｂｃの角度によりコントロールポイントの計算処理を変更する、ことを特徴とする。
【００１６】
この請求項４に記載の発明によれば、角ａｂｃの角度の大小によってコントロールポイントの算出処理を切り替えるために、ユーザが入力したアンカーポイントが成す角度をより反映したベジェ曲線を描画することが可能になる。したがって、角ａｂｃが鋭角であれば、尖った形に、鈍角であればなめらかなベジェ曲線を描画することできる。
【００１７】
また、請求項５に記載の発明にかかるプログラムは、前記請求項３〜請求項４のいずれか１つに記載された方法をコンピュータに実行させることを特徴とする。
【００１８】
【発明の実施の形態】
以下に添付図面を参照して、この発明による情報処理装置、情報処理方法およびその方法をコンピュータに実行させるプログラムの好適な実施の形態を詳細に説明する。
【００１９】
（発明の概要）
まず、本発明の概要を説明する。本発明は、道路地図や建築図面等の各種図面を作成する際に必要なベジェ曲線の描画する際に、アンカーポイントが入力された後に、自動的にコントロールポイントを算出し、入力されたアンカーポイントと、アンカーポイントから算出されたコントロールポイント２点、合計４点を用いて、ベジェ曲線を描画する。その際、アンカーポイントにより構成される角度によって、コントロールポイントの算出方法を切り替えることにより、アンカーポイントにより構成される角度を反映したベジェ曲線を描画する情報処理装置である。
【００２０】
図１は、上記ベジェ曲線の描画方法の内容示す説明図である。図示するように、ユーザによって入力されたアンカーポイントａ、ｂ、ｃを通過するベジェ曲線を描画する際に、アンカーポイントｂを支点に直線ａｂを回転させた直線Ｌ１および、アンカーポイントｂを支点に直線ｂｃを回転させて直線Ｌ２、それぞれの直線上に、コントロールポイントＣｂ１、コントロールポイントＣｂ２を求める。
【００２１】
次に、コントロールポイントＣｂ１とアンカーポイントａを結ぶ直線ａＣｂ１上の中点を求め、この中点をコントロールポイントＣａ２とする。同様に、コントロールポイントＣｂ２とアンカーポイントｃを結ぶ直線Ｃｂ２ｃ上の中点を求め、この中点をコントロールポイントＣｃ１とする。
【００２２】
このとき、アンカーポイントａ、ｂ、ｃからなる角ａｂｃの角度の大きさによって、直線ａｂおよび直線ｂｃを回転する角度を変更する。具体的には、角ａｂｃを２等分した角度をαとすると、角ａｂｃの角度が９０度以上の場合は、９０−α分の角度を点ｂを支点にして回転させることにより得られる直線上に、コントロールポイントＣｂ１、Ｃｂ２を求める。一方、角ａｂｃの角度が９０度未満の場合は、α分の角度のみ回転させることにより得られる直線上に、コントロールポイントＣｂ１、Ｃｂ２を求める。
【００２３】
（実施の形態１）
図２は、この発明の実施の形態１による情報処理装置１のハードウエア構成の一例を示す説明図である。図中、１０１は装置全体を制御するＣＰＵを、１０２は基本入出力プログラムを記憶したＲＯＭを、１０３はＣＰＵ１０１のワークエリアとして使用されるＲＡＭを、それぞれ示している。
【００２４】
また、１０４はＣＰＵ１０１の制御にしたがってＨＤ（ハードディスク）１０５に対するデータのリード／ライトを制御するＨＤＤ（ハードディスクドライブ）を、１０５はＨＤＤ１０４の制御にしたがって書き込まれたデータを記憶するＨＤを、それぞれ示している。
【００２５】
また、１０６はＣＰＵ１０１の制御にしたがってＦＤ（フレキシブルディスク）１０７に対するデータのリード／ライトを制御するＦＤＤ（フレキシブルディスクドライブ）を、１０７はＦＤＤ１０６の制御にしたがって書き込まれたデータを記憶する着脱自在のＦＤを、それぞれ示している。
【００２６】
また、１０８はＣＰＵ１０１の制御にしたがってＣＤ−ＲＷ１０９に対するデータのリード／ライトを制御するＣＤ−ＲＷドライブを、１０９はＣＤ−ＲＷドライブ１０８の制御にしたがって書き込まれたデータを記憶する着脱自在のＣＤ−ＲＷを、それぞれ示している。
【００２７】
また、１１０はカーソル、メニュー、ウィンドウ、あるいは文字や画像などの各種データを表示するディスプレイを、１１１は文字、数値、各種指示などの入力のための複数のキーを備えたキーボードを、１１２は各種指示の選択や実行、処理対象の選択、マウスポインタの移動などを行うマウスを、それぞれ示している。
【００２８】
また、１１３は通信ケーブル１１４を介してＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのネットワークに接続され、当該ネットワークとＣＰＵ１０１とのインターフェースとして機能するネットワークＩ／Ｆを、１００は上記各部を接続するためのバスを、それぞれ示している。
【００２９】
次に、図３はこの発明の実施の形態１による情報処理装置１の構成を機能的に示す説明図である。
【００３０】
まず３００は、入力部であり、マウス１１２等のポインティングデバイスにより、アンカーポイントの入力を受け付ける。すなわち、ユーザが描画したいベジェ曲線が通過する点をマウス１１２にて指定する。指定されたアンカーポイントは、格納部３０２によって、ＲＡＭ１０３やＨＤ１０５に記憶される。
また、キーボード１１１やマウス１１２などにより、文字入力やコマンド入力を受け付ける。
【００３１】
３０１は、コントロールポイント設定部であり、まず、入力部３００を通じて入力させたアンカーポイントの情報を格納部３０２から取得する。次に、ＣＰＵ１０１は、アンカーポイントの情報を用いてコントロールポイントを計算し、その結果として得られたコントロールポイントの情報を格納部３０２に格納する。
【００３２】
３０２は、格納部であり、入力部３００によってユーザより入力を受け付けたアンカーポイントの情報や、コントロールポイント設定部３０１によって設定されたコントロールポイントの情報を、ＲＡＭ１０３やＨＤ１０５に記憶する。
【００３３】
３０３は、描画部であり、格納部３０２に格納されているアンカーポイントおよびコントロールポイントの情報から、ベジェ曲線を描画する。ベジェ曲線の描画については、図４に示すように、４つの制御点を構成するアンカーポイントＰ０、Ｐ３、コントロールポイントＰ１、Ｐ２のうち、始点Ｐ０、終点Ｐ２を通り、２つのコントロールポイントを１、Ｐ２の方向と距離によって決定されるベジェ曲線が描画されることとなる。このベジェ曲線Ｌ０は、次の３次ベジェ関数Ｂ（ｔ）によって演算される。
Ｂ（ｔ）＝（１−ｔ）３・Ｐ０
＋３（１−ｔ）２・ｔ・Ｐ１
＋３（１−ｔ）・ｔ２・Ｐ２
＋ｔ３・Ｐ３
ここで、０≦ｔ≦１である。
【００３４】
３０４は、表示部であり、描画部３０３により演算されたベジェ曲線をディスプレイ１１０に表示する。
【００３５】
なお、上述した入力部３００、コントロールポイント設定部３０１、格納部３０２、描画部３０３、表示部３０４は、具体的にはＨＤ１０５からＲＡＭ１０３に読み出されたプログラムをＣＰＵ１０１が実行することにより実現される。このプログラムはＨＤ１０５のほか、ＦＤ１０７、ＣＤ−ＲＷ１０９、ＭＯなどの各種の記録媒体に格納して配布することができ、ネットワークＩ／Ｆ１１３によりネットワークを介して配布することも可能である。
【００３６】
次に、図５はこの発明の実施の形態１による情報処理装置１における、コントロールポイントの設定処理の手順を示すフローチャートである。
【００３７】
まず、情報処理装置１のメニューやツールボックスなどから「図形作成」コマンドの入力を受け付ける。さらに、メニューやツールボックスなどから「ベジェ曲線の描画」コマンドの入力を受け付け、ベジェ曲線の描画処理を開始する。
【００３８】
マウス１１２等の操作により、アンカーポイントａ、ｂ、ｃの３点を入力を受け付ける（Ｓ５００）。ＣＰＵ１０１は、入力されたアンカーポイントａ、ｂ、ｃのうち、点ｂを基準とし、点ｂからＸ軸と水平方向に基準点ｂ’を設定し（Ｓ５０１）、角ｂ’ｂａの角度Ａを求める。同様に、角ｂ’ｂｃの角度Ｃを求める（Ｓ５０２）。このとき、時計回りの方向を正の角度、その逆を負の角度とする。
また、基準点ｂ’は水平方向に設定したが、これに限定するものではなく、所望の位置に設定してもよい。
【００３９】
次に、ＣＰＵ１０１は、ベジェ曲線の特徴を明確にするための場合分けの基準となる角度αを計算する。角度Ａが、角度Ｃに１８０度を加算した角度より大きいかどうかを確認し、大きい場合（Ｓ５０３：Ｙｅｓ）は、角度Ａから３６０度を減算した角度を角度Ａ２とする（Ｓ５０４ａ）。小さい場合（Ｓ５０３：Ｎｏ）は、角度Ａの値を角度Ａ２の値とする（Ｓ５０４ｂ）。  同様に、角度Ｃが、角度Ａに１８０度を加算した角度より大きいかどうかを確認し、大きい場合（Ｓ５０５：Ｙｅｓ）は、角度Ｃから３６０度を減算した角度を角度Ｃ２とする（Ｓ５０６ａ）。小さい場合（Ｓ５０５：Ｎｏ）は、角度Ｃの値を角度Ｃ２とする（Ｓ５０６ｂ）。
角度Ａ２から角度Ｃ２を減算した値を２で除算し、その値をαとする（Ｓ５０７）。
【００４０】
次に、ＣＰＵ１０１は、角度αから、制御点を得る際に点を回転させる角度βを求める。まず、「αが４５度以上」の場合（Ｓ５０８：Ｙｅｓ）は、βは「９０−α」とする（Ｓ５０９）。前記条件を満たさない場合（Ｓ５０８：Ｎｏ）は、次に、「αが−４５度以下」であるかどうかを確認する。「αが−４５度以下」の場合（Ｓ５１０：Ｙｅｓ）は、βは「−９０−α」とする（Ｓ５１１）。それ以外の場合（Ｓ５１０：Ｎｏ）は、βの値は、αの値と同一とする（Ｓ５１２）。Ｓ５０７からＳ５１２の処理により、回転させる角度βが求められる。
【００４１】
次に、ＣＰＵ１０１は、仮のコントロールポイント点Ｐｂａおよび点Ｐｂｃを求める。まず、直線ｂａおよび直線ｂｃを所定の値で除算して得られる長さＬ１、Ｌ２を計算する。その後、直線ｂａ上で、点ｂから長さＬ１の位置にある点を点Ｐｂａ、直線ｂｃ上で、点ｂから長さＬ２の位置にある点を点Ｐｂｃとする。ここでは、直線ｂａおよび直線ｂｃを３等分したうちの１つの長さを利用する（Ｓ５１３）。
【００４２】
次に、点ｂを基準に点Ｐｂａ、点Ｐｂｃを回転させる。このとき、正の方向へ角度β分回転させた点をコントロールポイントＣｂ１とする。同様に、点Ｐｂｃも回転させるが、点ｂを基準に負の方向へ角度β分回転させた点をコントロールポイントＣｂ２とする（Ｓ５１４）。
【００４３】
次に、もう一方のコントロールポイントをそれぞれ求める。コントロールポイントＣｂ１、Ｃｂ２とそれぞれ点ａ、点ｃを結んだ直線の中点を、コントロールポイントＣａ２、Ｃｃ１とする（Ｓ５１５）。ここで、直線の中点をもう一方のコントロールポイントの位置としたが、特にこれに限定するものではなく、所望の値を設定することで、直線上の任意の点を指定してもよい。
【００４４】
アンカーポイントａ、ｂおよびコントロールポイントＣａ２、Ｃｂ１の４点を用いてベジェ曲線ａｂを描画し、アンカーポイントｂ、ｃおよびコントロールポイントＣｂ２、Ｃｃ１を用いてベジェ曲線ｂｃ間を描画する（Ｓ５１６）。
【００４５】
次に、図６はこの発明の実施の形態１による情報処理装置１における、アンカーポイントを用いたベジェ曲線の変更処理の設定処理の手順を示すフローチャートである。
【００４６】
まず、マウス１１２やキーボード１１１により、既に描画されているベジェ曲線を選択する（Ｓ６００）。この際、ベジェ曲線を選択する方法は特開平０７−８５３３０１などの従来技術を用いる。
【００４７】
次に、ＣＰＵ１０１は、Ｓ６００において選択されたベジェ曲線の情報を取得するために、ベジェ曲線の情報を格納する格納部３０２からアンカーポイントの座標およびコントロールポイントの座標等の情報および格納場所に関する情報を取得する（Ｓ６０１）。
【００４８】
Ｓ６０１によって得られた情報により、アンカーポイントの位置を示す座標上に、アンカーポイントを示すマークを表示し（Ｓ６０２）、表示されたアンカーポイントのマークのうち、マウス１１２等で前記マークを指定することにより、ユーザが変更したい曲線の一部に関係するアンカーポイントの指定を受け付ける（Ｓ６０３）。図７ａは、ベジェ曲線７００上において、アンカーポイントのマーク７０１が指定された状態を示す図である。
【００４９】
次に、ＣＰＵ１０１は、アンカーポイントのマーク７０１の座標変更を受け付ける。ユーザは、マウス１１２を用いてマーク７０１をドラッグ＆ドロップによりマーク７０１の座標を変更する（Ｓ６０４）。図７ｂは、マーク７０１を移動後の状態を示す図である。
【００５０】
ＣＰＵ１０１は、マーク７０１の移動された場合、該当するアンカーポイントの座標から関連するコントロールポイントの座標を再計算する（Ｓ６０５）。なお、再計算処理は、図５で示したフローチャート内で説明した手順にて行う。始点および終点となっているアンカーポイントが選択され、移動された場合は、直後および直前のアンカーポイントと、それぞれ２点のアンカーポイント（始点とその直後の点、終点とその直前の点）から計算されたコントロールポイントの座標が再計算される。始点および終点以外のアンカーポイントの座標が変更された場合には、対象となったアンカーポイントと、その直前および直後のアンカーポイントそれぞれとから計算されるコントロールポイントの座標が再計算される。
【００５１】
移動されたアンカーポイントおよび、再計算処理にて算出されたコントロールポイントを用いて仮のベジェ曲線を描画する（Ｓ６０６）。
【００５２】
なお、マーク７０１を移動している際に、仮のベジェ曲線を描画することで、移動後のベジェ曲線がどのような曲線として描画されるのかをわかりやすくしてもよい。その際には、移動前のベジェ曲線との比較を容易にするために、移動前のベジェ曲線は通常の線種で描画し、仮のベジェ曲線は、点線や波線など移動前のベジェ曲線とは異なる線種で描画してもよい。また、線種の他に色や太さを変更してもよい。
【００５３】
この変更処理は、ユーザによって入力されたアンカーポイントを、マウス１１２等で移動するだけで、入力済みベジェ曲線の形状を変更することが可能になる。そのため、容易にユーザが所望するベジェ曲線を描画することが可能になる。
【００５４】
以上説明した実施の形態１によれば、３点のアンカーポイントが構成する角度により、ベジェ曲線の描画方法を変更できるため、ユーザがよりなめらかな曲線を描画したい場合は、前記角度が所定の値よりも大きくなるようにアンカーポイントを設定することで描画することが可能である。また、ユーザが尖形に近い曲線を描画したい場合は、前記角度を所定の値よりも小さくなるようにアンカーポイントを設定することで描画することが可能である。
【００５５】
したがって、ユーザは曲線を描画する際に、アンカーポイントの入力位置を意識するだけで、所望の曲線を描画することができるので、従来の描画方法と違い、アンカーポイントを設定した後に、コントロールポイントの位置を移動することで曲線の状態を設定する必要がなく、かつ情報処理装置に予め設定されている１種類の描画方法のみで描画された場合と異なり、なめらかな箇所および尖った箇所の特徴をより明確に表現できるため、ユーザが所望のベジェ曲線を容易に描画することが可能になる。
【００５６】
また、実施の形態１では、コントロールポイントの設定処理において、条件分岐の際に、３つの条件を用いたが、この条件をさらに追加してもよい。これにより、さらにユーザが所望するベジェ曲線を描画することが可能になる。
【００５７】
【発明の効果】
以上説明したように請求項１に記載の発明は、曲線が通過する２つのアンカーポイントと通過しない２つのコントロールポイントの４つの制御点からベジェ曲線を描画する情報処理装置において、アンカーポイントを入力する入力手段と、前記入力手段により入力されたアンカーポイントからコントロールポイントを決定するコントロールポイント決定手段と、前記入力されたアンカーポイントと、前記コントロールポイント決定手段により決定されたコントロールポイントからベジェ曲線を描画する描画手段と、前記描画手段により描画されるベジェ曲線を表示する表示手段と、を備え、前記コントロールポイント決定手段は、ａｂｃの順に入力されたアンカーポイントに対して、アンカーポイントｂを基準に、角ａｂｃの角度から求められる所定の角度分、直線ａｂ上の点および直線ｂｃ上の点を回転させることにより第１のコントロールポイントＣｂ１，Ｃｂ２を決定し、アンカーポイントａおよびコントロールポイントＣｂ１、アンカーポイントｂおよびコントロールポイントＣｂ２それぞれにより、第２のコントロールポイントを決定するので、ユーザが入力したアンカーポイントが構成する角の大きさを反映したベジェ曲線を描画することができる。これにより、ユーザは、入力するアンカーポイントが構成する角度のみを考慮することで所望のベジェ曲線を描画することが可能な情報処理装置が得られるという効果を奏する。
【００５８】
また、請求項２に記載の発明は、曲線が通過する２つのアンカーポイントと通過しない２つのコントロールポイントの４つの制御点からベジェ曲線を描画する情報処理装置において、アンカーポイントを入力する入力手段と、前記入力手段により入力されたアンカーポイントからコントロールポイントを決定するコントロールポイント決定手段と、前記入力されたアンカーポイントと、前記コントロールポイント決定手段により決定されたコントロールポイントからベジェ曲線を描画する描画手段と、前記描画手段により描画されるベジェ曲線を表示する表示手段と、を備え、前記コントロールポイント決定手段は、ａｂｃの順に入力されたアンカーポイントに対して、角ａｂｃの角度により、コントロールポイントの算出処理を変更するので、ユーザが入力したアンカーポイントが構成する角の大きさによって、角度が大きい場合、もしくは小さい場合などでコントロールポイントの算出方法を変更することができるので、ユーザが表現したい曲線をより明確に表現することが可能なベジェ曲線を描画できる情報処理装置が得られるという効果を奏する。特に、角度を鋭角にするだけで、尖った形のベジェ曲線を描画することができる。
【００５９】
また、請求項３に記載の発明は、曲線が通過する２つのアンカーポイントと通過しない２つのコントロールポイントの４つの制御点からベジェ曲線を描画する情報処理装置を用いて、アンカーポイントを入力する入力工程と、前記入力されたアンカーポイントからコントロールポイントを決定するコントロールポイント決定工程と、前記入力されたアンカーポイントと、前記決定されたコントロールポイントからベジェ曲線を描画する描画工程と、前記描画工程により描画されるベジェ曲線を表示する表示工程と、を備え、前記コントロールポイント決定工程は、ａｂｃの順に入力されたアンカーポイントに対して、アンカーポイントｂを基準に、角ａｂｃの角度から求められる所定の角度分、直線ａｂ上の点および直線ｂｃ上の点を回転させることにより第１のコントロールポイントＣｂ１，Ｃｂ２を決定し、アンカーポイントａおよびコントロールポイントＣｂ１、アンカーポイントｂおよびコントロールポイントＣｂ２それぞれにより、第２のコントロールポイントを決定するので、ユーザが入力したアンカーポイントが構成する角の大きさを反映したベジェ曲線を描画することができる。これにより、ユーザは、入力するアンカーポイントが構成する角度のみを考慮することで所望のベジェ曲線を描画することが可能な描画方法が得られるという効果を奏する。
【００６０】
また、請求項４に記載の発明は、曲線が通過する２つのアンカーポイントと通過しない２つのコントロールポイントの４つの制御点からベジェ曲線を描画する情報処理装置を用いて、アンカーポイントを入力する入力工程と、前記入力されたアンカーポイントからコントロールポイントを決定するコントロールポイント決定工程と、前記入力されたアンカーポイントと、前記決定されたコントロールポイントからベジェ曲線を描画する描画工程と、前記描画工程により描画されるベジェ曲線を表示する表示工程と、を備え、前記コントロールポイント決定工程は、ａｂｃの順に入力されたアンカーポイントに対して、角ａｂｃの角度によりコントロールポイントの計算処理を変更するので、ユーザが表現したい曲線をより明確に表現することが可能なベジェ曲線を描画できる情報処理装置が得られるという効果を奏する。特に、角度を鋭角にするだけで、尖った形のベジェ曲線を描画することができる。
【００６１】
また、請求項５に記載の発明によれば、前記請求項３または４に記載された方法をコンピュータに実行させることが可能なプログラムが得られるという効果を奏する。
【図面の簡単な説明】
【図１】この発明の実施の形態による情報処理装置の、入力されたアンカーポイントからコントロールポイントを自動設定する場合の状態を示す説明図である。
【図２】この発明の実施の形態１による情報処理装置の、ハードウエア構成の一例を示す説明図である。
【図３】この発明の実施の形態１による情報処理装置の構成を機能的に示す説明図である。
【図４】ベジェ曲線による曲線の描画状態を示す説明図である。
【図５】この発明の実施の形態１による情報処理装置における、コントロールポイントの決定手順を示すフローチャートである。
【図６】この発明の実施の形態１による情報処理装置における、ベジェ曲線の形状を変更する処理の手順を示すフローチャートである。
【図７】ベジェ曲線の描画方法を示す説明図である。
【図８】ベジェ曲線の変形方法を示す説明図である。
【符号の説明】
１００  バス
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  ＨＤＤ
１０５  ＨＤ
１０６  ＦＤＤ
１０７  ＦＤ
１０８  ＣＤ−ＲＷドライブ
１０９  ＣＤ−ＲＷ
１１０  ディスプレイ
１１１  キーボード
１１２  マウス
１１３  ネットワークＩ／Ｆ
１１４  通信ケーブル
３００  入力部
３０１  コントロールポイント決定部
３０２  格納部
３０３  描画部
３０４  表示部
【図１】
2004295317.tif 000003
【図２】
2004295317.tif 000004
【図３】
2004295317.tif 000005
【図４】
2004295317.tif 000006
【図５】
2004295317.tif 000007
【図６】
2004295317.tif 000008
【図７】
2004295317.tif 000009
【図８】
2004295317.tif 000010