(57)【特許請求の範囲】
【請求項１】
曲面に対して曲線を投影して投影図を作成するＣＡＤシステムにおける投影図作成方法において、
メモリ内に格納されている、投影しようとする曲線を分割して直線の集合からなる第１の折れ線に、投影される曲面の断面を表す曲線を分割して直線の集合からなる第２の折れ線として前記曲面を平面の集合に、それぞれ変換するステップと、
前記第１の折れ線をなす１つの直線の一端から前記投影される曲面に向かい投影する方向に平行なベクトルを作成し、作成した前記ベクトルが前記集合をなす平面のいずれとも交わらないときには、前記投影される曲面に向けたベクトルをその隣の直線から作成することを繰り返し行うステップと、
投影する方向に平行に、前記平面の一辺をなす第２の折れ線の直線の両端から、前記第１の折れ線へ向かう２つのベクトルを作成するステップと、
前記２つのベクトルの範囲内で前記第２の折れ線をなす直線を一辺とする平面に対して前記第１の折れ線をなす直線を投影するステップと、
からなることを特徴とする投影図作成方法。
【請求項２】
前記直線を投影するステップは、前記第１の折れ線のすべての直線について前記平面への投影が完了したときには、終了することを特徴とする請求項１記載の投影図作成方法。
【請求項３】
前記直線を投影するステップは、投影した直線が前記２つのベクトルの範囲を越えると越えた側に隣接する平面の一辺をなす直線の両端から前記２つのベクトルを作成し直すことを特徴とする請求項１記載の投影図作成方法。
【請求項４】
曲面に対して曲線を投影して投影図を作成する投影図作成装置において、
メモリ内に格納されている、投影しようとする曲線を分割して直線の集合からなる第１の折れ線に、投影される曲面の断面を表す曲線を分割して直線の集合からなる第２の折れ線として前記曲面を平面の集合に、それぞれ変換する手段と、
前記第１の折れ線をなす１つの直線の一端から前記投影される曲面に向かい投影する方向に平行なベクトルを作成し、作成した前記ベクトルが前記集合をなす平面のいずれとも交わらないときには、前記投影される曲面に向けたベクトルをその隣の直線から作成することを繰り返し行う手段と、
投影する方向に平行に、前記平面の一辺をなす第２の折れ線の直線の両端から、前記第１の折れ線へ向かう２つのベクトルを作成する手段と、
前記２つのベクトルの範囲内で前記第２の折れ線をなす直線を一辺とする平面に対して前記第１の折れ線をなす直線を投影する手段と、
を備えていることを特徴とする投影図作成装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は投影図作成方法に関し、特に二次元ＣＡＤ（コンピュータ援用設計）システム上で曲面に対して曲線を投影した図を作成する投影図作成方法に関する。
【０００２】
設計業務においては、設計仕様の複雑化、設計・製図作業の効率化、設計期間の短縮化、設計に付随する業務の簡略化のため、ＣＡＤシステムが必須となっている。二次元ＣＡＤシステムでは、設計図などの図面を、直線、円、円弧などの基本的な図形要素などを使ってグラフィックディスプレイの画面上で自由に作図したり、作図された図面を編集したりすることができ、画面上で図面が完成すれば、これをプロッタなどによって図面として出力したり、さらに作成された図面を後で利用するために、記憶媒体に記憶させておくことができる。
【０００３】
【従来の技術】
二次元ＣＡＤシステムにおいて、三面図で描かれた図面から斜視図を作成する場合には、１つの方向から見た図形を別の方向から見た図形に投影することによって、三次元の形状を二次元の画面に表示させることができる。従来より、曲面に対して曲線を投影した図を作成するという処理をＣＡＤシステム上で行うときには、実際の曲面の方程式及び曲線の方程式を使って、影がどういうふうにできるのかという結果の式を、曲面方程式などを用いて計算することにより求めていた。このため、投影したい要素に新しい形状を加えたいときには、その新しい形状の方程式の処理部分が追加され、その追加された方程式で計算を行うようにしている。
【０００４】
【発明が解決しようとする課題】
しかし、曲面に対して曲線を投影した図を作成する従来の方法によれば、曲面及び曲線を表す方程式が複雑なため、投影処理を行うプログラムについても非常に複雑になる。また、投影しようとする曲線又は投影させようとする曲面によってそれらを表す式が異なるので、それぞれに合わせてプログラムを別々に作成する必要があるという問題点があった。
【０００５】
本発明はこのような点に鑑みてなされたものであり、投影処理を行う図形毎の計算式を用意する必要がなく、また、投影処理を行うプログラムが複雑にならないような投影図作成方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
図１は上記目的を達成する本発明の原理図である。
本発明の投影図作成方法によれば、まず、投影しようとする曲線と投影されるべき曲面の断面を表す曲線とを分割して直線の集合からなる第１及び第２の折れ線にそれぞれ変換する（ステップＳ１）。平面の一辺をなす第２の折れ線の直線の両端から第１の折れ線へ向けた２つのベクトルを作成する（ステップＳ３）。そして、これら２つのベクトルの範囲内にある第１の折れ線を第２の折れ線をなす直線を一辺とする平面に対して投影するようにする（ステップＳ４）。
【０００７】
なお、平面の一辺をなす第２の折れ線の直線の両端から２つのベクトルを作成する前に、第１の折れ線をなしている直線の１つの一端から第２の折れ線をなす直線を一辺とする平面と交わるベクトルを作成するようにしている（ステップＳ２）。
【０００８】
【作用】
上述の手段によれば、先に、投影しようとする曲線と投影されるべき曲面の断面を表す曲線とをそれぞれ複数の直線に分割して、それぞれ第１の折れ線と第２の折れ線とに変換しておく。次に、平面の一辺をなす第２の折れ線の直線の両端から、第１の折れ線の方向に２つのベクトルを作成する。そして、これら２つのベクトルの範囲にある第１の折れ線から、第２の折れ線の直線を一辺とする平面に対して投影を行うようにしている。したがって、第１の折れ線から第２の折れ線を含む平面に投影するときに、あらかじめ、投影処理に関係する部分を２つのベクトルにより調べ、その部分だけについて投影処理を適用するので、無駄な計算が大幅に減ることになる。
【０００９】
【実施例】
以下、本発明の一実施例を図面に基づいて説明するが、まず、本発明の概略について説明する。
【００１０】
図１は本発明の投影図作成方法の原理図である。
本発明の投影図作成方法によれば、まず、ステップＳ１では、投影しようとする曲線と投影されるべき曲面の断面を表す曲線とを細かく分割して、直線の集合からなる第１及び第２の折れ線にそれぞれ変換する。次に、ステップＳ２では、第１の折れ線をなしている直線の１つの一端から第２の折れ線の直線を一辺とする平面と交わる方向の第１ベクトルを作成する。ステップＳ３では、作成された第１ベクトルが交わる方向にある平面の一辺とする第２の折れ線の直線の両端から第１の折れ線方向への第２及び第３ベクトルを作成する。そして、ステップＳ４では、第２及び第３ベクトルの範囲内にある第１の折れ線を第２の折れ線の直線を一辺とする平面に対して投影するようにする。
【００１１】
この投影図作成方法によれば、先に、投影しようとする曲線と投影されるべき曲面の断面を表す曲線とを直線群に分割して、それぞれ第１の折れ線と第２の折れ線とに変換しておく。これにより、投影しようとする曲線は直線の集合体に変換され、投影されるべき曲面は平面の集合体に変換されることになる。これ以降は、これら折れ線をなしている直線によって投影処理が行われる。
【００１２】
分割された第１の折れ線を構成する直線の１つの一端、すなわち折れ線の頂点の１つから、第２の折れ線をなす直線を一辺とする平面と交わる方向に第１ベクトルを作成し、その第１ベクトルと交わる平面の第２の折れ線の直線を求める。今度は、その直線の両端から、第１の折れ線の方向に向いた第２ベクトルと第３ベクトルとを作成する。そして、その第２ベクトルと第３ベクトルとの範囲にある第１の折れ線から平面群に対して投影を行う。
【００１３】
図２はスプライン曲線で表された曲面に対して楕円を投影する場合の処理の流れを示す図である。
二次元ＣＡＤシステムにおいて、スプライン曲線で表された曲面に対して楕円を投影しようとするときには、投影処理のためのメインプログラムに入る。ここで、あらかじめ指示された楕円について、第１プログラムＰＲＯＧ１がその楕円を処理して第１の折れ線に変換する。同様に、第１プログラムＰＲＯＧ１があらかじめ指示されたスプライン曲線を処理して第２の折れ線に変換する。なお、この第１プログラムＰＲＯＧ１は、円、円弧、楕円、楕円弧、及びスプラインを折れ線に変換するためのモジュールである。
【００１４】
次に、第１プログラムＰＲＯＧ１にて変換された第１の折れ線及び第２の折れ線のデータはループ処理に入る。平面に対して直線を投影するモジュールである第２プログラムＰＲＯＧ２では、第１の折れ線及び第２の折れ線の一辺ずつのデータを入力して投影処理が行われ、第１の折れ線を第２の折れ線の直線を一辺とする平面に投影したときの直線が求められる。この処理は第１折れ線を構成するすべての直線について繰り返し行われる。
【００１５】
第１折れ線のすべての直線の投影処理が行われると、直線を画面上に表示するモジュールである第３プログラムＰＲＯＧ３によって、投影図が画面上に表示される。
【００１６】
図３は二次元ＣＡＤシステムの画面表示例を示す図である。この表示例によれば、ある製品の三面図の一部が表示されており、画面の右側には右側面図が、左側には正面図が表示されている。
【００１７】
ここで、右側面図の中央に見られる楕円ＣＬ１を、正面図のスプライン曲線ＣＬ２によって輪郭が形成された曲面に投影した投影図を作成しようとするときには、まず、設計者の操作により、スプライン曲線ＣＬ２が先に指示され、その後に楕円ＣＬ１が指示される。すると、投影処理のためのメインプログラムは、楕円ＣＬ１及びスプライン曲線ＣＬ２の情報を要素番号で受け取り、第１プログラムＰＲＯＧ１に渡される。
【００１８】
たとえば、楕円ＣＬ１の要素番号が”１００１”であったとすると、第１プログラムＰＲＯＧ１は、その要素番号を基にしてデータベースを検索し、楕円ＣＬ１のデータを取り出す。同様に、スプライン曲線ＣＬ２の要素番号が”１００２”であったとすると、第１プログラムＰＲＯＧ１は、その要素番号を基にしてデータベースを検索し、スプライン曲線ＣＬ２のデータを取り出す。
【００１９】
図４は楕円のデータ構造の一例を示す図である。楕円のデータは、楕円弧のデータと同じ構造を有しており、楕円の中心ｘ座標、中心ｙ座標、中心座標を通る水平軸と長軸とのなす角度である楕円の傾き、長軸の長さ、短軸の長さ、楕円弧の一方の端を表す始角、及び楕円弧の他方の端を表す終角から構成される。楕円の場合、始角は０°、終角は３６０°に固定である。
【００２０】
図５はスプライン曲線のデータ構造の一例を示す図である。スプライン曲線は、スプライン曲線を構成する微小線分のつながりの数を表す頂点数、スプライン曲線の開始点、スプライン曲線の終了点、開始時刻、及び終了時刻と、頂点１のｘ座標、頂点１のｙ座標、・・・と、頂点１のｘベクトル、頂点１のｙベクトル、・・・と、区間長１−２、・・・とから構成されている。
【００２１】
図６は折れ線のデータ構造の一例を示す図である。第１プログラムＰＲＯＧ１は、データベースから取り出した楕円及びスプライン曲線のデータを基にして、それぞれ折れ線に変換する処理を行い、折れ線データの形に共通化して出力する。楕円及びスプライン曲線のデータは折れ線変換処理によって複数個の直線に分割され、したがって、折れ線データは、分割された各直線の両端の座標で表されている。すなわち、折れ線データは頂点１のｘ座標、頂点１のｙ座標、・・・で表されている。このとき、メインプログラムに対して第１プログラムＰＲＯＧ１は頂点の座標と同時に頂点数をも渡すようにしている。
【００２２】
図７は曲線を直線群に変換した状態の一例を示す図である。図示の例は、曲線を楕円とし、また、説明のため、その楕円を複数の直線群に分割して折れ線に変換するときの精度を低くすることである程度誇張して示してある。ここでは、楕円ＣＬ１は第１プログラムＰＲＯＧ１によって６個の直線Ｌ１〜Ｌ６に変換されている状態を示している。
【００２３】
図８は曲面を平面群に変換した状態の一例を示す図である。ここでは、ＣＡＤシステムがデータとして持っているスプライン曲線ＣＬ２を複数の直線群に分割することによって、そのスプライン曲線ＣＬ２を含むスプライン面を複数の平面群に分割したイメージで示している。図示の例では、スプライン面は第１プログラムＰＲＯＧ１によって５個の平面Ｓ１〜Ｓ５に変換されている状態を示している。
【００２４】
次に、上記のようにして、投影しようとする曲線及び投影される曲面の直線群及び平面群への変換が終了したあとは、それらの直線群及び平面群による投影処理が行われる。以下、その投影処理の手順について説明する。投影処理のときは、メインプログラムから第２プログラムＰＲＯＧ２へ、曲線から求められた直線の両端の座標と曲面の輪郭から求められた平面の一辺を表す直線の両端の座標とが、順次渡されて、処理される。投影処理されて作られた直線はその両端の座標を表す値でメインプログラムに渡される。
【００２５】
図９は直線を平面に投影するときの投影処理を示すフローチャートである。ここで、投影しようとするたとえば楕円とする曲線は複数個の直線に分割され、これらの直線によって近似された曲線を第１の折れ線▲１▼とし、この第１の折れ線▲１▼の頂点を順次ｍ＝０，１，・・・と表現し、任意の直線をｍとする。一方、投影される曲面は、その断面を表すたとえばスプライン曲線が複数個の直線に分割されており、それらの直線によって近似された曲線は第２の折れ線▲２▼、任意の直線はｎで示すことにする。
【００２６】
まず、第１の折れ線▲１▼の取り合えず頂点ｍ＝０から曲面への第１ベクトルＶ１を作る（ステップＳ１１）。次に、その第１ベクトルＶ１は第２の折れ線▲２▼の直線ｎ＝０を一辺とする平面と交わる方向にあるかどうかを判断する（ステップＳ１２）。ここで、第１ベクトルＶ１が直線ｎ＝０の平面と交わる方向になければ、第１の折れ線▲１▼の頂点を隣に移してその頂点ｍ＝１から第１ベクトルＶ１を作るようにする（ステップＳ１３）。このように、第１ベクトルＶ１は、第２の折れ線▲２▼による曲面と交わるまで、頂点の位置を変えて繰り返し作成される。
【００２７】
図１０は第１ベクトルの作成イメージを示す図である。図示の例では、第１の折れ線▲１▼の頂点ｍ＝０に第１ベクトルＶ１が作成された状態を示している。もし、この第１ベクトルが第２の折れ線▲２▼による平面群のいずれにも交わらなければ、第１ベクトルＶ１は隣の頂点から作成されることになる。
【００２８】
図９に戻って、次に、第１ベクトルＶ１が第２の折れ線▲２▼の直線ｎを一辺とする平面と交わるとすると、その直線ｎの両端から第１の折れ線▲１▼への第２及び第３ベクトルＶ２及びＶ３を作成する（ステップＳ１４）。
【００２９】
図１１は第２及び第３ベクトルの作成イメージを示す図である。図示の例では、第１ベクトルＶ１に交わった平面の一辺をなす第２の折れ線▲２▼の直線、たとえば直線ｎの両端から第１の折れ線▲１▼への第２及び第３ベクトルＶ２及びＶ３が作成されている。
【００３０】
再び、図９に戻って、直線ｎを一辺とする平面に対して第１ベクトルＶ１が作成された頂点を端点とする直線ｍを投影する（ステップＳ１５）。次に、その直線ｍが最後であるかどうかを判断する（ステップＳ１６）。もし、その直線ｍが最後であれば、この投影処理は終了し、ループから出ることになる。
【００３１】
投影した直線ｍが最後でなければ、その直線ｍの一方の端点が第２及び第３ベクトルＶ２及びＶ３によって決められた範囲から出ているかどうかが判断される（ステップＳ１７）。もし、その直線ｍの端点が第２及び第３ベクトルＶ２及びＶ３の範囲からはみ出していなければ、隣の直線ｍ＋１について投影をするようにする（ステップＳ１８）。もし、その直線が第２及び第３ベクトルＶ２及びＶ３の範囲からはみ出していたならば、投影される平面をはみ出した側にずらし、もう一度、はみ出した側の平面の一辺をなす直線ｎ±１を基に、第２及び第３ベクトルＶ２及びＶ３を求め直すところから始める（ステップＳ１９）。
【００３２】
図１２は第１折れ線の第２折れ線への投影位置関係を示す図である。なお、第２の折れ線▲２▼は真横から見た図であるが、第１の折れ線▲１▼については見やすくするため多少上方から見た形で示してある。
【００３３】
上述の投影処理によれば、第１に、平面Ｓ２に対して直線Ｌ１を投影する。次に、平面Ｓ３に対して直線Ｌ１を投影する。以下同様にして、平面Ｓ４に対して直線Ｌ１を投影し、平面Ｓ５に対して直線Ｌ２を投影し、平面Ｓ５に対して直線Ｌ３を投影し、平面Ｓ４に対して直線Ｌ４を投影し、平面Ｓ３に対して直線Ｌ４を投影し、平面Ｓ２に対して直線Ｌ４を投影し、平面Ｓ１に対して直線Ｌ５を投影し、そして、平面Ｓ１に対して直線Ｌ６を投影する。このように、投影される曲面が存在するところだけ投影処理を行うようにしたので、図示の例では、投影処理の繰り返しが１０回で済むことになる。ちなみに、従来の方法によれば、第１の折れ線▲１▼が６個に分割され、第２の折れ線▲２▼が５個に分割されている場合には、６×５＝３０回の繰り返し処理が必要であった。
【００３４】
図１３は作成された投影図の画面表示例を示す図である。投影処理された直線の集合からなる折れ線のデータは頂点数とともにメインプログラムから第３プログラムＰＲＯＧ３に渡され、この第３プログラムＰＲＯＧ３によって、投影図が画面上に表示される。この表示例によれば、スプライン曲線ＣＬ２と楕円ＣＬ１とが指示されると、スプライン曲線ＣＬ２によって輪郭が形成された曲面に対して楕円ＣＬ１が投影される処理が行われて、たとえばその下に、製品を斜め上から見たような斜視図が描かれる。
【００３５】
次に、平面に対して直線を投影する方法の計算例について説明する。
図１４は平面に対して直線を投影する方法の説明図である。ここでは、たとえば、左側に示した正面図の三角形の各頂点の座標が（０，０），（０，７），（５，０）であり、右側に示した右側面図の各頂点の座標が（０，０），（０，７），（４，７），（４，０）であって、正面図に太線で示した平面Ｓ１０に対して右側面図に太線で示した直線Ｌ１０を投影する場合を例示する。図面では、座標（０，０）が２つ存在するが、これは正面図と右側面図とが別々の座標系に描かれていることによる。最初に、平面Ｓ１０に対して直線Ｌ１０の一方の端点である点（４，７）を投影する。
【００３６】
まず、平面Ｓ１０の方向ベクトルを求める。方向ベクトルは正面図の２点の座標から、（０−５，７−０）＝（−５，７）によって求められる。
次に、方向ベクトルから法線ベクトルを求める。ここで、法線ベクトルを（ａ，ｂ）と仮定すると、先の方向ベクトルから、−５ａ＋７ｂ＝０が成り立つ。ここで、ａ＝７とすると、ｂ＝５となる。これにより、法線ベクトルの１つを（７，５）とすることができる。これを三次元ベクトルで表すと、（７，５，０）となる。
【００３７】
次に、平面Ｓ１０の平面方程式を求める。ここで、平面方程式を、
【００３８】
【数１】
ａｘ＋ｂｙ＋ｃｚ＋ｄ＝０・・・（１）
と仮定すると、法線ベクトルが（７，５，０）であるので、７ｘ＋５ｙ＋ｄ＝０となる。平面Ｓ１０は点（０，７）を通るので、３５＋ｄ＝０、すなわち、ｄ＝−３５となる。よって、以下の平面Ｓ１０の平面方程式が得られる。
【００３９】
【数２】
７ｘ＋５ｙ−３５＝０・・・（２）
ここで、右側面図の点（４，７）を通り、右側面図に垂直な三次元の直線を考える。ここでは、Ｚ方向の長さをたとえば”２０”と仮に決めて、直線の両端座標は三次元で、（４，７，２０），（４，７，−２０）とする。これに右側面であることを示す回転行列を掛けると、
【００４０】
【数３】
0003556969.tif 000002
【００４１】
となる。よって、直線の両端座標は、正確には（２０，７，−４），（−２０，７，−４）となる。
次に、先に求めた三次元直線と平面との交点を求める。平面と直線との交点は次式によって表される。
【００４２】
【数４】
Ｐ＝Ｐ０＋（Ｓ０／（Ｓ０−Ｓ１））（Ｐ１−Ｐ０）・・・（４）
ここに、Ｐは交点、Ｐ０は直線の始点（＝（２０，７，−４））、Ｐ１は直線の終点（＝（−２０，７，−４））、Ｓ０は平面の式（式２）に直線の始点Ｐ０を代入した値（＝１４０＋３５−３５＝１４０）、及びＳ１は平面の式（式２）に直線の終点Ｐ１を代入した値（＝−１４０＋３５−３５＝−１４０）である。よって、交点Ｐは、
【００４３】
【数５】
Ｐ＝（０，７，−４）・・・（５）
となる。これにより右側面図の点（４，７）は三次元では（０，７，−４）となる。
【００４４】
次に、求めた三次元座標を二次元座標に戻す。二次元座標に戻すとき、どの方向から見るのかをあらかじめ決めておくが、通常は、投影後の図形は斜めから見たように描く（アイソメトリックビュー）ことが多いので、アイソメトリックビューであることを示す回転行列を掛けると、
【００４５】
【数６】
0003556969.tif 000003
【００４６】
となる。
これにより、右側面図の直線Ｌ１０の一方の点（４，７）を投影したときの座標が得られる。同様にして、右側面図の直線Ｌ１０の他方の点（４，０）を投影したときの座標も求めることができ、これらの座標で直線を描くことによって、正面図の平面Ｓ１０に対して右側面図の直線Ｌ１０を投影した図となる。
【００４７】
図１５は本発明を実施するためのワークステーションのハードウエア構成の一例を示す図である。図において、ワークステーションは、プロセッサ１１と、読み取り専用メモリ（ＲＯＭ）１２と、メインメモリ（ＲＡＭ）１３と、グラフィック制御回路１４及び表示装置１５と、マウス１６と、キーボード１７と、ハードディスク装置（ＨＤＤ）１９と、磁気テープ装置（ＭＴＤ）２０と、プロッタ２１と、プリンタ２２と、カラーハードコピー２３とで構成され、これらの構成要素はそれぞれのインタフェースコントローラ（図示していない）及びバス２４により相互に結合されている。
【００４８】
プロセッサ１１はワークステーション全体を統括的に制御する。読み取り専用メモリ１２にはたとえば立ち上げ時に必要なプログラムなどが格納されている。メインメモリ１３にはシステムプログラム、二次元ＣＡＤシステムのアプリケーションプログラムなどが展開されている他に、作図、投影図あるいは編集中のデータなどが生成、格納される。
【００４９】
グラフィック制御回路１４はフレームメモリなどを有し、メインメモリ１３内で生成された二次元の線分データ、円データ、円弧データ、楕円データ、スプラインデータ、投影図データなどの各種図形要素データを表示信号に変換し、表示装置１５に送る。表示装置１５は、受けた表示信号を基にして図形要素から成る図面を表示する。
【００５０】
マウス１６は表示装置１５の画面上に表示されているカーソルを移動させ、ボタンをクリックすることによって画面上に表示されている図形要素をヒットしたり、各種メニューなどの選択を指示するポインティングデバイスである。マウス１６は、特に投影図を作成するときには、投影しようとする要素及び投影されるべき平面を表す要素を指示するのに使用される。キーボード１７は曲線をどのくらいの長さの直線で分割するかの値などの数値データなどを入力するのに使用される。
【００５１】
ハードディスク装置１９は、システムプログラム、二次元ＣＡＤシステムの投影図作成プログラムを含むアプリケーションプログラム、製図に必要な各種図形要素データ、検索範囲設定テーブルなどが格納されている。磁気テープ装置２０は磁気テープ２０ａに記憶されている設計図などのデータを入力したり、作成された設計図などのデータを磁気テープ２０ａに記憶させることができる外部記憶装置である。
【００５２】
また、作成された設計図のデータは、プロッタ２１、プリンタ２２又はカラーハードコピー２３によって出図することができる。
【００５３】
【発明の効果】
以上説明したように本発明では、投影しようとする曲線を直線群に分割し、投影されるべき曲面を平面群に分割して特定図形に依存しないよう共通化し、直線の折れ線から第１ベクトルを作成してこれと交わる平面を探し、第１ベクトルと交わった平面から折れ線へ向かう第２及び第３ベクトルを作成し、これらのベクトルの範囲内で平面に対して折れ線の直線を投影するように構成した。
【００５４】
このため、投影処理しようとする図形毎に計算式を用意する必要がなく、プログラムを比較的簡単にすることができる。また、投影処理が必要な直線しか投影処理を行わないので、直線の投影処理を繰り返す回数を大幅に削減することができ、投影処理の速度を向上させることができる。さらに、今まで、未対応だった曲面又は曲線については、平面及び直線に変換する処理のみを追加するだけで可能である。
【図面の簡単な説明】
【図１】本発明の投影図作成方法の原理図である。
【図２】スプライン曲線で表された曲面に対して楕円を投影する場合の処理の流れを示す図である。
【図３】二次元ＣＡＤシステムの画面表示例を示す図である。
【図４】楕円のデータ構造の一例を示す図である。
【図５】スプライン曲線のデータ構造の一例を示す図である。
【図６】折れ線のデータ構造の一例を示す図である。
【図７】曲線を直線群に変換した状態の一例を示す図である。
【図８】曲面を平面群に変換した状態の一例を示す図である。
【図９】直線を平面に投影するときの投影処理を示すフローチャートである。
【図１０】第１ベクトルの作成イメージを示す図である。
【図１１】第２及び第３ベクトルの作成イメージを示す図である。
【図１２】第１折れ線の第２折れ線への投影位置関係を示す図である。
【図１３】作成された投影図の画面表示例を示す図である。
【図１４】平面に対して直線を投影する方法の説明図である。
【図１５】本発明を実施するためのワークステーションのハードウエア構成の一例を示す図である。
【符号の説明】
ＰＲＯＧ１  第１プログラム
ＰＲＯＧ２  第２プログラム
ＰＲＯＧ３  第３プログラム
ＣＬ１  楕円
ＣＬ２  スプライン曲線
Ｖ１  第１ベクトル
Ｖ２  第２ベクトル
Ｖ３  第３ベクトル
【図１】
0003556969.tif 000004
【図２】
0003556969.tif 000005
【図３】
0003556969.tif 000006
【図４】
0003556969.tif 000007
【図５】
0003556969.tif 000008
【図６】
0003556969.tif 000009
【図７】
0003556969.tif 000010
【図８】
0003556969.tif 000011
【図９】
0003556969.tif 000012
【図１０】
0003556969.tif 000013
【図１１】
0003556969.tif 000014
【図１２】
0003556969.tif 000015
【図１３】
0003556969.tif 000016
【図１４】
0003556969.tif 000017
【図１５】
0003556969.tif 000018