JP2577510B2 - 図形オブジェクト処理装置及び方法 - Google Patents

図形オブジェクト処理装置及び方法

Info

Publication number
JP2577510B2
JP2577510B2 JP2415177A JP41517790A JP2577510B2 JP 2577510 B2 JP2577510 B2 JP 2577510B2 JP 2415177 A JP2415177 A JP 2415177A JP 41517790 A JP41517790 A JP 41517790A JP 2577510 B2 JP2577510 B2 JP 2577510B2
Authority
JP
Japan
Prior art keywords
graphic object
control point
point
graphic
identifier
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 - Fee Related
Application number
JP2415177A
Other languages
English (en)
Other versions
JPH04230579A (ja
Inventor
一義 日高
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2415177A priority Critical patent/JP2577510B2/ja
Priority to CA002057130A priority patent/CA2057130A1/en
Priority to EP19910311524 priority patent/EP0492901A3/en
Publication of JPH04230579A publication Critical patent/JPH04230579A/ja
Priority to US08/200,835 priority patent/US5452411A/en
Application granted granted Critical
Publication of JP2577510B2 publication Critical patent/JP2577510B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、先に生成された図形オ
ブジェクトに対して幾何学的に拘束された新たな図形オ
ブジェクトを生成し、図形オブジェクトが変形又は移動
した場合に、それに追随して、当該図形オブジェクトに
対して直接または間接に幾何学的に拘束されて生成され
た図形オブジェクトを描き直すことを可能にする図形オ
ブジェクト処理装置及び方法に関する。ここで、図形オ
ブジェクトとは、点(0次元図形)から3次元図形(曲面
等)までを含む。
【0002】
【従来の技術】現在市販されているコンピューターを用
いた多くの図形オブジェクト処理装置においては、図形
オブジェクトを生成し、表示するために、ディスプレイ
・スクリーン上に点を設定する。例えば、図1に示すよ
うに、線分を描きたいときには、線分の2つの端点を設
定する必要があるし、図2に示すように、円を描きたい
ときには、円の中心と円周上の1点を設定する必要があ
る。このような、図形オブジェクトを定義する点を制御
点と呼ぶ。
【0003】◆従来技術例1 さて、ディスプレイ・スクリーン上に新しく図形オブジ
ェクトを描こうとするときに、その新しい図形オブジェ
クトの制御点を、先に描かれた既存の図形オブジェクト
に対する幾何学的な制約を意識して設定することはよく
あることである。以下では、便宜上、既に生成済の図形
オブジェクトに対して幾何学的に関連づけて他の図形オ
ブジェクトを生成するとき、前者を後者の関係において
1次図形オブジェクトと呼び、後者を前者との関係にお
いて2次図形オブジェクトと呼ぶことにする。
【0004】しかしながら、従来の市販されている図形
オブジェクト処理装置では、1次図形オブジェクトが変
形又は移動した場合に、それに追随して2次図形オブジ
ェクトが自動的に描き直されるということがなかった。
【0005】例えば、図3のように三角形ABC、三角
形DEFが描かれている場合に、頂点Aと頂点Dを結ぶ
線分Lを描きたいなら、線分Lの制御点を点Aと点Dの
上に設定すればよい。この場合、三角形ABC、DEF
が1次図形オブジェクト、線分Lが2次図形オブジェク
トに相当する。線分Lの制御点は、点Aと点Dである。
ここで、三角形ABCを変形させると(点Aの位置を移
動するものとする)、従来の装置では、図4のように、
線分Lは三角形ABCの移動にかかわらず元の位置にと
どまったままであり、変形後の三角形の頂点Aと点Dを
結ぶように再描画されることはなかった。
【0006】◆従来技術例2 そのような問題点の1つの解決策として、特開平1ー2
46673号には、図形オブジェクト毎に当該図形オブ
ジェクトに連結する他の図形オブジェクトの識別子をメ
モリに記憶しておき、1の図形オブジェクトが編集され
変更されるとき、その図形オブジェクトとこれに連結す
る他の図形オブジェクトとの連結関係が維持されるよう
に、連結する他の図形オブジェクトの幾何データを修正
する図形オブジェクト処理装置が提案されている。例え
ば、図5のように、それぞれが長方形31、32に連結
された線分33、34が表示されているとき、図6に示
すように各図形オブジェクト毎に連結図形オブジェクト
IDデータが記憶されている。そして、図形オブジェク
ト32が移動されたなら、それに連結する図形オブジェ
クト33、34の図形オブジェクト・データを修正し
て、図形オブジェクト32、33、34の連結関係が維
持されるように、図形オブジェクト33、34を描き直
す(図7)。しかし、この装置には、次のような問題点が
ある。
【0007】(1)上記装置では、連結情報として連結す
る他の図形オブジェクトのIDしか記憶していないの
で、描き直す図形オブジェクトはすぐわかっても、その
ような図形オブジェクトの制御点のうちのどれの座標を
変更すべきかがわからない。図形オブジェクトの連結関
係は、図5のような簡単な例ばかりではない。1つの図
形オブジェクトが多数の制御点によって定義されたり、
1つの図形オブジェクトに多数の図形オブジェクトが連
結されていたり、多数の図形オブジェクトが連鎖してい
ることもある。1の図形オブジェクトの位置の変更を他
の図形オブジェクトの位置に反映させるためには、影響
を受ける制御点を確実に抽出する技術が不可欠である。
上記装置は、かかる点の考慮を欠いており、複雑に連結
している図形オブジェクトの1つの位置の変更を他に波
及させることは不可能である。
【0008】具体的に言うと、図5の例で、図形オブジ
ェクト32の移動に応答して図形オブジェクト33、3
4が変形されることはわかる。しかし、線分33、34
の制御点e、f、g、hのうち、どの座標を変更すべき
かを知る具体的な方法は、上記公報には全く開示されて
いない。点e,f,g,hの座標データとオブジェクト
32の幾何データを調べれば、点g,hがオブジェクト
32の上にあり、したがってその座標を変更すべきであ
ることはわかるかもしれない。しかし、この方法では、
オブジェクト32と31が他のオブジェクトを介して間
接的に連結しており、したがって点e,fの座標も変更
すべきである場合には、点e,fを変更対象として認識
することができない。
【0009】(2)上記装置では、1次図形オブジェクト
の平行・回転移動及び拡大・縮小に対応して2次図形オ
ブジェクトを描き直すことはできても、1次図形オブジ
ェクトがそれ以外の態様で移動又は変形した場合に対処
することができない。例えば、図8に示すように、三角
形の辺P1・P2の中点P3と点P4を制御点に選んで
線分Lを描いたとする。このとき、三角形を平行移動さ
せた場合には、点P3も単純に平行移動させるだけで新
しい座標がわかるから、上記装置でも、線分Lを描き直
すことができるかもしれない(図9)。しかし、図10の
ように点P1だけを動かして三角形を変形した場合に
は、線分Lを再描画することは不可能である。なぜなら
ば、点P3が新たに占めるべき位置データは、辺P1・
P2と点P3の関係に関する情報がないかぎり、点P1
の移動に関するデータのみによっては計算できないから
である。
【0010】まとめると、従来技術の問題点は、図形オ
ブジェクトの制御点の位置に関するデータとして、その
制御点が設定された位置の座標値しか与えられていない
ことに起因する。このため、1次図形オブジェクトの変
形または移動に追随して制御点の新しい座標値を計算す
ることができず、2次図形オブジェクトを描き直すこと
ができない。
【0011】
【発明が解決しようとする課題】したがって、本発明の
目的は、図形オブジェクトの制御点の位置に関するデー
タを、その制御点の設定された場所の座標値に束縛され
ない新規な態様で記述することのできる図形オブジェク
ト処理装置及び方法を提供することにある。本発明の他
の目的は、図形オブジェクトを他の図形オブジェクトに
幾何学的に拘束させて生成する作業を支援することにあ
る。本発明の他の目的は、図形オブジェクトと他の図形
オブジェクトの関係を、従来技術のように図形オブジェ
クトの識別子だけで記述するのではなく、新規な態様で
記述する図形オブジェクト処理装置及び方法を提供する
ことにある。
【0012】本発明のさらに他の目的は、多数の図形オ
ブジェクトが複雑に錯綜している場合であっても、1の
図形オブジェクトの移動または変形に応答して、当該図
形オブジェクトに直接または間接に幾何学的に拘束され
て生成された図形オブジェクトを、拘束関係が維持され
るように描き直すことにある。本発明のさらに他の目的
は、図形オブジェクトの平行・回転移動及び拡大・縮小
以外の態様での移動又は変形に対応して、当該図形オブ
ジェクトに幾何学的に拘束されて生成された図形オブジ
ェクトを描き直すことにある。
【0013】
【課題を解決するための手段】本発明による、制御点を
設定することにより、図形オブジェクトを生成する装置
は、(a)図形オブジェクトの各々ごとにその識別子及び
当該図形オブジェクトの制御点の識別子を記憶する図形
オブジェクト・テーブルと、(b)制御点の各々ごとにそ
の識別子及び当該制御点の位置に関するデータを記憶
し、該位置データは当該制御点の図形オブジェクトに対
する位置関係のデータであることが許される、制御点テ
ーブルと、(c)ユーザによる新たな図形オブジェクトの
制御点の設定に応答して、上記図形オブジェクト・テー
ブルと上記制御点テーブルを更新する手段を含む。さら
に、生成済の、または生成中の図形オブジェクトを表示
する手段をそなえていてよい。
【0014】上記制御点の図形オブジェクトに対する位
置関係のデータは、具体的には次のようなものである。
まず、制御点が図形オブジェクトの制御点の上に設定さ
れた場合には、その制御点の識別子である。制御点が2
つの図形オブジェクトによって定義される交点の上に設
定される場合には、その2つの図形オブジェクトの識別
子である。そして、上記交点を定義する図形オブジェク
トが2次曲線と線図形、または2次曲線と2次曲線であ
る場合には、上記位置関係データに交点識別データが含
まれる。制御点が既存の線分の内分点の上に設定される
場合には、該線分オブジェクトの識別子と内分の比率で
ある。制御点が円周上の点の上に設定される場合には、
円オブジェクトの識別子及び角度である。
【0015】本発明による、図形オブジェクトの変形又
は移動に追随して、当該図形オブジェクトに直接または
間接に幾何学的に拘束されて生成された図形オブジェク
トを描き直す装置は、(a)図形オブジェクトの各々ごと
にその識別子及び当該図形オブジェクトの制御点の識別
子を記憶する図形オブジェクト・テーブルと、(b)上記
制御点の各々ごとにその識別子及び当該制御点の位置に
関するデータを記憶し、該位置データは当該制御点の図
形オブジェクトに対する位置関係のデータであることが
許される、制御点テーブルと、(c)図形オブジェクトの
変形又は移動に応答して、上記図形オブジェクト・テー
ブルと上記制御点テーブルを参照し、上記図形オブジェ
クトに直接または間接に幾何学的に拘束されて生成され
た可能性のある図形オブジェクトの識別子を抽出する手
段と、(d)抽出された図形オブジェクトの制御点のう
ち、図形オブジェクトに対する位置関係データを有する
ものについて、その位置関係データに基づいて、座標値
を計算する手段と、(e)計算された座標値が元の値と異
なる制御点によって定義される図形オブジェクトを、該
計算された座標値に基づいて表示する手段を含む。
【実施例】以下、本発明の実施例を説明する。簡単のた
めに、本実施例の図形オブジェクト処理装置は制御点を
表1に示す5種類のスクリーン上の点の中から選ぶこと
によって、線分と円を作成・表示するものとする。
【0016】
【表1】
【0017】図11に示すように、本発明による図形オ
ブジェクト処理装置の1例は、制御装置(1)、数値演算
装置(2)、ディスプレイ制御装置(3)、ディスプレイ
(4)、マウス制御装置(5)、マウス(6)、座標計算装置
(7)、線分描画装置(8)、円描画装置(9)、図形オブジ
ェクト・テーブル(10)、制御点テーブル(11)及び交
点識別装置(90)からなる。制御装置(1)が全体の制御
を行う。必要な計算は、(2)の数値計算装置が行う。デ
ィスプレイ(4)およびマウス(6)の制御は、ディスプレ
イ制御装置(3)、マウス制御装置(5)が各々行う。テー
ブル(10)、(11)はメモリの中に形成され、それらの
データの書込、読出は、制御装置(1)が直接制御する。
装置(3)、(5)、(7)、(8)、(9)、(90)は、専用の
ハードウェアで実現されてもよいし、ソフトウェアの1
モジュールの形で実現されてもよい。
【0018】ディスプレイ(4)のスクリーン上に描かれ
ているすべての図形オブジェクトは、番号を付けられ、
図形オブジェクト・テーブル(10)に登録される。表2
に示すごとく、図形オブジェクト・テーブル(10)に登
録される制御点の項目は、「オブジェクト番号」、その
オブジェクトが線分か円か等を決める「タイプ」、そし
てそのオブジェクトを定義する1または複数の制御点の
「制御点番号」である。表2は、ディスプレイ・スクリ
ーン上に図12に示す線分(オブジェクト番号OBJ1)
と円(オブジェクト番号OBJ2)が表示されているとき
の図形オブジェクト・テーブル(10)の内容を示す。
【0019】
【表2】
【0020】制御点テーブル(11)は、画面上の図形オ
ブジェクトを定義する全ての制御点を管理する。図12
の4個の制御点CP1〜CP4が表1のcp-type-1、つ
まりスクリーン上の一般の座標点であるときの制御点テ
ーブルの内容を表3に示す。制御点テーブルの別の例を
表4に示す。下に示すごとく、表1の制御点のタイプに
応じて、制御点の持つ項目の数及び内容は異なる。表3
及び表4の生成過程については、後で触れる。
【0021】
【表3】
【0022】
【表4】
【0023】座標計算装置(7)は、制御点番号が入力さ
れると、その番号をキーにして制御点テーブル(11)か
ら制御点のタイプを表わす値を獲得し、タイプに応じて
スクリーン上での該制御点の座標値を計算し、出力す
る。この装置の動作は後で詳しく説明する。
【0024】図13は、図形オブジェクト処理装置の動
作時のディスプレイ(4)のスクリーンを示す。操作画面
のデザインは様々なものが考えられ、図13はその1例
である。(12)はマウス(6)の動きに応じて移動するマ
ウス・カーソル、(13)は図形オブジェクトの表示され
る表示域、(14)は線分を描くためのボタン領域、(1
5)は円を描くためのボタン領域、(16)〜(20)は制
御点のタイプを指定するボタン領域である。
【0025】以下、実施例の提供する図形生成機能を説
明する。まず、表示域(13)に、図12に示す図形オブ
ジェクトOBJ1、OBJ2を生成し、表示する場合を
例にとって説明する。図13の操作画面にしたがってこ
れらの図形オブジェクトを生成し描画する手順の1例は
次のようになる。
【0026】(i) 線分CP1・CP2をスクリーン上
に描く手順。 LS-1 ボタン(14)がマウス(12)でクリックされる
と、 装置は線分を描くモードに入る。 LS-2 スクリーン上に仮の点(TP1)が表示される。ユ
ーザは、これを表示域(13)の目的の場所に、マウス・
ボタンを押しながらマウス(6)を動かす(以下、ドラッ
グするという)ことにより動かす。 LS-3 ボタン(16)がマウスでクリックされると、その
時点でのTP1の座標値が制御点の座標値として決定さ
れる。その制御点には番号CP1が割り当てられる。こ
の実施例では、制御点番号として、設定された順番を表
わす数字が割り当てられる。 LS-4 制御点テーブルの制御点番号CP1の項目1に、
CP1がスクリーン上の一般の点であることを示す値 c
p-type-1が登録され、かつ決定された座標値が項目2に
登録される(表3参照)。
【0027】LS-5 スクリーン上に仮の点(TP2)が表
示される。ユーザは、これを表示域(13)の目的の場所
にマウスでドラッグして動かす。 この間、表示域(13)
に仮の線分CP1・TP2が表示されてもよい。 LS-6 ボタン(16)がマウスでクリックされると、その
時点でのTP2の座標値が新しい制御点の座標値として
決定される。その新しい制御点には制御点番号CP2が
割り当てられる。 LS-7 制御点テーブルの制御点番号CP2の項目1に、
CP2がスクリーン上の一般の点であることを示す値cp
-type-1が登録され、かつ決定された座標値が項目2に
登録される(表3参照)。以上で、線分の生成は完了す
る。この実施例では、生成された図形オブジェクトに、
生成された順番を表わす数字が割り当てられる。 LS-8 図形オブジェクトオブジェクト・テーブル(10)
の「オブジェクト番号」の項目にOBJ1が登録され、
項目「種類」にオブジェクトが線分であることを示す値
が登録され、かつ項目「制御点番号」にCP1、CP2
が登録される(表2参照)。 LS-9 CP1、CP2の座標値が線分描画装置(8)に渡
され、表示域(13)にCP1、CP2を端点とする線分
が表示される。線分を表示するための画素データの発生
方法は公知なので、説明を省く。
【0028】(ii) 点CP3が中心であり、点CP4が
その周上の点である円を描く手順 CS-1 ボタン(15)がマウスでクリックされると、 装
置は円を描くモードに入る。 CS-2 スクリーン上に仮の点(TP1)が表示される。ユ
ーザは、これを表示域(13)の目的の場所にマウスでド
ラッグして動かす。 CS-3 ボタン(16)がマウスでクリックされると、その
時点でのTP1の座標値が新しい制御点の座標値として
決定する。新しい制御点には、制御点番号CP3が割り
当てられる。 CS-4 制御点テーブルの制御点番号CP3の項目1に、
CP3がスクリーン上の一般の点であることを示す値cp
-type-1が登録され、かつ決定された座標値が項目2に
登録される(表3参照)。
【0029】CS-5 スクリーン上に仮の点(TP2)が表
示される。ユーザは、これを表示域(13)の目的の場所
にマウスでドラッグして動かす。この間、点CP3を中
心とし、点TP2を周上の点とする仮の円が表示域(1
3)に表示されてもよい。 CS-6 ボタンがマウスでクリックされると、その時点で
のTP2の座標値が新しい制御点の座標値として決定さ
れる。その新しい制御点には、制御点番号CP4が割り
当てられる。 CS-7 制御点テーブルの制御点番号CP4の項目1に、
CP4がスクリーン上の一般の点であることを示す値cp
-type-1が登録され、かつ決定された座標値が項目2に
登録される(表3参照)。 CS-8 図形オブジェクト(10)の「オブジェクト番号」
の項目にOBJ2が登録され、項目「種類」に円である
ことを示す値が登録され、かつ項目「制御点番号」にC
P3、CP4が登録される(表2参照)。 CS-9 CP3、CP4の座標値が円描画装置(9)に渡さ
れ、表示域(13)に中心がCP3でありCP4を周上の
1点とする円が表示される。円を表示するための画素デ
ータの発生方法は公知なので、説明を省く。
【0030】上述の線分を描画する手順の中で、制御点
を幾何学的に既存の図形オブジェクトと関連づけて設定
することができる。これは、以下のように行う。例とし
て、手順 LS-2、3、4について考える。
【0031】◆制御点を既存の制御点の上に設定する。 LS-2-1 図14に示すように、ユーザは、TP1をマウ
スでドラッグして、重ねたい既存の制御点の上に乗せ
る。 LS-3-1-1 ユーザが、ボタン(17)をマウスでクリック
する。 LS-3-1-2 制御点テーブルにある既存の制御点の中か
ら、その制御点有効範囲にTP1を含むものを選ぶ。制
御点有効範囲とは、その点を中心とし横DX、縦DYな
る矩形領域の事である(図15参照)。本実施例では、制
御点有効範囲はすべての制御点について一定であるとす
る。したがって、制御点テーブルの中に、制御点有効範
囲を記述する項目はなくてよい。もし、ユーザが制御点
毎に制御点有効範囲を可変にすることを望むならば、ユ
ーザが設定した有効範囲を登録する項目を制御点テーブ
ルの中に設ける必要がある。ここでは、表3の制御点テ
ーブルの中の制御点CP11が選ばれたとする。CP1
1は三角形T1を定義する点である。 LS-4-1 新しい制御点に番号が割り当てられ(CP12
とする)、項目1に制御点タイプの値cp-type-2が登録さ
れる。項目2には、制御点CP12の座標値として、LS
-3-1-2で選択された制御点CP11の座標値(x11、
y11)が登録される。項目3には制御点番号CP11
が登録される(表4参照)。これ以後、ステップLS-5〜LS
-9が実行されると、 図16に示す、点CP12と点C
P2を結ぶ線分L10が表示される。
【0032】◆制御点を既存の図形オブジェクトの交点
の上に設定する。 LS-2-2 TP1をマウスでドラッグして、 重ねたい既
存の図形オブジェクトの交点に乗せる(図17参照)。 LS-3-2-1 ユーザが、マウスでボタン(18)をクリック
する。 LS-3-2-2 既存の図形オブジェクトの中から考えうるす
べてのオブジェクトの対について、その対を構成する2
つのオブジェクトが交点を持つかどうかが調べられ、交
点を持つ場合には、交点の座標値とその2つのオブジェ
クトの番号が交点テーブル(表5)に登録される。円と線
分または円と円の交点の場合には、後で説明する交点識
別装置(90) を利用し、この装置から出力される座標
値と特性変数が交点テーブルに登録される。
【0033】
【表5】
【0034】LS-3-2-3 交点有効範囲内にTP1を含む
交点を、交点テーブルから選択する。交点有効範囲と
は、交点を中心とし横DX、縦DYなる矩形領域のこと
である(図18参照)。本実施例では、交点有効範囲はす
べての交点について一定であるとする。したがって、交
点テーブルの中に、交点有効範囲を記述する項目はなく
てよい。 LS-3-2-4 選択された交点が新しい制御点に決定され
る。割り当てられる制御点番号をCP13とする。 LS-4-2 制御点番号CP13の項目1に、制御点タイ
プの値cp-type-3が登録される。項目2にはLS-3-2-3で
選択された交点の座標が登録される。項目3、4には、
該交点を定義する二つのオブジェクトのオブジェクト番
号(OBJ3とOBJ4)が登録される。さらに、この2
つのオブジェクトのうち、少なくとも一方が円であるこ
とに応答して、項目5に、その交点の特性変数T0が登
録される(表4参照)。特性変数は、交点テーブルからわ
かる。これ以後、ステップLS-5〜LS-9が実行されると、
図19に示す、点CP13と点CP2を結ぶ線分L1
1が表示される。
【0035】ここで、交点識別装置(90)について説明
する。図20に示すように、一般に線分(L)と円(C)の
交点は2つ存在する。円と円の交点も2つ存在する。
今、図20の1つの交点を制御点K1とし、交点ではな
い点を制御点K0として、2次図形オブジェクトたる線
分L1を描いたとする。そして、図21に示すように、
線分(L)と円(C)を移動させたとする。このとき、新た
に形成される2つの交点のうちどちらがK1の移動結果
であるかがわからない限り、線分L1を描き直すことは
できない。しかし、交点識別装置(90)を使えば、線分
と円の2つの交点を識別し、追跡することが可能にな
る。したがって、図21において、2つの交点のどちら
がK1に対応するかを判別し、線分L1を描き直すこと
が可能になる。
【0036】交点識別装置(90)の動作は次の通りであ
る。 (I) 新規モードの場合には、線分(L)を定義するた
めの2つの点の座標値と、円(C)の方程式(中心の座標
と半径だけでもよい)が入力されると、2つの交点の座
標値とそれぞれに対応する特性変数を出力する(図22
参照)。 (II)継続モードの場合には、線分(L)を定義するた
めの2つの点の座標値、円(C)の方程式(中心の座標と
半径だけでもよい)、及び特性変数が入力されると、そ
の特性変数に対応する交点の座標値を出力する(図23
参照)。
【0037】ここで、このような動作の基本となる、連
立方程式の2つの解、すなわち2つの交点を特性変数を
用いて区別する方法について述べる。実施例では、ベク
トルの内積の符号を使って2つの交点を判別する。
【0038】図24に示すように、線分(L)の端点を
P、Qとし、円(C)との交点をK1、K2とする。ベク
トルαをP→Qで、ベクトルβをK1→K2で定義す
る。さらに各々の交点に固有の特性変数tを考える。特
性変数tの取る値は0または1とする。ベクトルの内積
k=α・βを計算し、k>0であるならば、交点K1の
特性変数tを0、交点K2の特性変数tを1とする(図
24参照)。k<0であるならば、交点K1の特性変数
tを1、交点K2の特性変数tを0とする(図25参
照)。αとβは常に平行であるから、その内積の符号を
調べることは、2つのベクトルの向きが同じか反対かを
調べることに一致する。そして、図24及び図25から
わかるように、2つの交点のどちらをK1と呼ぼうと
も、Pに近い方の交点の特性変数tは0となり、Qに近
い方の交点の特性変数tは1となる。このようにして1
つの交点を特性変数によって識別した場合、もとの図形
オブジェクト(L)、(C)が移動または変形しても、新た
に求まる2つの交点のどちらが元の交点に対応するもの
かを判別することが可能となる。すなわち、変化した後
の(L)、(C)の新しい連立方程式を解き、2つ求まる解
のうち、同じ特性変数を持つものを選べばよい。この方
法は、ベクトルの内積の符号を調べるだけなので、極め
て効率のよい交点の識別方法である。
【0039】交点の計算と特性変数の設定についてより
詳しく述べる。スクリーン上にxy座標系をとると、二
点P(xp、yp)、Q(xq、yq)を通る直線(A)は以
下の方程式で表せる。 (yp−yq)*x+(xq−xp)*y+(xp*yq−xq*yp)=0 ...(F1) また、点S(xs、ys)を中心とし半径rの円(C)は以
下の方程式で表せる。 (x−xs)**2+(y−ys)**2=r**2 ...(F2) ここで、「**2」は二乗を表わす。xp、yp、x
q、yq、xs、ys、及びrの値は直線、円が作成さ
れる時に決定されている(図26参照)。交点識別装置
(90)は、(F1)と(F2)を連立させて解き、この二つ
を同時に満足するx、yの組(x1、y1)と(x2、y
2)を求める。これら2つの解は直線(A)と円(C)の交
点K1及びK2の座標となる(図27参照)。
【0040】ここで、2つの2次元ベクトルα、βを考
える。αは直線(A)上の点Pから点Qへのベクトルで、
PからQへの向きを持つ。βは点K1からK2へのベク
トルで、K1からK2への向きを持つ。α、βを成分表
示すると以下のようになる。 α=(xq−xp、yq−yp) β=(x2−x1、y2−y1) αとβの内積kは、 k=|α|*|β|*cos(θ) =(xq−xp)*(x2−x1)+(yq−yp)*(y2−y1)...(F3) となる。
【0041】K1、K2は直線(A)上にあるから、αと
βは常に平行であり、cos(θ)は、常に、1か−1の
値の何れか一方を取る。従って(F3)より内積kの値を
計算して、その符号を調べれば、cos(θ)の値を決定
することができる。すなわちαに対してβが同じ向きを
持つのか、反対の向きを持つのかが一意に決定される。
このkの正負の特性を値0または1をとる特性変数tに
反映する。k>0であるならば、交点K1の特性変数t
が0、交点K2の特性変数tが1に設定される(図24
参照)。k<0であるならば、交点K1の特性変数tが
1、交点K2の特性変数tが0に設定される(図25参
照)。
【0042】新規モードの場合には、上述の処理によっ
て、求まる2つの交点の座標(x1、y1)、(x2、y
2)とそれぞれに対応する特性変数を出力する。継続モ
ードの場合には、上述の処理によって、2つの交点の座
標(x1、y1)と(x2、y2)とそれぞれに対応する特
性変数をもとめ、このうち特性変数が入力された特性変
数と同じ方の交点の座標を出力する。以上、交点が円と
線分によって定義される場合について説明したが、この
ベクトル・アプローチは、円と円の交点の識別にも適用
できる。即ち、実施例では、ベクトルの外積の1成分の
符号を使って2つの交点を判別する。
【0043】図28に示すように、円C1、C2の中心
をS1、S2とし、2つの交点をK1、K2とする。ベ
クトルαをP→Qで、ベクトルβをK1→K2で定義す
る。2つのベクトルを含む平面をxy平面とする。さら
に各々の交点に固有の特性変数tを考える。特性変数t
の取る値は0または1とする。ベクトルの外積k=αx
βを計算し、そのz成分kz>0であるならば、交点K
1の特性変数tを0、交点K2の特性変数tを1とする
(図29参照)。kz<0であるならば、交点K1の特性
変数tを1、交点K2の特性変数tを0とする(図30
参照)。αとβは常に直交するから、その外積の符号を
調べることは、交点K1またはK2が中心S1から見て
右にあるか左にあるかを調べることに一致する。そし
て、図29及び図30からわかるように、2つの交点の
どちらをK1と呼ぼうとも、中心S1から見て右にある
方の交点の特性変数tは0となり、左にある方の交点の
特性変数tは1となる。このようにして、2つの円によ
って定義される2つの交点を識別することが可能にな
る。
【0044】制御点を既存の図形オブジェクトに幾何学
的に関連づけて設定する方法の説明に戻る。 ◆制御点を既存の線分の内分点の上に設定する。 LS-2-3 TP1をマウスでドラッグして、 目標となる
既存の線分の上に乗せる(図30参照)。この線分のオブ
ジェクト番号をOBJ5とする。 LS-3-3-1 ボタン(19)がクリックされると、例えば特
願平2ー226812号に記述されている手段を用い
て、装置はユーザに線分上の点を選ばせるモードに入
る。選ばれた点が新しい制御点となるが、その割当番号
をCP14とする。 LS-3-3-2 選ばれた点の座標と線分OBJ5の端点の座
標から、内分の比率ratio1が計算される。例えば、選ば
れた点が中点の場合、ratio1 =0.5 となる。 LS-4-3 制御点番号CP14の項目1には制御点タイプ
の値cp-type-4が登録される。また、項目2には内分点
の座標、項目3にはこの内分点の乗っている線分のオブ
ジェクト番号OBJ5、項目4には内分の比率ratio1
が、それぞれ登録される(表4参照)。これ以後、ステッ
プLS-5〜LS-9が実行されると、図31に示す、点CP1
4と点CP2を結ぶ線分L12が表示される。
【0045】◆制御点を既存の円の周上に設定する。 LS-2-4 TP1をマウスでドラッグして、目標となる
既存の円の周上に乗せる(図32)。この円のオブジェク
ト番号をOBJ6とする。 LS-3-4-1 ボタン(20)がクリックされると、例えば特
願平2ー226812号に記述されている手段を用い
て、装置はユーザに周上の点を選ばせるモードに入る。
選ばれた点が新しい制御点となるが、その割当番号をC
P15とする。 LS-3-4-2 選ばれた円周上の点の座標、円の中心の座
標、および半径から、この円周上の点と円の中心を結ぶ
線分がスクリーンの水平線となす角theta1が計算され
る。 LS-4-4 制御点番号CP15の項目1には制御点タイプ
の値cp-type-5が登録される。また、項目2には円周上
の点の座標、項目3には円のオブジェクト番号OBJ
6、項目4には角theta1が登録される(表4参照)。これ
以後、ステップLS-5〜LS-9が実行されると、 図33に
示す、点CP15と点CP2を結ぶ線分L13表示され
る。
【0046】以上のようにして、既存の図形オブジェク
ト(1次図形オブジェクト)の頂点、交点、線分の内分
点、円周上の点等に制御点を設定することによって、図
形オブジェクト(2次図形オブジェクト)を描く。ここ
で、1次図形オブジェクト、2次図形オブジェクトの区
別は、相対的であることに留意されたい。例えば、図形
オブジェクトOB1に対して幾何学的に拘束された図形
オブジェクトOB2を生成し、さらに図形オブジェクト
OB2に対して幾何学的に拘束された図形オブジェクト
OB3を生成することも可能である。その場合、OB2
はOB1との関係においては2次図形オブジェクトであ
るけれども、OB3との関係においては1次図形オブジ
ェクトである。また、OB2はOB1の直接の2次図形
オブジェクトであり、OB3はOB1の間接の2次図形
オブジェクトである。
【0047】次に、1次図形オブジェクトの変形・移動
に追随させて、2次図形オブジェクトを描き直す方法を
述べる。cp-type-1以外の、2次図形オブジェクトを定
義する制御点は、その位置に関するデータとして、他の
図形オブジェクトに対する位置関係のデータを制御点テ
ーブルの中に保持している。つまり、表4に示すよう
に、制御点項目には、1次図形オブジェクトの番号また
はその制御点の番号などが登録されている。座標計算装
置(7)は、そのような制御点の位置関係データを利用し
て、制御点の最新の座標値を計算する。そして、1次図
形オブジェクトに変更があった場合に、それに幾何学的
に拘束された2次図形オブジェクトがあるならば、該2
次図形オブジェクトをスクリーンから消去し、制御点テ
ーブルの制御点の値を更新して、再度2次図形オブジェ
クトを表示する。
【0048】図34は、座標計算装置(7)が、制御点の
タイプに応じて、制御点の座標を計算する手順を示す。
制御点番号が入力されると、座標計算装置(7)は、制御
点テーブルからその番号に相当する制御点のタイプを知
り、タイプに応じた方法で最新の座標値を計算して出力
する。
【0049】CC-1 制御点タイプが「スクリーンの一般
の点」の場合(表4のCP11)制御点項目2の座標値が
そのまま出力される。 CC-2 制御点タイプが「既存の制御点」の場合(表4の
CP12)制御点項目3の「既存の制御点の番号」が再
度座標計算装置に入力され、その座標値が獲得される。
この値が制御点項目2に登録され、かつ出力される。
【0050】CC-3 制御点タイプが「既存の図形オブジ
ェクトの交点」の場合(表4のCP13)制御点項目3、
4には交点を作る2つの図形オブジェクトのオブジェク
ト番号が登録されいる。まず、制御点項目3の図形オブ
ジェクト番号を持つ図形オブジェクトを構成する2つの
制御点が、図形オブジェクト・テーブルを探すことによ
って求まる。そして、夫々の最新の座標値(xp1、yp1)、
(xp2、yp2)が、この座標計算装置を再帰的に使用するこ
とによって計算される。同様に、制御点項目4の図形オ
ブジェクトオブジェクト番号を持つ図形オブジェクトを
構成する2つの制御点が求まり、その最新の座標値(xq
1、yq1)、 (xq2、yq2) が計算される。以後の処理は、
交点を作る図形オブジェクトのタイプに応じて異なる。
【0051】i) 交点を作る図形オブジェクトが2つと
も線分の場合 (xp1、yp1)と(xp2、yp2)は一方の線分の端点の座標値、
(xq1、yq1)と(xq2、yq2)は他方の線分の端点の座標値
となる。以下の連立方程式の解が求める座標値となる。
求まった座標値は制御点項目2に登録され、かつ出力さ
れる。 (yp1-yp2)*x+(xp2-xp1)*y+(xp1*yp2-xp2*yp1)=0 ...制御点項目3の線分の方程式 (yq1-yq2)*x+(xq2-xq1)*y+(xq1*yq2-xq2*yq1)=0 ...制御点項目4の線分の方程式 ii) 交点を作る図形オブジェクトが線分と円の場合 制御点項目3の図形オブジェクトを線分、制御点項目4
の図形オブジェクトを円とする。 (xp1、yp1)と(xp2、y
p2)は線分の端点の座標値、(xq1、yq1)は円の中心の座
標値、(xq2、yq2)は円周上の一点の座標値である。以下
の連立方程式の解が求める座標値となる。求まった座標
値は制御点項目2に登録されるとともに、出力される。
その際、実際の計算と、2つ求まる解のうちどちらを選
択するかという判断は、交点識別装置(90)によって行
われる。すなわち、線分の2つの端点の座標値、円の中
心の座標値、円の半径、及び制御点項目5の、当該交点
に対応する特性変数を交点識別装置(90)に入力して、
出力された座標値が求める座標値となる。 (yp1-yp2)*x+(xp2-xp1)*y+(xp1*yp2-xp2*yp1)=0 ...制御点項目3の線分の方程式 (x-xq1)**2+(y-yq1)**2=r**2 ...制御点項目4の円の方程式 ただし、 r=sqrt( (xq2-xq1)**2+(yq2-yq1)**2 )
【0052】iii) 交点を作る図形オブジェクトが線分
と円の場合 2つの円の方程式を連立させて解く点を除き、ii)の場
合と同じである。この場合も、実質的な処理は交点識別
装置(90)によって行われる。
【0053】CC-4 制御点タイプが「線分の内分点」の
場合(表4のCP14)制御点項目3に対象となる線分の
図形オブジェクト番号が、制御点項目4に内分の比率 r
atio1 が登録されている。制御点項目3の図形オブジェ
クト番号を持つ図形オブジェクトを構成する2つの制御
点が、図形オブジェクト・テーブルを探すことによって
見つかる。座標計算装置を再帰的に用いることにより、
夫々の最新の座標値(xp1、yp1)、(xp2、yp2) が計算さ
れる。これを用いて、以下の式により新しい内分点の座
標値が計算される。求まった座標値は、項目2に登録さ
れ、かつ出力される。 x=xp1+(xp2-xp1)*ratio1 y=yp1+(yp2-yp1)*ratio1
【0054】CC-5 制御点タイプが「円上の点」の場合
(表4のCP15)制御点項目3に対象となる円の図形オ
ブジェクト番号が、制御点項目4に角度の値 theta1 が
登録されている。制御点項目3の図形オブジェクト番号
を持つ図形オブジェクトを構成する2つの制御点が、図
形オブジェクト・テーブルを探すことにより求まる。座
標計算装置を再帰的に使用することにより、夫々の最新
の座標値(xp1、yp1)、(xp2、yp2)が計算される。これを
用いて、以下の式により新しい内分点の座標が計算され
る。求まった座標値は、項目2に登録され、かつ出力さ
れる。 x=xp1+r*cos(theta1) y=yp1+r*sin(theta1) ただし、 r=sqrt( (xp2-xp1)**2+(yp2-yp1)**2 )、(xp
1、yp1)は円の中心の座標値、(xp2、yp2)は円周上の一
点の座標値である。
【0055】1次図形の変形とそれに追随して2次図形
の変形が行われる手順を、図35のオブジェクトOBJ
1とOBJ100を例にとって説明する。図35に対応
する図形オブジェクト・テーブルを表6に、制御点テー
ブルを表7に、それぞれ示す。
【0056】
【表6】
【0057】
【表7】
【0058】図35の点CP1を動かす場合について説
明する。 rs-1 ユーザがマウス・カーソルをCP1の近傍に移動
させて、マウスのボタンを押すと、制御点テーブル中の
制御点の中から、マウス・カーソルの指示する点をその
制御点有効範囲に含むものが選択される。選択された制
御点(この場合はCP1)は、更新対象として認識され
る。
【0059】rs-2 さらにユーザがマウス・カーソルを
移動させ、目的の位置でマウスのボタンを押すと、その
時点でのマウス・カーソルの指示する位置の座標値(x
1’、y1’)が、制御点CP1の項目2に登録され
る。 rs-3 制御点テーブルでのCP1の座標値が更新される
のに応答して再描画処理(図36)が開始される。
【0060】再描画処理は、少なくとも1つのcp-type-
1の制御点の座標値の変更に応答して開始され、少なく
とも1つの制御点の座標値が変更される図形オブジェク
トを発見し、発見された図形オブジェクトを描き直す。
図36の再描画処理において、N=OBJ2である場合
について説明する。(図36で、Nは図形オブジェクト
の番号であり、nは1の図形オブジェクトを定義する制
御点の番号である。)まず、図形オブジェクト・テーブ
ルが調べられて、OBJ2は制御点CP3、CP4より
定義されることがわかる(ss-1)。次に、制御点テーブル
からCP3、CP4のタイプの情報が獲得される(ss-
2)。次に、CP3、CP4はcp-type-1であるかが判断
される。CP3、CP4はどちらもcp-type-1(スクリー
ンの一般の点)であることから、なんらOBJ1の変更
に影響を受けない。従って、この二点によって決定され
る円(OBJ2)もOBJ1変更の影響を受けないので、
ss-4以後のステップはスキップされる。つまり、OBJ
2は再描画されない。
【0061】再描画処理において、N=OBJ100の
線分である場合について説明する。まず、図形オブジェ
クト・テーブルが調べられ、OBJ100は制御点CP
100、CP101より定義されることがわかる(ss-
1)。次に、制御点テーブルからCP100、CP101
のタイプの情報が獲得される(ss-2)。次に、CP10
0、CP101は、cp-type-1であるかが判断される。
ここで、CP100は、cp-type-4であり、図形オブジ
ェクトに対して幾何学的に関連づけられた点である。し
たがって、図形オブジェクトOBJ1の位置の変更の影
響を受ける可能性があると判断される。
【0062】ここで、CP100はまさに図形オブジェ
クトOBJ1に対して直接幾何学的に関連づけられた点
であるから、その位置の変更の影響を受けることは確実
である。だが、たとえCP100が直接には他の図形オ
ブジェクトと幾何学的に関連づけられていない点だとし
ても、その図形オブジェクトが図形オブジェクトOBJ
1に関して直接または間接の2次図形オブジェクトであ
る可能性を否定できない。よって、少なくとも1の制御
点のタイプがcp-type-1でないならば、次のss-4に進
み、すべての制御点の座標値の再計算が行われることに
留意されたい。
【0063】ss-4では、CP100の座標値が、OBJ
1の幾何情報(つまり、CP1とCP2の座標データ)と
ratio100(比率の値)を用いて、座標計算装置の
CC−4機能により計算される。CP101の座標値は
座標計算装置のCC−1機能により計算される。次に、
計算結果が元の座標値と異なる制御点の有無が判断され
る(ss-5)。今の例では、CP100の座標値が(x10
0’、y100’)に変化している。したがって、制御
点テーブルのCP100の項目2が更新され、更新後の
座標値を使って、図形オブジェクトOBJ100の再描
画が行われる。
【0064】以上のようにして、図形オブジェクトOB
J1の変更に応じて、OBJ1はもちろん、OBJ1と
直接または間接に幾何学的に拘束されて生成された図形
オブジェクトを、OBJ1の変更が反映されるように表
示し直すことができる(図37)。同じ再描画処理の手順
にしたがえば、図16の三角形T1の変形に追随して、
線分L10を表示し直される(図38)。また、図19の
線分(OBJ3)の変形に追随して、線分L11が表示し
直され(図39)、図33の円(OBJ6)の移動に追随し
て、線分L13が表示し直される(図40)。
【0065】図形オブジェクトOBJ1の平行移動、回
転移動、拡大または縮小を行った場合には、オブジェク
ト1の新たな位置が確定した時点で制御点テーブルのC
P1とCP2の座標値が同時に更新され、それに基づい
てCP100の座標が計算・更新される。その座標を更
新されたCP100とCP101を結んで線分を描け
ば、図形オブジェクトOBJ1の移動に追随して変形さ
れた図形オブジェクトOBJ2が表示される。図形オブ
ジェクトを選択して平行移動等のオブジェクト単位の編
集を行う方法は公知なので、説明を省く。
【0066】なお、座標計算装置(図34)と再描画処理
(図36)には、いくつかの変形例が考えられる。例え
ば、最描画処理のステップss-4の冒頭に制御点のタイプ
がcp-type-1であるか否かを判断するステップを加え、
タイプcp-type-1の制御点の座標の計算をスキップする
ようにしてもよい。その場合、座標計算装置は機能cc-1
を持たなくてもよい。
【0067】以上、本発明を、線分と円を作成・再描画
する実施例について説明した。もちろん、本発明の適用
範囲はこれに限られない。直線や半直線は、それを通過
する2点で定義できるのであるから、線分と同様にして
作成・修正することができる。点、多角形、円以外の2
次曲線、3次元立体も制御点を使って定義可能であるか
ら、本発明を適用することができる。例えば、点は、1
つの制御点だけで図形オブジェクトが定義される。本発
明にしたがって点図形オブジェクトの制御点を既存の線
分の中点の上に設定したならば、線分が1次図形オブジ
ェクトであり、点が2次図形オブジェクトである。その
ような線分と制御点の関係を制御点テーブルに記述して
おくことによって、点図形オブジェクトを常に線分の中
点の上に拘束することが可能である。また、3次元空間
の平面は、3点によって定義される。本発明にしたがっ
て平面の制御点を3つの円錐の頂点の上に設定し、制御
点と円錐の関係を制御点テーブルに記述すれば、1以上
の円錐の移動に追随させて平面を描き直すことができ
る。
【0068】また、制御点の種類は表1に示したものに
限られないことに注意されたい。表1の点は、スクリー
ンの一般の点のほかは、すべて既存の図形オブジェクト
の上の点である。このほか、既存の図形オブジェクトの
上にはないけれども、それに対して幾何学的に関連づけ
られる点であってもよい。そのような点の1例は、線分
の外分点である。
【0069】また、図形オブジェクトを表示する装置
は、ディスプレイ以外の装置、例えばプリンタであって
ももよい。しかし、図形の変形または移動の指示は、デ
ィスプレイ・スクリーン上でマウスを使いながら行うの
が最も好ましい。最後に、本発明は、図形オブジェクト
の表示アルゴリズムに関係なく適用可能であることに留
意されたい。曲線の場合には、連続線分で近似して表示
することが一般的である(例えば特開平2ー25017
8号公報参照)。その場合には、図形オブジェクトを表
わす連続線分のデータを蓄積するテーブルが設けられ
る。
【0070】
【発明の効果】本発明によれば、図形オブジェクトに対
して幾何学的に拘束された制御点に関して、設定位置の
座標値に束縛されないデータが保存される。また、本発
明によれば、多数の図形オブジェクトが錯綜していて
も、1の図形オブジェクトの移動または変形に応答し
て、当該図形オブジェクトに直接または間接に幾何学的
に拘束されて生成された図形オブジェクトを、拘束関係
が維持されるように描き直すことができる。加えて、図
形オブジェクトの平行・回転移動及び拡大・縮小以外の
態様での移動又は変形に対応することができる。
【図面の簡単な説明】
【図1】制御点を用いた図形オブジェクトの定義の説明
図である。
【図2】制御点を用いた図形オブジェクトの定義の説明
図である。
【図3】従来技術例1の説明図である。
【図4】従来技術例1の問題点の説明図である。
【図5】従来技術例2の説明図である。
【図6】従来技術例2で用いる連結情報の説明図であ
る。
【図7】従来技術例2による、図5の図形オブジェクト
の変形の説明図である。
【図8】従来技術例2で可能な図形の変形の説明図であ
る。
【図9】従来技術例2で可能な図形の変形の説明図であ
る。
【図10】従来技術例2の問題点の説明図である。
【図11】本発明の実施例の構成要素を示すブロック図
である。
【図12】実施例で処理される図形オブジェクトの例を
示す図である。
【図13】実施例の動作時のディスプレイ・スクリーン
を示す図である。
【図14】2次図形オブジェクトの作成例を示す図であ
る。
【図15】制御点有効範囲の説明図である。
【図16】2次図形オブジェクトの作成例を示す図であ
る。
【図17】2次図形オブジェクトの作成例を示す図であ
る。
【図18】交点有効範囲の説明図である。
【図19】2次図形オブジェクトの作成例を示す図であ
る。
【図20】円と線分の交点を示す図である。
【図21】制御点が円と線分の交点である場合に生じる
問題点の説明図である。
【図22】交点識別装置の新規モードの説明図である。
【図23】交点識別装置の継続モードの説明図である。
【図24】交点識別の原理の説明図である。
【図25】交点識別の原理の説明図である。
【図26】交点識別装置の動作の説明図である。
【図27】交点識別装置の動作の説明図である。
【図28】交点識別の原理の説明図である。
【図29】交点識別の原理の説明図である。
【図30】2次図形オブジェクトの作成例を示す図であ
る。
【図31】2次図形オブジェクトの作成例を示す図であ
る。
【図32】2次図形オブジェクトの作成例を示す図であ
る。
【図33】2次図形オブジェクトの作成例を示す図であ
る。
【図34】座標計算装置の動作を示すフローチャートで
ある。
【図35】1次図形オブジェクトの変形前のディスプレ
イ・スクリーンを示す図である。
【図36】再描画処理を示すフローチャートである。
【図37】1次図形オブジェクトの変形後のディスプレ
イ・スクリーンを示す図である。
【図38】1次図形オブジェクトの変形後のディスプレ
イ・スクリーンを示す図である。
【図39】1次図形オブジェクトの変形後のディスプレ
イ・スクリーンを示す図である。
【図40】1次図形オブジェクトの移動後のディスプレ
イ・スクリーンを示す図である。
【符号の説明】
10 図形オブジェクト・テーブル 11 制御点テーブル
フロントページの続き (56)参考文献 特開 平3−206564(JP,A) 特開 平2−183376(JP,A) 情報処理学会グラフィックスとCAD シンポジウム論文集,88〜5!(昭63− 10−25,26)P.181−190(幾何学的拘 束条件に基づく形状モデリング)

Claims (14)

    (57)【特許請求の範囲】
  1. 【請求項1】図形オブジェクトの変形又は移動に追随し
    て、当該図形オブジェクトに直接または間接に関連付け
    られた制御点(図形オブジェクトを定義するための点)
    をもつ図形オブジェクトを描き直す装置であって、 (a)ユーザによる上記図形オブジェクトの制御点の設定
    を入力する手段と、 (b)図形オブジェクトとに、その識別子、図形タイ
    プ及び当該図形オブジェクトの制御点の識別子を記憶す
    る図形オブジェクト・テーブルと、 (c)上記図形オブジェクト・テーブルで管理される図形
    オブジェクトの制御点とに、その識別子、制御点タ
    イプ及び当該制御点の位置に関するデータを記憶する制
    御点テーブルであって、該位置データは、該制御点が他
    の図形オブジェクトに関係付けられていることを該制御
    点タイプ・データが示す場合には該制御点の計算に必要
    な当該他の図形オブジェクトに関するデータ項目(以
    下、位置関係データと呼ぶ)を含む、制御点テーブル
    と、 (d)図形オブジェクトの変形又は移動に応答して、上記
    図形オブジェクト・テーブルと上記制御点テーブルを参
    照し、変形又は移動される図形オブジェクトに直接また
    は間接に関連付けられた制御点を含む図形オブジェクト
    の識別子を抽出する手段と、 (e)抽出された図形オブジェクトの制御点の座標値を、
    その位置関係データに基づき計算する手段と、 (f)計算された座標値が元の値と異なる制御点によって
    定義される図形オブジェクトを、該計算された座標値に
    基づいて生成し表示する手段を含む図形オブジェクト処
    理装置。
  2. 【請求項2】上記手段(e)の計算結果に応じて上記制御
    点テーブルを更新する手段を含む請求項1記載の装置。
  3. 【請求項3】上記手段(d)は、1の図形オブジェクトを
    定義する制御点の少なくとも1つが上記変形又は移動さ
    れる図形オブジェクトに対する位置関係データを有する
    ことに応答して、当該1の図形オブジェクトの識別子を
    抽出する請求項1記載の装置。
  4. 【請求項4】上記手段(e)は、上記制御点が既に生成済
    の図形オブジェクトの制御点の上に設定されたものであ
    れば、当該図形オブジェクトの制御点の識別子を含む上
    記位置関係データに基づき、その座標点を計算する、請
    求項1に記載の装置。
  5. 【請求項5】上記手段(e)は、上記制御点が2つの図形
    オブジェクトの交点の上に設定されたものであれば、当
    該2つの図形オブジェクトの制御点の識別子を含む上記
    位置関係データに基づき、その座標点を計算する、請求
    項1に記載の装置。
  6. 【請求項6】上記手段(e)は、上記制御点が線分オブジ
    ェクトの内分点として設定されたものであれば、当該線
    分オブジェクトの識別子と内分比率を含む上記位置関係
    データに基づき、その座標点を計算する、請求項1に記
    載の装置。
  7. 【請求項7】上記手段(e)は、上記制御点が円オブジェ
    クトの円周上に設定されたものであれば、当該円オブジ
    ェクトの識別子及び角度を含む上記位置関係データに基
    づき、その座標点を計算する、請求項1に記載の装置。
  8. 【請求項8】図形オブジェクトを定義する点(以下、制
    御点と呼ぶ)のユーザによる設定を入力手段から受け取
    る手段と、当該図形オブジェクトの各々ごとに、その識
    別子、図形タイプ及び当該図形オブジェクトの制御点の
    識別子を記憶する図形オブジェクト・テーブルと、該図
    形オブジェクト・テーブルで管理される図形オブジェク
    トの制御点とに、その識別子、制御点タイプ及び当
    該制御点の位置に関するデータを記憶する制御点テーブ
    ルであって、該位置データは、該制御点が他の図形オブ
    ジェクトに関係付けられていることを該制御点タイプ・
    データが示す場合には該制御点の計算に必要な当該他の
    図形オブジェクトに関するデータ項目(以下、位置関係
    データと呼ぶ)を含む、制御点テーブルと、生成済また
    は生成中の図形オブジェクトを表示する手段とを具備す
    る図形オブジェクト処理装置において、 図形オブジェクトの変形又は移動に追随して、当該図形
    オブジェクトに直接または間接に関連付けられた制御点
    をもつ図形オブジェクトを描き直すための方法であっ
    て、 (a)図形オブジェクトの変形又は移動に応答して、上記
    図形オブジェクト・テーブルと上記制御点テーブルを参
    照し、変形又は移動される図形オブジェクトに直接また
    は間接に関連付けられた制御点を含む図形オブジェクト
    の識別子を抽出し、 (b)抽出された図形オブジェクトの制御点の標値を
    の位置関係データに基づき計算し、 (c)計算された座標値が元の値と異なる制御点によって
    定義される図形オブジェクトを、該計算された座標値に
    基づいて生成し上記表示手段上に表示するステップを含
    む図形オブジェクト処理方法。
  9. 【請求項9】上記ステップ(b)の計算結果に応じて上記
    制御点テーブルを更新するステップを含む請求項8記載
    の方法。
  10. 【請求項10】上記ステップ(a)では、1の図形オブジ
    ェクトを定義する制御点の少なくとも1つが上記変形又
    は移動される図形オブジェクトに対する位置関係データ
    を有することに応答して、当該1の図形オブジェクトの
    識別子を抽出する請求項8記載の方法。
  11. 【請求項11】上記ステップ(b)は、上記制御点が既に
    生成済の図形オブジェクトの制御点の上に設定されたも
    のであれば、当該図形オブジェクトの制御点の識別子を
    含む上記位置関係のデータに基づき、その座標点を計算
    する、請求項8に記載の方法。
  12. 【請求項12】上記ステップ(b)は、上記制御点が2つ
    の図形オブジェクトの交点の上に設定されたものであれ
    ば、当該2つの図形オブジェクトの制御点の識別子を含
    む上記位置関係データに基づき、その座標点を計算す
    る、請求項8に記載の方法。
  13. 【請求項13】上記ステップ(b)は、上記制御点が線分
    オブジェクトの内分点として設定されたものであれば、
    当該線分オブジェクトの識別子と内分比率を含む上記位
    置関係データに基づき、その座標点を計算する、請求項
    8に記載の方法。
  14. 【請求項14】上記ステップ(b)は、上記制御点が円オ
    ブジェクトの円周上に設定されたものであれば、当該円
    オブジェクトの識別子及び角度を含む上記位置関係デー
    タに基づき、その座標点を計算する、請求項8に記載の
    方法。
JP2415177A 1990-12-27 1990-12-27 図形オブジェクト処理装置及び方法 Expired - Fee Related JP2577510B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2415177A JP2577510B2 (ja) 1990-12-27 1990-12-27 図形オブジェクト処理装置及び方法
CA002057130A CA2057130A1 (en) 1990-12-27 1991-12-05 System and method for handling graphics objects
EP19910311524 EP0492901A3 (en) 1990-12-27 1991-12-11 Apparatus for and method of handling graphics objects
US08/200,835 US5452411A (en) 1990-12-27 1994-02-22 System and method for generating graphics objects constrained by previously generated graphics objects

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2415177A JP2577510B2 (ja) 1990-12-27 1990-12-27 図形オブジェクト処理装置及び方法

Publications (2)

Publication Number Publication Date
JPH04230579A JPH04230579A (ja) 1992-08-19
JP2577510B2 true JP2577510B2 (ja) 1997-02-05

Family

ID=18523574

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2415177A Expired - Fee Related JP2577510B2 (ja) 1990-12-27 1990-12-27 図形オブジェクト処理装置及び方法

Country Status (4)

Country Link
US (1) US5452411A (ja)
EP (1) EP0492901A3 (ja)
JP (1) JP2577510B2 (ja)
CA (1) CA2057130A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994006090A1 (en) * 1992-09-10 1994-03-17 Fujitsu Limited Graphic editor and processing method
JP3066680B2 (ja) * 1992-09-18 2000-07-17 富士通株式会社 寸法・幾何拘束の自動編集方式
US5771342A (en) * 1995-06-05 1998-06-23 Saltire Software Method and apparatus for dynamically displaying consistently dimensioned two-dimensional drawings
US5825368A (en) * 1995-12-27 1998-10-20 Lucent Technologies Inc. Method and apparatus for rendering graphical components on a display utilizing geometric constraints
US5844566A (en) * 1996-02-12 1998-12-01 Dassault Systemes Method and apparatus for controlling shadow geometry on computer displays
US20040085293A1 (en) * 1999-06-18 2004-05-06 Soper Craig Ivan Spatial data management system and method
EP1376476A1 (en) * 2002-06-18 2004-01-02 Autodesk, Inc. Problem solving by a CAD program
US7467326B2 (en) * 2003-02-28 2008-12-16 Maxwell Technologies, Inc. Self-correcting computer
US20080263088A1 (en) * 2006-11-16 2008-10-23 Corran Webster Spatial Data Management System and Method
JP2009134537A (ja) * 2007-11-30 2009-06-18 Toyohashi Univ Of Technology 図形処理装置および図形処理プログラム
US9280866B2 (en) 2010-11-15 2016-03-08 Bally Gaming, Inc. System and method for analyzing and predicting casino key play indicators
JP2016122322A (ja) * 2014-12-25 2016-07-07 株式会社東芝 プラント監視制御装置およびその装置における系統図変換方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE793543A (fr) * 1971-12-30 1973-04-16 Ibm Methodes de codage de position de mecanismes
JPS6093436A (ja) * 1983-10-28 1985-05-25 Hitachi Tobu Semiconductor Ltd 電子部品実装配線基板の設計作図装置
US4683468A (en) * 1985-03-11 1987-07-28 International Business Machines Corp. Method for manipulation of graphic sub-objects in an interactive draw graphic system
US4663616A (en) * 1985-06-25 1987-05-05 International Business Machines Corp. Attachment of lines to objects in interactive draw graphics
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
US4912657A (en) * 1986-10-30 1990-03-27 Synthesis, Inc. Method and systems for generating parametric designs
US5081594A (en) * 1989-01-31 1992-01-14 Kroy Inc. Real-time rasterization system for a column-oriented printing apparatus or the like
US5297057A (en) * 1989-06-13 1994-03-22 Schlumberger Technologies, Inc. Method and apparatus for design and optimization for simulation of motion of mechanical linkages

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
情報処理学会グラフィックスとCADシンポジウム論文集,88〜5!(昭63−10−25,26)P.181−190(幾何学的拘束条件に基づく形状モデリング)

Also Published As

Publication number Publication date
EP0492901A3 (en) 1993-03-31
EP0492901A2 (en) 1992-07-01
US5452411A (en) 1995-09-19
JPH04230579A (ja) 1992-08-19
CA2057130A1 (en) 1992-06-28

Similar Documents

Publication Publication Date Title
JP2804224B2 (ja) ネットワーク図描画方法およびシステム
JP2577510B2 (ja) 図形オブジェクト処理装置及び方法
JPH03250267A (ja) 画像表示装置及び画像表示方法
JPH10283158A (ja) ウィンドウの立体表示装置及びその方法
JPS62288979A (ja) コンピュータ援助設計方法及び装置
JP2001526813A (ja) 基準ベースのパラメータ寸法決定方法及びシステム
US5483626A (en) Method and apparatus for transforming graphics
US11204679B1 (en) Snapping objects into alignment in three-dimensional space
JP3599198B2 (ja) 図形編集装置
EP0710381B1 (en) Object-oriented graphic sweep method and system
US5519819A (en) Graphic moving/transforming method and apparatus
US20010033280A1 (en) Three-dimensional model processing apparatus, method and program providing medium
JP3470771B2 (ja) 投影面連動表示装置
JPH1031757A (ja) 図形処理装置および要素間最短距離算出方法
JP3451293B2 (ja) 図形変形装置
JPH02250178A (ja) 図形作成装置
JPH07200875A (ja) 3次元モデルの表示位置変更方法
JPH03180979A (ja) マルチプロセッサ・グラフィック・システム
JPH08335277A (ja) 図形処理装置
JPH046034B2 (ja)
JP2571178B2 (ja) 3次元図形処理装置
JP3381978B2 (ja) データ入力装置
JPH07200874A (ja) 3次元cadシステムにおける2次元図面の作成方法
JPH07134781A (ja) 3次元対象物回転指示方法
JPH09153078A (ja) 図形処理装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees