(57)【特許請求の範囲】
【請求項１】
所定の精密基準に欠けた作図パスを表す情報を発生し、次にこの情報をかかる精密基準に欠けていない作図パスを表す情報に変換するためのコンピュータ化された方法であって、
所定の精密基準に欠けたパス内のインジケータの移動位置を表すインジケータ情報要素のグループを発生する工程と、
前記インジケータ情報要素に応答して位置を表す変換された情報要素のグループを発生する工程と、
ニューラルネットを用いて情報要素の前記変換されたグループに演算を加え、この演算に応答して前記変換されたグループを分類する工程と、
前記分類に応答してインジケータ情報要素の前記グループの特徴を発生する工程と、
前記精密基準に欠けていない変更されたパスの位置を表す情報要素の変更されたグループを定める工程と
を備え、変換された情報要素のグループを発生する前記工程は、更に、インジケータ情報要素の前記グループを、所定のグリッド内の回転され、スケール化され、変換され、マップ化された位置のグループを表す情報要素のグループに変換することを特徴とするコンピュータ化された方法。
【請求項２】
情報要素の前記変更されたグループは、オープンな円弧を表示することを特徴とする請求項１記載のコンピュータ化された方法。
【請求項３】
変換された情報要素のグループを発生する前記工程は、更に、クローズドパスを表示する所定グリッド内の位置を表す前記情報方法のグループを、変換されたクローズドパスを表示する、前記所定のグリッドの位置を表す情報要素のグループに変換することを特徴とする請求項１に記載のコンピュータ化された方法。
【請求項４】
変換された情報要素のグループを発生する前記工程は、更に、一方向にオープンな円弧を表示する、所定グリッド内の位置を表す前記情報要素のグループを、反対方向にオープンな円弧を表示する、前記所定のグリッド内の位置を表示する情報要素のグループに変換することを特徴とする請求項１記載のコンピュータ化された方法。
【請求項５】
前記ニューラルネットは、円、楕円、複数の円弧および削除シンボルを表示する出力分類を含むことを特徴とする請求項１記載のコンピュータ化された方法。
【請求項６】
示された大きさを決定するための情報を含む、コンピュータ支援設計のための、情報要素の前記変更されたグループに関連した情報を発生する工程を更に含むことを特徴とする請求項１記載のコンピュータ化された方法。
【請求項７】
情報要素の前記変換されたグループを分類するため、一致しているかどうか、この変換されたグループと情報要素の認識されたパターンとをテストする工程を更に含むことを特徴とする請求項１記載のコンピュータ化された方法。
【請求項８】
前記テスト工程の前記認識されたパターンは、ラインおよび４５度の円弧を表示するパターンを含むことを特徴とする請求項７記載のコンピュータ化された方法。
【請求項９】
所定の精密基準に欠けた作図パスを表示する情報を発生し、前記作図パスのセグメントの折れ点を表示する折れ点情報を選択するコンピュータ化された方法であって、
所定の精密基準に欠けたパス内のインジケータの移動位置を表示するインジケータ情報要素を発生する工程と、
分類基準に応答して情報要素をカテゴリーに分類する工程と、
前記分類および情報要素のセグメントのための限界を区切るための折れ点選択基準に応答して、折れ点情報要素を選択する方法とを備え、
前記分類工程は、情報要素の角度変化、曲率および傾き変化を表示する関数を計算し、この計算に応答して情報要素をカテゴリー化する工程を含むことを特徴とするコンピュータ化された方法。
【請求項１０】
前記分類工程は、
情報要素の複数の幾何学的基準を表示する関数を計算し、この計算に応答して情報要素をカテゴリー化する工程と、
隣接する情報要素に対する前記カテゴリー化に応答して情報要素を再カテゴリー化する工程を
含むことを特徴とする請求項９記載のコンピュータ化された方法。
【請求項１１】
前記選択工程は、
前記分類および潜在的折れ点選択基準に応答して、潜在的折れ点情報要素を選択する工程と、
ニューラルネットを用いて潜在的折れ点情報要素に隣接する情報要素のグループに演算を加え、前記ニューラルネットに応答して潜在的折れ点情報要素を除く工程を含むことを特徴とする請求項９記載のコンピュータ化された方法。
【請求項１２】
情報要素の前記セグメントはカーブしたオープンセグメントおよびクローズドセグメントを含むパスを表示する位置を表示するためのものであることを特徴とする請求項９記載のコンピュータ化された方法。
【請求項１３】
情報要素の前記セグメントは直線状のセグメントおよびカーブしたオープンセグメントを含むパスを表示する位置を表示するためのものであることを特徴とする請求項９記載のコンピュータ化された方法。
【請求項１４】
所定の精密基準に欠けた作図パスを表示する情報を発生し、かかる精密基準に欠けていない作図パスを表示するディスプレイに前記情報を変換するためのコンピュータ化された方法であって、
所定の精密基準に欠けたパス内のインジケータの移動位置を表示するインジケータ情報要素を発生する工程と、
情報要素のセグメントの限界を区切るよう、前記情報の発生に応答して折れ点情報要素を定める工程と、
前記精密基準に欠けていない変更されたパスのセグメントを表示する情報要素の変更されたグループを定める工程と、
前記情報要素の変更されたグループのうちの、幾何学的拘束条件を発生し、この幾何学的拘束条件の発生に応答して幾何学的に拘束されたセグメントを表示する情報要素の拘束されたグループを定める工程と、
前記精密基準に欠けておらず、情報要素の前記拘束されたグループを含む、情報要素によって表示されたパスを表示するディスプレイを供給する工程と
を備えたことを特徴とするコンピュータ化された方法。
【請求項１５】
前記幾何学的拘束条件は一致条件を含むことを特徴とする請求項１４記載のコンピュータ化された方法。
【請求項１６】
前記幾何学的拘束条件は一致条件、平行条件、接線条件を含むことを特徴とする請求項１４記載のコンピュータ化された方法。
【請求項１７】
更に表示された大きさを決定するための情報を含む、コンピュータ支援設計のための、情報要素の前記拘束されたグループに関連した情報を発生する工程を含むことを特徴とする請求項１４記載のコンピュータ化された方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、コンピュータを使った製図方法に関し、特に製図インジケータが描く精密な基準に欠ける作図パス（経路）から、正確な基準を満足する作図パスを作成することを行う方法に関する。
【０００２】
【従来技術】
製図およびデザインをするためにコンピュータを使用すること、およびコンピュータを使った方法は、しだいに一般的なこととなりつつある。
【０００３】
コンピュータ支援設計（ＣＡＤ）の目標は、デザインを表し、デザインのための作図を分析し、デザインを変更し、開発プロセス中のすべての段階における製図のコピーを記憶できる能力をデザイナーに与えることである。ある意味におけるＣＡＤシステムおよびその方法の進歩は、デザイナーに提供されるフレキシビリティおよび可能なデザインおよび作図の複雑さによって測ることができる。
【０００４】
代表的なＣＡＤ方法では、ユーザーすなわちデザイナーが点、ラインまたは円のような幾何学的要素を指定し、次に適用可能な場合にその要素の大きさの特徴を指定しなければならない。例えばユーザーすなわちデザイナーは、円を指定し、次にその中心にカーソルを位置させることにより円の中心を定め、次に円の所望の半径に等しい距離だけその中心からカーソルを移動することにより、その大きさを指定する。次にシステムはかかる円の作図を実行し、これをユーザーにディスプレイする。システムおよびディスプレイ内の情報は（システムの限界および許容度内で）正確な円を表す。次に同様な、すなわち類似する操作を行えば、この作図に他の正確な幾何学的形状を加えることができる。
【０００５】
【発明が解決しようとする課題】
当然ながらこのようなユーザーとの相互対話を行う方法は、人が作図を行う場合の自然な方法に従うものではない。人の自然な方法ではユーザーの手により製図器具を移動させる。更に、多くのデザイナーはデザインの正式な製図に適用されるような基準に欠ける、スケッチのような製図をする際に、最も創造的となる。
【０００６】
ニュートン（Ｎｅｗｔｏｎ）の商標で、アップルコンピュータ社から販売されているデバイスは、非ＣＡＤ環境でノートブック能力と称されているある種のスケッチ能力を提供している。このデバイスは、ユーザーによるスケッチからより正確に見える単一要素のパス、例えば円および楕円や、より正確に見えるマルチ要素のパス、例えば一連の直線を作成するようになっている。更にこのデバイスは、付随する幾何学的な拘束条件、例えば隣接するライン要素の一致する端部の点を一致させるようにもなっている。
【０００７】
【課題を解決するための手段】
本発明は、ＣＡＤ環境と一貫性があり、このＣＡＤ環境に組み込まれるようなスケッチタイプの作図（描画）能力を提供するものである。本発明はＣＡＤ環境で重要である作図パーツと要素との間の種々の幾何学的拘束条件を含む。これら幾何学的作図パーツまたは要素としては、ポイント、直線、オープンな円弧、円および楕円がある。
【０００８】
これら要素のうちの１つの、スケッチされたインジケータパスを解釈する能力と共に、削除およびベタ塗り（ａｒｅａｆｉｌｌ）シンボルを区別したり認識したりする能力もある。
【０００９】
更にこのデバイスは、比較的複雑なマルチ要素のストロークを区別したり、解釈できる能力も提供するものである。このデバイスはストロークに沿う要素の折れ点位置を決定し、精度の基準を満たすストロークを再構成する前に、これら要素を認識することにより、このような能力を実行する。
【００１０】
作図パーツすなわち要素スケッチ、認識および画定に関する本発明の特徴によれば、所定の精密基準に欠けた作図パスを表示する情報を発生し、この情報をかかる精密基準に欠けていない作図パスを表示する方法に変換するための、コンピュータ化された方法が提供される。所定の精密基準に欠けたパス内のインジケータの移動位置を表示するインジケータ情報要素のグループを発生する。次にこれらインジケータ情報要素に応答して位置を表示する変換された情報要素のグループを発生する。ニューラルネットを用いて変換されたグループに演算を行い、これに応答して分類する。次にこの分類に応答してインジケータ情報要素のグループの特徴を発生し、精密基準に欠けていない変更されたパスの位置を表示する情報要素の変更グループを定める。
【００１１】
例えば情報要素の変更されたグループは、オープンな円弧を表示できる。ニューラルネットは円、楕円、複数の円弧および削除シンボルを表示できる出力分類を表示できる。
【００１２】
情報要素の変換されたグループの発生は、所定のグリッド内の、回転されスケール化され、変換され、マップ化された位置のグループを表示する情報要素のグループに、インジケータ情報要素のグループを変換することを含むことができる。この情報要素グループ（所定のグリッド内の位置を表示し、これら位置が次にクローズドパスを表示する場合）は更に変換されたクローズドパスを表示する、所定グリッド内の位置を表示するグループに更に変換できる。同様に、一方向にオープンな円弧を表示する所定グリッド内の位置を情報要素の基準グループが表示している場合、このグループは更に反対方向にオープンな円弧を表示する、所定グリッド内の位置を表示するグループに変換できる。
【００１３】
更にコンピュータ支援設計に適した情報要素の変更グループに関連した情報、例えば表示された大きさを決定するための情報を発生できる。
【００１４】
更に、分類目的のため一致しているかどうか最初に述べたような情報要素の変換されたグループを、ラインおよび４５度の円弧を表示するパターンを含む情報要素の認識されたパターンに対してテストすることもできる。
【００１５】
作図ストロークをパーツすなわち要素に分割することに関する本発明の特徴によれば、所定の精密基準に欠けた作図パスを表示する方法を発生し、作図パスのセグメントの折れ点を表示する折れ点情報を選択するためのコンピュータ化された方法が提供される。所定の精密基準に欠けたパス内のインジケータの移動位置を表示するインジケータ情報要素を発生する。次に分類基準に応答して情報要素をカテゴリー内に分類する。次に分類および折れ点選択基準に応答して折れ点情報要素を選択する。折れ点情報要素は情報要素のセグメントの限界を区切るためのものである。
【００１６】
情報要素の分類の実行に当たり、情報要素の角度変化、曲率および傾き変化を表示する機能を計算し、この計算に応答して情報要素をカテゴリー化する。次に隣接する情報要素に対するカテゴリー化に応答して、カテゴリー化された情報要素を再カテゴリー化し、情報要素のための初期の基準分類を達成する。
【００１７】
折れ点情報要素の選択に対し、最初に述べた分類および潜在的折れ点情報基準に応答して潜在的折れ点情報要素を最初に選択し、次に潜在的折れ点情報要素に隣接する情報要素をニューラルネットにより演算し、次にニューラルネットに応答して潜在的折れ点要素を除くことができる。
【００１８】
情報要素のセグメントはカーブしたオープンセグメントおよびカーブしたクローズドセグメントを含むパスまたは直線セグメントおよびカーブしたオープンセグメントを含むパスを表示する位置を表示することができる。
【００１９】
上記特徴および別の幾何学的拘束条件の特徴の双方に関する本発明の更に別の特徴によれば、所定の精密基準に欠けた作図パスを表示する情報を発生し、かかる精密基準に欠けていない作図パスを表示するディスプレイに前記情報を変換するためのコンピュータ化された方法が提供される。所定の精密基準に欠けたパス内のインジケータの移動位置を表示するインジケータ情報要素を発生する。この発生に応答して情報要素のセグメントに対する限界を区切る折れ点情報要素が定められる。次に精密基準に欠けていない変更されたパスのセグメントを表示する情報要素の変更されたグループが定められる。情報要素の変更されたグループのうちの幾何学的拘束条件が発生され、この幾何学的拘束条件の発生に応答して幾何学的に拘束されたセグメントを表示する情報要素の拘束されたグループが定められる。次に精密基準に欠けていないパスを表示すると共に、情報要素の拘束されたグループを含む、情報要素によって表示されたディスプレイがなされる。
【００２０】
幾何学的拘束条件は、例えば一致条件、平行条件、接線条件および再限定条件を含むことができる。
【００２１】
更に、表示された大きさを決定するための情報を含む、コンピュータ支援設計のための情報要素の拘束されたグループに関連した情報も発生できる。
【００２２】
添付図面において、本発明の種々の目的および特徴を実証する実施例を次のように示す。
【００２３】
本明細書には、図示するように本発明の詳細な実施例が開示されている。しかしながらこれら実施例は、種々の形態で提供でき、そのうちのいくつかは開示した実施例とかなり異なる可能性がある。従ってここに開示した特定の細部は、代表的なものにすぎず、この点に関し、開示目的のための最良の実施例を示し、かつ本発明の範囲を定める特許請求の範囲の根拠となるものとみなされる。
【００２４】
図１にはコンピュータ支援設計（ＣＡＤ）のためのワークステーション３０が示されている。このワークステーションの構成部品のうちには、ワークステーションの入力デバイスとして、ユーザーにより移動され、その他の方法で操作できる標準的マウス３２と、キーボード３４と、ディスプレイスクリーン３８を有するデスプレイ３６がある。当然ながらワークステーション３０は従来のワークステーションと同じ物理的な外観となっている。しかしながら内部の動作、ユーザーおよびマウスとの相互対話、コンピュータ支援設計および製図を行う結果、並びにかかる設計および製図に関連したコンピュータ化された情報は、本発明に従い、かつ本発明を実施するものである。
【００２５】
図６は、ライン４０によって示されるような作図パスに沿って移動されるようなマウス３２を示す。個人のフリーハンドの移動から生じる代表的な作図パスのように、作図路４０は正式な製図、特に製品や部品の設計の際に使用される製図に通常関連する規格や精密さの基準に欠けている。従ってユーザーは恐らく直線状の傾斜したラインのパスを描くことを望んでいても、実際に描かれるパスはこの基準から大きくはずれることになる。一般にユーザーがマウスのボタンを押し、描きたいパスの開始点を表示することにより、パスの開始点をワークステーションに表示できる。描きたいパスの終了点は、そのボタンを離すか、またはボタンを離した後に同じボタンを再び押すか、または最初にボタンを離した後に別のボタンを押すことにより表示できる。次に製図を行う個人による鉛筆またはペンのストロークに類似した方法で、開始点から終了点までのパスをパスストロークとみなす。
【００２６】
図６のディスプレイスクリーン３８上に示された一連のクロス表示４２は、図示した例ではマウス３２を用いたユーザーの操作によって生じたディスプレイスクリーン上の一連のカーソル位置を表示する。同様に、ディスプレイスクリーン上の一連の光った位置４４は、一連のカーソル位置に対応している。かかる光った位置は当然ながらディスプレイスクリーン上の代表的な主要点であり、これら点を接続すればディスプレイスクリーンに沿った連続的なパスが表示される。更にワークステーション３０およびディスプレイスクリーン３８（図１）を有するディスプレイ３６が、十分に微細な解像度を有するとみなせば、一連の光った点は一般にユーザーにとっては接続されたパスのように見える。従って点または位置４４の光ったシリーズは、ディスプレイスクリーン３８上の作図パスを表示し、このパスはマウス３２の作図パス４０に対応する。点または位置のシリーズおよびこれらが示すディスプレイ上のパスは同様に正式な製図に関連する基準に欠けている。
【００２７】
図６において、表示Ｉ１  （Ｘ１  ，Ｙ１  ）は一連の光った点の第１点４２すなわち位置を表示するワークステーションのコンピュータ装置によって内部的に得られる情報要素を示している。情報要素のＸ１  およびＹ１  成分は、位置自体、例えばデカルト座標系における座標を示すようになっている。当然ながらこの座標の代わりの座標として、極座標系における角度と径がある。
【００２８】
また、当然ながらＩ１  （Ｘ１  ，Ｙ１  ）からＩｎ  （Ｘｎ  ，Ｙｎ  ）、すなわち一連の点４４における最終点のためにコンピュータ装置によって得られる内部情報要素を示す表示までの、点線によって示されるような、点の各々に対してかかる内部情報要素がある。また、これらの表示はＣＡＤシステムにおいて一般に使用されるようなタイプの情報要素を示すにすぎない。
【００２９】
図６を参照し続ける。この図の右側には一連の光った位置、すなわち上記方法の結果として、入力すなわちインジケータの一連のディスプレイ点の変更を同じように示すディスプレイ点４６が示されている。これらディスプレイ点は、先に述べた規格または精密基準が欠如していない直線状の傾斜ライン、すなわち正式な設計製図の規格および基準に従った直線ラインに合致するように変更されたディスプレイパスを示している。これら点が示す変更されたディスプレイパスは、ユーザーがマウス４２を移動させたパス４０の、固定された変形例を示す。出力表示Ｏ１  （Ｘ１  ，Ｙ１  ）からＯｍ  （Ｘｍ  ，Ｙｍ  ）は、コンピュータ装置において決定された、変更された一連の点または位置のための位置を示す、コンピュータ装置によって内部で得られる情報要素を示す。
【００３０】
標準的ＣＡＤシステムおよび方法は、デザインをしたり、詳細なデザイン、製図および検査の実行および関連づけを行う能力を提供するものである。いくつかの例のように、これらは関連する図の変更を自動的に設計したり、次元的情報を維持し、表示するいくつかの能力を含む。図６におけるＯ１  （Ｘ１  ，Ｙ１  ）からＯｍ  （Ｘｍ  ，Ｙｍ  ）に関連する表示Ｄ１  からＤｍ  は、かかる標準的ＣＡＤ機能を実行するためのコンピュータシステムにおける情報要素の存在を単に表示するものである。情報要素Ｏ１  （Ｘ１  ，Ｙ１  ）からＯｍ  （Ｘｍ  ，Ｙｍ  ）によって示される直線ラインパスの長さを示すディスプレイの一部としての端部引出線の間の矢印内にあるＬ  ｉｎなる次元的表示は、かかる標準的な次元に関連した能力を示すにすぎない。
【００３１】
図７を参照すると、本発明に係わるワークステーション３０は、単一点、直線ライン、オープン円弧、円または楕円を表示する位置または点を示す情報要素を発生でき、これら幾何学的要素は正式なデザインまたはデザイン製図の精密基準または規格に欠けているが、かかる精密基準または規格を満たす幾何学的要素（またはセグメント）をそれぞれ示す要素の、変更されたグループを定めている。かかる結果生じるセグメントは図７に示されるような精密な点５０、直線ライン５２、円５４および楕円５６として示される。
【００３２】
図１０において、直線を意図しているが、精密基準に欠如するマウス３２による作図パス６０が左に示されている。これと異なり、このパスはマウスまたはインジケータのパスすなわちディスプレイされているようなパスに対応するよう、ワークステーションのコンピュータ装置で発生されるインジケータ情報要素によって示されるようなパスを示しているとみなすことができる。右側には、ワークステーション３０で得られる、変更された情報要素によって表示される作図パス６２が示されている。当然ながらこのパスは、所望の精密基準を満たす直線ラインの外観となっている。これと同様に、精密基準に欠如する、意図する円弧６４、意図する円６６および意図する楕円７０のパスが、それぞれ図１１、１２および１３の左に示されているが、一方、精密な基準を満たす円弧、円および楕円の作図パスがそれぞれ図１１、１２および１３の右側に示されている。
【００３３】
図１０〜１３のパスはそれぞれ単一セグメント（すなわち単一要素）のストロークとなっている。従ってワークステーションは、単一の定義された幾何学的セグメントまたは要素として、直線ラインセグメント、円弧、円および楕円を認識し、分類し、演算を行うことができる。当然ながらこれは点についても当てはまる。
【００３４】
図１４および１５には、マルチセグメントストロークのパスが示されている。図１４の左には、図１０〜１３の左のパスに類似するが、コーナーの折れ点で一致する２つの直線ラインセグメントとなるようなストロークのパス７８が示されている。このケースでは、ワークステーション３０は、小さな円８０で表示される意図するコーナーの折れ点を認識する。この認識は、折れ位置または折れ点を表示する情報要素を、コンピュータで識別することにより実行される。次にこの折れ点で区切られた接続点を有するストローク内の２つのセグメントを、直線ラインとして別々に認識し、共通折れ点を除き、別々に処理できる。この結果、所望の精度でコーナー折れ点８４で接続した２つの直線ラインセグメントを含むパス８２が得られる。
【００３５】
図１５の左側には、小さい円９０および９２により表示されるような２つの折れ点を含むと認識されるストロークパス８６がある。ここで、これら折れ位置または点を示す２つの情報要素を識別する。パスをフィレット形状に円弧で接続された２本の直線ラインを含む３セグメントパスとして認識する。これら３つのセグメントは、一旦折れ点を識別すれば別々に認識して処理し、次に図１５の右に示すような折れ点９６および９８を有する３セグメントパス９４を示す情報要素セグメントを定めることができる。
【００３６】
図８の左側には、ベタ塗りコマンドシンボルのための代表的なマウスパス１００が示されている。このパスはパスインジケータとしてのマウスの移動により発生される表示情報要素によって表示されるパス、すなわちディスプレイされているようなパスとみなすこともできる。右側には、削除コマンドシンボルのためのパス１０１の同様な状況が示されている。表示されるように、これらシンボルを作成すべき幾何学的パスにおける成分として使用する場合、これらシンボルはマルチセグメント（または要素）ストロークとみなされる。しかしながら、これらの特徴的な性質、および認識されかつ認められる幾何学的パスの成分の性質に起因して、これらのコマンドストロークは、最終的にはベタ塗りおよび削除コマンドの認識および使用に関連する１つの完全セグメントまたは要素として取り扱われる。
【００３７】
図９の左側には、精度を高めた正方形のためのディスプレイスクリーンパス１０２およびマウス３２のベタ塗り移動に対応するベタ塗りシンボルのためのディスプレイパス１０３が示されている。この結果であるベタ塗りシンボルの一般的角度の正方形内の領域のクロスハッチングの表示がされたフィル部分１０４が、右側に示されている。
【００３８】
図１６の左側には、正方形を意図したマウスの作図パスに対応するディスプレイ作図パス１１０が示されている。パスに沿う矢印は、単一ストロークパスの移動方向を表示している。表示するように、パスの両辺は正しく平行となっていない。更に、パスの開始点および終了点において、真のコーナー位置を越えるような延長部がある。当然ながらこのパスはマウスのパス自体を表示するとみなすこともできる。更に、このマウスパスから得られる、ＣＡＤワークステーション３０（図１）内で発生されるインジケータ情報要素は、このディスプレイ作図パスを示している。当然ながら右側のパス１１１は折れ点を位置させ、意図する直線ラインを認識し、更にかかるラインのための変更された情報要素を発生できることを示している。しかしながらこのパスは更に対向する辺の対の間の意図する平行性の条件を表し、更に再限定拘束条件も表す、限定された情報要素を提供できる。図１６の右には、下方の左側でコーナーを形成するように、各々の延長を限定するようにパスの開始点と終了点で一致する正方形の辺を再限定する際に、再限定拘束条件が表されている。このパス１１１は、拘束条件またはディスプレイされているようなかかるパスを含む参考とした特徴のすべてを含むコンピュータシステムで得られる情報要素で表示されるパスとして、見ることができる。
【００３９】
図１７では、かかる平行性および再限定拘束条件のみならず、接線拘束条件も示されている。図の第１フレーム、第３フレームおよび第５フレームにおいて、矢印付きパスによりマウスパスから生じたディスプレイパス（マウスパス自体としても見ることができるパス）が示されている。矢印の付いていないディスプレイパスは、必要に応じ折れ認識、セグメント認識および処理ならびに折れ点認識および処理能力を表している。当然ながらこれらパスは対応する特徴を得るため、変更または変換を受けた情報要素によって示されるパスとしてもみなすことができる。
【００４０】
従って図１７の第１パネルでは、単一ストロークの作図パス１１２が示されている。第２パネルではこのパスはパス１１４に変換され、多少９０度よりも大きい角度で、コーナーにて接続された２本の直線ラインセグメントを表している。第３パネルではマウスの移動の結果として、別のパス１１６が追加されている。この追加パスは、２つのストロークで正方形を描きたいというユーザーの意図を示している。対向する辺に関連する平行線の拘束条件およびストロークを交差させる場所に関連する再限定拘束条件が認識され、これら拘束条件はこの図面の第４パネルの正方形パス１１８で示される。当然ながらこのパスは、第３パネルで加えられた新しい作図パスが、コーナーの折れ点で合流する２本の直線ラインとして認識されたことを表している。第５パネルでは、マウスの追加運動が単一ストロークパス１２０を加え、このパス１２０は正方形の４つの辺の各々に内接する円となるように意図したものである。このような結果を得るにあたり、第６パネルでは意図する円として新しいパスを認識し、円と正方形の４つの辺の各々との接線拘束条件を認識し、これを表示している。
【００４１】
図１８〜２０も、幾何学的拘束条件を示している。直線ラインを意図するストロークおよびそれに続く円を意図するストロークが、図１８の左に示すように、接線拘束条件を受けることなく、それぞれ直線ラインパス１２２および交差しない円１２４として表示できる。しかしながら接線拘束条件により、意図する接線関係が認識される。この結果、直線ラインパス１２６と円形パス１３０とが、互いに接する。これと同様に、一致拘束条件を受けることなく、図１９の左に示すように、点１３２と直線ライン１３４とを分離するような結果も可能である。一致拘束条件を受けると、この結果、点１３６と直線ライン１３８とが一致する。
【００４２】
図２０には、円とこの円から延びる接線ラインを描こうとする単一ストロークのディスプレイパスのための接線拘束条件が示されている。円が精密な基準を満たさず、直線ラインも精密規格を満たさず、更に全く接線が存在していないディスプレイパス１４０が左側に示されており、右側には円と接線方向に延びるラインを含む変更されたディスプレイパス１４２が示されている。
【００４３】
図２および３のフローチャートは、１ストロークのためのセグメントを区切るよう、折れ点を決定するための方法に関し、図４のフローチャートは、かかる基準を満たさないセグメントから所望の精密な基準を満たすセグメントを作成することに関する。図５のフローチャートは図２、３および４の特徴のみならず、幾何学的拘束条件を含む、より包括的な方法に関するものである。
【００４４】
マウス３２の移動（図１および図６）に応答して、コンピュータ装置で発生されたインジケータ要素に対し、マルチセグメントストロークでセグメントを区切るよう、折れ目を認識することについて説明すると、当然ながら各セグメントは位置すなわち点の表示を含む。記憶されたインジケータ要素により、コンピュータにこの位置または点ストリームを記憶すると、このストリームのうちの点に適用される幾何学的特徴の計算および点ストリームのフィルタリングに向けられると述べることができる演算により、この折れ目位置認識（折れ点認識）をスタートできる。
【００４５】
これを実行するにあたり、インジケータ情報要素によって示されるような１ストロークに対する点ストリーム内の点の対の間の相対的距離および（角度変化を意味する）角度を計算する。従って、例えばかかるストロークに対する第２、第３および第４点に関して、第２点と第１点の間の距離を計算し、第３点と第２点の間の距離を計算し、次に第４点と第３点の間の距離を計算する。同様に、第３点と第２点とを結ぶラインと、第２点と第１点とを結ぶラインとの角度差を計算し、第２点に適用できる角度差として適用する。第３点と第２点とを結ぶラインからの、第４点と第３点を結ぶラインの角度変化を計算し、第３点に適用できる角度変化として適用する。これは容易に明らかなように、第１点および最終点に適用できる角度変化がなく、更に第１点前または最終点後に適用できる距離がない場合を除き、ストロークにおけるインジケータ要素で表示される点のすべてに対してこれを実行する。これは図２のフローチャートのスタート点（ブロック１４４）に示されているようなものである。
【００４６】
コンピュータ装置内で発生される１つのインジケータ要素から次のインジケータ要素までの、ワークステーション３０自体の部品内での通常の伝送遅れから生じるかかる期間を越える、最小の距離移動および最小の時間間隔を必要とするようにセッティングを行うことができるが、かかる最小インターバルを不要とし、ワークステーションが行うことができる頻度で一般にマウスの位置をサンプリングできるようすることが有利であることが判っている。この結果、コンピュータ装置内のインジケータ情報要素により表示される、重複インジケータ点が生じ得る。重複点は余分な情報とみなすことができる。一般に当然ながらその他の余分な情報、すなわちノイズも存在する。
【００４７】
従って、インジケータ情報要素によって表示されるような連続する重複点（これは当然許容差内にある）をワークステーション内に記憶されていたストロークから除く（ブロック１４６）。次にノイズ除去特性として、許容度内で連続する点に適用できる２つおよび３つの連続角の組み合わせをテストし、これらが相殺され、マウスを使用する際のユーザーによるマウスの無意識のゆれを多少表すように、０にセットできるかどうかを見る（ブロック１５０）。  例えば５、１０、−１５、２０、５、５、１０、−１０、０の、点に適用できる一連の角度変化を、０、０、０、２０、５、５、０、０、０の角度変化に変える（しかしながら当然、このことはこれを考慮するため、これら点の情報要素を変更することを意味するものではない。一般にこれら角度変化の単位は、度で表示できる。当然ながら、これら演算は上記幾何学的特性の計算および折れ点認識のためのフィルタリングの一部となっている。
【００４８】
このプロセスの連続として、開始点および終了点で明らかとなる理由を除き、ストロークに対する点に適用できる曲率半径を点に対して作成された円に基づいて計算する（ブロック１５２）。表示するように、このような計算は重複点を除いた後に行われるが、当然ながら角度変化の相殺は実際の下方の点に影響を与えるものではない。曲率半径のこの計算に関し、この計算を適用できない開始点および終了点を除き、その点（１つは６つの点の前に位置し、１つは６つの点の後に位置する）を用いて構成された円に基づいて、各点に対する曲率半径を計算する。従って、例えば点ｐ１  、ｐ２  、ｐ３  ．．．ｐｎ  が与えられた場合、これら点ｐ１  、ｐ７  およびｐ１３を通る円を構成することにより、点ｐ７  に適用できる曲率半径を決定できる。次に点ｐ２  、ｐ８  およびｐ１４を通る円を構成することにより、点ｐ８  に適用できる曲率半径を決定する（この曲率半径の情報は、この点にてコンピュータシステムに表示されているディスプレイに適用できる特定のスケールを変更するよう、ユーザーによって入力できたスケールファクタを除くように正規化される）。
【００４９】
その後、見つけられた曲率円に対する中心点の連続する対に対して、これら中心点の間の距離を計算する（ブロック１５４）（この距離は特定のディスプレイ内でユーザーに対して課せられているスケールファクタ（倍率）を除くように正規化される）。次にその後最初の３つおよび最後の３つの各点に対して適用される平均化された傾きを計算し、ストロークに対する点を適用する（１５６）。この計算は、評価点の３つ前の位置の点および３つ後の位置の点により定められるラインの傾きを探すことによって行われる。例えば点ｐ１  、ｐ２  、ｐ３  ．．．ｐｎ  が与えられると、ｐ４  に対する傾きが点ｐ１  およびｐ７  を通るラインを構成することにより決定される。点ｐ５  に対する傾きは、点ｐ２  およびｐ８  を通るラインを作成することにより、点ｐ５  に対する傾きが決定される。
【００５０】
次に、（ブロック１５８で）平均化された傾きが使用されるが、この平均化された傾きは点に対して適用できる平均化された傾きの変化を計算する際に、点に対して計算される。点の計算された平均傾きと、先の点の計算された平均化された傾きとの差を決定することにより、１つの点に適用できる平均化された傾きの変化を計算する。当然ながらこの計算では、３つの開始点と３つの終了点は除かれる。
【００５１】
このことは、どれを幾何学的特性の計算およびフィルタリングに向けられる折れ目認識プロセスの部分として考えることができるかを結論する。
【００５２】
次の操作の組は、ストロークの領域を分類することに向けられる特徴とみなすことが好ましい。
【００５３】
これを行う際（ブロック１６０）、この点に適用できる角度変化の絶対値の各々、この点に適用できる曲率、およびこの点に適用できる傾き変化の絶対値に対する点にカテゴリーを適用する。これらカテゴリーは、表示された変数に基づいて点が発生する領域を分類する試みとみなすと好ましい。これらカテゴリーは、次のようにみなす。
【００５４】
１．実線  −  ごく直線状のラインを表示する
２．混合ライン又はゆるやかなライン  −  ゆるやかな直線状のラインを表示する
３．混合カーブまたはゆるやかなカーブ  −  ゆるやかな曲線を表示する
４．完全なカーブ  −  極めて湾曲したラインを表示する
５．シャープな転回部  −  極端な曲がりを示す
【００５５】
このようなカテゴリー化を続けると、次の記述的表示としてみなすことができる要素の限界値として、次の値をきめることができる。
【００５６】
【表１】
0003560082.tif 000002
【００５７】
ここで、傾きの値は度で示されており、曲率の値はインチで示されている。（またここではスケールファクタ（倍率）により影響されるこれら値のうちの１つにすぎない曲率は正規化され、かかるスケールファクタ（倍率）は除かれる。）
【００５８】
次に、実線、混合カーブまたは完全カーブとして、点に適用できる角度変化に基づき、点を分類するための、上記の値に基づく基準がある。特に、角度変化の絶対値がわずかな傾き未満であれば、カテゴリーは実線となる。角度変化の絶対値がわずかな傾き以上で、かつ小さな傾き以下であれば、混合カーブとなる。点に適用できる角度変化の絶対値が小さな傾きより大であれば、角度変化に基づくこの点のカテゴリーは完全カーブとなる。
【００５９】
同様に、点に適用できる曲率半径の絶対値が大きな曲率以上であれば、曲率に基づく点に適用されるカテゴリーは実線となる。他方、曲率半径の絶対値が大きな曲率未満であれば、カテゴリーは完全カーブとなる。
【００６０】
次に点に適用できる傾き変化の絶対値について説明すると、傾き変化の絶対値が直線状の傾き以下であれば、傾き変化に基づき、この点に適用できるカテゴリーは実線となる。傾き変化の絶対値が直線状の傾きより大で、かつ小さい傾き以下であれば、カテゴリーは混合カーブとなる。傾き変化の絶対値が小さい傾きより大で大きな傾き以下であれば、カテゴリーは完全カーブとなる。傾き変化の絶対値が大きな傾きより大であれば、カテゴリーはシャープな転回部となる。
【００６１】
表示され、コンピュータ装置に記憶されるこのような情報から、これらの決定を行う点に対して複合カテゴリーを適用できる（ブロック１６４）。これらの複合カテゴリーは、決定された角度変化、曲率および傾き変化に対するカテゴリーに基づき、ライン、カーブまたはシャープな転回部とみなす。種々の可能性に対する複合分類は次のとおりである。
【００６２】
【表２】
0003560082.tif 000003
【００６３】
従ってこのチャートは、角度変化、曲率および傾き変化変数に対する点に適用できるカテゴリーから、点に適用できる複合カテゴリーをどのように決定するかを示している。このチャートおよび図２に関連して（ブロック１６４）、異なるライン分類に対するサブカテゴリーは、それにも係わらずライン分類となることに留意すべきである。同様にそれにも係わらず、異なるカーブ分類に対するサブ分類は、すべてカーブ分類となる。
【００６４】
一連の点内の明らかな異常点である範囲外に点がある場合、ストロークの領域を分類するこの形態の一部として、これら点を再カテゴリー化することが好ましい（ブロック１６６）。これはリニア点に対する再カテゴリー化により、極めてリニアな点の長いストリーム内に見いだされる単一カーブ点に適用する。同様に、隣接点に基づいて中間点をカテゴリー化することが好ましい（既に述べたように、これは開始点での多数の点および終了点での多数の点を含むことになる。）。
【００６５】
このような分類の特徴を実行した後、折れ点候補点の識別に向けられた（図２におけるブロック１７０における）形態が生じ得る。このような形態は、折れ点識別のための点カテゴリー化の固定化、コーナーの折れ点候補点の発見およびフィレット状折れ点候補点の発見に向けられた形態を含む。これらについては、図３を参照して、後により詳細に処理する。しかしながら（ブロック１７２において）図２を参照し続けると、セグメント分析を用いた折れ点候補点のテストおよび除去に向けられる演算もある。
【００６６】
この演算は図４の演算に従って処理および認識するために、仮定的に２つのセグメントに分割するポイントのストリームの一部を、除かれた折れ点候補点として識別された点との演算による潜在的な単一セグメントとして、どのようにテストするかと関連している。当然ながらこのことは、ここのセグメントの処理に関する図４に示された演算の説明を参照すればより詳細に理解できよう。
【００６７】
次に図２（ブロック１７４）を再度参照すると、潜在的折れ点候補点を除いた後に、真の折れ点が残る。（除かれた折れ点候補点である点の除去および重複点の除去とは別に）折れ点の識別と関連させて説明した変化または変更のいずれもなく、（点または位置を表示するインジケータ情報要素としての）マウスの移動の結果としてコンピュータ装置内に最初に記憶された点または位置へ戻り、最終の選択された折れ点によって点のストリーム内のその結果生じるセグメントを区切り、（インジケータ情報要素としての）点のこれらセグメントストリームを構成し、ストロークに対してその結果生じたセグメントとして記憶する。
【００６８】
図３を参照すると、点のカテゴリー化の固定化、コーナー折れ点候補点の発見および一般に上記のようにしか称されていないフィレット状折れ点候補点の発見を行うと、折れ点候補点の識別のための多数の点の再カテゴリー化により、かかる固定化が行われる（ブロック１７６）。
【００６９】
まずストリーム内のすべての点に対する複合カテゴリー化がカーブであれば、かかる再カテゴリー化も折れ点、コーナーまたはフィレットの発見は全く不要である。この点に関し、このような特定の目的に対しては、シャープな転回部の複合分類は、カーブ分類とみなすことを覚えておくべきである。よって、この目的のためのこれら２つの分類の間の区別は重要ではない。更に、特に記さない限り、削除シンボルを単一セグメントストロークとする条件も実行することも記憶すべきである。
【００７０】
よって、点のすべてがカーブしていないと仮定すれば、再カテゴリー化に向けられた演算（図３におけるブロック１７６）を行う。潜在的再カテゴリー化のある種の形態は、シャープな転回部領域に関係している。かかる領域の一例としては、次のような一連の点に対する一連の複合分類となる。すなわちライン、ライン、カーブ、カーブ、カーブ、シャープな転回部、シャープな転回部、シャープな転回部、カーブ、カーブ、カーブ、ライン、ラインである。
【００７１】
一般にこのような状況では、シャープな転回部領域の範囲を確定するカーブ点は、実際にはカーブしていない。あるライン領域から別のライン領域への移行部にグレイ領域があるにすぎない。従ってこのような状況では、これら点の分類はライン分類に変換される。よって、ライン、ライン、ライン、ライン、ライン、シャープな転回部、シャープな転回部、シャープな転回部、ライン、ライン、ライン、ライン、ラインのようなシリーズとなる。
【００７２】
しかしながらこのような状況では、カーブ領域を単なるグレイエリアとしないことも可能である（すなわちユーザーはラインを引き、その後このラインに対して鋭角で円弧を描く）。これに合わせるには、シャープな転回部領域のいずれかの側で、限られた数の点分類しか変換しない。９個の限度が便利で有効であることが判っている。
【００７３】
特定の実施例では、シャープな転回部である３つの連続する点があるが、単一のシャープな転回部の点のいずれかで、カーブ点の再カテゴリー化を移動しながらセットするには、１つのシャープな転回部の点で十分である。
【００７４】
かなりの数の連続点が、ある最小絶対値、例えば０．０１度よりも小さい角度変化を有している場合、別の再カテゴリー化演算（ブロック１７６）が行われる。このような状況では、領域内のかかる点のすべてをラインに再カテゴリー化する。上記のような複合分類結果のチャートにより、極めて小さな角度変化を備えた点がカーブの複合分類となる可能性があることを示している。表示された再カテゴリー化は、これら分類が一般にノイズであり、訂正すべきであることを認識するにすぎない。再カテゴリー化を行うには、かかる連続点は最小９つとすると便利で、かつ有効であることが判っている。
【００７５】
再カテゴリー化（ブロック１７６）に焦点を合わせると、複合カーブ（ゆるやかなカーブ）の複合カテゴリー化のみならず、極めて小さな角度変化を有する点は、ラインの複合分類に変換される。同じ０．０１度のカットオフは、これに対し便利で、かつ有効であることが判っている。
かかる再カテゴリー化の後に、シャープな転回部領域の発見と共に、折れ点候補点の実際の選択を開始できる（図３のブロック１７８）。一般に、再び少なくとも短いシリーズの連続するシャープな転回部の複合分類があるが、１つしか必要でない。
【００７６】
シャープな転回部領域を識別した後に、いずれかの側でこの領域の範囲を確定する２つの点（これらの点はシャープな転回部の点ではない）と共に、その領域内の点を一緒のものとみなし、最も大きな角度変化の絶対値を有する点を、これらの中から発見する。次にその点をコーナーの折れ点候補点としてセットアップする（ブロック１８０）。当然ながらこれはシャープな転回部領域毎に行う。
【００７７】
コーナー状よりもむしろカーブ状の転回部に関連した折れ点であるフィレット状の折れ点の候補点の識別について話題を変えると、フィレット状の折れ点を発見しようとする際に、カーブ領域を識別し、使用する。図３のこの特徴について述べると（ブロック１８２）、カーブ領域を発見し、その領域内の点をカウントすることに関連する演算が行われる。カウント数が十分であり（図中の好ましく有効な数は少なくとも１０のカウントである）、かつその領域に対するブラケット点がラインとして分類されている場合、その領域の各端部に対するエッジカーブ点でフィレット状折れ点候補点を選択する（ブロック１８４）。（明らかな代替方法はエッジライン点を選択することである。）カーブ領域内の点の数が不十分（例えば１０未満）であり、かつコーナーの折れ点の候補点に対する点が十分（例えば図に示すように、少なくとも２つ）であれば、その代わりにかかるコーナー折れ点を発生する潜在性がある（ブロック１８６）。このような状況では、角度変化の最大値が最大のカーブ領域内で、この点が見つかる。この値は所定の最小値（例えば図に示すような２３度）より大きければ、この位置でコーナー折れ候補点が発生される（ブロック１８６）。
【００７８】
当然ながら、図３を参照して説明し、図示した（例えば図１５参照）ことから、隣接ライン点を有するエッジではフィレットタイプの領域に対するフィレット折れ点候補点からしか発生されないことが明白となるはずである。従って、かかる領域に対して１つまたは２つの候補点を発生できる。
【００７９】
既に図３を参照して折れ点候補点の識別（図２におけるブロック１７０）についてより詳細に説明してあるので、折れ点候補点のテストおよび移動（図２におけるブロック１７２）について、更に説明する。
【００８０】
最初は、折れ点候補点によりストリームが候補セグメントに区切られている場所に接続部が達している。しかしながら図４を参照してより詳細に説明するセグメント分類方法を、折れ点識別および選択方法の一部として用い、折れ点候補点によって区切られた種々の候補セグメントを分類するのに用いることができる。これら候補セグメントはマウス３２の移動により発生される初期インジケータ要素または点に基づいており、この結果、この分類により、あるラインが別のラインと一致することを示されている場合、ストローク部分が存在し得る。同様に、ラインが円弧または円となったり、円弧または円がラインとなったりすることを示す結果も得られる場合がある。また、円弧または円が別の円弧または円となる可能性もある。
【００８１】
簡単に説明すれば、折れ点候補点を除くためのテスト（図２のブロック１７２）を行うには、除かれた２つのセグメントの交点に対する折れ点と共に、同じセグメント分類方法（図４）に従って所定の評価と共に、上記タイプの隣接するセグメントのテストを行う。これはセグメント分類方法や存在する折れ点を用いることなく、有効な単一セグメント分類を発生するかどうかを判断するように行われる。そうであれば折れ候補点はそのインジケータ要素と共にすべての目的に対して除かれ、２セグメント領域の代わりに単一セグメント領域を提供するだけである。
【００８２】
従って折れ点が除かれた状態で、単一ラインとして、ラインとラインの間の領域を分類できる場合、その折れ点は実際に除かれる。プリ評価基準を備えた、円弧または円となるラインとして、またはラインとなる円弧または円として識別された領域を、折れ点を除いた状態で単一の円弧または単一の円として分類できる場合、その折れ点は除かれる。プリ評価とは、この折れ点の除去を検討できるように、ライン領域の長さに対する円弧または円領域の径の比が、所定の最小値以上となるようにすべきことである。この理由は、円弧または円となったり、またはならなかったりする、ある程度の比較的短いラインを許可したり、排除してはならないからである。かかる最小値３が好ましく有効であることが判っている。円弧または円セグメントと他の円弧または円セグメントとの結合点における折れ候補点に関し、この折れ点を除いた状態で単一セグメントのためのセグメント分類方法が、単一円弧または単一円を発生した場合、その折れ候補点を除く。
【００８３】
次に、図４のフローチャートを参照すると、ストロークを分割した個々のセグメントの認識、または分割しない場合の単一セグメントの認識、更に発生したものに基づく点、直線、円弧または楕円の発生に対し演算を行う。
【００８４】
この初期の特徴を、ｘｙ座標のストリームの変換／正規化と便宜的に称すことができる。既に述べたように、既に解決した折れ点決定方法に関連し、点ストリームについて、あるクリーンアップ変更を行うことができたが、点ストリームは、ユーザーによるマウスの移動の即座の結果として、コンピュータ内で発生された初期のインジケータ要素によって表示された位置のストリームとなる（例えば図６参照）。例外は、ちょうど説明したとおりの除かれた折れ候補点である点およびそれらのインジケータ要素の排除である。更に折れ点認識の際のように、ここでは重複点を除く。
【００８５】
技術的な事項として、コンピュータ装置で表示される指定された位置の細かさ、すなわち精度は、実際にはワークステーション３０（図１）の特性によって制限されることに留意されたい。これに関し、（図１におけるディスプレイ３６のような）ディスプレイおよびそのインターフェース化部品は、入力情報を受け、計算を行い、その結果を記憶するワークステーションの部品の解像度よりも小さい細かさ、すなわち解像能力となり得る。従って、情報要素における位置情報は、一般に、ディスプレイスクリーンまたは他のタイプのディスプレイ、例えばプリントアウトでディスプレイされる解像度よりも解像度が高くなり得る。
【００８６】
図４を参照すると、セグメントに関連した初期変換／正規化の組の演算の説明から明らかとなるように、この組の演算は一般に、プロセス中に点としてのセグメントのプリ分類に達しながら、当該セグメントに対する点（インジケータ要素によって表示された位置）の回転、スケーリングおよび変換を行う（図４のブロック１８６）。
【００８７】
始めはセグメントがクローズドセグメント（例えば円または楕円）またはオープンセグメント（例えば円弧または直線）のいずれに判断されたかを記憶するのに用いられるクローズドフラグを、フォールス（偽）とセットする。次に点の組を演算して開始点および終了点によって定義されるべきベクトルが（０度で）Ｘ軸に沿うように、ストリームを回転させる。次にこの結果生じたセグメントのＸ方向（ｄｘ）およびＹ方向（ｄｙ）への大きさを決定する。更に、開始点と終了点との間の距離も計算する。
【００８８】
ボックスの両辺がＸ軸およびＹ軸に平行な状態の回転されたセグメントの最小−最大ボックス（ｍｉｎ−ｍａｘ  ｂｏｘ）の対角線に対するこのボックスの比をテストする。当然ながらこの対角線は（（ｄｘ）２  ＋（ｄｙ）２  ）の平方根である。このテストした比が所定のスレッショルド値よりも低ければ、追加演算を行う。このスレッショルド値に関しては、ユーザーがこれを選択するある程度の自由度を有するようにできると有利であることが判っている。比較的正確な製図を行う専門家とみなされるユーザーが使用できるスレッショルドを０．１とし、中間レベルとみなされるユーザーに対するスレッショルドは０．２とし、初心者とみなされるユーザーに対するスレッショルドを０．３とすると、好ましく、かつ効率的であることが判っている。
【００８９】
上記比がスレッショルドよりも小さければ、セグメントのうちのすべての点に対する最小二乗適合ラインを計算し、このラインが０度となるように点のストリームを回転し、この点においてセグメントが閉じたと判断されたことを表示するように、クローズドフラグを真にセットする。当然ながら最小二乗適合ラインとは、セグメントの所定の関連する点とライン間の二乗された距離の合計の平方根を最小とするラインのことである。回帰解析により、かかる最小二乗適合ラインおよびその決定は、種々の数学的に行われる演算および研究分野で共通に用いられるものである。
【００９０】
比が表示されたスレッショルドよりも低いかどうか、また、これら比に依存する演算を行うかどうかとは独立して、開始点および終了点によって決まるベクトルが、Ｘ軸（０度）に従うよう、または最小二乗適合ラインがＸ軸に沿うように、点ストリームの回転がなされる。いずれの場合にせよ、次に回転されたセグメントをスケール化し、原点（０、０）にある＋Ｘ、＋Ｙ象限内の所定の大きさのエリア内に入るように変換する。例えば１インチ×１インチの格子サイズが好ましく、効率的であることが判っている。
【００９１】
これまで述べたことに関する評価に際し、（ｄｘ、ｄｙ）によって表示されるセグメントの大きさが十分小さい場合、すなわち言い換えれば、セグメントが適合するｍｉｎ−ｍａｘ  ｂｏｘが十分小さい場合、点としてセグメントをあらかじめ分類でき（ブロック１８６）、多くの演算（ブロック１８６の一部およびブロック１９０、１９２、１９４、１９６および２００）を避けることができる。当然ながらこの領域内にはかなりの数のインジケータ情報要素が生じることがある。すなわち、ユーザーは点を表示するのにマウスを多少移動できたが、ユーザーが行ったものは点と解釈されるような判断がなされた。
【００９２】
実際には、予想されるように、最初にフルストロークを点としてあらかじめ分類できる場合に限り、点の分類ができるようにすることが、好ましく、かつ効率的であることが判っている。従って、図２および図３において説明したように、折れ点認識前では、（折れ点認識操作の場合と同じような重複点の排除を含む）上記のようにセグメントのプリ分類のためのストロークを点としてテストすることが好ましく、かつ効率的である。これによれば、点のプリ分類および図４の操作の下記のような点の発生および関連する方法（発生された点の除去）は、折れ点認識前のセグメント分類操作のみにおけるマルチセグメントストロークのためのセグメント認識のために行う必要はない。折れ点認識前にかかる点のプリ分類が為される場合に、折れ点認識をすることなく下記のようにその時間に点セグメントを発生する。
【００９３】
次の組の演算は、パターン認識および／またはニューラルネットのためのセグメント用入力パターンの発生と便宜的に称することができる。
【００９４】
分類目的のためのセグメントに関する情報をテストするため、セグメントを構成する位置（点）の回転され、スケール化され、変換されたストリームの位置を１００個の位置、１０個の位置×１０個の位置のグリッドにマップ化する（ブロック１９０）。当然、このマップ化は、セブメントの分類のための入力情報を比較的扱いやすいサイズに限定することである。従って入力情報は１００個の位置の各々がこのセグメントに対しヒットしているか、またはミスしているかどうかに関する情報に減縮される。
【００９５】
この１０×１０マトリックスのためのヒットパターンの類似性を少なくするには、所定のパターンを意識的に変え、これらパターンを他のタイプのパターンとより区別できるようにすると有利である。
【００９６】
これによれば、セグメントがクローズドセグメントとして記録されている場合、ヒットのパターンはグリッドの頂部に変換される（ブロック１９２）。このような例としては、ｘで表示された１０×１０のグリッドにおけるヒットによる下記の変換がある。
【００９７】
・・・・・・・・・・            ・・××××××・・
・・・・・・・・・・            ・×・・・・・・×・
・・・・・・・・・・            ×・・・・・・・・×
・・・・・・・・・・  −−−→  ・×・・・・・・×・
・・・・・・・・・・            ・・××××××・・
・・××××××・・            ・・・・・・・・・・
・×・・・・・・×・            ・・・・・・・・・・
×・・・・・・・・×            ・・・・・・・・・・
・×・・・・・・×・            ・・・・・・・・・・
・・××××××・・            ・・・・・・・・・・
【００９８】
ここに表示するように、この変換はヒットがグリッドの頂部の行に達するまで、ヒットパターンを上方に変換する。
【００９９】
セグメントの異なる分類間の区別をする方法を簡単にするための、かかる別の変更とは、笑った顔つきの円弧を示すセグメントパターンのためのヒットパターンをフリップ操作して、怒った顔つきの円弧に変えることである。この目標は、すべての怒った顔つきの円弧パターンにして、それらの認識を容易にすることである。上記変換例に類似するこの例は、次のように示される。
【０１００】
・・・・・・・・・・            ・・・・・・・・・・
・・・・・・・・・・            ・・・・・・・・・・
・・・・・・・・・・            ・・・・・・・・・・
・・・・・・・・・・            ・・・・・・・・・・
・・・・・・・・・・  −−−→  ・・・・・・・・・・
・・・・・・・・・・            ・・・・・・・・・・
×・・・・・・・・×            ・・・××××・・・
・×・・・・・・×・            ・・×・・・・×・・
・・×・・・・×・・            ・×・・・・・・×・
・・・××××・・・            ×・・・・・・・・×
【０１０１】
従って、セグメントのためのヒットパターンの開始点および終了点が、グリッドの同じ行上にあり、開始−終了行が第１行上にあり、更にその開始−終了行の上にヒットがなければ、このパターンをフリップ操作する。より技術的に説明すれば、この方法ではパターンをＹ方向に分割する水平線を横断する鏡像となるように、パターンを変える。（これについては図４のブロック１９２に示されている。）
【０１０２】
これを行った場合、ライン、４５度の円弧として、またはパターン認識演算を利用したベタ塗りシンボルとして、グリッドパターンによるセグメントの別のプリ分類を行う試みが可能である（ブロック１９４）。この理由は、これらセグメント分類のためのグリッドパターンは検査によって容易に認識できるからである。より詳細に説明すれば、直線として分類すべきパターンは、第１のグリッドの行のみに沿うヒットを有していなければならず、４５度の円弧として分類すべきセグメントは、グリッドの最初に２行のみにヒットを有していなけれならず、ベタ塗りセグメントはグリッドパターンの最上部の行のみに沿うヒットを有していなければならない。かかるパターンは下記のように表示される。
【０１０３】
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
××××××××××        ライン
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・××××××・・
××・・・・・・××        ４５°円弧
××××××××××
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・        ベタ塗り
【０１０４】
ベタ塗りに関し、かかるベタ塗りシンボルはクローズドセグメントとして分類するために、表示された最上部の行に変換されていなければならないことに留意すべきである。上記のようなベタ塗りと直線との差異は異なるセグメントの分類を容易に区別するのを補助するよう、変換とパターンのフリッピングがどのように働くかを表示している。
【０１０５】
点のプリ分類の場合と多少同様に、ベタ塗りシンボルは実際はマルチセグメントストロークとして認められない。これらの理由およびその他の効率上の理由から、折れ点の認識前のポイントのプリ分類のためのテストで、点のプリ分類が行われない場合、ライン、４５度の円弧またはベタ塗りとしてのプリ分類となる、図４のパーツにおける操作、かかるプリ分類に基づくライン、円弧またはベタ塗りの発生および関連する方法（発生したセグメントの除去）も、折れ点認識操作前に実行される。これらのいずれも、シングルセグメントのベタ塗りシンボルとしてのストロークのテストを可能にし、他のフォームのプリ分類の場合の効率を高めることができる。しかしながら、ストロークのためのマルチセグメント認識における点としてのプリ分類のための状況と逆に、これらプリ分類、ラインおよび４５度の円弧のための関連する方法も、折れ点認識後のマルチセグメントストロークのために実施される。しかしながら、上記のようなストロークのためのマルチセグメントスト認識では、かかるプリ分類およびベタ塗りシンボルのための関連方法は実行されない。
【０１０６】
この接続点では、点、直線、４５度円弧またはベタ塗りシンボルとして分類すべきセグメントのためのプリ分類が行われていなければならない（点およびベタ塗り方法だけが折れ点認識前の完全ストロークのために試みられるセグメント認識に適用可能である）。しかしながら、かかるプリ分類がなされない場合、図２および３に従って折れ点認識後にセグメントを処理することとなり、セグメントを円弧、円、楕円または削除シンボルと分類すべきかどうかの問題が残る。このような分類方法を実行するには、入力ノードとしてグリッドのうちの１００ポイントを用いるニューラルネットを利用する（ブロック１９６）。
【０１０７】
このニューラルネットは、規格に従って開発されたものであり、これまで何年もの間使用されてきた周知の技術である。このニューラルネットは、表示したように、１２個の隠されたノードと、６個の出力ノードを有する１００個の入力ノードとして１００個のグリッド位置を有するバックプロパゲーション形ニューラルネットである。この出力ノードは、９０度円弧、１８０度円弧、２７０度円弧、円、楕円または削除シンボルに対する可能性と、グリッドパターンの他の５つの可能性とを比較することにより、相対的近似性に換算して信頼レベルを、特定ノードにおける出力の強さに従って表示する。出力ノードに対する別の円弧サイズの選択を参照すれば、これらの代替案は、円、楕円または削除シンボルからの円弧の区別がなかったとしたら、異なる大きさの円弧を１つのセグメントに対して最終的に区別しないという考えで選択される。ニューラルネットのノードにおける出力レベルで表示できる出力％の例としては、次のものがある。９０度の円弧−９２％、１８０度の円弧−２０％、２７０度の円弧−１％、円−０％、楕円−２％、削除シンボル−８％である。
【０１０８】
ニューラルネットのテスト結果が存在する場合（決定を行い、セグメントのための分類を行えないと表示する状況に反し）、分類を行うには、所定の基準を満たさなければならない。一般的な基準として、２つの上部分類候補は５０％以上の組み合わされた％のレベルを有するはずである。次の分類基準が９０度の円弧分類に適用できる。
１．クローズドフラグはフォールス（偽）でなければならない。（クローズドまたはオープンインジケータは、従ってオープンセグメントを示す。）
２．９０度円弧にたいして表示された％は８０％以上であるか、またはランナーアップは１８０度の円弧でなければならない
【０１０９】
次に、１８０度円弧として分類に適用できる基準は次のとおりである。
１．クローズドフラグはフォールス（偽）でなければならない。
２．％レベルは８０％以上であるか、またはランナーアップは９０度または２７０度の円弧でなければならない。
【０１１０】
２７０度の円弧分類に対して付加的基準は次のとおりである。
１．％レベルは８０％以上であるか、またはランナーアップは１８０度円弧または円でなければならない。
２．％レベルが８０％未満で、ランナーアップが１８０度円弧である場合、クローズドフラグはフォールスでなければならない。
【０１１１】
円に対する分類基準は次のとおりである。
１．％レベルは８０％以上、またはランナーアップは２７０度の円弧または楕円でなければならない。
【０１１２】
楕円に適用できる分類基準は次のとおりである。
１．クローズドフラグは真でなければならない。
２．％レベルは８０％以上またはランナーアップは円でなければならない。
【０１１３】
最後に、削除シンボルに適用できる分類基準は次のとおりである。
１．クローズドフラグはフォールスでなければならない。
２．％レベルは８０％以上でなければならない。
３．（重なった点が除かれた状態で）削除ストローク内に少なくとも１５個の点が存在していなければならない。
【０１１４】
ニューラルネットを使う分類に適用できる付加的演算によりセグメントのアスペクト比が分類の変更を行うべきことを示している場合、円から楕円、または楕円から円への、上記のような分類の変更が可能となっている（ブロック２００）。特にアスペクト比を示す判断が所定の限度を越えるとみなせば、円分類を楕円分類に変える。これとは異なり、判断により限度よりも少ないと判断されれば、楕円分類は円分類に変えられる。ユーザーが製図の初心者であると考えられれば、ユーザーにこの限度を２．５にセットさせ、中級者と考えられれば２．０にセットさせ、熟練者であると考えられれば１．５にセットすると好ましく、かつ効率的であることが判っている。この計算は、上記のように回転する際のセグメントのＸまたはＹの値の大きいほうの差を、ＸまたはＹの値の小さいほうの差で割った比、すなわちｄｘおよびｄｙのうちの大きいほうを小さいほうで割った比とすることができる。上記のように、この回転は円または楕円のための最小二乗適合ラインに基づくものであることが予想される。当然ながら１０×１０のグリッド上で表示されるようなセグメントのｄｘおよびｄｙの値に基づくようなアスペクト比を表示するストロークの他の変形例に基づく計算を、これとは別に用いることができる。
【０１１５】
次に、当該セグメントが点の分類、一種のプリ分類（ブロック１８６）、パターン認識により直線、４５度の円弧またはベタ塗りシンボルの分類、別のタイプのプリ分類（ブロック１９４）、またはニューラルネットの使用を含むこの種類の分類方法を用いて、９０度の円弧、１８０度の円弧、２７０度の円弧、円、楕円または削除シンボル（ブロック１９６および２００）に分類されている。かかるセグメントが極端に大きいかまたは小さい形状、または原点から極めて離れた形状となっていることが判れば、このセグメントを除くことができるという評価と共に（ブロック２０４）、コンピュータ装置内のセグメントを実際に発生または画定するための情報を、この点から保証できる（ブロック２０２）。上記のように、折れ点認識前のストロークに対し、点としてのプリ分類に基づきこのことが生じ得る。折れ点認識前、または折れ点認識後のセグメント認識中のストロークに対するラインまたは４５度の円弧でも、このことが生じ得る。他の円弧、楕円または円に対しても、折れ点認識後にこのことが生じる。
【０１１６】
これを参照する場合に、まず円弧について述べるのが好ましい。この点に関し、本方法は単一円、すなわち単一の中心と径とを有する円の一部にそれぞれ限定される円弧を発生する。分類が円弧と決まれば、完了している度と大きさに関する分類は、もはや直接的な問題ではない。重なった点が除かれ、除かれた折れ候補点も存在していない状態で、コンピュータ装置に記憶された初期インジケータ情報要素を、次に使用する。詳細に述べれば、最初の、かかる記憶されたインジケータ情報要素の位置情報を、円弧を発生させるのに使用される円を構成する第１サンプル点として用い、最後のかかる記憶された要素の位置情報を、第２サンプル点として用い、数のカウントが第１点と最終点との間の中間（すなわち約半分）にある情報要素の位置情報を、第３サンプル点として用いる。より詳細に説明すれば、これら３点は、円の中心および径を決める。円弧の幅は第１点位置と最終点位置によって決まる（ブロック２０２）。
【０１１７】
円弧の発生のための前提条件は、３つのサンプル位置が同一直線上になく、３つのうちの２つが一致していないことである。更に、後の条件は、発生された円弧が３３０度以上である場合、この円弧は完全な円となるように閉じられるだけである（ブロック２０２）。
【０１１８】
発生された円弧の除去に関し（ブロック２０４）、原点よりも過度に離れた形状に基づく取り除き条件がある。より詳細には１つのモデル単位が１インチ（ディスプレイ上で）に等しいか、または２５．４のモデル単位がかかる１インチ（１インチが約２５．４ｍｍであるという意味において）に等しくなるように、ユーザーがモデル単位のスケールを特定できるようにすると、便利で、かつ効率的であることが判っている。ユーザーが一旦このようなスケールを決め、発生された円弧の中心点を、１５０００×１５０００のモデル単位の領域外に決定するれば、この発生された円弧を維持せず、これを除き、これを単なるエラー条件とすることが好ましく、かつ効率的であることが判っている。
【０１１９】
円弧に対するかかる追加的エラー条件は、距離許容度と称すことができるものに関連している。より詳細に説明すれば、円弧の終了点の間の距離または円弧の径が距離許容度未満、すなわち過度に小さければ、同様にエラー条件が存在するとみなされる（ブロック２０４）。ユーザーが製図の初心者、中級者または熟練者のいずれかに応じて、この距離許容度をユーザーが特定できるようにすると便利で、かつ効率的である。０．１、０．２および０．３のモデル単位の距離許容度は、それぞれ熟練者のレベル、中級者のレベルおよび初心者のレベルに対して、便利で、かつ効率的であることが判っている。
【０１２０】
本例における直線の発生について説明すると、（重複点が除かれ、除かれた折れ候補点が存在していない状態で）第１および最終インジケータ情報要素は、直線ラインを発生するためのサンプル点となる。しかしながらこれら２つの位置は、かかる発生の前提条件として一致することができない。仮に一致した場合、エラー条件が存在すると判断する。後の条件（ブロック２０４）として、いずれかの位置が２００００×２００００のモデル単位領域外にあれば、エラー条件が存在し、その結果生じるラインの長さが、距離許容度未満、すなわち過度に短い場合もエラー条件が存在する。
【０１２１】
セグメントとしての円の発生を説明する。まず、上記タイプのｍｉｎ−ｍａｘｂｏｘ（ブロック２０２）を決定する。（ボックスの辺の分割線に基づく）ボックスの中心点を円の中心として選択する。ボックスの幅および長さの平均を円の直径として選択する。極端に大きな形状または極端に小さな形状、または原点から極めて遠い形状に基づく発生された円の除去に関し（ブロック２０４）、径を距離許容度以上とし、５０００モデル単位未満でなければならないとすると、便利で、かつ効率的であることが判っている。同様に、中心を２００００×２００００のモデルユニットの領域内になければならないとすると有利であることが判っている。
【０１２２】
セグメントとしてのポイントの発生について説明する。（折れ点認識時のように重複点が除かれた状態で、）初期インジケータ情報要素により特定された位置を発生された点の位置として選択する。先に述べたように、一般にストロークの最小の大きさに基づく点判断による最初の判断の後に、多くの情報要素が生じる。選択された点が２００００×２００００個のモデル単位の領域外にあれば、１つの点に対し発生された点の除去が行われ、エラー条件が存在する（ブロック２０４）。
【０１２３】
楕円を発生するには（ブロック２０２）、長軸および短軸の長さおよび中心点を決定する際に上記タイプのｍｉｎ−ｍａｘ  ｂｏｘを使用する。楕円の中心点が対抗する辺を２分割する線の交点により決定されたこのボックスの中心点となり、短軸および長軸の長さはボックスの長さおよび幅によって決定される。楕円の角度を決定するため、上記タイプの最小二乗適合ラインを使用する。発生された楕円の除去条件を採用しないことは、好ましく、かつ効率的であることが判っている（ブロック２０４）。
【０１２４】
上記のように、点、削除およびベタ塗りは、単一要素のストロークである。ベタ塗りはクローズド領域に関連している（図９）。ベタ塗りから生じるクロスハッチングの角度は、このシンボルの最小二乗適合ラインに対する角度によって決定できる。次のグループのうちから、最小二乗適合ラインの角度に最も近い角度を選択すると、便利で、かつ効率的であることが判っている。すなわち０°、３０°、４５°、６０°、９０°、１２０°、１３５°、１５０°、１８０°、２１０°、２２５°、２４０°、２７０°、３００°、３１５°、３３０°である。このベタ塗りを、選択したクローズド領域に関連させるための明らかな選択案は、ベタ塗りシンボル内の（折れ点認識の際のように重複点を除いた状態で）第１インジケータ要素の位置をクローズド領域に接近させることである。
【０１２５】
削除シンボルに対し、明らかな代替案は、非ポイント前で点を削除すべきとする評価により、ユーザーによって加えられた先の最終セグメント（またはストローク）を削除することである。別の代替案は、接近度、すなわち削除シンボルのための（折れ点認識におけるような重複点が除かれた状態の）第１インジケータ要素への接近度を用いること、または最初の接近度および先の最後のセグメントをフォールバックとしてのみ使用することである。
【０１２６】
図５において、ストロークをセグメントに分割するためのストロークの折れ点の決定、セグメントの認識および発生および拘束条件の問題に関する方法を、広義のコンピュータ支援設計（ＣＡＤ）に関連づけられている。当然ながら、図に向けられる初期演算は、下記を含むこれまで詳細に述べたものに従って行われる。すなわちストローク内で移動されるインジケータを使ったユーザーによるストロークの描画（ブロック２０６）、折れ位置（点）の選択、個々のセグメント領域へのマルチセグメントストロークの分割（ブロック２１０）、ストロークにおけるマルチセグメントの認識（すなわちシングルセグメントストロークにおけるセグメントの認識）（ブロック２１２）、およびマルチセグメント（または単一セグメント）の発生（ブロック２１４）を含む。
【０１２７】
（これらセグメントを画定する情報の）これらセグメントが発生する場合、ワークステーションで発生されたＣＡＤモデルにセグメント（情報）を加えることができる（ブロック２１４）。ＣＡＤ分野で標準的なかかるモデルは、当該デザインまたは作品を構成する情報を含む。
【０１２８】
図１６および２０、ならびにかかる図に関連した説明は、ストロークのうちのセグメント内の拘束条件の発見を示している。図１７、１８および１９ならびにこれらに関連した説明は、異なるストロークのセグメント、すなわち新しく発生されたストロークの説明と、先のストロークのセグメントとの間の拘束条件の発見および検討を示している。当然ながらかかる演算は、ストロークの発生されたセグメント内、かかるセグメントと先のストロークのセグメントの間の拘束条件、例えば一致条件、平行条件、接線条件および再限定条件を発見し（ブロック２１６）、更にＣＡＤシステムのための拘束条件管理システムへの発見された拘束条件および発生されたセグメントの追加を行う（ブロック２１８）。ＣＡＤ関係におけるかかる幾何学的拘束条件を発見し、決定するための演算および技術は、エドワード・Ｔ・コーンにより米国特許庁に同時に提出された、本願出願人を譲受人とする米国特許出願の要旨となっている。参考例としてここに援用するこの米国出願の発明の名称は、「コンピュータで発生された製図の要素間の幾何学的関係の自動的識別」［ロビンス、バーリナー及びカールソン（Ｒｏｂｂｉｎｓ，Ｂｅｒｌｉｎｅｒ＆  Ｃａｒｓｏｎ）の米国出願：整理番号５９０８−１０２に掲載。］である。上記幾何学的拘束条件に関連する演算および技術の外に、本願は共通直線性、垂直性および同一サイズにも関係している。
【０１２９】
以下に上記幾何学的拘束条件を発見し、決定するため演算および技術について説明を加える。
この演算および技術の総合目的は、コンピュータ化されたモデルにおける要素間の幾何学的拘束条件の可能な識別を行うための有効なコンピュータ化された方法及びこれに関連する装置を提供することである。この演算および技術は、特に、該モデルにおける要素が適当に拘束されたモデルの対応する理論値から所定の許容誤差範囲内ではずれている場合に有効である。
さらに、この演算および技術の、より特徴的な目的は、上記拘束条件を識別するために計算の回数を減らすようにデータを組織化し、インデックス化することである。
さらに、別のより特徴的な目的は、個々の計算の複雑さを減らすようにデータを組織化し、インデックス化することである。
【０１３０】
この演算および技術は、次の構成を含むものである。即ち、２次元像を描くための、複数の成分（点、線分、円、円弧等）から構成されるモデルを使用し且つ前記成分の各々が１つあるいはそれ以上の関連する点要素（隔離された点、端点、中心点等）及び／又は線形要素（ライン、接線等）を含み、各々はｎ＞２の変数によって定義される、コンピュータ支援システムにおいて、
２つあるいはそれ以上の前記要素の間の幾何学的拘束条件（一致、共線、平行、垂直、再限定、ポイントオン、同心性、接線性等）を自動的に識別するコンピュータ化された方法であって、以下の工程を含む方法である。
【０１３１】
前記モデルにおける各点要素に関連するｎの変数（Ｘ，Ｙ）を使用して、第１のｎ−トリー（ＴＲ）において点要素をインデックス化する工程
前記モデル内の前記要素の第１のシーケンスを使用して、第１のシーケンスの各々の要素で、所定の許容範囲内の所定の幾何学的拘束条件を満足する点要素を含む可能性のあるノードに対して第１のトリーを検索する工程
前記モデル中の線形要素のシーケンスのうちの各々に関連するｎ変数を使用して、第２のｎ−トリーにおいて線形要素をインデックス化する工程
及び
前記モデル内の前記要素の第２のシーケンスを使用して、第２の所定の許容範囲内で第２の所定の幾何学的拘束条件を満足する線形要素を含む可能性のあるノードに対して第２のトリーを検索する工程
この自動的識別方法は、上記構成に加えてさらに次の工程を含むことが好ましい。
このようにして見つけ出された他の要素のいずれかをテストして、それら要素が、現実に、前記許容範囲の各々の範囲内において前記所定の幾何学的拘束条件の各々を満足するか否かを決定する工程
さらに、この自動的識別方法は、上記構成において、前記モデルが２次元モデル即ち、ｎ＝２であり、前記第１のトリーがカーテシアンクオドトリーであり、且つ前記第１の要素のシーケンスが第１のトリー内の点と一致する可能性をテストされた点及び第１のトリー内の点とポイントオン関係にある可能性をテストされたラインを含むことが好ましい。
【０１３２】
さらに、この自動的識別方法は、上記構成において、前記第２のトリーが極クオドトリーであり、且つ前記第２のシーケンスが該極クオドトリー内の他のラインと一致する可能性をテストされたライン及び該極クオドトリー内のラインと接する可能性をテストされた円を含むことが好ましい。
さらに、この自動的識別方法は、上記構成において、前記第２のトリーが前記極クオドトリー内の各個別の角度θの値の単なる整列されたリストを含むことが好ましい。
さらに、この自動的識別方法は、上記構成において、所定の許容範囲内で異なる近似する角度が前記リストから除かれていることが好ましい。
さらに、この自動的識別方法は、上記構成において、前記所定の許容範囲が０より大きく、且つ前記トリーの各々の各点に向けられた検索が前記所定の許容範囲によってテスト点から分割された候補点を位置づけすることができ、たとえ該候補点が特別のテスト点に関連するノードに隣接するノード内であっても位置づけできることが好ましい。
さらに、この自動的識別方法は、上記構成において、前記第１のトリーの各ラインに向けられた検索が所定の許容範囲で分割された少なくとも２つの検索パスを含むことが好ましい。
【０１３３】
さらに、この自動的識別方法は、上記構成において、さらに次の工程を含むことが好ましい。
前記第１のトリーのラインに向けられたいずれかの検索のうちのいずれかの要素をテストして、これら要素が前記所定の許容範囲の各々の内で前記所定の幾何学的拘束条件の各々を現実に満足するか否かを決定する工程
上記演算および技術によれば、基礎モデルにおいて定義される、点と線との間の正確な幾何学的拘束条件を自動的に識別するコンピュータ化された新規な作図システムにより、前記諸目的が達成される。
【０１３４】
より詳細には、この演算および技術は、識別操作を簡単にし、例えばクオドトリー（ｑｕａｄｔｒｅｅ）等の多次元インデックススキームで基礎データをインデックス化することにより処理される変数の数を減らす。これにより、多次元空間内の特定の位置に配置されたあらゆる要素を識別することが容易になる。
より詳細には、２つのｎ−トリーインデックスが使用される。この演算および技術には、カーテシアン座標で表される点（円の中心点並びに線分及び円弧の端点を含む）に関連するカーテシアンｎ−トリー、極座標で表されるライン（円弧の端点における接線を含む）に関連する極ｎ−トリーが含まれる。カーテシアンｎ−トリーは、特定の位置（例えば、２つの円の間の同心の関係あるいはラインの端点と円の中心との間の再限定の関係）の近傍における点又は特定のパス（例えば、二番目の線に交差する１つのラインの端点の間の再限定の関係）の所定の許容範囲内の点を見つけるために使用される。極ｎ−トリーは、他のラインと同一直線上にあるライン（例えば、特定の円弧の一端と接する関係）、所定の傾きを有するライン（例えば、特定のラインに平行あるいは垂直なライン）及び特定の円上の任意の点に接する（例えば接触関係）ライン（他の円弧の端点で接するベクトルを含む）を見つけるために使用される。
【０１３５】
正確な操作、例えば特定の円上の任意の点で接するすべてのラインを識別するために、極トリーに存在する角度θの異なる値のリストをこの極トリーに追加することにより計算時間を大幅に削減してもよい。この角度のリストは極クオドトリーにおける各“個別の”角度θの値の単純に整列されたリストでもよい。このクオドトリーからは、所定の許容範囲内で異なる近似する角度が除去されている。
別のこの演算および技術の特徴によれば、点はテスト点の与えられた許容範囲内であってもよいが、このテスト点に対応する特別のノードに隣接したノード内でもよいので、隣接するノード間で正確な要素を識別するための設備も作られる。
【０１３６】
さらに別の特徴によれば、テスト点及び識別点は、必然的に同じノード内でインデックス化されることなく、トリーを構成する許容範囲内で同時に発生する１つのプライオリ（ｐｒｉｏｒｉ）として知られるので、特別の許容範囲内で、事実識別要素が特別の抑制を塩化する（ｓａｌｉｆｙ）か否かを評価するための該識別要素をテストするための設備も作られる。
以下に、上記演算および技術における好適な態様について、図２１乃至２３を参考にして説明する。
【０１３７】
型どおりのカーテシアンクオドトリーは図２１によりドラマティカリーに表現される。このクオドトリーは、トリー（Ｔ）、このトリー（Ｔ）内のノード（Ｎ）及びこのノード（Ｎ）内の要素（Ｅ）で表現されるデータ構造のリンクされた階層として与えられる。このトリーは、ルートノード（ＲＮｏ，ｏ）に対するポインターを含む、各ノードは各ノードの位置（例えばその中心）及びサイズ（例えば端部間の長さ）、並びにあらゆる関連づけられた要素のリスト（リーフノードをＬＮと仮定する）又はその４つのクオドノード（内部ノードをＩＮと仮定する）に対するポインターを含む。例えば、ルートノード（ＲＮ）の右上のクオドラント（ｑｕａｄｒａｎｔ）は、８の長さを有し且つカーテシアンクオドトリー（ＴＲ）を構築するために使用される許容範囲Ｔ＝２よりも少ない垂直方向距離（Ｔ−Δ１  ）で離れている２点Ｅ１  ，Ｅ２  を含むリーフノード（ＬＮ＋４，＋４  ）である。ルートノード（ＲＮ）の右下のクオドラントは内部ノード（ＩＮ−４，−４  ）であり、これは各々４の長さを有する４つのクオドラントに分割され、その分割されたうちの低レベルの内部ノードＩＮ−２，−２  を含む右上のクオドラントを伴っている。このクオドラントは、順に各長さ２の４つのリーフノードを含んでいる。リーフノードＬＮ＋３，−３  がある左上のクオドラントは、点Ｅ２  から垂直方向距離Ｔ−Δ２  で離れている点Ｅ３  を有する。
【０１３８】
いくつかのリーフノード（例えば、ＬＮ＋４，＋４  ）は、１以上の要素を含んでおり、一方、他のリーフノード（例えば、ＬＮ＋６，−６  ）は、全く要素を含まないこと（この場合、親の内部ノードにおけるノードポインターは領域を確保するためにＮＵＬＬに設定される。）に注目すべきである。
また、２点（例えば要素Ｅ２  及びＥ３  ）が、クオドトリーを構築するために使用されるＴ＝２の許容範囲以下により水平及び垂直方向に分割されることができ、それでもなお、両者は同じリーフノード内に存在しないことになる。その上、要素Ｅ１  及びＥ２  によって示されるように、１つの要素とその要素のリーフノードの中心との間の距離は、クオドトリーを構築するために使用されるＴ＝２の許容範囲よりもかなり大きなものとすることができる。
【０１３９】
従って、特点の点（時々、テストポイントとして言及される）に対する所定の許容範囲内に位置づけられるトリー内のすべての点を見つけるために、一度リーフノード（例えば図１におけるノード（ＬＮ＋４，＋４  ））がテスト点（例えば要素Ｅ２  ）を含むことを見つけると、点検索ルーチンは、そのノード内のすべてのデータ点（例えば要素Ｅ１  ）をテストしてテスト点の所定の許容範囲内に現実にそれらデータ点が位置づけられているか否かを決定するだけでなく、テスト点があらゆる隣接ノードから水平あるいは垂直方向に±Ｔの許容範囲内に存在するか否かをも決定し、この場合その隣接ノード内の点（例えばノード（ＬＮ＋３，−１  及びＬＮ−２，＋２  ））が試験される。同様に、すべての検索が、オリジナルテスト点のみならず、垂直及び／又は水平にオリジナルテスト点から±Ｔで置き換えられた８つの補足テスト点も使用することにより、行うことができる。
【０１４０】
要素リストは、好ましくは、要素の位置（その要素のＸ及びＹ座標、仮にその要素が点でトリーがカーテシアンクオドトリーである場合）、例えばコンピュータで援助された作図プログラム内の幾何学的イメージを定義する基礎モデル等の分割データ構造内の対応する要素に対するポインター、及び（もしあるなら）次の関連する要素に対するポインターを含む。
【０１４１】
クオドトリーは、トリー及び関連するデータ構造を作成し、削除し、維持するための簡単なハラスキーピングルーチンを使用して維持される。このようなハラスキーピングルーチンは、平均的職人の技能範囲内で適切である。型どおりの作図及び表示ルーチンもまた欠陥を直す目的で便利である。
【０１４２】
計算によれば、θ（０＝２π）の円属性及びρの反対の符号はρにπを加えた場合に相当するという事実を除いて、図２２の極クオドトリー（ＴＰ）はカーテシアンクオドトリー（ＴＲ）に類似しており、同じデータ構造とハラスキーピングルーチンを使用することができる。特に点（ρ，θ）は、角度θの無限長さのラインで表現され、原点から直線距離ρに位置する。しかし、正確な操作のために、演算時間は、トリー内に存在する角度θの異なる値のリストを追加することによりかなり減縮される。この角度のリストは、極クオドトリーにおける各々別個の角度θの値の簡単な配列リストである。この角度リストから所定の許容範囲内で異なる、近似する角度が除去される。図２２において注目すべきことは、線Ｌ１  及びＬ２  が近値する傾きを有しており、それ由にトリーを構築するために使用される所定の許容範囲内で平行である。しかし、これら線は原点からの垂直距離でかなり異なっているので、これら線は、共線関係ではないし、現実に異なるリーフノード内に存在する。
以下の検索ルーチンが提供される：
【０１４３】
ＱＴＦＰＮＴ
前記した点検索ルーチンである。カーテシアン座標における点は極座標におけるラインに相当するので、このルーチンもまた、ρ及びθの特定の値を有するラインを（ρとθについての所定の許容範囲内で）見つけるために極クオドトリーの検索に使用される。
【０１４４】
ＱＴＦＰＬＮ
Ｘ軸やＹ軸に切片を有する（又はこれらに平行する）特定の横断線（例えば図１のラインＰ）上の（与えられた許容範囲を含む）カーテシアンクオドトリーにおける点を見つける。前述したように、２点（又は１点と１本のライン）はクオドトリーを構築するために使用される許容範囲以内で分割されることができる。それにもかかわらず、２点は、隣接するノード内にインデックス化されることになる。従って、２つのテスト線が追加される。即ち、一方のライン（図２１のＰ′）は、特定のライン（例えば前記Ｐ）のＴだけ上方に及びＴだけ左に置換されたものであり、もう一方のライン（図２１のＰ″）は特定の直線をＴだけ下方に及びＴだけ右方に置換されたものである。３本の直線は、各々、クオドトリーの隣接するリーフノードを通じてそれぞれのテストパスをトレースするために使用される（例えば、図２１では直線Ｐ′とリーフノード（ＬＮ＋４，＋４  、ＬＮ−２，＋２  、ＬＮ−５，＋１  及びＬＮ−７，＋１  ））。さらに、これら隣接するリーフノードの各々にインデックス化された要素（例えば、点Ｅ１  ，Ｅ２  及びＥ５  ）は可能な拘束関係で検査される（例えば、これら点は直線Ｐ上に存在する）。カーテシアン座標における点は極座標におけるラインに相当するので、同じ傾きθを有するすべてのラインによって定義される点はρ軸に対して平行な直線上に存在することになる。このルーチンもまた、特定の傾きを有するラインを見つけるために極トリーにおいて使用される。
【０１４５】
ＱＴＦＰＣＲ
特定の中心と特定の半径を有する円上（与えられた許容範囲内で）のカーテシアンクオドトリー内の点を見つける。このルーチンは、テストパスが同心円であることを除き、ＱＴＦＰＬＮと同様である。
【０１４６】
ＱＴＦＣＴＮ
特定の中心と特定の半径を有する円に接する、極クオドトリー内のラインを見つける。角度リスト内の各角度θは特定の円に接する２つのテストライン（ρ１  ，θ）、（ρ２  ，θ）を発生するのに使用する。次いで、各テスト接線は、ρ及びθについて同じ値（±Ｔ）を有するラインに対し極クオドトリーを検索するためにＱＴＦＰＮＴによって使用される。
【０１４７】
余分な幾何学的関係を見つけるために、基礎モデルにおける要素は、該モデル中の他の点と一致する点をチェックすること、同様に他のラインと平行なラインをチェックすること等の必要を避けることによってかなり有利な効果を奏するようにして初めにインデックス化される。特に、クオドトリーインデックスの使用は、テストされている要素のすぐ近傍（このインデックスを構築するために使用される所定の許容範囲によって確立されるものとしての近傍）に存在する要素に対して要素検索を制限する。あるモデルにおけるすべての幾何学的関係を見つけるための時間内の結果として得られる性能は、単純検索の（Ｎ２  ＋Ｎ）／２と比較すると、Ｎ・ｌｏｇ４  （Ｎ）に近似している。
この演算および技術によれば、２つの異なるクオドトリーが使用される。一方は、直交（カーテシアン）座標において、一致点あるいは同一線上の点を見つけるためのものである。もう一方は、極座標において平行、同一線あるいは直交するラインを見つけたり、円の接線を見つけるためのものである。
【０１４８】
この演算および技術の好適な態様においては、以下の幾何学的要素が重要事項である。
0003560082.tif 000004
【０１４９】
さらに、次の関係が重要事項である。
0003560082.tif 000005
【０１５０】
ＳＴＰＴＯＮ，ＳＴＲＥＬＭ及びＳＴＲＬＣＮを除き、すべては再帰的である。
モデルにおけるすべての点に合わせたデータ（点．点、ライン．端点、円．端点、円．中心）は、直交座標トリーを検索するためにルーチンＱＴＦＰＮＴに対する入力として使用される。さらに、結果としての出力はいずれも次の例のようにテストされる（参考要素は図２３に示す）：
・点の一致性（ＳＴＣＯＩＮ、点．点、点．点）
・点とラインの端点との間の端点関係（ＳＴＥＮＤＰ、点．点、ライン．端点）
・点と円弧の端点との間の端点関係（ＳＴＥＮＤＰ、点．点、円．端点）
・２つのラインの隣接した端点間の相互再限定関係（ＳＴＭＲＬＭ、ライン．端点、ライン．端点）。ラインＬ７及びラインＬ５を見よ。
・ラインと円弧の隣接する端点間の相互再限定関係（ＳＴＭＲＬＭ、ライン．端点、円．端点）。
円の弦を横切るラインの場合のように、ラインは、１回以上円に再限定されることに注目すべきである。ラインＬ２と円Ｃ１を見よ。
・２つの円弧の隣接する端点間の相互再限定関係（ＳＴＭＲＬＭ、円．端点、円．端点）。円Ｃ４及び円Ｃ５を見よ。
・ラインの端点と円の中心との間の中心関係に対する再限定（ＳＴＲＬＣＮ、ライン．端点、円．中心）。ラインＬ９及び円Ｃ４を見よ。
・点と円との間の同心性（ＳＴＣＣＥＮ、点．点、円．中心）
・円と他の円との間の同心性（ＳＴＣＣＥＮ、円．中心、円．中心）
・円と他の円との間の一致性（ＳＴＣＯＩＮ、円．中心、円．中心）、但し、これらが等しい半径を有する場合（円Ｃ５及び円Ｃ４を見よ。）
・端点と円中心との中心関係に対する再限定（ＳＴＲＬＣＮ、円．端点、円．中心）。円６及び円７を見よ。
・円の中心と端点を含む円との間のポイントオン関係（ＳＴＰＴＯＮ、円．中心、円．端点）。円Ｃ６及び円Ｃ７を見よ。
・円の中心とラインとの間のポイントオン関係（ＳＴＰＴＯＮ、円．中心、ライン．端点）。ラインＬ９及び円Ｃ４を見よ。
【０１５１】
注目すべきは、様々な要素のタイプの分布、及び特定の関係にあることを見つけた要素をテストするために要する時間に対するトリーを検索するのに要する時間に依存して、第１要素を見つけるための関係において第２要素を使用することがより効果的となるだろう。
【０１５２】
モデル中の各線は極座標トリーを検索するためにルーチンＱＴＦＰＮＴに対する入力として使用される。次いで、出力は、次の例のようにテストされる：
・ラインと他のラインとの間の共線関係（ＳＴＣＬＩＮ、ライン．ライン、ライン．ライン）
モデル中の各線（ライン．ライン）は、直交座標トリーを検索するためにルーチンＱＴＦＰＮＴに対する入力として使用される。次いで、出力は、次の例のようにテストされる：
・点とラインとの間のポイントオン関係（ＳＴＰＴＯＮ、点．点、ライン．ライン）
・円中心とラインとの間のポイントオン関係（ＳＴＰＴＯＮ、ライン．ライン、円．中心）。ラインＬ９及び円Ｃ４を見よ。
・ラインと他のラインの端点との間の再限定関係（ＳＴＲＥＬＭ、ライン．端点、ライン．ライン）。ラインＬ８及びラインＬ１を見よ。
・ラインと円弧の端点との間の再限定関係（ＳＴＲＥＬＭ、円．端点、ライン．ライン）。注目すべきは、円弧は、円の弦の場合のように１回以上同一ラインに対して再限定されることである。ラインＬ３及び円Ｃ４を見よ。
【０１５３】
注目すべきは、モデル中の各点をチェックすることによりあるライン上の点を見つけようと努力するよりも、むしろ、該ラインをそのライン上に存在しそうな点に対して検索を限定するために使用することである。
【０１５４】
モデル中の各線の傾きに相当するラインは、極座標トリーを検索するためにルーチンＱＴＦＰＬＮに対する入力として使用される。次いで、出力は次の例のようにテストされる：
・ラインと他のラインとの間の平行関係（ＳＴＰＡＲＡ、ライン．ライン、ライン．ライン）、（ＳＴＣＬＩＮでない）又は（ＳＴＣＬＩＮがオフ）の場合。ラインＬ６及びラインＬ２を見よ。
モデル中の各ラインの傾きに相当するラインプラスπ／２は、極座標トリーを検索するためにルーチンＱＴＦＰＬＮに対する入力として使用される。次いで、出力は次の例のようにしてテストされる：
・ラインと他のラインとの間の垂直関係（ＳＴＰＥＲＰ、ライン．ライン、ライン．ライン）。ラインＬ３及びラインＬ１を見よ。
モデル中の円弧の各端点で各接線ベクトルは、極座標トリーを検索するためにルーチンＱＴＦＰＮＴに対する入力として使用される。次いで、その出力は、次の例のようにテストされる：
・円弧の端点とラインとの間の接触（ＳＴＴＡＮＧ、ライン．ライン、円．ベクトル）。ラインＬ１及び円Ｃ１を見よ。
・円弧の端点と他の円弧の端点との間の接触（ＳＴＴＡＮＧ、円．ベクトル、円．ベクトル）、２つの端点が直交座標において同じ場合。円Ｃ５及び円Ｃ４を見よ。
モデル中の各円は、直交座標トリーを検索するためにルーチンＱＴＦＰＣＲに対する入力として使用される。次いで、その出力は次の例のようにテストされる：
・ある点と上記円との間のポイントオン関係（ＳＴＰＴＯＮ、点．点、円．円）
・他の円の中心と上記円との間のポイントオン関係（ＳＴＰＴＯＮ、円．中心、円．円）
・あるラインの端点と上記円との間の再限定関係（ＳＴＲＥＬＭ、ライン．端点、円．円）。注目すべきは、ラインは、弦の場合のように、１回以上円に対して再限定されてもよいことである。直線Ｌ２及び円Ｃ１を見よ。
・円弧の端点と上記円との間の再限定関係（ＳＴＲＥＬＭ、円．端点、円．円）円Ｃ６及び円Ｃ７を見よ。
【０１５５】
モデル中の各円は、極座標トリーを検索するためにルーチンＱＴＦＣＴＮに対する入力として使用される。次いで、その出力は、次の例のようにテストされる。
・あるラインと上記円との間の接触（ＳＴＴＡＮＧ、ライン．ライン、円．円）。ラインＬ８及び円Ｃ７を見よ。
・他の円弧の端点と上記円との間の接触（ＳＴＴＡＮＧ、円．ベクトル、円．円）、しかし問題の端点が上記円上にある場合に限る。円Ｃ５及び円Ｃ４を見よ。過剰に拘束されたモデルを構築するのを避け、且つ拘束条件の数及び当該モデルに変化をもたらすために要求される計算の複雑さを減らすことを目的として、以下のガイドラインが、発見された拘束条件が当該モデルに加えられる前に適用されるべきである：
１  もし既に現在構築中のタイプの要素間に或る関係が存在するならば、次に、別のタイプを構築しないこと
２  もし拘束条件のタイプが無効であるならば、次に、拘束条件を構築しないこと
３  もし２つの要素が同じであるならば、関係を構築しないこと
４  要素の端点が関係に含まれる場合のいずれにおいても、その端点の数は、拘束条件の拡張されたデータ領域に保存されるだろう。
５  余分な拘束条件を除くことを目的として、同じタイプの関連する要素の各集合ごとに先導要素を識別すること
６  特に、大幅な許容範囲が含まれている場合は、矛盾する拘束条件をチェックし、最も正確なものを選択すること
【０１５６】
以下の特別規則が好適な態様において行われている。
１  関係が端点条件に依存してもよい場合は、その端点をチェックすること
２  異なるクラスの余分な再限定拘束条件を避けること（相互及び標準の再限定）。
３  もし端点が一致しているならば、共線関係のラインについてのみ再限定（相互に再限定）を許すこと
４  もし相互に再限定する拘束条件が２つの要素間に既に存在するならば、端点ごとに１つの拘束条件のみを構築すること
５  ある円が同心又は一致の集合内の先導要素である場合、又はいずれの種類の集合にも属さない場合、当該円とあるラインとの間にポイントオン拘束条件を構築するのみとすること
６  共線の拘束条件が存在し、それが無効でない場合は、平行の拘束条件を構築しないこと
７  一致の拘束条件が存在し、それが無効でない場合は、接線の拘束条件を構築しないこと
８  円が一致しない場合、同じサイズの円の拘束条件を加えること
９  各ラインが各々の平行の集合の先導要素であるか、又はいずれの平行の集合に存在しない場合にのみ、垂直の拘束条件を加えること
１０  同じラインの両方の端点で相互に矛盾する再限定の拘束条件が存在し得る場合は、より近い端点でのみ拘束条件を構築すること
１１  あるラインとある円の中心及び外側との間で矛盾するポイントオン及び接線の拘束条件が存在し得る場合は、より近い要素でのみ拘束条件を構築すること
１２  与えられた１つのラインに対しては、１つの垂直関係を構築するのみとすること
１３  平行の集合内で先導要素となっていない与えられたラインに対しては１つの平行関係を構築するのみとすること
上記のリストは、消耗するものと考えてはならないし、余分な、競合する及び／又は矛盾する拘束条件を除去するための他の同様な特別規則が、疑いなく、当業者に対して明らかとなるだろう。
【０１５７】
同じノード内の２以上の要素がクオドトリーを構築するために使用される許容範囲内で共に位置づけられ、一般規則として、それら要素は一致するものと考えられる。
しかし、特別の用途では、クオドトリーを構築するためにより粗末な許容範囲を使用すること（このようにしてノードの数と検索時間を減らす）、及び見つけられた要素が検索要素に一致しているか否か又はそうではなく、検索要素によって拘束されるか否かを決定するため、よりよい許容範囲を使用することは有利となるだろう。例えば、極クオドトリーは、一致条件として、２つのラインを同じ傾きと原点からの垂直距離を有するものとして考える。たとえ、これら２つのラインの隣接する点の間の実際の距離が垂直ベクトルからこれらの点までの距離によって拡大されるとしてもこのように考える。同様にして、接線と円との間のあらゆるスペースが、その円とそのラインの垂直ベクトルとの間の距離によって拡大される。
その上、特に許容範囲は付加的なので、拘束条件は必ずしも移行的とならない。２つよりも多くの相互に拘束された要素（例えば、多数の平行線から形成される格子）を、共通の先導要素に対する共通の拘束条件によってリンクされた要素のリストとして組織することが好ましい。
【０１５８】
いくつかの用途では、例えば同じ長さを有する複数のライン又は同じ半径を有する複数の円等のように寸法の拘束条件を識別することも有効である。寸法は、単一の値からなる変数なので、このような寸法の拘束条件は、型どおりの線形インデックスの方法により簡単に識別される。
【０１５９】
多少の規則的幾何学的構造を有する物体を描くことによる、１つあるいはそれ以上のフリーハンドの線形像を２次元の機械的作図に加工する方法にふさわしい本演算および技術の好適な態様において、相対的に大きな許容範囲が、角度に対する拘束条件に使用され、可能な拘束条件の検索が現在表示されている像の中に現れている要素に限定される。新たに入力された線形像の各々は、各基本ストロークの要素と、実時間で、比較され且つインデックス化される。この基本ストロークは、該ストロークに関係する可能な拘束条件に対して、ウインドウ内に前に加工された要素のインデックスにアクセスしたりアップデートしたりするために使用される各線形像を形成する。すべての基本ストロークが加工された後、モデルは、新たに見つけ出された拘束条件を使用して再構築され、フリーハンドの像は、新たに見つけ出された拘束条件で修正されたモデルを描いた、コンピュータ作図によって置換される。
上記幾何学的拘束条件を発見し、決定するための自動的識別方法により得られた拘束条件は、拘束条件管理システムへと追加される。
【０１６０】
拘束条件管理システムは、拘束条件と一致性があるのはどのセグメントであるかを解くことができる（ブロック２２０）。当然ながらこのシステムはかかる一貫性を含むよう発生されたセグメントを多少変更し、更に同じ理由で先のセグメントを変更することを一般に行う。拘束条件が一旦決定されれば、かかる拘束条件と一致するセグメントを解くことは、より標準的なタイプの演算である。ＤＣＭの名称でディーキューブドリミテッド（Ｄ−Ｃｕｂｅｄ  Ｌｔｄ．）によって販売されている製品は、かかる演算を実行するようになっているワークステーション用のプログラムソフトウェアを示している。
【０１６１】
一旦、幾何学的拘束条件と一致してセグメントと解くと、ＣＡＤモデルに記憶されていたようなセグメント情報は、セグメントに対して更新できる（ブロック２２２）。このモデルは更新されたモデルのディスプレイを含む通常のデザインまたはディスプレイ機能のいずれかに対してアップツーデートである（ブロック２２４）。
【０１６２】
先の情報要素からの情報要素に適用できる構成された曲率円のための中心からの距離（またはそれによって表示される位置または点）は先の説明で計算されるように表示される（ブロック１５４）。先に述べた折れ点方法では実行されないが、これら中心距離を使用し、コーナーおよびフィレット状折れ点の外に、変曲折れ点を使用するような変更を実施できる。これを行うため、変曲折れ点のための候補点として、この適用可能な中心距離の比較的大きな値を有する位置を発見できる。前提条件としてのこれら位置は、両側が比較的長い一連のカーブした複合分類によって囲まれた、比較的小さい一連の複合ライン分類内になければならない。この例としては次のものがある。
【０１６３】
【表３】
0003560082.tif 000006
【０１６４】
本例では、変曲折れ点または変曲折れ候補点は、一般に値１００の中心距離が生じる位置に生じる。
【０１６５】
同じようなラインに沿って、図３に関連してアウトラインを述べたような折れ候補点を識別するためのステップの変形は、所定の点で有利であると考えることができる。この代替例を説明し、折れ点の識別を回避したこの接続部で（先に述べたように）すべての点がカーブしていないと仮定すると、この代替例のもとで再カテゴリー化操作を開始できる。再びある種の潜在的再カテゴリー化はシャープな転回部領域と関連している。先の例を繰り返すと、かかる領域の一例は、つぎのような一連の点に対する一連の複合分類となる。すなわちライン、ライン、カーブ、カーブ、カーブ、シャープな転回部、シャープな転回部、シャープな転回部、カーブ、カーブ、カーブ、ライン、ラインである。しかしながらこの場合、シャープな転回点の分類はカーブ分類に変換されるので、このシリーズはライン、ライン、カーブ、カーブ、カーブ、カーブ、カーブ、カーブ、カーブ、カーブ、カーブ、ライン、ラインとなる。
【０１６６】
また、特定の例において、シャープな転回部である３つの連続する点があるが、シャープな転回部の再カテゴリー化を動きでセットするには、１つのシャープな転回部点で十分である。
【０１６７】
次に、ある最小値よりも小さい角度変化を有するかなりの数の連続点を、ラインに再カテゴリー化し、また小さい角度変化を有する混合カーブ点をラインに再カテゴリー化することを実行する。
【０１６８】
上記のように変換された前者の各シャープな転回部に対し、現在はカーブ点である点を共に考え、最大の角度変化の絶対値を有する点のうちの点を発見する。次にこの点をコーナー折れ点候補点としてセットアップする。
【０１６９】
次にフィレット状折れ点候補点に対し十分なカーブ点カウントを有し、（再カテゴリー化された転回部の点を有する領域を含む）ブラケットライン点を有するカーブ領域に基づくこれらの選択は、先に述べたとおりである。更にカーブ領域における点の数が不十分であり、かつコーナーの折れ点に対しては十分である場合の、付加的コーナー折れ点の潜在的選択は、先に述べたとおりである。
【０１７０】
このことは他の方法と対照的に、コーナーの折れ点と共に、ある種の潜在的なフィレット状折れ候補点をウォッシュアウトする傾向はない。しかしながらこの方法は一般に最終折れ点を決定するのに、先に述べたように取り除かれるより多数の折れ候補点を発生し得る。
【０１７１】
ユーザーが先に述べた相互対話、特にユーザーが制御するパスを表示するのに使用する便利なデバイスとして、マウス３２を図示し、説明したが、他の従来の種々の別の装置も容易に利用できる。当然ながらこれら装置のうちの１つとして、デジタイザタブレット装置の一部であるパックがある。
【０１７２】
上記に含まれる多くの細部およびこれらの実施方法は、アメリカコーポレーションのデソルトシステムのうちのＣＡＤシステムに組み込むのに特に適しており、このシステムは、特にモデル名ＲＳ６０００でＩＢＭ社により、ユニックスワークステーション用に商標「ＰＲＯＦＥＳＳＩＯＮＡＬ  ＣＡＤＡＭ」で販売されている、またはモデル番号７００でヒューレットパッカード社により販売されている。更に、その作動はＣ＋＋言語またはＣ言語およびフォートラン言語と組み合わせたＣ＋＋言語による実行に特に適している。
【０１７３】
後に明らかとなるように、本明細書に詳細に説明したような種々の特徴は例示であり、特定の用途、コンテクストおよび要件に応じて、異なる選択ならびに変更または変形を受けるものである。従って本発明の範囲または精神から逸脱することなく、多くの変形および変更が可能である。
【図面の簡単な説明】
【図１】本発明に係わる方法を実行するのに使用するコンピュータワークステーションを示す。
【図２】１つのストロークを複数のセグメントに分解するための工程を示すフローチャートである。
【図３】図２のブロック１７０をより詳細に示すフローチャートである。
【図４】点、直線、円弧、円または楕円であるセグメントを発生する際のステップを示すフローチャートである。
【図５】図２〜４により詳細に示された特徴を含み、更に中間ストロークのセグメント内の幾何学的拘束条件条件および中間ストロークの外からの他の幾何学的拘束条件条件を課すことを含む、（ストローク内のインジケータを移動する）ストロークを描くユーザーから生じたセグメントをディスプレイする際のステップを示すフローチャートである。
【図６】作図ストロークにおけるマウスの移動、ディスプレイカーソルのその結果生じる移動、および図１のワークステーション上での直線セグメントのその結果生じるディスプレイを、多少略図として示す図である。
【図７】本発明によって得られる幾何学的セグメント（または要素）を示す。
【図８】ベタ塗りコマンドストロークおよび削除コマンドストロークを示す。
【図９】ベタ塗りストロークおよびこれが適用されるクローズド領域、およびストロークに応答して発生する領域内のクロスハッチパターンを示す。
【図１０】ユーザーのフリーハンドの運動に関連した所定の精密さの基準に欠けたユーザーの手の移動の幾何学的セグメント（要素）、および本発明によって生じた、かかる基準を満たした対応するセグメントを多少略図として示す図である。
【図１１】ユーザーのフリーハンドの運動に関連した所定の精密さの基準に欠けたユーザーの手の移動の幾何学的セグメント（要素）、および本発明によって生じた、かかる基準を満たした対応するセグメントを多少略図として示す図である。
【図１２】ユーザーのフリーハンドの運動に関連した所定の精密さの基準に欠けたユーザーの手の移動の幾何学的セグメント（要素）、および本発明によって生じた、かかる基準を満たした対応するセグメントを多少略図として示す図である。
【図１３】ユーザーのフリーハンドの運動に関連した所定の精密さの基準に欠けたユーザーの手の移動の幾何学的セグメント（要素）、および本発明によって生じた、かかる基準を満たした対応するセグメントを多少略図として示す図である。
【図１４】コーナーの折れ点において合流する２本の直線から成るストロークを右側に多少略図で示し、このストロークによって生じるユーザーの手の運動のストロークを左側に多少略図で示す図である。
【図１５】２本の直線ラインセグメント、１つの円弧セグメントおよび２つの折れ点を有するストロークを右側に多少略図で示し、このストロークによって生じるユーザーの手の運動のストロークを左側に多少略図で示す図である。
【図１６】ユーザーによって発生され、平行性および再限定幾何学的拘束条件に欠けたストロークが、どのように本発明に従い、かかる拘束条件を含む正方形となるかを、多少略図で示す。
【図１７】２つのストロークでユーザーによって入力された正方形の同じような状況を、最初の４つの部分が示し、最後の２つの部分は正方形に接する拘束条件を含む円形ストロークを意図するものを加えたこと、かつ、かかる拘束条件を課した結果を示す。
【図１８】ラインと円との接線拘束条件を課すことを多少略図で示す。
【図１９】ラインと点との一致拘束条件を多少略図で示す。
【図２０】最初２つのセグメントを有する単一ストロークとして形成された円とラインとの間の接線拘束条件を多少略図で示す。
【図２１】テスト点、線形テストパス及び円形テストパスと同様な多くのデータ点を含むカーテシアンクオドトリーの図である。
【図２２】所定の傾きを有する直線に相当する線形テストパスと同様な多くのラインを含む極クオドトリーの図である。
【図２３】様々な幾何学的拘束条件によって関連づけられる要素を有する基礎モデルを表す２次元図である。
【符号の説明】
３０    ワークステーション
３２    標準的マウス
３４    キーボード
３６    ディスプレイ
３８    ディスプレイスクリーン
１１２    単一ストロークの作図パス
１１４    ２本の直線を表すパス
１１６    別のパス
１１８    正方形パス
１２０    内接円としたい単一ストロークパス
【図１】
0003560082.tif 000007
【図２】
0003560082.tif 000008
【図３】
0003560082.tif 000009
【図４】
0003560082.tif 000010
【図５】
0003560082.tif 000011
【図６】
0003560082.tif 000012
【図７】
0003560082.tif 000013
【図８】
0003560082.tif 000014
【図９】
0003560082.tif 000015
【図１０】
0003560082.tif 000016
【図１１】
0003560082.tif 000017
【図１２】
0003560082.tif 000018
【図１３】
0003560082.tif 000019
【図１４】
0003560082.tif 000020
【図１５】
0003560082.tif 000021
【図１６】
0003560082.tif 000022
【図１７】
0003560082.tif 000023
【図１８】
0003560082.tif 000024
【図１９】
0003560082.tif 000025
【図２０】
0003560082.tif 000026
【図２１】
0003560082.tif 000027
【図２２】
0003560082.tif 000028
【図２３】
0003560082.tif 000029