JP3560082B2 - コンピュータ化された作図方法 - Google Patents

コンピュータ化された作図方法 Download PDF

Info

Publication number
JP3560082B2
JP3560082B2 JP19007995A JP19007995A JP3560082B2 JP 3560082 B2 JP3560082 B2 JP 3560082B2 JP 19007995 A JP19007995 A JP 19007995A JP 19007995 A JP19007995 A JP 19007995A JP 3560082 B2 JP3560082 B2 JP 3560082B2
Authority
JP
Japan
Prior art keywords
information
point
group
path
line
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP19007995A
Other languages
English (en)
Other versions
JPH08255259A (ja
Inventor
エー.フィーネイ マーク
ティ.コーン エドワード
Original Assignee
ダッソー システムズ オブ アメリカ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ダッソー システムズ オブ アメリカ filed Critical ダッソー システムズ オブ アメリカ
Publication of JPH08255259A publication Critical patent/JPH08255259A/ja
Application granted granted Critical
Publication of JP3560082B2 publication Critical patent/JP3560082B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • G06V30/333Preprocessing; Feature extraction
    • G06V30/347Sampling; Contour coding; Stroke extraction

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)

Description

【0001】
【産業上の利用分野】
本発明は、コンピュータを使った製図方法に関し、特に製図インジケータが描く精密な基準に欠ける作図パス(経路)から、正確な基準を満足する作図パスを作成することを行う方法に関する。
【0002】
【従来技術】
製図およびデザインをするためにコンピュータを使用すること、およびコンピュータを使った方法は、しだいに一般的なこととなりつつある。
【0003】
コンピュータ支援設計(CAD)の目標は、デザインを表し、デザインのための作図を分析し、デザインを変更し、開発プロセス中のすべての段階における製図のコピーを記憶できる能力をデザイナーに与えることである。ある意味におけるCADシステムおよびその方法の進歩は、デザイナーに提供されるフレキシビリティおよび可能なデザインおよび作図の複雑さによって測ることができる。
【0004】
代表的なCAD方法では、ユーザーすなわちデザイナーが点、ラインまたは円のような幾何学的要素を指定し、次に適用可能な場合にその要素の大きさの特徴を指定しなければならない。例えばユーザーすなわちデザイナーは、円を指定し、次にその中心にカーソルを位置させることにより円の中心を定め、次に円の所望の半径に等しい距離だけその中心からカーソルを移動することにより、その大きさを指定する。次にシステムはかかる円の作図を実行し、これをユーザーにディスプレイする。システムおよびディスプレイ内の情報は(システムの限界および許容度内で)正確な円を表す。次に同様な、すなわち類似する操作を行えば、この作図に他の正確な幾何学的形状を加えることができる。
【0005】
【発明が解決しようとする課題】
当然ながらこのようなユーザーとの相互対話を行う方法は、人が作図を行う場合の自然な方法に従うものではない。人の自然な方法ではユーザーの手により製図器具を移動させる。更に、多くのデザイナーはデザインの正式な製図に適用されるような基準に欠ける、スケッチのような製図をする際に、最も創造的となる。
【0006】
ニュートン(Newton)の商標で、アップルコンピュータ社から販売されているデバイスは、非CAD環境でノートブック能力と称されているある種のスケッチ能力を提供している。このデバイスは、ユーザーによるスケッチからより正確に見える単一要素のパス、例えば円および楕円や、より正確に見えるマルチ要素のパス、例えば一連の直線を作成するようになっている。更にこのデバイスは、付随する幾何学的な拘束条件、例えば隣接するライン要素の一致する端部の点を一致させるようにもなっている。
【0007】
【課題を解決するための手段】
本発明は、CAD環境と一貫性があり、このCAD環境に組み込まれるようなスケッチタイプの作図(描画)能力を提供するものである。本発明はCAD環境で重要である作図パーツと要素との間の種々の幾何学的拘束条件を含む。これら幾何学的作図パーツまたは要素としては、ポイント、直線、オープンな円弧、円および楕円がある。
【0008】
これら要素のうちの1つの、スケッチされたインジケータパスを解釈する能力と共に、削除およびベタ塗り(areafill)シンボルを区別したり認識したりする能力もある。
【0009】
更にこのデバイスは、比較的複雑なマルチ要素のストロークを区別したり、解釈できる能力も提供するものである。このデバイスはストロークに沿う要素の折れ点位置を決定し、精度の基準を満たすストロークを再構成する前に、これら要素を認識することにより、このような能力を実行する。
【0010】
作図パーツすなわち要素スケッチ、認識および画定に関する本発明の特徴によれば、所定の精密基準に欠けた作図パスを表示する情報を発生し、この情報をかかる精密基準に欠けていない作図パスを表示する方法に変換するための、コンピュータ化された方法が提供される。所定の精密基準に欠けたパス内のインジケータの移動位置を表示するインジケータ情報要素のグループを発生する。次にこれらインジケータ情報要素に応答して位置を表示する変換された情報要素のグループを発生する。ニューラルネットを用いて変換されたグループに演算を行い、これに応答して分類する。次にこの分類に応答してインジケータ情報要素のグループの特徴を発生し、精密基準に欠けていない変更されたパスの位置を表示する情報要素の変更グループを定める。
【0011】
例えば情報要素の変更されたグループは、オープンな円弧を表示できる。ニューラルネットは円、楕円、複数の円弧および削除シンボルを表示できる出力分類を表示できる。
【0012】
情報要素の変換されたグループの発生は、所定のグリッド内の、回転されスケール化され、変換され、マップ化された位置のグループを表示する情報要素のグループに、インジケータ情報要素のグループを変換することを含むことができる。この情報要素グループ(所定のグリッド内の位置を表示し、これら位置が次にクローズドパスを表示する場合)は更に変換されたクローズドパスを表示する、所定グリッド内の位置を表示するグループに更に変換できる。同様に、一方向にオープンな円弧を表示する所定グリッド内の位置を情報要素の基準グループが表示している場合、このグループは更に反対方向にオープンな円弧を表示する、所定グリッド内の位置を表示するグループに変換できる。
【0013】
更にコンピュータ支援設計に適した情報要素の変更グループに関連した情報、例えば表示された大きさを決定するための情報を発生できる。
【0014】
更に、分類目的のため一致しているかどうか最初に述べたような情報要素の変換されたグループを、ラインおよび45度の円弧を表示するパターンを含む情報要素の認識されたパターンに対してテストすることもできる。
【0015】
作図ストロークをパーツすなわち要素に分割することに関する本発明の特徴によれば、所定の精密基準に欠けた作図パスを表示する方法を発生し、作図パスのセグメントの折れ点を表示する折れ点情報を選択するためのコンピュータ化された方法が提供される。所定の精密基準に欠けたパス内のインジケータの移動位置を表示するインジケータ情報要素を発生する。次に分類基準に応答して情報要素をカテゴリー内に分類する。次に分類および折れ点選択基準に応答して折れ点情報要素を選択する。折れ点情報要素は情報要素のセグメントの限界を区切るためのものである。
【0016】
情報要素の分類の実行に当たり、情報要素の角度変化、曲率および傾き変化を表示する機能を計算し、この計算に応答して情報要素をカテゴリー化する。次に隣接する情報要素に対するカテゴリー化に応答して、カテゴリー化された情報要素を再カテゴリー化し、情報要素のための初期の基準分類を達成する。
【0017】
折れ点情報要素の選択に対し、最初に述べた分類および潜在的折れ点情報基準に応答して潜在的折れ点情報要素を最初に選択し、次に潜在的折れ点情報要素に隣接する情報要素をニューラルネットにより演算し、次にニューラルネットに応答して潜在的折れ点要素を除くことができる。
【0018】
情報要素のセグメントはカーブしたオープンセグメントおよびカーブしたクローズドセグメントを含むパスまたは直線セグメントおよびカーブしたオープンセグメントを含むパスを表示する位置を表示することができる。
【0019】
上記特徴および別の幾何学的拘束条件の特徴の双方に関する本発明の更に別の特徴によれば、所定の精密基準に欠けた作図パスを表示する情報を発生し、かかる精密基準に欠けていない作図パスを表示するディスプレイに前記情報を変換するためのコンピュータ化された方法が提供される。所定の精密基準に欠けたパス内のインジケータの移動位置を表示するインジケータ情報要素を発生する。この発生に応答して情報要素のセグメントに対する限界を区切る折れ点情報要素が定められる。次に精密基準に欠けていない変更されたパスのセグメントを表示する情報要素の変更されたグループが定められる。情報要素の変更されたグループのうちの幾何学的拘束条件が発生され、この幾何学的拘束条件の発生に応答して幾何学的に拘束されたセグメントを表示する情報要素の拘束されたグループが定められる。次に精密基準に欠けていないパスを表示すると共に、情報要素の拘束されたグループを含む、情報要素によって表示されたディスプレイがなされる。
【0020】
幾何学的拘束条件は、例えば一致条件、平行条件、接線条件および再限定条件を含むことができる。
【0021】
更に、表示された大きさを決定するための情報を含む、コンピュータ支援設計のための情報要素の拘束されたグループに関連した情報も発生できる。
【0022】
添付図面において、本発明の種々の目的および特徴を実証する実施例を次のように示す。
【0023】
本明細書には、図示するように本発明の詳細な実施例が開示されている。しかしながらこれら実施例は、種々の形態で提供でき、そのうちのいくつかは開示した実施例とかなり異なる可能性がある。従ってここに開示した特定の細部は、代表的なものにすぎず、この点に関し、開示目的のための最良の実施例を示し、かつ本発明の範囲を定める特許請求の範囲の根拠となるものとみなされる。
【0024】
図1にはコンピュータ支援設計(CAD)のためのワークステーション30が示されている。このワークステーションの構成部品のうちには、ワークステーションの入力デバイスとして、ユーザーにより移動され、その他の方法で操作できる標準的マウス32と、キーボード34と、ディスプレイスクリーン38を有するデスプレイ36がある。当然ながらワークステーション30は従来のワークステーションと同じ物理的な外観となっている。しかしながら内部の動作、ユーザーおよびマウスとの相互対話、コンピュータ支援設計および製図を行う結果、並びにかかる設計および製図に関連したコンピュータ化された情報は、本発明に従い、かつ本発明を実施するものである。
【0025】
図6は、ライン40によって示されるような作図パスに沿って移動されるようなマウス32を示す。個人のフリーハンドの移動から生じる代表的な作図パスのように、作図路40は正式な製図、特に製品や部品の設計の際に使用される製図に通常関連する規格や精密さの基準に欠けている。従ってユーザーは恐らく直線状の傾斜したラインのパスを描くことを望んでいても、実際に描かれるパスはこの基準から大きくはずれることになる。一般にユーザーがマウスのボタンを押し、描きたいパスの開始点を表示することにより、パスの開始点をワークステーションに表示できる。描きたいパスの終了点は、そのボタンを離すか、またはボタンを離した後に同じボタンを再び押すか、または最初にボタンを離した後に別のボタンを押すことにより表示できる。次に製図を行う個人による鉛筆またはペンのストロークに類似した方法で、開始点から終了点までのパスをパスストロークとみなす。
【0026】
図6のディスプレイスクリーン38上に示された一連のクロス表示42は、図示した例ではマウス32を用いたユーザーの操作によって生じたディスプレイスクリーン上の一連のカーソル位置を表示する。同様に、ディスプレイスクリーン上の一連の光った位置44は、一連のカーソル位置に対応している。かかる光った位置は当然ながらディスプレイスクリーン上の代表的な主要点であり、これら点を接続すればディスプレイスクリーンに沿った連続的なパスが表示される。更にワークステーション30およびディスプレイスクリーン38(図1)を有するディスプレイ36が、十分に微細な解像度を有するとみなせば、一連の光った点は一般にユーザーにとっては接続されたパスのように見える。従って点または位置44の光ったシリーズは、ディスプレイスクリーン38上の作図パスを表示し、このパスはマウス32の作図パス40に対応する。点または位置のシリーズおよびこれらが示すディスプレイ上のパスは同様に正式な製図に関連する基準に欠けている。
【0027】
図6において、表示I(X,Y)は一連の光った点の第1点42すなわち位置を表示するワークステーションのコンピュータ装置によって内部的に得られる情報要素を示している。情報要素のXおよびY成分は、位置自体、例えばデカルト座標系における座標を示すようになっている。当然ながらこの座標の代わりの座標として、極座標系における角度と径がある。
【0028】
また、当然ながらI(X,Y)からI(X,Y)、すなわち一連の点44における最終点のためにコンピュータ装置によって得られる内部情報要素を示す表示までの、点線によって示されるような、点の各々に対してかかる内部情報要素がある。また、これらの表示はCADシステムにおいて一般に使用されるようなタイプの情報要素を示すにすぎない。
【0029】
図6を参照し続ける。この図の右側には一連の光った位置、すなわち上記方法の結果として、入力すなわちインジケータの一連のディスプレイ点の変更を同じように示すディスプレイ点46が示されている。これらディスプレイ点は、先に述べた規格または精密基準が欠如していない直線状の傾斜ライン、すなわち正式な設計製図の規格および基準に従った直線ラインに合致するように変更されたディスプレイパスを示している。これら点が示す変更されたディスプレイパスは、ユーザーがマウス42を移動させたパス40の、固定された変形例を示す。出力表示O(X,Y)からO(X,Y)は、コンピュータ装置において決定された、変更された一連の点または位置のための位置を示す、コンピュータ装置によって内部で得られる情報要素を示す。
【0030】
標準的CADシステムおよび方法は、デザインをしたり、詳細なデザイン、製図および検査の実行および関連づけを行う能力を提供するものである。いくつかの例のように、これらは関連する図の変更を自動的に設計したり、次元的情報を維持し、表示するいくつかの能力を含む。図6におけるO(X,Y)からO(X,Y)に関連する表示DからDは、かかる標準的CAD機能を実行するためのコンピュータシステムにおける情報要素の存在を単に表示するものである。情報要素O(X,Y)からO(X,Y)によって示される直線ラインパスの長さを示すディスプレイの一部としての端部引出線の間の矢印内にあるL inなる次元的表示は、かかる標準的な次元に関連した能力を示すにすぎない。
【0031】
図7を参照すると、本発明に係わるワークステーション30は、単一点、直線ライン、オープン円弧、円または楕円を表示する位置または点を示す情報要素を発生でき、これら幾何学的要素は正式なデザインまたはデザイン製図の精密基準または規格に欠けているが、かかる精密基準または規格を満たす幾何学的要素(またはセグメント)をそれぞれ示す要素の、変更されたグループを定めている。かかる結果生じるセグメントは図7に示されるような精密な点50、直線ライン52、円54および楕円56として示される。
【0032】
図10において、直線を意図しているが、精密基準に欠如するマウス32による作図パス60が左に示されている。これと異なり、このパスはマウスまたはインジケータのパスすなわちディスプレイされているようなパスに対応するよう、ワークステーションのコンピュータ装置で発生されるインジケータ情報要素によって示されるようなパスを示しているとみなすことができる。右側には、ワークステーション30で得られる、変更された情報要素によって表示される作図パス62が示されている。当然ながらこのパスは、所望の精密基準を満たす直線ラインの外観となっている。これと同様に、精密基準に欠如する、意図する円弧64、意図する円66および意図する楕円70のパスが、それぞれ図11、12および13の左に示されているが、一方、精密な基準を満たす円弧、円および楕円の作図パスがそれぞれ図11、12および13の右側に示されている。
【0033】
図10〜13のパスはそれぞれ単一セグメント(すなわち単一要素)のストロークとなっている。従ってワークステーションは、単一の定義された幾何学的セグメントまたは要素として、直線ラインセグメント、円弧、円および楕円を認識し、分類し、演算を行うことができる。当然ながらこれは点についても当てはまる。
【0034】
図14および15には、マルチセグメントストロークのパスが示されている。図14の左には、図10〜13の左のパスに類似するが、コーナーの折れ点で一致する2つの直線ラインセグメントとなるようなストロークのパス78が示されている。このケースでは、ワークステーション30は、小さな円80で表示される意図するコーナーの折れ点を認識する。この認識は、折れ位置または折れ点を表示する情報要素を、コンピュータで識別することにより実行される。次にこの折れ点で区切られた接続点を有するストローク内の2つのセグメントを、直線ラインとして別々に認識し、共通折れ点を除き、別々に処理できる。この結果、所望の精度でコーナー折れ点84で接続した2つの直線ラインセグメントを含むパス82が得られる。
【0035】
図15の左側には、小さい円90および92により表示されるような2つの折れ点を含むと認識されるストロークパス86がある。ここで、これら折れ位置または点を示す2つの情報要素を識別する。パスをフィレット形状に円弧で接続された2本の直線ラインを含む3セグメントパスとして認識する。これら3つのセグメントは、一旦折れ点を識別すれば別々に認識して処理し、次に図15の右に示すような折れ点96および98を有する3セグメントパス94を示す情報要素セグメントを定めることができる。
【0036】
図8の左側には、ベタ塗りコマンドシンボルのための代表的なマウスパス100が示されている。このパスはパスインジケータとしてのマウスの移動により発生される表示情報要素によって表示されるパス、すなわちディスプレイされているようなパスとみなすこともできる。右側には、削除コマンドシンボルのためのパス101の同様な状況が示されている。表示されるように、これらシンボルを作成すべき幾何学的パスにおける成分として使用する場合、これらシンボルはマルチセグメント(または要素)ストロークとみなされる。しかしながら、これらの特徴的な性質、および認識されかつ認められる幾何学的パスの成分の性質に起因して、これらのコマンドストロークは、最終的にはベタ塗りおよび削除コマンドの認識および使用に関連する1つの完全セグメントまたは要素として取り扱われる。
【0037】
図9の左側には、精度を高めた正方形のためのディスプレイスクリーンパス102およびマウス32のベタ塗り移動に対応するベタ塗りシンボルのためのディスプレイパス103が示されている。この結果であるベタ塗りシンボルの一般的角度の正方形内の領域のクロスハッチングの表示がされたフィル部分104が、右側に示されている。
【0038】
図16の左側には、正方形を意図したマウスの作図パスに対応するディスプレイ作図パス110が示されている。パスに沿う矢印は、単一ストロークパスの移動方向を表示している。表示するように、パスの両辺は正しく平行となっていない。更に、パスの開始点および終了点において、真のコーナー位置を越えるような延長部がある。当然ながらこのパスはマウスのパス自体を表示するとみなすこともできる。更に、このマウスパスから得られる、CADワークステーション30(図1)内で発生されるインジケータ情報要素は、このディスプレイ作図パスを示している。当然ながら右側のパス111は折れ点を位置させ、意図する直線ラインを認識し、更にかかるラインのための変更された情報要素を発生できることを示している。しかしながらこのパスは更に対向する辺の対の間の意図する平行性の条件を表し、更に再限定拘束条件も表す、限定された情報要素を提供できる。図16の右には、下方の左側でコーナーを形成するように、各々の延長を限定するようにパスの開始点と終了点で一致する正方形の辺を再限定する際に、再限定拘束条件が表されている。このパス111は、拘束条件またはディスプレイされているようなかかるパスを含む参考とした特徴のすべてを含むコンピュータシステムで得られる情報要素で表示されるパスとして、見ることができる。
【0039】
図17では、かかる平行性および再限定拘束条件のみならず、接線拘束条件も示されている。図の第1フレーム、第3フレームおよび第5フレームにおいて、矢印付きパスによりマウスパスから生じたディスプレイパス(マウスパス自体としても見ることができるパス)が示されている。矢印の付いていないディスプレイパスは、必要に応じ折れ認識、セグメント認識および処理ならびに折れ点認識および処理能力を表している。当然ながらこれらパスは対応する特徴を得るため、変更または変換を受けた情報要素によって示されるパスとしてもみなすことができる。
【0040】
従って図17の第1パネルでは、単一ストロークの作図パス112が示されている。第2パネルではこのパスはパス114に変換され、多少90度よりも大きい角度で、コーナーにて接続された2本の直線ラインセグメントを表している。第3パネルではマウスの移動の結果として、別のパス116が追加されている。この追加パスは、2つのストロークで正方形を描きたいというユーザーの意図を示している。対向する辺に関連する平行線の拘束条件およびストロークを交差させる場所に関連する再限定拘束条件が認識され、これら拘束条件はこの図面の第4パネルの正方形パス118で示される。当然ながらこのパスは、第3パネルで加えられた新しい作図パスが、コーナーの折れ点で合流する2本の直線ラインとして認識されたことを表している。第5パネルでは、マウスの追加運動が単一ストロークパス120を加え、このパス120は正方形の4つの辺の各々に内接する円となるように意図したものである。このような結果を得るにあたり、第6パネルでは意図する円として新しいパスを認識し、円と正方形の4つの辺の各々との接線拘束条件を認識し、これを表示している。
【0041】
図18〜20も、幾何学的拘束条件を示している。直線ラインを意図するストロークおよびそれに続く円を意図するストロークが、図18の左に示すように、接線拘束条件を受けることなく、それぞれ直線ラインパス122および交差しない円124として表示できる。しかしながら接線拘束条件により、意図する接線関係が認識される。この結果、直線ラインパス126と円形パス130とが、互いに接する。これと同様に、一致拘束条件を受けることなく、図19の左に示すように、点132と直線ライン134とを分離するような結果も可能である。一致拘束条件を受けると、この結果、点136と直線ライン138とが一致する。
【0042】
図20には、円とこの円から延びる接線ラインを描こうとする単一ストロークのディスプレイパスのための接線拘束条件が示されている。円が精密な基準を満たさず、直線ラインも精密規格を満たさず、更に全く接線が存在していないディスプレイパス140が左側に示されており、右側には円と接線方向に延びるラインを含む変更されたディスプレイパス142が示されている。
【0043】
図2および3のフローチャートは、1ストロークのためのセグメントを区切るよう、折れ点を決定するための方法に関し、図4のフローチャートは、かかる基準を満たさないセグメントから所望の精密な基準を満たすセグメントを作成することに関する。図5のフローチャートは図2、3および4の特徴のみならず、幾何学的拘束条件を含む、より包括的な方法に関するものである。
【0044】
マウス32の移動(図1および図6)に応答して、コンピュータ装置で発生されたインジケータ要素に対し、マルチセグメントストロークでセグメントを区切るよう、折れ目を認識することについて説明すると、当然ながら各セグメントは位置すなわち点の表示を含む。記憶されたインジケータ要素により、コンピュータにこの位置または点ストリームを記憶すると、このストリームのうちの点に適用される幾何学的特徴の計算および点ストリームのフィルタリングに向けられると述べることができる演算により、この折れ目位置認識(折れ点認識)をスタートできる。
【0045】
これを実行するにあたり、インジケータ情報要素によって示されるような1ストロークに対する点ストリーム内の点の対の間の相対的距離および(角度変化を意味する)角度を計算する。従って、例えばかかるストロークに対する第2、第3および第4点に関して、第2点と第1点の間の距離を計算し、第3点と第2点の間の距離を計算し、次に第4点と第3点の間の距離を計算する。同様に、第3点と第2点とを結ぶラインと、第2点と第1点とを結ぶラインとの角度差を計算し、第2点に適用できる角度差として適用する。第3点と第2点とを結ぶラインからの、第4点と第3点を結ぶラインの角度変化を計算し、第3点に適用できる角度変化として適用する。これは容易に明らかなように、第1点および最終点に適用できる角度変化がなく、更に第1点前または最終点後に適用できる距離がない場合を除き、ストロークにおけるインジケータ要素で表示される点のすべてに対してこれを実行する。これは図2のフローチャートのスタート点(ブロック144)に示されているようなものである。
【0046】
コンピュータ装置内で発生される1つのインジケータ要素から次のインジケータ要素までの、ワークステーション30自体の部品内での通常の伝送遅れから生じるかかる期間を越える、最小の距離移動および最小の時間間隔を必要とするようにセッティングを行うことができるが、かかる最小インターバルを不要とし、ワークステーションが行うことができる頻度で一般にマウスの位置をサンプリングできるようすることが有利であることが判っている。この結果、コンピュータ装置内のインジケータ情報要素により表示される、重複インジケータ点が生じ得る。重複点は余分な情報とみなすことができる。一般に当然ながらその他の余分な情報、すなわちノイズも存在する。
【0047】
従って、インジケータ情報要素によって表示されるような連続する重複点(これは当然許容差内にある)をワークステーション内に記憶されていたストロークから除く(ブロック146)。次にノイズ除去特性として、許容度内で連続する点に適用できる2つおよび3つの連続角の組み合わせをテストし、これらが相殺され、マウスを使用する際のユーザーによるマウスの無意識のゆれを多少表すように、0にセットできるかどうかを見る(ブロック150)。 例えば5、10、−15、20、5、5、10、−10、0の、点に適用できる一連の角度変化を、0、0、0、20、5、5、0、0、0の角度変化に変える(しかしながら当然、このことはこれを考慮するため、これら点の情報要素を変更することを意味するものではない。一般にこれら角度変化の単位は、度で表示できる。当然ながら、これら演算は上記幾何学的特性の計算および折れ点認識のためのフィルタリングの一部となっている。
【0048】
このプロセスの連続として、開始点および終了点で明らかとなる理由を除き、ストロークに対する点に適用できる曲率半径を点に対して作成された円に基づいて計算する(ブロック152)。表示するように、このような計算は重複点を除いた後に行われるが、当然ながら角度変化の相殺は実際の下方の点に影響を与えるものではない。曲率半径のこの計算に関し、この計算を適用できない開始点および終了点を除き、その点(1つは6つの点の前に位置し、1つは6つの点の後に位置する)を用いて構成された円に基づいて、各点に対する曲率半径を計算する。従って、例えば点p、p、p...pが与えられた場合、これら点p、pおよびp13を通る円を構成することにより、点pに適用できる曲率半径を決定できる。次に点p、pおよびp14を通る円を構成することにより、点pに適用できる曲率半径を決定する(この曲率半径の情報は、この点にてコンピュータシステムに表示されているディスプレイに適用できる特定のスケールを変更するよう、ユーザーによって入力できたスケールファクタを除くように正規化される)。
【0049】
その後、見つけられた曲率円に対する中心点の連続する対に対して、これら中心点の間の距離を計算する(ブロック154)(この距離は特定のディスプレイ内でユーザーに対して課せられているスケールファクタ(倍率)を除くように正規化される)。次にその後最初の3つおよび最後の3つの各点に対して適用される平均化された傾きを計算し、ストロークに対する点を適用する(156)。この計算は、評価点の3つ前の位置の点および3つ後の位置の点により定められるラインの傾きを探すことによって行われる。例えば点p、p、p...pが与えられると、pに対する傾きが点pおよびpを通るラインを構成することにより決定される。点pに対する傾きは、点pおよびpを通るラインを作成することにより、点pに対する傾きが決定される。
【0050】
次に、(ブロック158で)平均化された傾きが使用されるが、この平均化された傾きは点に対して適用できる平均化された傾きの変化を計算する際に、点に対して計算される。点の計算された平均傾きと、先の点の計算された平均化された傾きとの差を決定することにより、1つの点に適用できる平均化された傾きの変化を計算する。当然ながらこの計算では、3つの開始点と3つの終了点は除かれる。
【0051】
このことは、どれを幾何学的特性の計算およびフィルタリングに向けられる折れ目認識プロセスの部分として考えることができるかを結論する。
【0052】
次の操作の組は、ストロークの領域を分類することに向けられる特徴とみなすことが好ましい。
【0053】
これを行う際(ブロック160)、この点に適用できる角度変化の絶対値の各々、この点に適用できる曲率、およびこの点に適用できる傾き変化の絶対値に対する点にカテゴリーを適用する。これらカテゴリーは、表示された変数に基づいて点が発生する領域を分類する試みとみなすと好ましい。これらカテゴリーは、次のようにみなす。
【0054】
1.実線 − ごく直線状のラインを表示する
2.混合ライン又はゆるやかなライン − ゆるやかな直線状のラインを表示する
3.混合カーブまたはゆるやかなカーブ − ゆるやかな曲線を表示する
4.完全なカーブ − 極めて湾曲したラインを表示する
5.シャープな転回部 − 極端な曲がりを示す
【0055】
このようなカテゴリー化を続けると、次の記述的表示としてみなすことができる要素の限界値として、次の値をきめることができる。
【0056】
【表1】
Figure 0003560082
【0057】
ここで、傾きの値は度で示されており、曲率の値はインチで示されている。(またここではスケールファクタ(倍率)により影響されるこれら値のうちの1つにすぎない曲率は正規化され、かかるスケールファクタ(倍率)は除かれる。)
【0058】
次に、実線、混合カーブまたは完全カーブとして、点に適用できる角度変化に基づき、点を分類するための、上記の値に基づく基準がある。特に、角度変化の絶対値がわずかな傾き未満であれば、カテゴリーは実線となる。角度変化の絶対値がわずかな傾き以上で、かつ小さな傾き以下であれば、混合カーブとなる。点に適用できる角度変化の絶対値が小さな傾きより大であれば、角度変化に基づくこの点のカテゴリーは完全カーブとなる。
【0059】
同様に、点に適用できる曲率半径の絶対値が大きな曲率以上であれば、曲率に基づく点に適用されるカテゴリーは実線となる。他方、曲率半径の絶対値が大きな曲率未満であれば、カテゴリーは完全カーブとなる。
【0060】
次に点に適用できる傾き変化の絶対値について説明すると、傾き変化の絶対値が直線状の傾き以下であれば、傾き変化に基づき、この点に適用できるカテゴリーは実線となる。傾き変化の絶対値が直線状の傾きより大で、かつ小さい傾き以下であれば、カテゴリーは混合カーブとなる。傾き変化の絶対値が小さい傾きより大で大きな傾き以下であれば、カテゴリーは完全カーブとなる。傾き変化の絶対値が大きな傾きより大であれば、カテゴリーはシャープな転回部となる。
【0061】
表示され、コンピュータ装置に記憶されるこのような情報から、これらの決定を行う点に対して複合カテゴリーを適用できる(ブロック164)。これらの複合カテゴリーは、決定された角度変化、曲率および傾き変化に対するカテゴリーに基づき、ライン、カーブまたはシャープな転回部とみなす。種々の可能性に対する複合分類は次のとおりである。
【0062】
【表2】
Figure 0003560082
【0063】
従ってこのチャートは、角度変化、曲率および傾き変化変数に対する点に適用できるカテゴリーから、点に適用できる複合カテゴリーをどのように決定するかを示している。このチャートおよび図2に関連して(ブロック164)、異なるライン分類に対するサブカテゴリーは、それにも係わらずライン分類となることに留意すべきである。同様にそれにも係わらず、異なるカーブ分類に対するサブ分類は、すべてカーブ分類となる。
【0064】
一連の点内の明らかな異常点である範囲外に点がある場合、ストロークの領域を分類するこの形態の一部として、これら点を再カテゴリー化することが好ましい(ブロック166)。これはリニア点に対する再カテゴリー化により、極めてリニアな点の長いストリーム内に見いだされる単一カーブ点に適用する。同様に、隣接点に基づいて中間点をカテゴリー化することが好ましい(既に述べたように、これは開始点での多数の点および終了点での多数の点を含むことになる。)。
【0065】
このような分類の特徴を実行した後、折れ点候補点の識別に向けられた(図2におけるブロック170における)形態が生じ得る。このような形態は、折れ点識別のための点カテゴリー化の固定化、コーナーの折れ点候補点の発見およびフィレット状折れ点候補点の発見に向けられた形態を含む。これらについては、図3を参照して、後により詳細に処理する。しかしながら(ブロック172において)図2を参照し続けると、セグメント分析を用いた折れ点候補点のテストおよび除去に向けられる演算もある。
【0066】
この演算は図4の演算に従って処理および認識するために、仮定的に2つのセグメントに分割するポイントのストリームの一部を、除かれた折れ点候補点として識別された点との演算による潜在的な単一セグメントとして、どのようにテストするかと関連している。当然ながらこのことは、ここのセグメントの処理に関する図4に示された演算の説明を参照すればより詳細に理解できよう。
【0067】
次に図2(ブロック174)を再度参照すると、潜在的折れ点候補点を除いた後に、真の折れ点が残る。(除かれた折れ点候補点である点の除去および重複点の除去とは別に)折れ点の識別と関連させて説明した変化または変更のいずれもなく、(点または位置を表示するインジケータ情報要素としての)マウスの移動の結果としてコンピュータ装置内に最初に記憶された点または位置へ戻り、最終の選択された折れ点によって点のストリーム内のその結果生じるセグメントを区切り、(インジケータ情報要素としての)点のこれらセグメントストリームを構成し、ストロークに対してその結果生じたセグメントとして記憶する。
【0068】
図3を参照すると、点のカテゴリー化の固定化、コーナー折れ点候補点の発見および一般に上記のようにしか称されていないフィレット状折れ点候補点の発見を行うと、折れ点候補点の識別のための多数の点の再カテゴリー化により、かかる固定化が行われる(ブロック176)。
【0069】
まずストリーム内のすべての点に対する複合カテゴリー化がカーブであれば、かかる再カテゴリー化も折れ点、コーナーまたはフィレットの発見は全く不要である。この点に関し、このような特定の目的に対しては、シャープな転回部の複合分類は、カーブ分類とみなすことを覚えておくべきである。よって、この目的のためのこれら2つの分類の間の区別は重要ではない。更に、特に記さない限り、削除シンボルを単一セグメントストロークとする条件も実行することも記憶すべきである。
【0070】
よって、点のすべてがカーブしていないと仮定すれば、再カテゴリー化に向けられた演算(図3におけるブロック176)を行う。潜在的再カテゴリー化のある種の形態は、シャープな転回部領域に関係している。かかる領域の一例としては、次のような一連の点に対する一連の複合分類となる。すなわちライン、ライン、カーブ、カーブ、カーブ、シャープな転回部、シャープな転回部、シャープな転回部、カーブ、カーブ、カーブ、ライン、ラインである。
【0071】
一般にこのような状況では、シャープな転回部領域の範囲を確定するカーブ点は、実際にはカーブしていない。あるライン領域から別のライン領域への移行部にグレイ領域があるにすぎない。従ってこのような状況では、これら点の分類はライン分類に変換される。よって、ライン、ライン、ライン、ライン、ライン、シャープな転回部、シャープな転回部、シャープな転回部、ライン、ライン、ライン、ライン、ラインのようなシリーズとなる。
【0072】
しかしながらこのような状況では、カーブ領域を単なるグレイエリアとしないことも可能である(すなわちユーザーはラインを引き、その後このラインに対して鋭角で円弧を描く)。これに合わせるには、シャープな転回部領域のいずれかの側で、限られた数の点分類しか変換しない。9個の限度が便利で有効であることが判っている。
【0073】
特定の実施例では、シャープな転回部である3つの連続する点があるが、単一のシャープな転回部の点のいずれかで、カーブ点の再カテゴリー化を移動しながらセットするには、1つのシャープな転回部の点で十分である。
【0074】
かなりの数の連続点が、ある最小絶対値、例えば0.01度よりも小さい角度変化を有している場合、別の再カテゴリー化演算(ブロック176)が行われる。このような状況では、領域内のかかる点のすべてをラインに再カテゴリー化する。上記のような複合分類結果のチャートにより、極めて小さな角度変化を備えた点がカーブの複合分類となる可能性があることを示している。表示された再カテゴリー化は、これら分類が一般にノイズであり、訂正すべきであることを認識するにすぎない。再カテゴリー化を行うには、かかる連続点は最小9つとすると便利で、かつ有効であることが判っている。
【0075】
再カテゴリー化(ブロック176)に焦点を合わせると、複合カーブ(ゆるやかなカーブ)の複合カテゴリー化のみならず、極めて小さな角度変化を有する点は、ラインの複合分類に変換される。同じ0.01度のカットオフは、これに対し便利で、かつ有効であることが判っている。
かかる再カテゴリー化の後に、シャープな転回部領域の発見と共に、折れ点候補点の実際の選択を開始できる(図3のブロック178)。一般に、再び少なくとも短いシリーズの連続するシャープな転回部の複合分類があるが、1つしか必要でない。
【0076】
シャープな転回部領域を識別した後に、いずれかの側でこの領域の範囲を確定する2つの点(これらの点はシャープな転回部の点ではない)と共に、その領域内の点を一緒のものとみなし、最も大きな角度変化の絶対値を有する点を、これらの中から発見する。次にその点をコーナーの折れ点候補点としてセットアップする(ブロック180)。当然ながらこれはシャープな転回部領域毎に行う。
【0077】
コーナー状よりもむしろカーブ状の転回部に関連した折れ点であるフィレット状の折れ点の候補点の識別について話題を変えると、フィレット状の折れ点を発見しようとする際に、カーブ領域を識別し、使用する。図3のこの特徴について述べると(ブロック182)、カーブ領域を発見し、その領域内の点をカウントすることに関連する演算が行われる。カウント数が十分であり(図中の好ましく有効な数は少なくとも10のカウントである)、かつその領域に対するブラケット点がラインとして分類されている場合、その領域の各端部に対するエッジカーブ点でフィレット状折れ点候補点を選択する(ブロック184)。(明らかな代替方法はエッジライン点を選択することである。)カーブ領域内の点の数が不十分(例えば10未満)であり、かつコーナーの折れ点の候補点に対する点が十分(例えば図に示すように、少なくとも2つ)であれば、その代わりにかかるコーナー折れ点を発生する潜在性がある(ブロック186)。このような状況では、角度変化の最大値が最大のカーブ領域内で、この点が見つかる。この値は所定の最小値(例えば図に示すような23度)より大きければ、この位置でコーナー折れ候補点が発生される(ブロック186)。
【0078】
当然ながら、図3を参照して説明し、図示した(例えば図15参照)ことから、隣接ライン点を有するエッジではフィレットタイプの領域に対するフィレット折れ点候補点からしか発生されないことが明白となるはずである。従って、かかる領域に対して1つまたは2つの候補点を発生できる。
【0079】
既に図3を参照して折れ点候補点の識別(図2におけるブロック170)についてより詳細に説明してあるので、折れ点候補点のテストおよび移動(図2におけるブロック172)について、更に説明する。
【0080】
最初は、折れ点候補点によりストリームが候補セグメントに区切られている場所に接続部が達している。しかしながら図4を参照してより詳細に説明するセグメント分類方法を、折れ点識別および選択方法の一部として用い、折れ点候補点によって区切られた種々の候補セグメントを分類するのに用いることができる。これら候補セグメントはマウス32の移動により発生される初期インジケータ要素または点に基づいており、この結果、この分類により、あるラインが別のラインと一致することを示されている場合、ストローク部分が存在し得る。同様に、ラインが円弧または円となったり、円弧または円がラインとなったりすることを示す結果も得られる場合がある。また、円弧または円が別の円弧または円となる可能性もある。
【0081】
簡単に説明すれば、折れ点候補点を除くためのテスト(図2のブロック172)を行うには、除かれた2つのセグメントの交点に対する折れ点と共に、同じセグメント分類方法(図4)に従って所定の評価と共に、上記タイプの隣接するセグメントのテストを行う。これはセグメント分類方法や存在する折れ点を用いることなく、有効な単一セグメント分類を発生するかどうかを判断するように行われる。そうであれば折れ候補点はそのインジケータ要素と共にすべての目的に対して除かれ、2セグメント領域の代わりに単一セグメント領域を提供するだけである。
【0082】
従って折れ点が除かれた状態で、単一ラインとして、ラインとラインの間の領域を分類できる場合、その折れ点は実際に除かれる。プリ評価基準を備えた、円弧または円となるラインとして、またはラインとなる円弧または円として識別された領域を、折れ点を除いた状態で単一の円弧または単一の円として分類できる場合、その折れ点は除かれる。プリ評価とは、この折れ点の除去を検討できるように、ライン領域の長さに対する円弧または円領域の径の比が、所定の最小値以上となるようにすべきことである。この理由は、円弧または円となったり、またはならなかったりする、ある程度の比較的短いラインを許可したり、排除してはならないからである。かかる最小値3が好ましく有効であることが判っている。円弧または円セグメントと他の円弧または円セグメントとの結合点における折れ候補点に関し、この折れ点を除いた状態で単一セグメントのためのセグメント分類方法が、単一円弧または単一円を発生した場合、その折れ候補点を除く。
【0083】
次に、図4のフローチャートを参照すると、ストロークを分割した個々のセグメントの認識、または分割しない場合の単一セグメントの認識、更に発生したものに基づく点、直線、円弧または楕円の発生に対し演算を行う。
【0084】
この初期の特徴を、xy座標のストリームの変換/正規化と便宜的に称すことができる。既に述べたように、既に解決した折れ点決定方法に関連し、点ストリームについて、あるクリーンアップ変更を行うことができたが、点ストリームは、ユーザーによるマウスの移動の即座の結果として、コンピュータ内で発生された初期のインジケータ要素によって表示された位置のストリームとなる(例えば図6参照)。例外は、ちょうど説明したとおりの除かれた折れ候補点である点およびそれらのインジケータ要素の排除である。更に折れ点認識の際のように、ここでは重複点を除く。
【0085】
技術的な事項として、コンピュータ装置で表示される指定された位置の細かさ、すなわち精度は、実際にはワークステーション30(図1)の特性によって制限されることに留意されたい。これに関し、(図1におけるディスプレイ36のような)ディスプレイおよびそのインターフェース化部品は、入力情報を受け、計算を行い、その結果を記憶するワークステーションの部品の解像度よりも小さい細かさ、すなわち解像能力となり得る。従って、情報要素における位置情報は、一般に、ディスプレイスクリーンまたは他のタイプのディスプレイ、例えばプリントアウトでディスプレイされる解像度よりも解像度が高くなり得る。
【0086】
図4を参照すると、セグメントに関連した初期変換/正規化の組の演算の説明から明らかとなるように、この組の演算は一般に、プロセス中に点としてのセグメントのプリ分類に達しながら、当該セグメントに対する点(インジケータ要素によって表示された位置)の回転、スケーリングおよび変換を行う(図4のブロック186)。
【0087】
始めはセグメントがクローズドセグメント(例えば円または楕円)またはオープンセグメント(例えば円弧または直線)のいずれに判断されたかを記憶するのに用いられるクローズドフラグを、フォールス(偽)とセットする。次に点の組を演算して開始点および終了点によって定義されるべきベクトルが(0度で)X軸に沿うように、ストリームを回転させる。次にこの結果生じたセグメントのX方向(dx)およびY方向(dy)への大きさを決定する。更に、開始点と終了点との間の距離も計算する。
【0088】
ボックスの両辺がX軸およびY軸に平行な状態の回転されたセグメントの最小−最大ボックス(min−max box)の対角線に対するこのボックスの比をテストする。当然ながらこの対角線は((dx)+(dy))の平方根である。このテストした比が所定のスレッショルド値よりも低ければ、追加演算を行う。このスレッショルド値に関しては、ユーザーがこれを選択するある程度の自由度を有するようにできると有利であることが判っている。比較的正確な製図を行う専門家とみなされるユーザーが使用できるスレッショルドを0.1とし、中間レベルとみなされるユーザーに対するスレッショルドは0.2とし、初心者とみなされるユーザーに対するスレッショルドを0.3とすると、好ましく、かつ効率的であることが判っている。
【0089】
上記比がスレッショルドよりも小さければ、セグメントのうちのすべての点に対する最小二乗適合ラインを計算し、このラインが0度となるように点のストリームを回転し、この点においてセグメントが閉じたと判断されたことを表示するように、クローズドフラグを真にセットする。当然ながら最小二乗適合ラインとは、セグメントの所定の関連する点とライン間の二乗された距離の合計の平方根を最小とするラインのことである。回帰解析により、かかる最小二乗適合ラインおよびその決定は、種々の数学的に行われる演算および研究分野で共通に用いられるものである。
【0090】
比が表示されたスレッショルドよりも低いかどうか、また、これら比に依存する演算を行うかどうかとは独立して、開始点および終了点によって決まるベクトルが、X軸(0度)に従うよう、または最小二乗適合ラインがX軸に沿うように、点ストリームの回転がなされる。いずれの場合にせよ、次に回転されたセグメントをスケール化し、原点(0、0)にある+X、+Y象限内の所定の大きさのエリア内に入るように変換する。例えば1インチ×1インチの格子サイズが好ましく、効率的であることが判っている。
【0091】
これまで述べたことに関する評価に際し、(dx、dy)によって表示されるセグメントの大きさが十分小さい場合、すなわち言い換えれば、セグメントが適合するmin−max boxが十分小さい場合、点としてセグメントをあらかじめ分類でき(ブロック186)、多くの演算(ブロック186の一部およびブロック190、192、194、196および200)を避けることができる。当然ながらこの領域内にはかなりの数のインジケータ情報要素が生じることがある。すなわち、ユーザーは点を表示するのにマウスを多少移動できたが、ユーザーが行ったものは点と解釈されるような判断がなされた。
【0092】
実際には、予想されるように、最初にフルストロークを点としてあらかじめ分類できる場合に限り、点の分類ができるようにすることが、好ましく、かつ効率的であることが判っている。従って、図2および図3において説明したように、折れ点認識前では、(折れ点認識操作の場合と同じような重複点の排除を含む)上記のようにセグメントのプリ分類のためのストロークを点としてテストすることが好ましく、かつ効率的である。これによれば、点のプリ分類および図4の操作の下記のような点の発生および関連する方法(発生された点の除去)は、折れ点認識前のセグメント分類操作のみにおけるマルチセグメントストロークのためのセグメント認識のために行う必要はない。折れ点認識前にかかる点のプリ分類が為される場合に、折れ点認識をすることなく下記のようにその時間に点セグメントを発生する。
【0093】
次の組の演算は、パターン認識および/またはニューラルネットのためのセグメント用入力パターンの発生と便宜的に称することができる。
【0094】
分類目的のためのセグメントに関する情報をテストするため、セグメントを構成する位置(点)の回転され、スケール化され、変換されたストリームの位置を100個の位置、10個の位置×10個の位置のグリッドにマップ化する(ブロック190)。当然、このマップ化は、セブメントの分類のための入力情報を比較的扱いやすいサイズに限定することである。従って入力情報は100個の位置の各々がこのセグメントに対しヒットしているか、またはミスしているかどうかに関する情報に減縮される。
【0095】
この10×10マトリックスのためのヒットパターンの類似性を少なくするには、所定のパターンを意識的に変え、これらパターンを他のタイプのパターンとより区別できるようにすると有利である。
【0096】
これによれば、セグメントがクローズドセグメントとして記録されている場合、ヒットのパターンはグリッドの頂部に変換される(ブロック192)。このような例としては、xで表示された10×10のグリッドにおけるヒットによる下記の変換がある。
【0097】
・・・・・・・・・・ ・・××××××・・
・・・・・・・・・・ ・×・・・・・・×・
・・・・・・・・・・ ×・・・・・・・・×
・・・・・・・・・・ −−−→ ・×・・・・・・×・
・・・・・・・・・・ ・・××××××・・
・・××××××・・ ・・・・・・・・・・
・×・・・・・・×・ ・・・・・・・・・・
×・・・・・・・・× ・・・・・・・・・・
・×・・・・・・×・ ・・・・・・・・・・
・・××××××・・ ・・・・・・・・・・
【0098】
ここに表示するように、この変換はヒットがグリッドの頂部の行に達するまで、ヒットパターンを上方に変換する。
【0099】
セグメントの異なる分類間の区別をする方法を簡単にするための、かかる別の変更とは、笑った顔つきの円弧を示すセグメントパターンのためのヒットパターンをフリップ操作して、怒った顔つきの円弧に変えることである。この目標は、すべての怒った顔つきの円弧パターンにして、それらの認識を容易にすることである。上記変換例に類似するこの例は、次のように示される。
【0100】
・・・・・・・・・・ ・・・・・・・・・・
・・・・・・・・・・ ・・・・・・・・・・
・・・・・・・・・・ ・・・・・・・・・・
・・・・・・・・・・ ・・・・・・・・・・
・・・・・・・・・・ −−−→ ・・・・・・・・・・
・・・・・・・・・・ ・・・・・・・・・・
×・・・・・・・・× ・・・××××・・・
・×・・・・・・×・ ・・×・・・・×・・
・・×・・・・×・・ ・×・・・・・・×・
・・・××××・・・ ×・・・・・・・・×
【0101】
従って、セグメントのためのヒットパターンの開始点および終了点が、グリッドの同じ行上にあり、開始−終了行が第1行上にあり、更にその開始−終了行の上にヒットがなければ、このパターンをフリップ操作する。より技術的に説明すれば、この方法ではパターンをY方向に分割する水平線を横断する鏡像となるように、パターンを変える。(これについては図4のブロック192に示されている。)
【0102】
これを行った場合、ライン、45度の円弧として、またはパターン認識演算を利用したベタ塗りシンボルとして、グリッドパターンによるセグメントの別のプリ分類を行う試みが可能である(ブロック194)。この理由は、これらセグメント分類のためのグリッドパターンは検査によって容易に認識できるからである。より詳細に説明すれば、直線として分類すべきパターンは、第1のグリッドの行のみに沿うヒットを有していなければならず、45度の円弧として分類すべきセグメントは、グリッドの最初に2行のみにヒットを有していなけれならず、ベタ塗りセグメントはグリッドパターンの最上部の行のみに沿うヒットを有していなければならない。かかるパターンは下記のように表示される。
【0103】
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
×××××××××× ライン
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・××××××・・
××・・・・・・×× 45°円弧
××××××××××
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・
・・・・・・・・・・ ベタ塗り
【0104】
ベタ塗りに関し、かかるベタ塗りシンボルはクローズドセグメントとして分類するために、表示された最上部の行に変換されていなければならないことに留意すべきである。上記のようなベタ塗りと直線との差異は異なるセグメントの分類を容易に区別するのを補助するよう、変換とパターンのフリッピングがどのように働くかを表示している。
【0105】
点のプリ分類の場合と多少同様に、ベタ塗りシンボルは実際はマルチセグメントストロークとして認められない。これらの理由およびその他の効率上の理由から、折れ点の認識前のポイントのプリ分類のためのテストで、点のプリ分類が行われない場合、ライン、45度の円弧またはベタ塗りとしてのプリ分類となる、図4のパーツにおける操作、かかるプリ分類に基づくライン、円弧またはベタ塗りの発生および関連する方法(発生したセグメントの除去)も、折れ点認識操作前に実行される。これらのいずれも、シングルセグメントのベタ塗りシンボルとしてのストロークのテストを可能にし、他のフォームのプリ分類の場合の効率を高めることができる。しかしながら、ストロークのためのマルチセグメント認識における点としてのプリ分類のための状況と逆に、これらプリ分類、ラインおよび45度の円弧のための関連する方法も、折れ点認識後のマルチセグメントストロークのために実施される。しかしながら、上記のようなストロークのためのマルチセグメントスト認識では、かかるプリ分類およびベタ塗りシンボルのための関連方法は実行されない。
【0106】
この接続点では、点、直線、45度円弧またはベタ塗りシンボルとして分類すべきセグメントのためのプリ分類が行われていなければならない(点およびベタ塗り方法だけが折れ点認識前の完全ストロークのために試みられるセグメント認識に適用可能である)。しかしながら、かかるプリ分類がなされない場合、図2および3に従って折れ点認識後にセグメントを処理することとなり、セグメントを円弧、円、楕円または削除シンボルと分類すべきかどうかの問題が残る。このような分類方法を実行するには、入力ノードとしてグリッドのうちの100ポイントを用いるニューラルネットを利用する(ブロック196)。
【0107】
このニューラルネットは、規格に従って開発されたものであり、これまで何年もの間使用されてきた周知の技術である。このニューラルネットは、表示したように、12個の隠されたノードと、6個の出力ノードを有する100個の入力ノードとして100個のグリッド位置を有するバックプロパゲーション形ニューラルネットである。この出力ノードは、90度円弧、180度円弧、270度円弧、円、楕円または削除シンボルに対する可能性と、グリッドパターンの他の5つの可能性とを比較することにより、相対的近似性に換算して信頼レベルを、特定ノードにおける出力の強さに従って表示する。出力ノードに対する別の円弧サイズの選択を参照すれば、これらの代替案は、円、楕円または削除シンボルからの円弧の区別がなかったとしたら、異なる大きさの円弧を1つのセグメントに対して最終的に区別しないという考えで選択される。ニューラルネットのノードにおける出力レベルで表示できる出力%の例としては、次のものがある。90度の円弧−92%、180度の円弧−20%、270度の円弧−1%、円−0%、楕円−2%、削除シンボル−8%である。
【0108】
ニューラルネットのテスト結果が存在する場合(決定を行い、セグメントのための分類を行えないと表示する状況に反し)、分類を行うには、所定の基準を満たさなければならない。一般的な基準として、2つの上部分類候補は50%以上の組み合わされた%のレベルを有するはずである。次の分類基準が90度の円弧分類に適用できる。
1.クローズドフラグはフォールス(偽)でなければならない。(クローズドまたはオープンインジケータは、従ってオープンセグメントを示す。)
2.90度円弧にたいして表示された%は80%以上であるか、またはランナーアップは180度の円弧でなければならない
【0109】
次に、180度円弧として分類に適用できる基準は次のとおりである。
1.クローズドフラグはフォールス(偽)でなければならない。
2.%レベルは80%以上であるか、またはランナーアップは90度または270度の円弧でなければならない。
【0110】
270度の円弧分類に対して付加的基準は次のとおりである。
1.%レベルは80%以上であるか、またはランナーアップは180度円弧または円でなければならない。
2.%レベルが80%未満で、ランナーアップが180度円弧である場合、クローズドフラグはフォールスでなければならない。
【0111】
円に対する分類基準は次のとおりである。
1.%レベルは80%以上、またはランナーアップは270度の円弧または楕円でなければならない。
【0112】
楕円に適用できる分類基準は次のとおりである。
1.クローズドフラグは真でなければならない。
2.%レベルは80%以上またはランナーアップは円でなければならない。
【0113】
最後に、削除シンボルに適用できる分類基準は次のとおりである。
1.クローズドフラグはフォールスでなければならない。
2.%レベルは80%以上でなければならない。
3.(重なった点が除かれた状態で)削除ストローク内に少なくとも15個の点が存在していなければならない。
【0114】
ニューラルネットを使う分類に適用できる付加的演算によりセグメントのアスペクト比が分類の変更を行うべきことを示している場合、円から楕円、または楕円から円への、上記のような分類の変更が可能となっている(ブロック200)。特にアスペクト比を示す判断が所定の限度を越えるとみなせば、円分類を楕円分類に変える。これとは異なり、判断により限度よりも少ないと判断されれば、楕円分類は円分類に変えられる。ユーザーが製図の初心者であると考えられれば、ユーザーにこの限度を2.5にセットさせ、中級者と考えられれば2.0にセットさせ、熟練者であると考えられれば1.5にセットすると好ましく、かつ効率的であることが判っている。この計算は、上記のように回転する際のセグメントのXまたはYの値の大きいほうの差を、XまたはYの値の小さいほうの差で割った比、すなわちdxおよびdyのうちの大きいほうを小さいほうで割った比とすることができる。上記のように、この回転は円または楕円のための最小二乗適合ラインに基づくものであることが予想される。当然ながら10×10のグリッド上で表示されるようなセグメントのdxおよびdyの値に基づくようなアスペクト比を表示するストロークの他の変形例に基づく計算を、これとは別に用いることができる。
【0115】
次に、当該セグメントが点の分類、一種のプリ分類(ブロック186)、パターン認識により直線、45度の円弧またはベタ塗りシンボルの分類、別のタイプのプリ分類(ブロック194)、またはニューラルネットの使用を含むこの種類の分類方法を用いて、90度の円弧、180度の円弧、270度の円弧、円、楕円または削除シンボル(ブロック196および200)に分類されている。かかるセグメントが極端に大きいかまたは小さい形状、または原点から極めて離れた形状となっていることが判れば、このセグメントを除くことができるという評価と共に(ブロック204)、コンピュータ装置内のセグメントを実際に発生または画定するための情報を、この点から保証できる(ブロック202)。上記のように、折れ点認識前のストロークに対し、点としてのプリ分類に基づきこのことが生じ得る。折れ点認識前、または折れ点認識後のセグメント認識中のストロークに対するラインまたは45度の円弧でも、このことが生じ得る。他の円弧、楕円または円に対しても、折れ点認識後にこのことが生じる。
【0116】
これを参照する場合に、まず円弧について述べるのが好ましい。この点に関し、本方法は単一円、すなわち単一の中心と径とを有する円の一部にそれぞれ限定される円弧を発生する。分類が円弧と決まれば、完了している度と大きさに関する分類は、もはや直接的な問題ではない。重なった点が除かれ、除かれた折れ候補点も存在していない状態で、コンピュータ装置に記憶された初期インジケータ情報要素を、次に使用する。詳細に述べれば、最初の、かかる記憶されたインジケータ情報要素の位置情報を、円弧を発生させるのに使用される円を構成する第1サンプル点として用い、最後のかかる記憶された要素の位置情報を、第2サンプル点として用い、数のカウントが第1点と最終点との間の中間(すなわち約半分)にある情報要素の位置情報を、第3サンプル点として用いる。より詳細に説明すれば、これら3点は、円の中心および径を決める。円弧の幅は第1点位置と最終点位置によって決まる(ブロック202)。
【0117】
円弧の発生のための前提条件は、3つのサンプル位置が同一直線上になく、3つのうちの2つが一致していないことである。更に、後の条件は、発生された円弧が330度以上である場合、この円弧は完全な円となるように閉じられるだけである(ブロック202)。
【0118】
発生された円弧の除去に関し(ブロック204)、原点よりも過度に離れた形状に基づく取り除き条件がある。より詳細には1つのモデル単位が1インチ(ディスプレイ上で)に等しいか、または25.4のモデル単位がかかる1インチ(1インチが約25.4mmであるという意味において)に等しくなるように、ユーザーがモデル単位のスケールを特定できるようにすると、便利で、かつ効率的であることが判っている。ユーザーが一旦このようなスケールを決め、発生された円弧の中心点を、15000×15000のモデル単位の領域外に決定するれば、この発生された円弧を維持せず、これを除き、これを単なるエラー条件とすることが好ましく、かつ効率的であることが判っている。
【0119】
円弧に対するかかる追加的エラー条件は、距離許容度と称すことができるものに関連している。より詳細に説明すれば、円弧の終了点の間の距離または円弧の径が距離許容度未満、すなわち過度に小さければ、同様にエラー条件が存在するとみなされる(ブロック204)。ユーザーが製図の初心者、中級者または熟練者のいずれかに応じて、この距離許容度をユーザーが特定できるようにすると便利で、かつ効率的である。0.1、0.2および0.3のモデル単位の距離許容度は、それぞれ熟練者のレベル、中級者のレベルおよび初心者のレベルに対して、便利で、かつ効率的であることが判っている。
【0120】
本例における直線の発生について説明すると、(重複点が除かれ、除かれた折れ候補点が存在していない状態で)第1および最終インジケータ情報要素は、直線ラインを発生するためのサンプル点となる。しかしながらこれら2つの位置は、かかる発生の前提条件として一致することができない。仮に一致した場合、エラー条件が存在すると判断する。後の条件(ブロック204)として、いずれかの位置が20000×20000のモデル単位領域外にあれば、エラー条件が存在し、その結果生じるラインの長さが、距離許容度未満、すなわち過度に短い場合もエラー条件が存在する。
【0121】
セグメントとしての円の発生を説明する。まず、上記タイプのmin−maxbox(ブロック202)を決定する。(ボックスの辺の分割線に基づく)ボックスの中心点を円の中心として選択する。ボックスの幅および長さの平均を円の直径として選択する。極端に大きな形状または極端に小さな形状、または原点から極めて遠い形状に基づく発生された円の除去に関し(ブロック204)、径を距離許容度以上とし、5000モデル単位未満でなければならないとすると、便利で、かつ効率的であることが判っている。同様に、中心を20000×20000のモデルユニットの領域内になければならないとすると有利であることが判っている。
【0122】
セグメントとしてのポイントの発生について説明する。(折れ点認識時のように重複点が除かれた状態で、)初期インジケータ情報要素により特定された位置を発生された点の位置として選択する。先に述べたように、一般にストロークの最小の大きさに基づく点判断による最初の判断の後に、多くの情報要素が生じる。選択された点が20000×20000個のモデル単位の領域外にあれば、1つの点に対し発生された点の除去が行われ、エラー条件が存在する(ブロック204)。
【0123】
楕円を発生するには(ブロック202)、長軸および短軸の長さおよび中心点を決定する際に上記タイプのmin−max boxを使用する。楕円の中心点が対抗する辺を2分割する線の交点により決定されたこのボックスの中心点となり、短軸および長軸の長さはボックスの長さおよび幅によって決定される。楕円の角度を決定するため、上記タイプの最小二乗適合ラインを使用する。発生された楕円の除去条件を採用しないことは、好ましく、かつ効率的であることが判っている(ブロック204)。
【0124】
上記のように、点、削除およびベタ塗りは、単一要素のストロークである。ベタ塗りはクローズド領域に関連している(図9)。ベタ塗りから生じるクロスハッチングの角度は、このシンボルの最小二乗適合ラインに対する角度によって決定できる。次のグループのうちから、最小二乗適合ラインの角度に最も近い角度を選択すると、便利で、かつ効率的であることが判っている。すなわち0°、30°、45°、60°、90°、120°、135°、150°、180°、210°、225°、240°、270°、300°、315°、330°である。このベタ塗りを、選択したクローズド領域に関連させるための明らかな選択案は、ベタ塗りシンボル内の(折れ点認識の際のように重複点を除いた状態で)第1インジケータ要素の位置をクローズド領域に接近させることである。
【0125】
削除シンボルに対し、明らかな代替案は、非ポイント前で点を削除すべきとする評価により、ユーザーによって加えられた先の最終セグメント(またはストローク)を削除することである。別の代替案は、接近度、すなわち削除シンボルのための(折れ点認識におけるような重複点が除かれた状態の)第1インジケータ要素への接近度を用いること、または最初の接近度および先の最後のセグメントをフォールバックとしてのみ使用することである。
【0126】
図5において、ストロークをセグメントに分割するためのストロークの折れ点の決定、セグメントの認識および発生および拘束条件の問題に関する方法を、広義のコンピュータ支援設計(CAD)に関連づけられている。当然ながら、図に向けられる初期演算は、下記を含むこれまで詳細に述べたものに従って行われる。すなわちストローク内で移動されるインジケータを使ったユーザーによるストロークの描画(ブロック206)、折れ位置(点)の選択、個々のセグメント領域へのマルチセグメントストロークの分割(ブロック210)、ストロークにおけるマルチセグメントの認識(すなわちシングルセグメントストロークにおけるセグメントの認識)(ブロック212)、およびマルチセグメント(または単一セグメント)の発生(ブロック214)を含む。
【0127】
(これらセグメントを画定する情報の)これらセグメントが発生する場合、ワークステーションで発生されたCADモデルにセグメント(情報)を加えることができる(ブロック214)。CAD分野で標準的なかかるモデルは、当該デザインまたは作品を構成する情報を含む。
【0128】
図16および20、ならびにかかる図に関連した説明は、ストロークのうちのセグメント内の拘束条件の発見を示している。図17、18および19ならびにこれらに関連した説明は、異なるストロークのセグメント、すなわち新しく発生されたストロークの説明と、先のストロークのセグメントとの間の拘束条件の発見および検討を示している。当然ながらかかる演算は、ストロークの発生されたセグメント内、かかるセグメントと先のストロークのセグメントの間の拘束条件、例えば一致条件、平行条件、接線条件および再限定条件を発見し(ブロック216)、更にCADシステムのための拘束条件管理システムへの発見された拘束条件および発生されたセグメントの追加を行う(ブロック218)。CAD関係におけるかかる幾何学的拘束条件を発見し、決定するための演算および技術は、エドワード・T・コーンにより米国特許庁に同時に提出された、本願出願人を譲受人とする米国特許出願の要旨となっている。参考例としてここに援用するこの米国出願の発明の名称は、「コンピュータで発生された製図の要素間の幾何学的関係の自動的識別」[ロビンス、バーリナー及びカールソン(Robbins,Berliner& Carson)の米国出願:整理番号5908−102に掲載。]である。上記幾何学的拘束条件に関連する演算および技術の外に、本願は共通直線性、垂直性および同一サイズにも関係している。
【0129】
以下に上記幾何学的拘束条件を発見し、決定するため演算および技術について説明を加える。
この演算および技術の総合目的は、コンピュータ化されたモデルにおける要素間の幾何学的拘束条件の可能な識別を行うための有効なコンピュータ化された方法及びこれに関連する装置を提供することである。この演算および技術は、特に、該モデルにおける要素が適当に拘束されたモデルの対応する理論値から所定の許容誤差範囲内ではずれている場合に有効である。
さらに、この演算および技術の、より特徴的な目的は、上記拘束条件を識別するために計算の回数を減らすようにデータを組織化し、インデックス化することである。
さらに、別のより特徴的な目的は、個々の計算の複雑さを減らすようにデータを組織化し、インデックス化することである。
【0130】
この演算および技術は、次の構成を含むものである。即ち、2次元像を描くための、複数の成分(点、線分、円、円弧等)から構成されるモデルを使用し且つ前記成分の各々が1つあるいはそれ以上の関連する点要素(隔離された点、端点、中心点等)及び/又は線形要素(ライン、接線等)を含み、各々はn2の変数によって定義される、コンピュータ支援システムにおいて、
2つあるいはそれ以上の前記要素の間の幾何学的拘束条件(一致、共線、平行、垂直、再限定、ポイントオン、同心性、接線性等)を自動的に識別するコンピュータ化された方法であって、以下の工程を含む方法である。
【0131】
前記モデルにおける各点要素に関連するnの変数(X,Y)を使用して、第1のn−トリー(TR)において点要素をインデックス化する工程
前記モデル内の前記要素の第1のシーケンスを使用して、第1のシーケンスの各々の要素で、所定の許容範囲内の所定の幾何学的拘束条件を満足する点要素を含む可能性のあるノードに対して第1のトリーを検索する工程
前記モデル中の線形要素のシーケンスのうちの各々に関連するn変数を使用して、第2のn−トリーにおいて線形要素をインデックス化する工程
及び
前記モデル内の前記要素の第2のシーケンスを使用して、第2の所定の許容範囲内で第2の所定の幾何学的拘束条件を満足する線形要素を含む可能性のあるノードに対して第2のトリーを検索する工程
この自動的識別方法は、上記構成に加えてさらに次の工程を含むことが好ましい。
このようにして見つけ出された他の要素のいずれかをテストして、それら要素が、現実に、前記許容範囲の各々の範囲内において前記所定の幾何学的拘束条件の各々を満足するか否かを決定する工程
さらに、この自動的識別方法は、上記構成において、前記モデルが2次元モデル即ち、n=2であり、前記第1のトリーがカーテシアンクオドトリーであり、且つ前記第1の要素のシーケンスが第1のトリー内の点と一致する可能性をテストされた点及び第1のトリー内の点とポイントオン関係にある可能性をテストされたラインを含むことが好ましい。
【0132】
さらに、この自動的識別方法は、上記構成において、前記第2のトリーが極クオドトリーであり、且つ前記第2のシーケンスが該極クオドトリー内の他のラインと一致する可能性をテストされたライン及び該極クオドトリー内のラインと接する可能性をテストされた円を含むことが好ましい。
さらに、この自動的識別方法は、上記構成において、前記第2のトリーが前記極クオドトリー内の各個別の角度θの値の単なる整列されたリストを含むことが好ましい。
さらに、この自動的識別方法は、上記構成において、所定の許容範囲内で異なる近似する角度が前記リストから除かれていることが好ましい。
さらに、この自動的識別方法は、上記構成において、前記所定の許容範囲が0より大きく、且つ前記トリーの各々の各点に向けられた検索が前記所定の許容範囲によってテスト点から分割された候補点を位置づけすることができ、たとえ該候補点が特別のテスト点に関連するノードに隣接するノード内であっても位置づけできることが好ましい。
さらに、この自動的識別方法は、上記構成において、前記第1のトリーの各ラインに向けられた検索が所定の許容範囲で分割された少なくとも2つの検索パスを含むことが好ましい。
【0133】
さらに、この自動的識別方法は、上記構成において、さらに次の工程を含むことが好ましい。
前記第1のトリーのラインに向けられたいずれかの検索のうちのいずれかの要素をテストして、これら要素が前記所定の許容範囲の各々の内で前記所定の幾何学的拘束条件の各々を現実に満足するか否かを決定する工程
上記演算および技術によれば、基礎モデルにおいて定義される、点と線との間の正確な幾何学的拘束条件を自動的に識別するコンピュータ化された新規な作図システムにより、前記諸目的が達成される。
【0134】
より詳細には、この演算および技術は、識別操作を簡単にし、例えばクオドトリー(quadtree)等の多次元インデックススキームで基礎データをインデックス化することにより処理される変数の数を減らす。これにより、多次元空間内の特定の位置に配置されたあらゆる要素を識別することが容易になる。
より詳細には、2つのn−トリーインデックスが使用される。この演算および技術には、カーテシアン座標で表される点(円の中心点並びに線分及び円弧の端点を含む)に関連するカーテシアンn−トリー、極座標で表されるライン(円弧の端点における接線を含む)に関連する極n−トリーが含まれる。カーテシアンn−トリーは、特定の位置(例えば、2つの円の間の同心の関係あるいはラインの端点と円の中心との間の再限定の関係)の近傍における点又は特定のパス(例えば、二番目の線に交差する1つのラインの端点の間の再限定の関係)の所定の許容範囲内の点を見つけるために使用される。極n−トリーは、他のラインと同一直線上にあるライン(例えば、特定の円弧の一端と接する関係)、所定の傾きを有するライン(例えば、特定のラインに平行あるいは垂直なライン)及び特定の円上の任意の点に接する(例えば接触関係)ライン(他の円弧の端点で接するベクトルを含む)を見つけるために使用される。
【0135】
正確な操作、例えば特定の円上の任意の点で接するすべてのラインを識別するために、極トリーに存在する角度θの異なる値のリストをこの極トリーに追加することにより計算時間を大幅に削減してもよい。この角度のリストは極クオドトリーにおける各“個別の”角度θの値の単純に整列されたリストでもよい。このクオドトリーからは、所定の許容範囲内で異なる近似する角度が除去されている。
別のこの演算および技術の特徴によれば、点はテスト点の与えられた許容範囲内であってもよいが、このテスト点に対応する特別のノードに隣接したノード内でもよいので、隣接するノード間で正確な要素を識別するための設備も作られる。
【0136】
さらに別の特徴によれば、テスト点及び識別点は、必然的に同じノード内でインデックス化されることなく、トリーを構成する許容範囲内で同時に発生する1つのプライオリ(priori)として知られるので、特別の許容範囲内で、事実識別要素が特別の抑制を塩化する(salify)か否かを評価するための該識別要素をテストするための設備も作られる。
以下に、上記演算および技術における好適な態様について、図21乃至23を参考にして説明する。
【0137】
型どおりのカーテシアンクオドトリーは図21によりドラマティカリーに表現される。このクオドトリーは、トリー(T)、このトリー(T)内のノード(N)及びこのノード(N)内の要素(E)で表現されるデータ構造のリンクされた階層として与えられる。このトリーは、ルートノード(RNo,o)に対するポインターを含む、各ノードは各ノードの位置(例えばその中心)及びサイズ(例えば端部間の長さ)、並びにあらゆる関連づけられた要素のリスト(リーフノードをLNと仮定する)又はその4つのクオドノード(内部ノードをINと仮定する)に対するポインターを含む。例えば、ルートノード(RN)の右上のクオドラント(quadrant)は、8の長さを有し且つカーテシアンクオドトリー(TR)を構築するために使用される許容範囲T=2よりも少ない垂直方向距離(T−Δ)で離れている2点E,Eを含むリーフノード(LN+4,+4 )である。ルートノード(RN)の右下のクオドラントは内部ノード(IN−4,−4 )であり、これは各々4の長さを有する4つのクオドラントに分割され、その分割されたうちの低レベルの内部ノードIN−2,−2 を含む右上のクオドラントを伴っている。このクオドラントは、順に各長さ2の4つのリーフノードを含んでいる。リーフノードLN+3,−3 がある左上のクオドラントは、点Eから垂直方向距離T−Δで離れている点Eを有する。
【0138】
いくつかのリーフノード(例えば、LN+4,+4 )は、1以上の要素を含んでおり、一方、他のリーフノード(例えば、LN+6,−6 )は、全く要素を含まないこと(この場合、親の内部ノードにおけるノードポインターは領域を確保するためにNULLに設定される。)に注目すべきである。
また、2点(例えば要素E及びE)が、クオドトリーを構築するために使用されるT=2の許容範囲以下により水平及び垂直方向に分割されることができ、それでもなお、両者は同じリーフノード内に存在しないことになる。その上、要素E及びEによって示されるように、1つの要素とその要素のリーフノードの中心との間の距離は、クオドトリーを構築するために使用されるT=2の許容範囲よりもかなり大きなものとすることができる。
【0139】
従って、特点の点(時々、テストポイントとして言及される)に対する所定の許容範囲内に位置づけられるトリー内のすべての点を見つけるために、一度リーフノード(例えば図1におけるノード(LN+4,+4 ))がテスト点(例えば要素E)を含むことを見つけると、点検索ルーチンは、そのノード内のすべてのデータ点(例えば要素E)をテストしてテスト点の所定の許容範囲内に現実にそれらデータ点が位置づけられているか否かを決定するだけでなく、テスト点があらゆる隣接ノードから水平あるいは垂直方向に±Tの許容範囲内に存在するか否かをも決定し、この場合その隣接ノード内の点(例えばノード(LN+3,−1 及びLN−2,+2 ))が試験される。同様に、すべての検索が、オリジナルテスト点のみならず、垂直及び/又は水平にオリジナルテスト点から±Tで置き換えられた8つの補足テスト点も使用することにより、行うことができる。
【0140】
要素リストは、好ましくは、要素の位置(その要素のX及びY座標、仮にその要素が点でトリーがカーテシアンクオドトリーである場合)、例えばコンピュータで援助された作図プログラム内の幾何学的イメージを定義する基礎モデル等の分割データ構造内の対応する要素に対するポインター、及び(もしあるなら)次の関連する要素に対するポインターを含む。
【0141】
クオドトリーは、トリー及び関連するデータ構造を作成し、削除し、維持するための簡単なハラスキーピングルーチンを使用して維持される。このようなハラスキーピングルーチンは、平均的職人の技能範囲内で適切である。型どおりの作図及び表示ルーチンもまた欠陥を直す目的で便利である。
【0142】
計算によれば、θ(0=2π)の円属性及びρの反対の符号はρにπを加えた場合に相当するという事実を除いて、図22の極クオドトリー(TP)はカーテシアンクオドトリー(TR)に類似しており、同じデータ構造とハラスキーピングルーチンを使用することができる。特に点(ρ,θ)は、角度θの無限長さのラインで表現され、原点から直線距離ρに位置する。しかし、正確な操作のために、演算時間は、トリー内に存在する角度θの異なる値のリストを追加することによりかなり減縮される。この角度のリストは、極クオドトリーにおける各々別個の角度θの値の簡単な配列リストである。この角度リストから所定の許容範囲内で異なる、近似する角度が除去される。図22において注目すべきことは、線L及びLが近値する傾きを有しており、それ由にトリーを構築するために使用される所定の許容範囲内で平行である。しかし、これら線は原点からの垂直距離でかなり異なっているので、これら線は、共線関係ではないし、現実に異なるリーフノード内に存在する。
以下の検索ルーチンが提供される:
【0143】
QTFPNT
前記した点検索ルーチンである。カーテシアン座標における点は極座標におけるラインに相当するので、このルーチンもまた、ρ及びθの特定の値を有するラインを(ρとθについての所定の許容範囲内で)見つけるために極クオドトリーの検索に使用される。
【0144】
QTFPLN
X軸やY軸に切片を有する(又はこれらに平行する)特定の横断線(例えば図1のラインP)上の(与えられた許容範囲を含む)カーテシアンクオドトリーにおける点を見つける。前述したように、2点(又は1点と1本のライン)はクオドトリーを構築するために使用される許容範囲以内で分割されることができる。それにもかかわらず、2点は、隣接するノード内にインデックス化されることになる。従って、2つのテスト線が追加される。即ち、一方のライン(図21のP′)は、特定のライン(例えば前記P)のTだけ上方に及びTだけ左に置換されたものであり、もう一方のライン(図21のP″)は特定の直線をTだけ下方に及びTだけ右方に置換されたものである。3本の直線は、各々、クオドトリーの隣接するリーフノードを通じてそれぞれのテストパスをトレースするために使用される(例えば、図21では直線P′とリーフノード(LN+4,+4 、LN−2,+2 、LN−5,+1 及びLN−7,+1 ))。さらに、これら隣接するリーフノードの各々にインデックス化された要素(例えば、点E,E及びE)は可能な拘束関係で検査される(例えば、これら点は直線P上に存在する)。カーテシアン座標における点は極座標におけるラインに相当するので、同じ傾きθを有するすべてのラインによって定義される点はρ軸に対して平行な直線上に存在することになる。このルーチンもまた、特定の傾きを有するラインを見つけるために極トリーにおいて使用される。
【0145】
QTFPCR
特定の中心と特定の半径を有する円上(与えられた許容範囲内で)のカーテシアンクオドトリー内の点を見つける。このルーチンは、テストパスが同心円であることを除き、QTFPLNと同様である。
【0146】
QTFCTN
特定の中心と特定の半径を有する円に接する、極クオドトリー内のラインを見つける。角度リスト内の各角度θは特定の円に接する2つのテストライン(ρ,θ)、(ρ,θ)を発生するのに使用する。次いで、各テスト接線は、ρ及びθについて同じ値(±T)を有するラインに対し極クオドトリーを検索するためにQTFPNTによって使用される。
【0147】
余分な幾何学的関係を見つけるために、基礎モデルにおける要素は、該モデル中の他の点と一致する点をチェックすること、同様に他のラインと平行なラインをチェックすること等の必要を避けることによってかなり有利な効果を奏するようにして初めにインデックス化される。特に、クオドトリーインデックスの使用は、テストされている要素のすぐ近傍(このインデックスを構築するために使用される所定の許容範囲によって確立されるものとしての近傍)に存在する要素に対して要素検索を制限する。あるモデルにおけるすべての幾何学的関係を見つけるための時間内の結果として得られる性能は、単純検索の(N+N)/2と比較すると、N・log(N)に近似している。
この演算および技術によれば、2つの異なるクオドトリーが使用される。一方は、直交(カーテシアン)座標において、一致点あるいは同一線上の点を見つけるためのものである。もう一方は、極座標において平行、同一線あるいは直交するラインを見つけたり、円の接線を見つけるためのものである。
【0148】
この演算および技術の好適な態様においては、以下の幾何学的要素が重要事項である。
Figure 0003560082
【0149】
さらに、次の関係が重要事項である。
Figure 0003560082
【0150】
STPTON,STRELM及びSTRLCNを除き、すべては再帰的である。
モデルにおけるすべての点に合わせたデータ(点.点、ライン.端点、円.端点、円.中心)は、直交座標トリーを検索するためにルーチンQTFPNTに対する入力として使用される。さらに、結果としての出力はいずれも次の例のようにテストされる(参考要素は図23に示す):
・点の一致性(STCOIN、点.点、点.点)
・点とラインの端点との間の端点関係(STENDP、点.点、ライン.端点)
・点と円弧の端点との間の端点関係(STENDP、点.点、円.端点)
・2つのラインの隣接した端点間の相互再限定関係(STMRLM、ライン.端点、ライン.端点)。ラインL7及びラインL5を見よ。
・ラインと円弧の隣接する端点間の相互再限定関係(STMRLM、ライン.端点、円.端点)。
円の弦を横切るラインの場合のように、ラインは、1回以上円に再限定されることに注目すべきである。ラインL2と円C1を見よ。
・2つの円弧の隣接する端点間の相互再限定関係(STMRLM、円.端点、円.端点)。円C4及び円C5を見よ。
・ラインの端点と円の中心との間の中心関係に対する再限定(STRLCN、ライン.端点、円.中心)。ラインL9及び円C4を見よ。
・点と円との間の同心性(STCCEN、点.点、円.中心)
・円と他の円との間の同心性(STCCEN、円.中心、円.中心)
・円と他の円との間の一致性(STCOIN、円.中心、円.中心)、但し、これらが等しい半径を有する場合(円C5及び円C4を見よ。)
・端点と円中心との中心関係に対する再限定(STRLCN、円.端点、円.中心)。円6及び円7を見よ。
・円の中心と端点を含む円との間のポイントオン関係(STPTON、円.中心、円.端点)。円C6及び円C7を見よ。
・円の中心とラインとの間のポイントオン関係(STPTON、円.中心、ライン.端点)。ラインL9及び円C4を見よ。
【0151】
注目すべきは、様々な要素のタイプの分布、及び特定の関係にあることを見つけた要素をテストするために要する時間に対するトリーを検索するのに要する時間に依存して、第1要素を見つけるための関係において第2要素を使用することがより効果的となるだろう。
【0152】
モデル中の各線は極座標トリーを検索するためにルーチンQTFPNTに対する入力として使用される。次いで、出力は、次の例のようにテストされる:
・ラインと他のラインとの間の共線関係(STCLIN、ライン.ライン、ライン.ライン)
モデル中の各線(ライン.ライン)は、直交座標トリーを検索するためにルーチンQTFPNTに対する入力として使用される。次いで、出力は、次の例のようにテストされる:
・点とラインとの間のポイントオン関係(STPTON、点.点、ライン.ライン)
・円中心とラインとの間のポイントオン関係(STPTON、ライン.ライン、円.中心)。ラインL9及び円C4を見よ。
・ラインと他のラインの端点との間の再限定関係(STRELM、ライン.端点、ライン.ライン)。ラインL8及びラインL1を見よ。
・ラインと円弧の端点との間の再限定関係(STRELM、円.端点、ライン.ライン)。注目すべきは、円弧は、円の弦の場合のように1回以上同一ラインに対して再限定されることである。ラインL3及び円C4を見よ。
【0153】
注目すべきは、モデル中の各点をチェックすることによりあるライン上の点を見つけようと努力するよりも、むしろ、該ラインをそのライン上に存在しそうな点に対して検索を限定するために使用することである。
【0154】
モデル中の各線の傾きに相当するラインは、極座標トリーを検索するためにルーチンQTFPLNに対する入力として使用される。次いで、出力は次の例のようにテストされる:
・ラインと他のラインとの間の平行関係(STPARA、ライン.ライン、ライン.ライン)、(STCLINでない)又は(STCLINがオフ)の場合。ラインL6及びラインL2を見よ。
モデル中の各ラインの傾きに相当するラインプラスπ/2は、極座標トリーを検索するためにルーチンQTFPLNに対する入力として使用される。次いで、出力は次の例のようにしてテストされる:
・ラインと他のラインとの間の垂直関係(STPERP、ライン.ライン、ライン.ライン)。ラインL3及びラインL1を見よ。
モデル中の円弧の各端点で各接線ベクトルは、極座標トリーを検索するためにルーチンQTFPNTに対する入力として使用される。次いで、その出力は、次の例のようにテストされる:
・円弧の端点とラインとの間の接触(STTANG、ライン.ライン、円.ベクトル)。ラインL1及び円C1を見よ。
・円弧の端点と他の円弧の端点との間の接触(STTANG、円.ベクトル、円.ベクトル)、2つの端点が直交座標において同じ場合。円C5及び円C4を見よ。
モデル中の各円は、直交座標トリーを検索するためにルーチンQTFPCRに対する入力として使用される。次いで、その出力は次の例のようにテストされる:
・ある点と上記円との間のポイントオン関係(STPTON、点.点、円.円)
・他の円の中心と上記円との間のポイントオン関係(STPTON、円.中心、円.円)
・あるラインの端点と上記円との間の再限定関係(STRELM、ライン.端点、円.円)。注目すべきは、ラインは、弦の場合のように、1回以上円に対して再限定されてもよいことである。直線L2及び円C1を見よ。
・円弧の端点と上記円との間の再限定関係(STRELM、円.端点、円.円)円C6及び円C7を見よ。
【0155】
モデル中の各円は、極座標トリーを検索するためにルーチンQTFCTNに対する入力として使用される。次いで、その出力は、次の例のようにテストされる。
・あるラインと上記円との間の接触(STTANG、ライン.ライン、円.円)。ラインL8及び円C7を見よ。
・他の円弧の端点と上記円との間の接触(STTANG、円.ベクトル、円.円)、しかし問題の端点が上記円上にある場合に限る。円C5及び円C4を見よ。過剰に拘束されたモデルを構築するのを避け、且つ拘束条件の数及び当該モデルに変化をもたらすために要求される計算の複雑さを減らすことを目的として、以下のガイドラインが、発見された拘束条件が当該モデルに加えられる前に適用されるべきである:
1 もし既に現在構築中のタイプの要素間に或る関係が存在するならば、次に、別のタイプを構築しないこと
2 もし拘束条件のタイプが無効であるならば、次に、拘束条件を構築しないこと
3 もし2つの要素が同じであるならば、関係を構築しないこと
4 要素の端点が関係に含まれる場合のいずれにおいても、その端点の数は、拘束条件の拡張されたデータ領域に保存されるだろう。
5 余分な拘束条件を除くことを目的として、同じタイプの関連する要素の各集合ごとに先導要素を識別すること
6 特に、大幅な許容範囲が含まれている場合は、矛盾する拘束条件をチェックし、最も正確なものを選択すること
【0156】
以下の特別規則が好適な態様において行われている。
1 関係が端点条件に依存してもよい場合は、その端点をチェックすること
2 異なるクラスの余分な再限定拘束条件を避けること(相互及び標準の再限定)。
3 もし端点が一致しているならば、共線関係のラインについてのみ再限定(相互に再限定)を許すこと
4 もし相互に再限定する拘束条件が2つの要素間に既に存在するならば、端点ごとに1つの拘束条件のみを構築すること
5 ある円が同心又は一致の集合内の先導要素である場合、又はいずれの種類の集合にも属さない場合、当該円とあるラインとの間にポイントオン拘束条件を構築するのみとすること
6 共線の拘束条件が存在し、それが無効でない場合は、平行の拘束条件を構築しないこと
7 一致の拘束条件が存在し、それが無効でない場合は、接線の拘束条件を構築しないこと
8 円が一致しない場合、同じサイズの円の拘束条件を加えること
9 各ラインが各々の平行の集合の先導要素であるか、又はいずれの平行の集合に存在しない場合にのみ、垂直の拘束条件を加えること
10 同じラインの両方の端点で相互に矛盾する再限定の拘束条件が存在し得る場合は、より近い端点でのみ拘束条件を構築すること
11 あるラインとある円の中心及び外側との間で矛盾するポイントオン及び接線の拘束条件が存在し得る場合は、より近い要素でのみ拘束条件を構築すること
12 与えられた1つのラインに対しては、1つの垂直関係を構築するのみとすること
13 平行の集合内で先導要素となっていない与えられたラインに対しては1つの平行関係を構築するのみとすること
上記のリストは、消耗するものと考えてはならないし、余分な、競合する及び/又は矛盾する拘束条件を除去するための他の同様な特別規則が、疑いなく、当業者に対して明らかとなるだろう。
【0157】
同じノード内の2以上の要素がクオドトリーを構築するために使用される許容範囲内で共に位置づけられ、一般規則として、それら要素は一致するものと考えられる。
しかし、特別の用途では、クオドトリーを構築するためにより粗末な許容範囲を使用すること(このようにしてノードの数と検索時間を減らす)、及び見つけられた要素が検索要素に一致しているか否か又はそうではなく、検索要素によって拘束されるか否かを決定するため、よりよい許容範囲を使用することは有利となるだろう。例えば、極クオドトリーは、一致条件として、2つのラインを同じ傾きと原点からの垂直距離を有するものとして考える。たとえ、これら2つのラインの隣接する点の間の実際の距離が垂直ベクトルからこれらの点までの距離によって拡大されるとしてもこのように考える。同様にして、接線と円との間のあらゆるスペースが、その円とそのラインの垂直ベクトルとの間の距離によって拡大される。
その上、特に許容範囲は付加的なので、拘束条件は必ずしも移行的とならない。2つよりも多くの相互に拘束された要素(例えば、多数の平行線から形成される格子)を、共通の先導要素に対する共通の拘束条件によってリンクされた要素のリストとして組織することが好ましい。
【0158】
いくつかの用途では、例えば同じ長さを有する複数のライン又は同じ半径を有する複数の円等のように寸法の拘束条件を識別することも有効である。寸法は、単一の値からなる変数なので、このような寸法の拘束条件は、型どおりの線形インデックスの方法により簡単に識別される。
【0159】
多少の規則的幾何学的構造を有する物体を描くことによる、1つあるいはそれ以上のフリーハンドの線形像を2次元の機械的作図に加工する方法にふさわしい本演算および技術の好適な態様において、相対的に大きな許容範囲が、角度に対する拘束条件に使用され、可能な拘束条件の検索が現在表示されている像の中に現れている要素に限定される。新たに入力された線形像の各々は、各基本ストロークの要素と、実時間で、比較され且つインデックス化される。この基本ストロークは、該ストロークに関係する可能な拘束条件に対して、ウインドウ内に前に加工された要素のインデックスにアクセスしたりアップデートしたりするために使用される各線形像を形成する。すべての基本ストロークが加工された後、モデルは、新たに見つけ出された拘束条件を使用して再構築され、フリーハンドの像は、新たに見つけ出された拘束条件で修正されたモデルを描いた、コンピュータ作図によって置換される。
上記幾何学的拘束条件を発見し、決定するための自動的識別方法により得られた拘束条件は、拘束条件管理システムへと追加される。
【0160】
拘束条件管理システムは、拘束条件と一致性があるのはどのセグメントであるかを解くことができる(ブロック220)。当然ながらこのシステムはかかる一貫性を含むよう発生されたセグメントを多少変更し、更に同じ理由で先のセグメントを変更することを一般に行う。拘束条件が一旦決定されれば、かかる拘束条件と一致するセグメントを解くことは、より標準的なタイプの演算である。DCMの名称でディーキューブドリミテッド(D−Cubed Ltd.)によって販売されている製品は、かかる演算を実行するようになっているワークステーション用のプログラムソフトウェアを示している。
【0161】
一旦、幾何学的拘束条件と一致してセグメントと解くと、CADモデルに記憶されていたようなセグメント情報は、セグメントに対して更新できる(ブロック222)。このモデルは更新されたモデルのディスプレイを含む通常のデザインまたはディスプレイ機能のいずれかに対してアップツーデートである(ブロック224)。
【0162】
先の情報要素からの情報要素に適用できる構成された曲率円のための中心からの距離(またはそれによって表示される位置または点)は先の説明で計算されるように表示される(ブロック154)。先に述べた折れ点方法では実行されないが、これら中心距離を使用し、コーナーおよびフィレット状折れ点の外に、変曲折れ点を使用するような変更を実施できる。これを行うため、変曲折れ点のための候補点として、この適用可能な中心距離の比較的大きな値を有する位置を発見できる。前提条件としてのこれら位置は、両側が比較的長い一連のカーブした複合分類によって囲まれた、比較的小さい一連の複合ライン分類内になければならない。この例としては次のものがある。
【0163】
【表3】
Figure 0003560082
【0164】
本例では、変曲折れ点または変曲折れ候補点は、一般に値100の中心距離が生じる位置に生じる。
【0165】
同じようなラインに沿って、図3に関連してアウトラインを述べたような折れ候補点を識別するためのステップの変形は、所定の点で有利であると考えることができる。この代替例を説明し、折れ点の識別を回避したこの接続部で(先に述べたように)すべての点がカーブしていないと仮定すると、この代替例のもとで再カテゴリー化操作を開始できる。再びある種の潜在的再カテゴリー化はシャープな転回部領域と関連している。先の例を繰り返すと、かかる領域の一例は、つぎのような一連の点に対する一連の複合分類となる。すなわちライン、ライン、カーブ、カーブ、カーブ、シャープな転回部、シャープな転回部、シャープな転回部、カーブ、カーブ、カーブ、ライン、ラインである。しかしながらこの場合、シャープな転回点の分類はカーブ分類に変換されるので、このシリーズはライン、ライン、カーブ、カーブ、カーブ、カーブ、カーブ、カーブ、カーブ、カーブ、カーブ、ライン、ラインとなる。
【0166】
また、特定の例において、シャープな転回部である3つの連続する点があるが、シャープな転回部の再カテゴリー化を動きでセットするには、1つのシャープな転回部点で十分である。
【0167】
次に、ある最小値よりも小さい角度変化を有するかなりの数の連続点を、ラインに再カテゴリー化し、また小さい角度変化を有する混合カーブ点をラインに再カテゴリー化することを実行する。
【0168】
上記のように変換された前者の各シャープな転回部に対し、現在はカーブ点である点を共に考え、最大の角度変化の絶対値を有する点のうちの点を発見する。次にこの点をコーナー折れ点候補点としてセットアップする。
【0169】
次にフィレット状折れ点候補点に対し十分なカーブ点カウントを有し、(再カテゴリー化された転回部の点を有する領域を含む)ブラケットライン点を有するカーブ領域に基づくこれらの選択は、先に述べたとおりである。更にカーブ領域における点の数が不十分であり、かつコーナーの折れ点に対しては十分である場合の、付加的コーナー折れ点の潜在的選択は、先に述べたとおりである。
【0170】
このことは他の方法と対照的に、コーナーの折れ点と共に、ある種の潜在的なフィレット状折れ候補点をウォッシュアウトする傾向はない。しかしながらこの方法は一般に最終折れ点を決定するのに、先に述べたように取り除かれるより多数の折れ候補点を発生し得る。
【0171】
ユーザーが先に述べた相互対話、特にユーザーが制御するパスを表示するのに使用する便利なデバイスとして、マウス32を図示し、説明したが、他の従来の種々の別の装置も容易に利用できる。当然ながらこれら装置のうちの1つとして、デジタイザタブレット装置の一部であるパックがある。
【0172】
上記に含まれる多くの細部およびこれらの実施方法は、アメリカコーポレーションのデソルトシステムのうちのCADシステムに組み込むのに特に適しており、このシステムは、特にモデル名RS6000でIBM社により、ユニックスワークステーション用に商標「PROFESSIONAL CADAM」で販売されている、またはモデル番号700でヒューレットパッカード社により販売されている。更に、その作動はC++言語またはC言語およびフォートラン言語と組み合わせたC++言語による実行に特に適している。
【0173】
後に明らかとなるように、本明細書に詳細に説明したような種々の特徴は例示であり、特定の用途、コンテクストおよび要件に応じて、異なる選択ならびに変更または変形を受けるものである。従って本発明の範囲または精神から逸脱することなく、多くの変形および変更が可能である。
【図面の簡単な説明】
【図1】本発明に係わる方法を実行するのに使用するコンピュータワークステーションを示す。
【図2】1つのストロークを複数のセグメントに分解するための工程を示すフローチャートである。
【図3】図2のブロック170をより詳細に示すフローチャートである。
【図4】点、直線、円弧、円または楕円であるセグメントを発生する際のステップを示すフローチャートである。
【図5】図2〜4により詳細に示された特徴を含み、更に中間ストロークのセグメント内の幾何学的拘束条件条件および中間ストロークの外からの他の幾何学的拘束条件条件を課すことを含む、(ストローク内のインジケータを移動する)ストロークを描くユーザーから生じたセグメントをディスプレイする際のステップを示すフローチャートである。
【図6】作図ストロークにおけるマウスの移動、ディスプレイカーソルのその結果生じる移動、および図1のワークステーション上での直線セグメントのその結果生じるディスプレイを、多少略図として示す図である。
【図7】本発明によって得られる幾何学的セグメント(または要素)を示す。
【図8】ベタ塗りコマンドストロークおよび削除コマンドストロークを示す。
【図9】ベタ塗りストロークおよびこれが適用されるクローズド領域、およびストロークに応答して発生する領域内のクロスハッチパターンを示す。
【図10】ユーザーのフリーハンドの運動に関連した所定の精密さの基準に欠けたユーザーの手の移動の幾何学的セグメント(要素)、および本発明によって生じた、かかる基準を満たした対応するセグメントを多少略図として示す図である。
【図11】ユーザーのフリーハンドの運動に関連した所定の精密さの基準に欠けたユーザーの手の移動の幾何学的セグメント(要素)、および本発明によって生じた、かかる基準を満たした対応するセグメントを多少略図として示す図である。
【図12】ユーザーのフリーハンドの運動に関連した所定の精密さの基準に欠けたユーザーの手の移動の幾何学的セグメント(要素)、および本発明によって生じた、かかる基準を満たした対応するセグメントを多少略図として示す図である。
【図13】ユーザーのフリーハンドの運動に関連した所定の精密さの基準に欠けたユーザーの手の移動の幾何学的セグメント(要素)、および本発明によって生じた、かかる基準を満たした対応するセグメントを多少略図として示す図である。
【図14】コーナーの折れ点において合流する2本の直線から成るストロークを右側に多少略図で示し、このストロークによって生じるユーザーの手の運動のストロークを左側に多少略図で示す図である。
【図15】2本の直線ラインセグメント、1つの円弧セグメントおよび2つの折れ点を有するストロークを右側に多少略図で示し、このストロークによって生じるユーザーの手の運動のストロークを左側に多少略図で示す図である。
【図16】ユーザーによって発生され、平行性および再限定幾何学的拘束条件に欠けたストロークが、どのように本発明に従い、かかる拘束条件を含む正方形となるかを、多少略図で示す。
【図17】2つのストロークでユーザーによって入力された正方形の同じような状況を、最初の4つの部分が示し、最後の2つの部分は正方形に接する拘束条件を含む円形ストロークを意図するものを加えたこと、かつ、かかる拘束条件を課した結果を示す。
【図18】ラインと円との接線拘束条件を課すことを多少略図で示す。
【図19】ラインと点との一致拘束条件を多少略図で示す。
【図20】最初2つのセグメントを有する単一ストロークとして形成された円とラインとの間の接線拘束条件を多少略図で示す。
【図21】テスト点、線形テストパス及び円形テストパスと同様な多くのデータ点を含むカーテシアンクオドトリーの図である。
【図22】所定の傾きを有する直線に相当する線形テストパスと同様な多くのラインを含む極クオドトリーの図である。
【図23】様々な幾何学的拘束条件によって関連づけられる要素を有する基礎モデルを表す2次元図である。
【符号の説明】
30 ワークステーション
32 標準的マウス
34 キーボード
36 ディスプレイ
38 ディスプレイスクリーン
112 単一ストロークの作図パス
114 2本の直線を表すパス
116 別のパス
118 正方形パス
120 内接円としたい単一ストロークパス

Claims (17)

  1. 所定の精密基準に欠けた作図パスを表す情報を発生し、次にこの情報をかかる精密基準に欠けていない作図パスを表す情報に変換するためのコンピュータ化された方法であって、
    所定の精密基準に欠けたパス内のインジケータの移動位置を表すインジケータ情報要素のグループを発生する工程と、
    前記インジケータ情報要素に応答して位置を表す変換された情報要素のグループを発生する工程と、
    ニューラルネットを用いて情報要素の前記変換されたグループに演算を加え、この演算に応答して前記変換されたグループを分類する工程と、
    前記分類に応答してインジケータ情報要素の前記グループの特徴を発生する工程と、
    前記精密基準に欠けていない変更されたパスの位置を表す情報要素の変更されたグループを定める工程と
    を備え、変換された情報要素のグループを発生する前記工程は、更に、インジケータ情報要素の前記グループを、所定のグリッド内の回転され、スケール化され、変換され、マップ化された位置のグループを表す情報要素のグループに変換することを特徴とするコンピュータ化された方法。
  2. 情報要素の前記変更されたグループは、オープンな円弧を表示することを特徴とする請求項1記載のコンピュータ化された方法。
  3. 変換された情報要素のグループを発生する前記工程は、更に、クローズドパスを表示する所定グリッド内の位置を表す前記情報方法のグループを、変換されたクローズドパスを表示する、前記所定のグリッドの位置を表す情報要素のグループに変換することを特徴とする請求項に記載のコンピュータ化された方法。
  4. 変換された情報要素のグループを発生する前記工程は、更に、一方向にオープンな円弧を表示する、所定グリッド内の位置を表す前記情報要素のグループを、反対方向にオープンな円弧を表示する、前記所定のグリッド内の位置を表示する情報要素のグループに変換することを特徴とする請求項記載のコンピュータ化された方法。
  5. 前記ニューラルネットは、円、楕円、複数の円弧および削除シンボルを表示する出力分類を含むことを特徴とする請求項1記載のコンピュータ化された方法。
  6. 示された大きさを決定するための情報を含む、コンピュータ支援設計のための、情報要素の前記変更されたグループに関連した情報を発生する工程を更に含むことを特徴とする請求項1記載のコンピュータ化された方法。
  7. 情報要素の前記変換されたグループを分類するため、一致しているかどうか、この変換されたグループと情報要素の認識されたパターンとをテストする工程を更に含むことを特徴とする請求項1記載のコンピュータ化された方法。
  8. 前記テスト工程の前記認識されたパターンは、ラインおよび45度の円弧を表示するパターンを含むことを特徴とする請求項記載のコンピュータ化された方法。
  9. 所定の精密基準に欠けた作図パスを表示する情報を発生し、前記作図パスのセグメントの折れ点を表示する折れ点情報を選択するコンピュータ化された方法であって、
    所定の精密基準に欠けたパス内のインジケータの移動位置を表示するインジケータ情報要素を発生する工程と、
    分類基準に応答して情報要素をカテゴリーに分類する工程と、
    前記分類および情報要素のセグメントのための限界を区切るための折れ点選択基準に応答して、折れ点情報要素を選択する方法とを備え
    前記分類工程は、情報要素の角度変化、曲率および傾き変化を表示する関数を計算し、この計算に応答して情報要素をカテゴリー化する工程を含むことを特徴とするコンピュータ化された方法。
  10. 前記分類工程は、
    情報要素の複数の幾何学的基準を表示する関数を計算し、この計算に応答して情報要素をカテゴリー化する工程と、
    隣接する情報要素に対する前記カテゴリー化に応答して情報要素を再カテゴリー化する工程を
    含むことを特徴とする請求項記載のコンピュータ化された方法。
  11. 前記選択工程は、
    前記分類および潜在的折れ点選択基準に応答して、潜在的折れ点情報要素を選択する工程と、
    ニューラルネットを用いて潜在的折れ点情報要素に隣接する情報要素のグループに演算を加え、前記ニューラルネットに応答して潜在的折れ点情報要素を除く工程を含むことを特徴とする請求項記載のコンピュータ化された方法。
  12. 情報要素の前記セグメントはカーブしたオープンセグメントおよびクローズドセグメントを含むパスを表示する位置を表示するためのものであることを特徴とする請求項記載のコンピュータ化された方法。
  13. 情報要素の前記セグメントは直線状のセグメントおよびカーブしたオープンセグメントを含むパスを表示する位置を表示するためのものであることを特徴とする請求項記載のコンピュータ化された方法。
  14. 所定の精密基準に欠けた作図パスを表示する情報を発生し、かかる精密基準に欠けていない作図パスを表示するディスプレイに前記情報を変換するためのコンピュータ化された方法であって、
    所定の精密基準に欠けたパス内のインジケータの移動位置を表示するインジケータ情報要素を発生する工程と、
    情報要素のセグメントの限界を区切るよう、前記情報の発生に応答して折れ点情報要素を定める工程と、
    前記精密基準に欠けていない変更されたパスのセグメントを表示する情報要素の変更されたグループを定める工程と、
    前記情報要素の変更されたグループのうちの、幾何学的拘束条件を発生し、この幾何学的拘束条件の発生に応答して幾何学的に拘束されたセグメントを表示する情報要素の拘束されたグループを定める工程と、
    前記精密基準に欠けておらず、情報要素の前記拘束されたグループを含む、情報要素によって表示されたパスを表示するディスプレイを供給する工程と
    を備えたことを特徴とするコンピュータ化された方法。
  15. 前記幾何学的拘束条件は一致条件を含むことを特徴とする請求項14記載のコンピュータ化された方法。
  16. 前記幾何学的拘束条件は一致条件、平行条件、接線条件を含むことを特徴とする請求項14記載のコンピュータ化された方法。
  17. 更に表示された大きさを決定するための情報を含む、コンピュータ支援設計のための、情報要素の前記拘束されたグループに関連した情報を発生する工程を含むことを特徴とする請求項14記載のコンピュータ化された方法。
JP19007995A 1994-08-12 1995-07-26 コンピュータ化された作図方法 Expired - Lifetime JP3560082B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US28960894A 1994-08-12 1994-08-12
US08/289608 1994-08-12

Publications (2)

Publication Number Publication Date
JPH08255259A JPH08255259A (ja) 1996-10-01
JP3560082B2 true JP3560082B2 (ja) 2004-09-02

Family

ID=23112275

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19007995A Expired - Lifetime JP3560082B2 (ja) 1994-08-12 1995-07-26 コンピュータ化された作図方法

Country Status (3)

Country Link
US (1) US6233351B1 (ja)
EP (1) EP0697679A3 (ja)
JP (1) JP3560082B2 (ja)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5844566A (en) * 1996-02-12 1998-12-01 Dassault Systemes Method and apparatus for controlling shadow geometry on computer displays
US5774111A (en) * 1996-02-12 1998-06-30 Dassault Systemes Method and apparatus for providing a dynamically oriented compass cursor on computer displays
US6714679B1 (en) * 1998-02-05 2004-03-30 Cognex Corporation Boundary analyzer
US6441822B1 (en) * 1999-04-02 2002-08-27 Bruce H. Johnson Drawing with circular arcs
US6572378B1 (en) 2000-02-29 2003-06-03 Rehco, Llc Electronic drawing assist toy
JP2002099924A (ja) * 2000-09-26 2002-04-05 T Five:Kk 図形描画装置
NL1018866C2 (nl) * 2001-08-31 2003-03-03 Es Consulting Energiezuinig bebouwd terrein.
US7610358B2 (en) * 2001-11-26 2009-10-27 Time Warner Cable System and method for effectively presenting multimedia information materials
US6897862B2 (en) 2002-02-19 2005-05-24 Ugs Corp. Method and system for applying constraints to chains of curves
US7487444B2 (en) 2002-03-19 2009-02-03 Aol Llc Reformatting columns of content for display
US7330184B2 (en) * 2002-06-12 2008-02-12 Smart Technologies Ulc System and method for recognizing connector gestures
CN100377043C (zh) * 2002-09-28 2008-03-26 皇家飞利浦电子股份有限公司 三维手写识别的方法及其系统
US7086028B1 (en) * 2003-04-09 2006-08-01 Autodesk, Inc. Simplified generation of design change information on a drawing in a computer aided design (CAD) environment
US7586490B2 (en) * 2004-10-20 2009-09-08 Siemens Aktiengesellschaft Systems and methods for three-dimensional sketching
DE102005047160B4 (de) * 2005-09-30 2007-06-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung, Verfahren und Computerprogramm zum Ermitteln einer Information über eine Form und/oder eine Lage einer Ellipse in einem graphischen Bild
US9030462B2 (en) * 2007-09-24 2015-05-12 Siemens Corporation Sketching three-dimensional(3D) physical simulations
US20090237409A1 (en) * 2008-03-20 2009-09-24 Dick Baardse System and method for a fully editable operation in the context of a solver controlled environment
TWI391850B (zh) * 2009-03-31 2013-04-01 Au Optronics Corp 輸入圖形判定方法及電腦可讀儲存媒體
US8786599B2 (en) * 2010-06-25 2014-07-22 International Business Machines Corporation Segmentation of free-form shapes into chains of circular elements in computer graphics applications
US8718375B2 (en) 2010-12-03 2014-05-06 Massachusetts Institute Of Technology Sketch recognition system
EP2521059B1 (en) 2011-05-06 2019-10-16 Dassault Systèmes Design operations on shapes divided in portions
EP2521055B1 (en) 2011-05-06 2019-07-10 Dassault Systèmes Selection of three-dimensional parametric shapes
EP2521056A1 (en) * 2011-05-06 2012-11-07 Dassault Systèmes Cad design with primitive closed shapes
EP2521057A1 (en) 2011-05-06 2012-11-07 Dassault Systèmes Determining a parameter of a geometrical cad operation
EP2521058A1 (en) 2011-05-06 2012-11-07 Dassault Systèmes Determining a geometrical CAD operation
EP2523130A1 (en) 2011-05-11 2012-11-14 Dassault Systèmes Method for designing a geometrical three-dimensional modeled object
JP2013218425A (ja) * 2012-04-05 2013-10-24 Zero Four Co Ltd 見積り装置、モバイル装置、および見積り方法
JP2013246487A (ja) * 2012-05-23 2013-12-09 Zero Four Co Ltd 見積り装置、および見積り方法
EP2712433B1 (en) 2012-05-31 2016-11-02 MultiTouch Oy User interface for drawing with electronic devices
US9396390B2 (en) * 2013-03-08 2016-07-19 Pei Zhan Systems and methods for sketch processing
US9600918B2 (en) * 2013-04-17 2017-03-21 Koninklijke Philips N.V. Delineation and/or correction of a smooth stiff line in connection with an independent background image
TWI528271B (zh) * 2013-12-16 2016-04-01 緯創資通股份有限公司 多邊形手勢偵測及互動方法、裝置及電腦程式產品
EP2921978B1 (en) * 2014-03-19 2021-09-29 Dassault Systèmes Designing industrial products by using geometries connected by geometrical constraints
US9384403B2 (en) 2014-04-04 2016-07-05 Myscript System and method for superimposed handwriting recognition technology
US9524440B2 (en) 2014-04-04 2016-12-20 Myscript System and method for superimposed handwriting recognition technology
US9767620B2 (en) * 2014-11-26 2017-09-19 Restoration Robotics, Inc. Gesture-based editing of 3D models for hair transplantation applications
US9489572B2 (en) 2014-12-02 2016-11-08 Myscript System and method for recognizing geometric shapes
US9898453B1 (en) * 2015-12-09 2018-02-20 TurboPatent Corp. Machine controls for rapid numbering of graphical depictions on a display surface
US10339679B2 (en) * 2016-02-26 2019-07-02 Adobe Inc. Dynamic path modification and extension
US10635413B1 (en) 2018-12-05 2020-04-28 Bank Of America Corporation System for transforming using interface image segments and constructing user interface objects
US10678521B1 (en) 2018-12-05 2020-06-09 Bank Of America Corporation System for image segmentation, transformation and user interface component construction
CN111832408B (zh) * 2020-06-08 2024-09-06 杭州电子科技大学 一种拍摄所得的二值带网格曲线图的曲线提取方法
JP7168032B1 (ja) * 2021-05-21 2022-11-09 カシオ計算機株式会社 情報処理装置、情報処理システム、プログラム及び情報処理方法
US12056799B2 (en) * 2022-04-28 2024-08-06 Dassault Systemes Solidworks Corporation Converting images to sketches that are modifiable using computer-aided design (CAD) software
CN117421795B (zh) * 2023-11-29 2024-04-09 上海新迪数字技术有限公司 一种基于草图建模的优化方法及系统

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6055483A (ja) * 1983-09-05 1985-03-30 Ricoh Co Ltd 図面清書処理方式
JPS6091479A (ja) * 1983-10-25 1985-05-22 Dainippon Printing Co Ltd 帳票デザインシステム
JPS62197870A (ja) * 1986-02-26 1987-09-01 Dainippon Printing Co Ltd ベクトル図形修正装置
US4845643A (en) 1986-04-14 1989-07-04 Clapp Roy A Simplified computer graphics perspectives
US4821214A (en) * 1986-04-17 1989-04-11 Brigham Young University Computer graphics method for changing the shape of a geometric model using free-form deformation
DE3662319D1 (en) 1986-06-07 1989-04-13 Hewlett Packard Gmbh Method for generating representations of 3-dimensional objects and system performing this method
JPS6375803A (ja) * 1986-09-18 1988-04-06 Mitsubishi Heavy Ind Ltd 手書き図形情報入力方法
US4933865A (en) * 1986-12-20 1990-06-12 Fujitsu Limited Apparatus for recognition of drawn shapes or view types for automatic drawing input in CAD system
US4785399A (en) * 1987-03-03 1988-11-15 International Business Machines Corporation Shaping geometric objects by cumulative translational sweeps
US4855939A (en) 1987-09-11 1989-08-08 International Business Machines Corp. 3D Dimensioning in computer aided drafting
JPH01120680A (ja) * 1987-11-04 1989-05-12 Nec Corp 近似図形発生装置
JPH01175671A (ja) * 1987-12-29 1989-07-12 Nippon Steel Corp 図面データの変換方法
JP2589999B2 (ja) * 1988-03-18 1997-03-12 株式会社竹中工務店 図形入出力装置
JPH027174A (ja) 1988-06-27 1990-01-11 Hitachi Ltd 図形処理法
US4987554A (en) * 1988-08-24 1991-01-22 The Research Foundation Of State University Of New York Method of converting continuous three-dimensional geometrical representations of polygonal objects into discrete three-dimensional voxel-based representations thereof within a three-dimensional voxel-based system
US5265197A (en) * 1988-12-23 1993-11-23 Kabushiki Kaisha Toshiba Geometric modeling apparatus
JP2885823B2 (ja) * 1989-04-11 1999-04-26 株式会社豊田中央研究所 視覚認識装置
US5410496A (en) * 1989-06-13 1995-04-25 Schlumberger Technology Corp. Using degrees of freedom analysis to solve topological constraint systems for construction geometry in a computer aided design (cad)
US5452238A (en) * 1989-06-13 1995-09-19 Schlumberger Technology Corporation Method for solving geometric constraint systems
US5490241A (en) 1989-10-06 1996-02-06 Xerox Corporation Interactive computer graphics system for making precise drawings
US5198990A (en) * 1990-04-23 1993-03-30 Fanamation, Inc. Coordinate measurement and inspection methods and apparatus
US5371845A (en) * 1990-04-27 1994-12-06 Ashlar, Inc. Technique for providing improved user feedback in an interactive drawing system
US5123087A (en) 1990-04-27 1992-06-16 Ashlar, Inc. Geometric inference engine
JPH0438587A (ja) * 1990-06-04 1992-02-07 Nec Corp 入力領域適応型ニューラルネットワーク文字認識装置
US5299307A (en) 1990-08-17 1994-03-29 Claris Corporation Controls for drawing images on computer displays
US5251268A (en) * 1991-08-09 1993-10-05 Electric Power Research Institute, Inc. Integrated method and apparatus for character and symbol recognition
US5297241A (en) 1991-09-30 1994-03-22 Hewlett-Packard Company Automated re-layout with dimensional associativity
EP0550838A1 (en) 1992-01-10 1993-07-14 Hewlett-Packard GmbH Method and computer-aided design system for defining geometric relations
US5377313A (en) * 1992-01-29 1994-12-27 International Business Machines Corporation Computer graphics display method and system with shadow generation
JP3066680B2 (ja) 1992-09-18 2000-07-17 富士通株式会社 寸法・幾何拘束の自動編集方式
US5425109A (en) * 1992-10-22 1995-06-13 Mutoh Industries Ltd. System for identifying freehand drawings
EP0600585A3 (en) * 1992-11-20 1994-11-02 Mutoh Ind Ltd System for identifying hand drawings.
US5461709A (en) 1993-02-26 1995-10-24 Intergraph Corporation 3D input system for CAD systems
US5537519A (en) * 1993-06-29 1996-07-16 Electronic Data Systems Corporation System and method for converting boundary representations to constructive solid geometry representations for three-dimensional solid object modeling
US5463722A (en) 1993-07-23 1995-10-31 Apple Computer, Inc. Automatic alignment of objects in two-dimensional and three-dimensional display space using an alignment field gradient
US5861889A (en) * 1996-04-19 1999-01-19 3D-Eye, Inc. Three dimensional computer graphics tool facilitating movement of displayed object

Also Published As

Publication number Publication date
EP0697679A2 (en) 1996-02-21
US6233351B1 (en) 2001-05-15
JPH08255259A (ja) 1996-10-01
EP0697679A3 (en) 1998-07-01

Similar Documents

Publication Publication Date Title
JP3560082B2 (ja) コンピュータ化された作図方法
JP4516957B2 (ja) 3次元オブジェクトについて検索を行なうための方法、システムおよびデータ構造
Gross et al. Ambiguous intentions: a paper-like interface for creative design
Fonseca et al. CALI: An online scribble recognizer for calligraphic interfaces
Pizarro et al. Automatic floor plan analysis and recognition
JP5789525B2 (ja) 文書コンテンツの順序付け
JPH0658677B2 (ja) 対話式図形探索置換方法
Reinders et al. Skeleton graph generation for feature shape description
Xiaogang et al. An online composite graphics recognition approach based on matching of spatial relation graphs
US20160364890A1 (en) Method and apparatus for providing a presumptive drafting solution
Weber et al. A. scatch-a sketch-based retrieval for architectural floor plans
Ku et al. Interpretation of overtracing freehand sketching for geometric shapes
CN115601769A (zh) 手绘图形的调整方法、装置、电子设备及介质
Yin et al. An automated layer classification method for converting CAD drawings to 3D BIM models
Mao et al. Software architecture of PSET: a page segmentation evaluation toolkit
Ramel et al. A structural representation for understanding line-drawing images
JPH077456B2 (ja) 重合度による図形の認識装置
Mas et al. A syntactic approach based on distortion-tolerant Adjacency Grammars and a spatial-directed parser to interpret sketched diagrams
Tombre et al. Pattern recognition methods for querying and browsing technical documentation
Mardia et al. Techniques for online gesture recognition on workstations
Lu et al. A novel knowledge-based system for interpreting complex engineering drawings: Theory, representation, and implementation
CN111144114A (zh) 一种文本识别方法及装置
Mukherjee et al. From informal process diagrams to formal process models
CN113065475B (zh) 一种cad图例快速精准识别方法
JP2001202403A (ja) 電子図面データ変換

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040107

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040107

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20040107

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040407

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040423

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040519

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090604

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100604

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100604

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110604

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120604

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120604

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130604

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term