(57)【要約】【課題】二次元のＣＡＤシステムにおいて、極端に拡大された円の一部（円弧）を描画を効率的に実施する。【解決手段】ＣＡＤシステムにおいて、円の一部を描画する方法であって、描画対象の円の一部である円要素を表示する矩形の表示領域を示す４点の座標を決定するステップと、前記矩形の各辺と前記円との交点座標を演算するステップと、前記交点座標及び前記円の中心座標とで形成された角度を始角及び終角として、前記表示領域内における円の一部の座標を演算するステップとを含む円の一部を描画する方法。【選択図】　　　図１
2004030135.tif 000002
【特許請求の範囲】
【請求項１】
ＣＡＤシステムにおいて、円の一部を描画する方法であって、
描画対象の円の一部である円要素を表示する矩形の表示領域を示す４点の座標を決定するステップと、
前記矩形の各辺と前記円との交点座標を演算するステップと、
前記交点座標及び前記円の中心座標とで形成された角度を始角及び終角として、前記表示領域内における円の一部の座標を演算するステップと、
を含むことを特徴とする円の一部を描画する方法。
【請求項２】
ＣＡＤシステムにおいて、円の一部を描画する方法であって、
描画対象の円の一部である円要素を表示する矩形の表示領域を示す４点の座標を決定するステップと、
前記４点の座標が前記円内に存在するか否かを判定するステップと、
前記４点の座標の内の１〜３点の座標が前記円内に存在すると判断された場合にのみ、前記矩形の各辺と前記円との交点座標を演算するステップと、
前記交点座標及び前記円の中心座標とで形成された角度を始角及び終角として、前記表示領域内における円の一部の座標を演算するステップと、
を含むことを特徴とする円の一部を描画する方法。
【請求項３】
ＣＡＤシステムにおいて、円の一部を描画する方法であって、
描画対象の円の一部である円要素を表示する矩形の表示領域を示す４点の座標を決定するステップと、
前記４点の座標が前記円内に存在するか否かを判定するステップと、
前記４点の座標の内の１点の座標が前記円内に存在すると判断された場合に、円内に存在する点を挟んだ２辺と円との交点座標を演算し、該交点座標と円の中心が構成する２つの角度を始角及び終角として、前記表示領域内における円の一部の座標を演算するステップと、
を含むことを特徴とする円の一部を描画する方法。
【請求項４】
ＣＡＤシステムにおいて、円の一部を描画する方法であって、
描画対象の円の一部である円要素を表示する矩形の表示領域を示す４点の座標を決定するステップと、
前記４点の座標が前記円内に存在するか否かを判定するステップと、
前記４点の座標の内の２点の座標が前記円内に存在すると判断された場合に、円内に存在する点を通る平行線２辺と円との交点座標を演算し、該交点座標と円の中心が構成する２つの角度を始角及び終角として、前記表示領域内における円の一部の座標を演算するステップと、
を含むことを特徴とする円の一部を描画する方法。
【請求項５】
ＣＡＤシステムにおいて、円の一部を描画する方法であって、
描画対象の円の一部である円要素を表示する矩形の表示領域を示す４点の座標を決定するステップと、
前記４点の座標が前記円内に存在するか否かを判定するステップと、
前記４点の座標の内の３点の座標が前記円内に存在すると判断された場合に、円外に存在する１点を挟んだ２辺と円との交点座標を演算し、該交点座標と円の中心が構成する２つの角度を始角、終角として、前記表示領域内における円の一部の座標を演算するステップと、
を含むことを特徴とする円の一部を描画する方法。
【請求項６】
ＣＡＤシステムにおいて、円の一部を描画するプログラムであって、
描画対象の円の一部である円要素を表示する矩形の表示領域を示す４点の座標を決定する処理と、
前記矩形の各辺と前記円との交点座標を演算する処理と、
前記交点座標及び前記円の中心座標とで形成された角度を始角及び終角として、前記表示領域内における円の一部の座標を演算する処理と、
をＣＡＤシステムのコンピュータに実行させることを特徴とする円の一部を描画するプログラム。
【請求項７】
ＣＡＤシステムにおいて、円の一部を描画するプログラムであって、
描画対象の円の一部である円要素を表示する矩形の表示領域を示す４点の座標を決定する処理と、
前記４点の座標が前記円内に存在するか否かを判定する処理と、
前記４点の座標の内の１〜３点の座標が前記円内に存在すると判断された場合にのみ、前記矩形の各辺と前記円との交点座標を演算する処理と、
前記交点座標及び前記円の中心座標とで形成された角度を始角及び終角として、前記表示領域内における円の一部の座標を演算する処理と、
をＣＡＤシステムのコンピュータに実行させることを特徴とする円の一部を描画するプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ＣＡＤシステムにおける図形の描画方法に関する。
【０００２】
【従来の技術】
最近の様々な分野における設計業務には、コンピュータの高機能、低価格化の影響を受けてＣＡＤ（Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ−Ｄｅｓｉｇｎ）システムが普及している。
普及に伴い、当初は簡単な線分の集合から様々な形状（円、曲線等）を多用する図面が増えている。
ＣＡＤシステムのソフトウエアにおいて、円要素を描画する際には、通常はプログラムを記述するコンパイラ言語に装備されている円描画コマンドを使用して実現する。
【０００３】
しかしながら、円の描画は、表示を拡大していくごとに微妙ななめらかさが必要になってくるため、描画に必要な演算量が増加していく。
したがって、これらのコマンドは、円の一部を極端に拡大した場合等には対応していないことが多い。
この場合、三角関数を用いた計算により円座標を計算し、その座標同士を線分にて細かく描画するのが一般的である。
即ち、中心座標（Ｘ０，Ｙ０）半径ｒの円は、
Ｘ＝ｒ×Ｃｏｓθ＋Ｘ０　　，Ｙ＝ｒ×Ｓｉｎθ＋Ｙ０　　　　（θ＝０〜２π）
によりθを一定の割合で刻み、得られる座標群を線分でつないで擬似的に描画する。
【０００４】
円の一部（円弧）を描画する手法としては、特開平２００１−１４３５７号公報に記載のものが知られている。
該公報には、円の一部を描画方法として、図７〜図１０で示す技術が開示されている。
図７は描画する円の一部を含む図形を示す図である。
図８は、図７の図形の描画のための１段階を示す図である。
図９は、図７の図形の直角部を拡大した図である。
図１０は、図７の図形の描画方法の手順を示すフローチャートである。
【０００５】
図７に示す図形で、円の一部（円弧）を含む図形を作図するには、先ず、図８に示すように罫線３２，３３とで直角部３４を構成する図８の３１ａを作図する。
先ず、罫線３２，３３をキーボード２を用いて画面上のカーソルで指定し保存する。（ステップ１１）
次に、直角部３４を識別させ保存する。（ステップ１２）
次に、直角部３４の第１の端点３４ａの座標を算出させる。（ステップ１３）
次に、端点３４ａの座標中心に第１の円弧３５の半径値を入力する。（ステップ１４）
続いて、直角部３４に入力した第１の円弧３５を描かせる。（ステップ１５）
次に、円弧３５と罫線３２，３３との第１，２の接点３６，３７で各々の線分を切断し、第１の端点３４ａ領域側の第１，２の直線３８，３９と第１の円４０を削除する。（ステップ１６）
上記公報に開示されている技術は、、円の一部を描画する場合にも、円全体を描画する演算処理を実行して、その後に不必要な部分を削除する処理をおこなっていたため、描画に要する演算処理の負担が極めて大きかった。
【０００６】
【発明が解決しようとする課題】
しかしながら、この手法は三角関数を多用するため、更に描画座標の演算量が増加してしまい、コンピュータには多大な負担を強いる。
ひいては、描画スピードが遅くなり、作業の快適性が失われたり、極端にメモリリソースを消費して動作を不安定にする。
特に極端に拡大された円の一部のみを描画する場合にも、上述の如く円全体を描画する計算を行って、必要な部分以外を削除していたために、表示には必要無い部分の演算までも行っていた。
【０００７】
本発明の課題
（目的）は、二次元のＣＡＤシステムにおいて、極端に拡大された円の一部（円弧）を描画を効率的に実施することにある。
【０００８】
【課題を解決するための手段】
前記課題を解決するために、ＣＡＤシステムにおいて、円の一部を描画する方法であって、
描画対象の円の一部である円要素を表示する矩形の表示領域を示す４点の座標を決定するステップと、前記矩形の各辺と前記円との交点座標を演算するステップと、　前記交点座標及び前記円の中心座標とで形成された角度を始角及び終角として、前記表示領域内における円の一部の座標を演算するステップとで、円の一部を描画する。（請求項１）
【０００９】
また、ＣＡＤシステムにおいて、円の一部を描画する方法であって、
描画対象の円の一部である円要素を表示する矩形の表示領域を示す４点の座標を決定するステップと、前記４点の座標が前記円内に存在するか否かを判定するステップと、前記４点の座標の内の１〜３点の座標が前記円内に存在すると判断された場合にのみ、前記矩形の各辺と前記円との交点座標を演算するステップと、前記交点座標及び前記円の中心座標とで形成された角度を始角及び終角として、前記表示領域内における円の一部の座標を演算するステップとで、円の一部を描画する。（請求項２）
【００１０】
また、ＣＡＤシステムにおいて、円の一部を描画する方法であって、
描画対象の円の一部である円要素を表示する矩形の表示領域を示す４点の座標を決定するステップと、前記４点の座標が前記円内に存在するか否かを判定するステップと、前記４点の座標の内の１点の座標が前記円内に存在すると判断された場合に、円内に存在する点を挟んだ２辺と円との交点座標を演算し、該交点座標と円の中心が構成する２つの角度を始角及び終角として、前記表示領域内における円の一部の座標を演算するステップとで、円の一部を描画する。（請求項３）
【００１１】
また、ＣＡＤシステムにおいて、円の一部を描画する方法であって、
描画対象の円の一部である円要素を表示する矩形の表示領域を示す４点の座標を決定するステップと、前記４点の座標が前記円内に存在するか否かを判定するステップと、前記４点の座標の内の２点の座標が前記円内に存在すると判断された場合に、円内に存在する点を通る平行線２辺と円との交点座標を演算し、該交点座標と円の中心が構成する２つの角度を始角及び終角として、前記表示領域内における円の一部の座標を演算するステップとで、円の一部を描画する。（請求項４）
【００１２】
また、ＣＡＤシステムにおいて、円の一部を描画する方法であって、
描画対象の円の一部である円要素を表示する矩形の表示領域を示す４点の座標を決定するステップと、前記４点の座標が前記円内に存在するか否かを判定するステップと、前記４点の座標の内の３点の座標が前記円内に存在すると判断された場合に、円外に存在する１点を挟んだ２辺と円との交点座標を演算し、該交点座標と円の中心が構成する２つの角度を始角、終角として、前記表示領域内における円の一部の座標を演算するステップとで、円の一部を描画する。（請求項５）
【００１３】
また、ＣＡＤシステムにおいて、円の一部を描画するプログラムであって、
描画対象の円の一部である円要素を表示する矩形の表示領域を示す４点の座標を決定する処理と、前記矩形の各辺と前記円との交点座標を演算する処理と、前記交点座標及び前記円の中心座標とで形成された角度を始角及び終角として、前記表示領域内における円の一部の座標を演算する処理とをＣＡＤシステムのコンピュータに実行させる円の一部を描画するプログラム。（請求項６）
【００１４】
また、ＣＡＤシステムにおいて、円の一部を描画するプログラムであって、
描画対象の円の一部である円要素を表示する矩形の表示領域を示す４点の座標を決定する処理と、前記４点の座標が前記円内に存在するか否かを判定する処理と、前記４点の座標の内の１〜３点の座標が前記円内に存在すると判断された場合にのみ、前記矩形の各辺と前記円との交点座標を演算する処理と、前記交点座標及び前記円の中心座標とで形成された角度を始角及び終角として、前記表示領域内における円の一部の座標を演算する処理とをＣＡＤシステムのコンピュータに実行させる円の一部を描画するプログラム。（請求項７）
【００１５】
【発明の実施の形態】
ＣＡＤシステムにおいて、円１を極端に拡大して一部を表示する場合、表示される円の一部（円弧）は４点（Ｐ！，Ｐ２，Ｐ３，Ｐ４）で決定される表示領域２の４辺のうち、いずれかの２辺〜３辺にその円周の一部がかかるように描画される。
その際に、表示領域２を示す４点座標（Ｐ１〜Ｐ４）と円１との関係は、以下のように分類できる。
表示領域２を示す４座標（Ｐ１，Ｐ２，Ｐ３，Ｐ４）のうち、
（ａ）　　図１に示す如く、１点のみが円１の内部に存在する。
（ｂ）　　図２に示す如く、２点が円１の内部に存在する。
（ｃ）　　図３に示す如く、３点が円１の内部に存在する。
（ｄ）　　図４に示す如く、４点全てが円１の内部に存在する。
（ｅ）　　図５に示す如く、４点全てが円１の外部に存在すると共に、円１は表示領域２の内部に存在する。
（ｆ）　　図６に示す如く、４点全てが円１の外部に存在すると共に、円１は表示領域２の外部に存在する。
【００１６】
（ｅ）の図５の場合には、４点全てが円１の外部にあるが、円１の中心が表示領域２の内部にあるので、円の全てを描画することになるので、通常のコマンドを使用して描画する。
また、（ｆ）の図６の場合には、４点全てが円１の外部にあるが、円１の中心が表示領域２の外部にあるので、円１は表示領域２の外部であるので、円１を描画する必要はない。
また、（ｄ）の図４の場合も、４点とも円１の内部にある場合も、表示領域２には円がはいらないので、描画する必要がない。
【００１７】
したがって、表示領域２内に円の一部を描画するのは図１〜図３に示す（ａ），（ｂ），（ｃ）のケースである。
以下、上記３ケースについて、それぞれ必要な演算処理と描画方法の説明を詳細に行う。
【００１８】
・１点のみが円１内部に存在する場合。（図１）
円１内部に存在する点を挟んだ２辺と円１との交点２点を計算する。
その２点と円１の中心が構成する２つの角度を始角、終角として、その範囲についてのみ座標を算出して円弧を描画する。
【００１９】
・２点が円１内部に存在する場合。（図２）
円１内部に存在する点を通る平行線２辺と円１との交点２点を計算する。
その２点と円１の中心が構成する２つの角度を始角、終角として、その範囲についてのみ座標を算出して円弧を描画する。
【００２０】
・３点が円１内部に存在する場合。（図２）
円１外部に存在する１点を挟んだ２辺と円１との交点２点を計算する。
その２点と円１の中心が構成する２つの角度を始角、終角として、その範囲についてのみ座標を算出して円弧を描画する。
【００２１】
以上のような振り分けを実施することによって、拡大された円１の一部（円弧）を描画する際に、実際に表示されている部分のみを計算、描画することによって描画に必要な演算総量を削減でき、描画を効率的に実施することができる。
【００２２】
【発明の効果】
請求項１に記載の発明では、ＣＡＤシステムにおいて、円の一部を描画する方法であって、
描画対象の円の一部である円要素を表示する矩形の表示領域を示す４点の座標を決定するステップと、前記矩形の各辺と前記円との交点座標を演算するステップと、　前記交点座標及び前記円の中心座標とで形成された角度を始角及び終角として、前記表示領域内における円の一部の座標を演算するステップとで、円の一部を描画するので、実際に表示される部分のみを計算、描画することによって描画に必要な演算総量を削減でき、描画を効率的に実施することができる。
【００２３】
また、請求項２に記載の発明では、ＣＡＤシステムにおいて、円の一部を描画する方法であって、
描画対象の円の一部である円要素を表示する矩形の表示領域を示す４点の座標を決定するステップと、前記４点の座標が前記円内に存在するか否かを判定するステップと、前記４点の座標の内の１〜３点の座標が前記円内に存在すると判断された場合にのみ、前記矩形の各辺と前記円との交点座標を演算するステップと、前記交点座標及び前記円の中心座標とで形成された角度を始角及び終角として、前記表示領域内における円の一部の座標を演算するステップとで、円の一部を描画するので、通常のコマンドを使用して描画する場合と、円を描画する必要がない場合に対応できる。
【００２４】
請求項３〜５に記載の発明では、描画対象の円の一部である円要素を表示する矩形の表示領域を示す４点の座標を決定するステップの判断結果に応じた処理ができる。
【００２５】
請求項６及び７に記載の発明では、実際に表示される部分のみを計算、描画することによって描画に必要な演算総量を削減でき、描画を効率的に実施するプログラムが得られる。
【図面の簡単な説明】
【図１】表示領域の４点座標うち１点のみが円１の内部に存在する状態を示す図である。
【図２】表示領域の４点座標うち２点が円の内部に存在する状態を示す図である。
【図３】表示領域の４点座標うち３点が円の内部に存在する状態を示す図である。
【図４】表示領域の４点座標うち４点全てが円の内部に存在する状態を示す図である。
【図５】表示領域の４点座標の４点全てが円の外部に存在すると共に、円は表示領域の内部に存在する状態を示す図である。
【図６】表示領域の４点座標の４点全てが円の外部に存在すると共に、円は表示領域の外部に存在する状態を示す図である。
【図７】描画する円の一部を含む図形を示す図である。
【図８】図７の図形の描画のための１段階を示す図である。
【図９】図７の図形の直角部を拡大した図である。
【図１０】図７の図形の描画方法の手順を示すフローチャートである。
【符号の説明】
１　　　　円
２　　　　矩形の表示領域
Ｐ１〜Ｐ４　　　　４点座標
【図１】
2004030135.tif 000003
【図２】
2004030135.tif 000004
【図３】
2004030135.tif 000005
【図４】
2004030135.tif 000006
【図５】
2004030135.tif 000007
【図６】
2004030135.tif 000008
【図７】
2004030135.tif 000009
【図８】
2004030135.tif 000010
【図９】
2004030135.tif 000011
【図１０】
2004030135.tif 000012