(57)【要約】【課題】ポインティング装置などを用いてインタラクティブに、例えば中心点の位置、長径および短径の長さ、軸の成す角度といった形状を定義する定義パラメータを指定できるようにして正確な楕円を簡単に描画できる楕円描画方法を提供する。【解決手段】利用者が画面上の任意位置をピックすると、その点を楕円の中心点Ｐｃとし（Ｓ２）、カーソル位置がＰｃから離れると、Ｐｃとカーソル位置間の距離の横方向の成分を楕円の１つ目の軸径（長径）の半分の長さとし、適当な割合で横方向成分量を変換した縦方向の径を持つ楕円をプレビュー表示し（Ｓ３）、カーソル位置が動くとプレビュー楕円も変化させ、ピックすると長径を固定し（Ｓ４）、続いてＰｃからカーソル位置までの距離の縦方向成分を用いて短径を変え、ピックすると短径を固定し（Ｓ６）、続いて長軸の画面に対して成す角度をカーソル位置に従って変化させ、ピックすると角度を固定し、楕円描画を完成させる（Ｓ９）構成にした。【選択図】　　　図３
2004038874.tif 000002
【特許請求の範囲】
【請求項１】
楕円形状を決定付ける定義パラメータを入力させ、その定義パラメータに従って２次元の楕円の線画図形を描画する楕円描画システムにおいて、楕円形状を決定づける複数の定義パラメータを画面を用いてインタラクティブに所定の順に指定させるパラメータ指定手段と、該パラメータ指定手段により指定された定義パラメータを用いて楕円を描画する楕円描画手段と、を備えたことを特徴とする楕円描画システム。
【請求項２】
楕円形状を決定付ける定義パラメータを入力させ、その定義パラメータに従って２次元の楕円の線画図形を描画する楕円描画方法において、楕円形状を決定づける複数の定義パラメータを画面を用いてインタラクティブに所定の順に指定させて楕円を描画することを特徴とする楕円描画方法。
【請求項３】
請求項２記載の楕円描画方法において、前記定義パラメータが前記２次元の楕円の中心点の位置情報、長径および短径の長さ、及び長軸または短軸の成す角度であることを特徴とする楕円描画方法。
【請求項４】
請求項２記載の楕円描画方法において、前記定義パラメータが前記２次元の楕円の中心点、軸上の１通過点、及びその他の１通過点の位置情報であることを特徴とする楕円描画方法。
【請求項５】
請求項２、請求項３、または請求項４記載の楕円描画方法において、前記複数の定義パラメータを入力させる際、それぞれの定義パラメータを入力した時点における仮楕円の線画を画面上に表示させることを特徴とする楕円描画方法。
【請求項６】
請求項５記載の楕円描画方法において、前記長径または短径の長さのうち一方の長さが決定されたとき、他方の径の長さを前記一方の決定された方の径の長さに所定の比率を乗じた長さにして仮楕円を表示させることを特徴とする楕円描画方法。
【請求項７】
請求項２乃至請求項６記載のいずれか１項に記載の楕円描画方法において、前記仮楕円の線画を表示させるとともに、該線画を操作に応じて画面上で動的に変化させることを特徴とする楕円描画方法。
【請求項８】
請求項２乃至請求項７のいずれか１項に記載の楕円描画方法において、ポインティング装置を用いて特徴パラメータの入力操作を含む操作を行わせることを特徴とする楕円描画方法。
【請求項９】
情報処理装置上で実行されるプログラムにおいて、請求項２乃至請求項８のいずれか１項に記載の楕円描画方法の楕円描画を実行させるようにプログラミングされていることを特徴とするプログラム。
【請求項１０】
プログラムを記憶した記憶媒体において、請求項９記載のプログラムを記憶したことを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パーソナルコンピュータなど汎用の情報処理装置や専用の図形処理装置などに実施される楕円描画方法に関し、特に、画面を用いてインタラクティブに楕円を描画する楕円描画方法に関するものである。
【０００２】
【従来の技術】
従来より、高解像度表示装置を備えた専用のＣＡＤ装置や２次元描画ソフトウェア（プログラム）などを用いて、情報処理装置（コンピュータ）上で様々な図形を描画することが行われている。例えば、図形が表示される画面とマウスなどポインティング装置を用いたインタラクティブな操作で円や楕円などを描画するのである。
このような図形描画技術のうち、正確な楕円を描く従来技術では、描画に際して、多くの場合、中心点の位置と長径および短径の長さと軸の角度、あるいは、中心点、長軸または短軸上の通過点、およびその他の通過点の位置など、形状を決定づける複雑な定義パラメータをキーボードなどから数値で指定する。マウスやデジタイザなどを用いて利用者が画面上で位置を指示し、指示した位置を直接反映させて描画するというようなインタラクティブな操作方法を用いて描画する従来技術はない。
【０００３】
【発明が解決しようとする課題】
前記したように、従来技術においては、楕円描画の際、複雑なパラメータを指定する場合、数値を直接入力することが要求された。しかしながら、数値による入力は利用者に正確な値の決定を強要することになり、試行錯誤しながら操作を行いたい場合などには不便であり、容易でなかった。
本発明の目的は、このような従来技術の問題を解決することにあり、具体的には、ポインティング装置などを用いてリアルタイム／インタラクティブに、例えば中心点の位置、長径および短径の長さ、軸の成す角度といった形状を定義する定義パラメータを指定できるようにして正確な楕円を簡単に描画することができる楕円描画方法などを提供することにある。
【０００４】
【課題を解決するための手段】
前記の課題を解決するために、請求項１記載の発明では、楕円形状を決定付ける定義パラメータを入力させ、その定義パラメータに従って２次元の楕円の線画図形を描画する楕円描画システムにおいて、楕円形状を決定づける複数の定義パラメータを画面を用いてインタラクティブに所定の順に指定させるパラメータ指定手段と、そのパラメータ指定手段により指定された定義パラメータを用いて楕円を描画する楕円描画手段と、を備えたことを特徴とする。
また、請求項２記載の発明では、楕円形状を決定付ける定義パラメータを入力させ、該定義パラメータに従って２次元の楕円の線画図形を描画する楕円描画方法において、楕円形状を決定づける複数の定義パラメータを画面を用いてインタラクティブに所定の順に指定させて楕円を描画する構成にしたことを特徴とする。
また、請求項３記載の発明では、請求項２記載の発明において、前記定義パラメータが前記２次元の楕円の中心点の位置情報、長径および短径の長さ、及び長軸または短軸の成す角度である構成にしたことを特徴とする。
また、請求項４記載の発明では、請求項２記載の発明において、前記定義パラメータが前記２次元の楕円の中心点、軸上の１通過点、及びその他の１通過点の位置情報である構成にしたことを特徴とする。
また、請求項５記載の発明では、請求項２、請求項３、または請求項４記載の発明において、前記複数の定義パラメータを入力させる際、それぞれの定義パラメータを入力した時点における仮楕円の線画を画面上に表示させる構成にしたことを特徴とする。
また、請求項６記載の発明では、請求項５記載の発明において、長径または短径の長さのうち一方の長さが決定されたとき、他方の径の長さを決定された前記一方の径の長さに所定の比率を乗じた長さにして仮楕円を表示させる構成にしたことを特徴とする。
また、請求項７記載の発明では、請求項２乃至請求項６記載のいずれか１項に記載の発明において、仮楕円の線画を表示させるとともに、その線画を操作に応じて画面上で動的に変化させる構成にしたことを特徴とする。
また、請求項８記載の発明では、請求項２乃至請求項７のいずれか１項に記載の発明において、ポインティング装置を用いて特徴パラメータの入力操作を含む操作を行わせる構成にしたことを特徴とする。
また、請求項９記載の発明では、情報処理装置上で実行されるプログラムにおいて、請求項２乃至請求項８のいずれか１項に記載の楕円描画方法の楕円描画を実行させるようにプログラミングされている構成にしたことを特徴とする。
また、請求項１０記載の発明では、プログラムを記憶した記憶媒体において、請求項９記載のプログラムを記憶したことを特徴とする。
【０００５】
【発明の実施の形態】
以下、図面により本発明の実施の形態を詳細に説明する。
図１は本発明が実施されるパーソナルコンピュータなど情報処理装置のハードウェア構成図である。図示したように、この情報処理装置は、プログラムに従って動作するＣＰＵ１、そのプログラムや各種データを一時的に記憶するメモリ（例えばＲＡＭ）２、前記プログラムや各種データを保存しておく外部記憶装置（例えばハードディスク装置）３、データや指示を入力する入力装置であるキーボード４およびマウスなどポインティング装置５、描画された楕円などを表示する表示装置６を備える。なお、前記したプログラムのうち、本発明に直接係わるプログラム（ソフトウェア）は、市販の２次元描画ソフトウェアや２次元ＣＡＤソフトウェアなど、楕円描画機能を有したプログラムのユーザーインターフェースに本発明の楕円描画機能を組み込むことにより容易に実現できる。
図２は、前記したようなハードウェアとプログラム（ソフトウェア）により実現される、本発明の一実施例を示す楕円描画システムのシステム構成図である。図示したように、この実施例の描画システムは、楕円形状を決定づける複数の定義パラメータを画面を用いてインタラクティブに所定の順に指定させるパラメータ指定部１１と、そのパラメータ指定部１１により指定された定義パラメータを用いて楕円を描画する楕円描画部１２とを備える。なお、以下においては、画面上でポインティング装置５を用いてカーソル位置を入力することを「ピック」、ポインティング装置５が現在指している位置を示すマークを「カーソル」、ポインティン装置５の動きに従って画面上に表示される仮の形状をプレビューと呼ぶ。
【０００６】
図３に、中心点の位置、長径および短径の長さ、軸の成す角度を指定して楕円を描画する場合の動作フローを示す。また、図４に、その動作フローの説明図を示す。以下、前記した楕円描画システムによって実行されるこの動作フローを図３および図４により説明する。
まず、パラメータ指定部１１が表示装置６にメッセージを表示して利用者に楕円の中心点Ｐｃの入力を促す（Ｓ１）。これにより、利用者が画面上の任意の位置においてピックすることにより中心点を入力すると、パラメータ指定部１１はその位置の座標情報を取得してその座標の点を楕円の中心点Ｐｃとする（Ｓ２）。そして、パラメータ指定部１１はこの中心点Ｐｃの座標を楕円描画部１２に与えると、楕円描画部１２はこの時点から楕円のプレビュー表示を始める（図４（ａ）参照）。
続いて、カーソル位置が中心点Ｐｃから離れると、そのカーソル位置Ｃの座標値を得た楕円描画部１２は中心点Ｐｃとカーソル位置Ｃ間の距離の横方向（Ｘ方向）の成分を楕円の１つ目の軸径（長径）の半分の長さとし、中心点Ｐｃとカーソル位置Ｃまでの横方向を結ぶ直線を表示する。同時に、生成しようとしている要素が楕円であることが分かるように、適当な割合で横方向の成分量を変換した縦方向（Ｙ方向）の径を持った楕円をプレビュー表示する（Ｓ３）。この例では、横方向の０．５倍の長さで縦方向を表示させている。つまり、カーソル位置までのＸ成分の２倍が生成される楕円の長径になり、長径の半分が短径となる。
カーソル位置が動くにしたがってプレビュー表示される楕円も変化する（図４（ｂ）参照）。なお、中心点の座標をＰｃ（ｘｃ，ｙｃ）、Ｐｃから横方向に伸ばした直線とカーソル位置Ｃからその直線に下ろした垂線との交点をＰ１（ｘ１，ｙ１）とすると、ＰｃからＰ１　までの距離のＸ成分Ｄ１｜（ｘ１−ｘｃ）｜が楕円の長径の半分である。また、この例では短径の半径はＤ１の０．５倍であるので、短軸上の通過点は（ｘｃ，ｙｃ＋（ｘ１−ｘｃ）０．５）となる。つまり中心が（ｘｃ，ｙｃ）、長軸上の通過点が（ｘ１−ｘｃ，ｙｃ）、短軸上の通過点が（ｘｃ，ｙｃ＋（ｘ１−ｘｃ）０．５）となり、これらの値から、楕円をプレビュー表示するのである。
この後、利用者がピックすることにより、長径が決定され（Ｓ４）、プレビュー表示の長径も固定される。
【０００７】
次に、パラメータ指定部１１は利用者に２つ目の軸径（短径）の入力を促す（Ｓ５）。なお、この時点では、利用者がカーソルを任意の位置に動かすと、パラメータ指定部１１を介してカーソル位置の座標を取得した楕円描画部１２は中心点Ｐｃからカーソル位置Ｃまでの距離の縦方向（Ｙ方向）成分を用いて短径を変え、楕円を描画・表示する（図４（ｃ）参照）。このときの短径の半径Ｄ２は、中心点Ｐｃ（ｘｃ，ｙｃ）から垂直に伸ばした直線とカーソル位置Ｃから水平に伸ばした直線との交点Ｐ２（ｘ２，ｙ２）とすると、ＰｃとＰ２間の距離であり、｜（ｙ２−ｙｃ）｜となる。長径の半径Ｄ１は、前の手順で決定したものをそのまま用いる。中心が（ｘｃ，ｙｃ）、長軸上の通過点（楕円を成す線が通る点）の座標が（ｘ１−ｘｃ，ｙｃ）、短軸上の通過点座標が（ｘｃ，ｙ２）となり、これらの値から、楕円をプレビュー表示するのである。
こうして、利用者が画面上の任意の点でピックすると、長径決定の場合と同様に短径が決定され（Ｓ６）、プレビューの短径も固定される。
次に、パラメータ指定部１１は楕円の軸の成す角度の入力を促す（Ｓ７）。なお、この時点では、利用者がカーソルを任意の位置に動かすと、パラメータ指定部１１を介してカーソル位置の座標を取得した楕円描画部１２は楕円の長軸（最初の手順で決定した軸）の画面に対して成す角度をカーソル位置の座標に従って変化させ、それにともないプレビュー表示も変化させる（図４（ｄ）参照）。つまり、中心点Ｐｃ（ｘｃ，ｙｃ）とカーソル位置Ｃ（ｘｓ，ｙｓ）から単位方向ベクトルｖ（ｘｖ，ｙｖ）＝（（ｘｃ−ｘｓ）／ｓｑｒｔ（（ｘｃ−ｘｓ）２＋（ｙｃ−ｙｓ）２），（ｙｃ−ｙｓ）／ｓｑｒｔ（（ｘｃ−ｘｓ）２＋（ｙｃ−ｙｓ）２））　が求まる。
こうして、単位方向ベクトルｖと中心点Ｐｃ（ｘｃ，ｙｃ）とＤ１が求まると、中心点Ｐｃを回転中心とし、カーソルＣの分だけ長軸を回転したときのＰ１’は、単位方向ベクトルｖをＤ１倍したベクトル（Ｄ１＊ｘｖ，Ｄ１＊ｙｖ）を中心点（ｘｃ，ｙｃ）に加算することで求められ、その結果は、Ｐ１’（ｘｃ＋Ｄ１ｘ＊ｘｖ，ｙｃ＋Ｄ１＊ｙｖ）となる。
同様にして、Ｐ２を回転した結果であるＰ２’は、単位方向ベクトルｖと垂直な単位ベクトルｉｖがｉｖ（−ｙｖ，ｘｖ）となることから、Ｐ２’（ｘｃ＋Ｄ２＊−ｙｖ，ｙｃ＋Ｄ２＊ｘｖ）となる。これらの値Ｐｃ，Ｐ１’，Ｐ２’から、楕円をプレビュー表示する（Ｓ８）。そして、利用者がピック操作を行うと、楕円描画部１２は角度を決定し、プレビュー表示の角度も固定する（Ｓ９）。
こうして、中心点、長径、短径、角度が決定し、楕円形状の生成が完了する（図４（ｅ）参照）。
【０００８】
次に、図５に示した動作フロー図、および図６，図７に示した説明図により、中心点、軸上の通過点（楕円を成す線の通る点）、およびその他の通過点を指定した場合について動作を説明する。
その際は、まず、利用者に楕円の中心点の入力を促す（Ｓ１１）。そして、利用者が画面上の任意の点でピックすると、パラメータ指定部１１は中心点の位置を決定し（Ｓ１２）、楕円描画部１２はこの時点から楕円のプレビュー表示を始める（図６（ａ）参照）。
この後、カーソル位置が動くと、決定した中心点Ｐｃと、カーソル位置を長径の軸上の点Ｐ１とした楕円をプレビュー表示する（図６（ｂ）参照）（Ｓ１３）。この際、短径は一意に定義できないので長径の値を適当な割合で変換する。この例では、長径の０．５倍の量で短径を表示している。Ｐｃ（ｘｃ，ｙｃ）とＰ１（ｘ１，ｙ１）を通る直線Ｌ１と垂直に交わり、Ｐｃを通る直線上Ｌ２に、仮の通過点Ｐ２を設定するのである。Ｐ２は中心点ＰｃからＰｃとＰ１の距離Ｄ１の０．５倍だけ離れている（図７参照）。Ｌ１の方向ベクトル（ｘ１−ｘｃ，ｙ１−ｙｃ）からＬ２の方向ベクトルは（−（ｙ１−ｙｃ），ｘ１−ｘｃ）となる。Ｄ１はＤ１＝ｓｑｒｔ（（ｘ１−ｘｃ）２＋（ｙ１−ｙｃ）２）であり、Ｌ１の方向ベクトルを正規化したものをｖ１とすると、ｖ１＝（（ｘ１−ｘｃ）／Ｄ１，（ｙ１−ｙｃ）／Ｄ１）、Ｄ２＝Ｄ１＊０．５であるので、Ｌ２の方向ベクトルを正規化したものをｖ２とすると、ｖ２＝（−（ｙ１−ｙｃ）／Ｄ２，（ｘ１−ｘｃ）／Ｄ２）となる。以上のベクトルｖ１、ｖ２と中心点の座標Ｐｃから、楕円の通過点Ｐ１とＰ２　の座標は、Ｐ１＝ｖ１＊Ｄ１＋Ｐｃ、Ｐ２＝ｖ２＊Ｄ２＋Ｐｃとなり、これらの値から楕円をプレビュー表示するのである（図７参照）。
続いて、利用者が画面上の任意の点でピックすると（Ｓ１４）、パラメータ指定部１１は１番目の軸上の通過点を決定し（Ｓ１５）、楕円描画部１２はプレビュー表示された楕円の１番目の軸方向と径を固定する（Ｓ１６）。
【０００９】
次に、パラメータ指定部１１はもう一つの通過点の入力を促す（Ｓ１７）。なお、この時点では、利用者がカーソルを任意の位置に動かすと、パラメータ指定部１１は楕円のもう一つの通過点の座標を変更し、それに伴って楕円描画部１２はプレビュー表示を変化させる（図６（ｃ）参照）。先の手順で決定されたＤ１とｖ１を固定し、カーソル位置と中心点との距離をＤ２　としてプレビュー表示を行うのである。
続いて、利用者が画面上の任意の点でピックすると（Ｓ１８）、パラメータ指定部１１はもう一つの通過点の位置を決定し、楕円描画部１２はプレビュー楕円を固定する（Ｓ１９）。
こうして、中心点と軸上の通過点、その他の通過点が決定し、楕円形状の生成が完了する（図６（ｄ）参照）。
以上、本発明の一実施例を説明したが、説明したような楕円描画方法はパーソナルコンピュータなど情報処理装置上で実行されるプログラムとして実現することができ、このようなプログラム（ソフトウェア）を市販の描画ソフトウェアや２次元ＣＡＤソフトウェアなど、コンピュータソフトウエアのユーザーインタフェースに組み込むことにより、利用者にとって自然で使いやすいパラメータ入力による楕円生成機能を実現できる。
また、説明したような楕円描画方法によったプログラムを着脱可能な記憶媒体に記憶し、その記憶媒体をこれまで本発明によった楕円描画を行えなかったパーソナルコンピュータなど情報処理装置に装着することにより、または、そのようなプログラムをネットワークを介してそのような情報処理装置へ転送することにより、そのような情報処理装置においても本発明によった楕円描画を行うことができる。
【００１０】
【発明の効果】
以上説明したように、本発明によれば、請求項１および請求項２記載の発明では、２次元の楕円の線画図形を描画する際、楕円形状を決定づける複数の定義パラメータが画面を用いてインタラクティブに所定の順に指定され、その定義パラメータを用いて楕円が描画されるので、正確な楕円を簡単な操作で描画することができる。
また、請求項３記載の発明では、請求項２記載の発明において、定義パラメータが中心点の位置情報と長径および短径の長さと長軸または短軸の成す角度であるので、中心点の位置情報と長径および短径の長さと長軸または短軸の成す角度とを画面を用いてインタラクティブに所定の順に指定して楕円を描画することができ、したがって、正確な楕円を簡単な操作で描画することができる。
また、請求項４記載の発明では、請求項２記載の発明において、定義パラメータが中心点と軸上の１通過点とその他の１通過点の位置情報であるので、中心点と軸上の１通過点とその他の１通過点の位置情報とを画面を用いてインタラクティブに所定の順に指定して楕円を描画することができ、したがって、請求項３記載の発明と同様に、正確な楕円を簡単な操作で描画することができる。
また、請求項５記載の発明では、請求項２、請求項３、または請求項４記載の発明において、複数の定義パラメータを入力させる際、それぞれの定義パラメータ入力した時点における仮楕円の線画が画面上に表示されるので、利用者は、そのとき指定した定義パラメータが実際の形状にどんな影響をおよぼすのかを知ることができ、したがって、パラメータの決定が容易になるとともにその決定に誤りがなくなる。
【００１１】
また、請求項６記載の発明では、請求項５記載の発明において、長径または短径の長さのうち一方の長さが決定されたとき、他方の径の長さを決定された方の径の長さに所定の比率を乗じた長さにして仮楕円が表示されるので、現実的な仮楕円を表示することができる。
また、請求項７記載の発明では、請求項２乃至請求項６記載のいずれか１項に記載の発明において、仮楕円の線画が操作に応じて画面上で動的に変化するので、請求項２記載の効果をさらに上げることができる。
また、請求項８記載の発明では、請求項２乃至請求項７のいずれか１項に記載の発明において、ポインティング装置を用いて特徴パラメータの入力操作を含む操作が行われるので、請求項２記載の発明の効果をさらに効果的に実現することができる。
また、請求項９記載の発明では、請求項２乃至請求項８のいずれか１項に記載の楕円描画方法の楕円描画を実行させるようにプログラミングされているプログラムを情報処理装置上で実行させることができるので、情報処理装置を用いて請求項２乃至請求項８のいずれか１項に記載の発明の効果を得ることができる。
また、請求項１０記載の発明では、請求項９記載のプログラムを着脱可能な記憶媒体に記憶することができるので、その記憶媒体をこれまで請求項２乃至請求項８のいずれか１項に記載の発明によった楕円描画を行えなかったパーソナルコンピュータなど情報処理装置に装着することにより、そのような情報処理装置においても請求項２乃至請求項８のいずれか１項に記載の発明の効果を得ることができる。
【図面の簡単な説明】
【図１】本発明が実施される情報処理装置のハードウェア構成図である。
【図２】本発明の一実施例を示す楕円描画システムのシステム構成図である。
【図３】本発明の一実施例を示す楕円描画方法の動作フロー図である。
【図４】本発明の一実施例を示す楕円描画方法の説明図である。
【図５】本発明の一実施例を示す楕円描画方法の他の動作フロー図である。
【図６】本発明の一実施例を示す楕円描画方法の他の説明図である。
【図７】本発明の一実施例を示す楕円描画方法の他の説明図である。
【符号の説明】
１　ＣＰＵ
２　メモリ
３　外部記憶装置
５　ポインティング装置
６　表示装置
１１　パラメータ指定部
１２　楕円描画部
【図１】
2004038874.tif 000003
【図２】
2004038874.tif 000004
【図３】
2004038874.tif 000005
【図４】
2004038874.tif 000006
【図５】
2004038874.tif 000007
【図６】
2004038874.tif 000008
【図７】
2004038874.tif 000009