JP3339648B2 - 情報処理装置及び描画方法 - Google Patents

情報処理装置及び描画方法

Info

Publication number
JP3339648B2
JP3339648B2 JP18563293A JP18563293A JP3339648B2 JP 3339648 B2 JP3339648 B2 JP 3339648B2 JP 18563293 A JP18563293 A JP 18563293A JP 18563293 A JP18563293 A JP 18563293A JP 3339648 B2 JP3339648 B2 JP 3339648B2
Authority
JP
Japan
Prior art keywords
point
anchor
points
control
input
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
JP18563293A
Other languages
English (en)
Other versions
JPH0785302A (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 株式会社ジャストシステム
Priority to JP18563293A priority Critical patent/JP3339648B2/ja
Publication of JPH0785302A publication Critical patent/JPH0785302A/ja
Application granted granted Critical
Publication of JP3339648B2 publication Critical patent/JP3339648B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、情報処理装置に係
り、詳細には、ベジェ曲線の描画機能を備えた情報処理
装置及び描画方法に関する。
【0002】
【従来の技術】パーソナルコンピュータやオフィスコン
ピュータ、ワークテーション、電子出版システム、ワー
ドプロセッサその他各種の情報処理装置が、オフィス、
工場、設計事務所、家庭等に普及し、広く使用されてい
る。このような情報処理装置において、道路地図や建築
図面等の各種図面を作成する場合、曲線を描画すること
が必要となり、その方法としてスプライン関数によるス
プライン曲線を使用する場合と、ベジェ関数によるベジ
ェ曲線を使用する場合がある。図16はこのスプライン
曲線とベジェ曲線による曲線の描画について表したもの
である。スプライン曲線の描画は、図16(a)に示す
ように、複数の指示点81を入力し、この各点を通過す
る曲線をスプライン関数に従って計算し、描画するもの
である。一方、ベジェ曲線の描画は、4つの制御点によ
り描画するもので、始点となるアンカーポイント90、
終点となるアンカーポイント93、および2つのコント
ロールポイント91、92を入力し、アンカーポイント
90、93を通過し、コントロール91、92の内側を
通過する曲線が描画される。
【0003】
【発明が解決しようとする課題】しかし、スプライン曲
線およびベジェ曲線は次のような問題があった。すなわ
ち、スプライン曲線は、描画者がイメージしている曲線
を比較的初心者でも容易に描画することが可能である
が、指定点を多く入力する必要がある。また、図16
(a)の曲線から図17(a)の曲線に変形するときに
も、多くの指定点を移動する必要があり、各指定点間8
1の間隔が少しでもずれると同一の曲線とすることがで
きず、連続性が悪くなり思った形状にならない。更に、
スプライン曲線は、指示点が全て決定しないと曲線を描
画できず、指示点の数が増えるに従って、指示点におけ
る傾きを求める計算が加速度的に増加しするという問題
がある。
【0004】一方、ベジェ曲線は、スプライン曲線にく
らべて入力する制御点が4点と少なく、図16(b)の
ベジェ曲線から図17(b)のベジェ曲線への変形が楽
である。その反面、アンカーポイント90(始点)、コ
ントロールポイント91、アンカーポイント93(終
点)、コントロールポイント92の順に制御点を入力す
る必要がある。すなわち、曲線上にないコントロールポ
イントを入力する必要があるため、曲線の通過点を順次
入力していくスプライン曲線に比べると、入力する曲線
をイメージしにくいという欠点がある。このため、アン
カーポイントとコントロールポイントを指定してベジェ
曲線を描画するのは操作が複雑であり、初心者向きでは
なかった。
【0005】また、ベジェ曲線を描画しているときに
は、アンカーポイントとコントロールポイントの4点を
入力しなければならず、直線、円弧、楕円弧等の図形を
4点入力によるベジェ曲線で描画するのは、操作者の経
験とテクニックを必要とし、描画が困難であつた。その
ため、ベジェ曲線とベジェ曲線の間に直線を描画する必
要が生じた場合、従来では、一度ベジェ曲線描画モード
を終了し、直線描画モードに変更した後に必要な直線を
描画し、再びベジェ曲線描画モードに戻る必要があり、
操作性が悪いという問題があった。
【0006】そこで、本発明は、描画したい曲線をイメ
ージしながら容易にベジェ曲線を描画することが可能な
情報処理装置を提供することを第1の目的とする。ま
た、本発明は、描画したい曲線をイメージしながら容易
にベジェ曲線を描画することが可能な描画方法を提供す
ることを第1の目的とする。
【0007】
【課題を解決するための手段】請求項1記載の発明で
は、図1に原理的に示されるように、曲線が通過する2
つのアンカーポイントと、通過しない2つのコントロー
ルポイントの4つの制御点からベジェ曲線を描画する情
報処理装置において、アンカーポイントを順次入力する
入力手段1と、この入力手段1から入力されたアンカー
ポイントからコントロールポイントと仮のコントロール
ポイントを決定するコントロールポイント決定手段2
と、前記入力されたアンカーポイントと前記決定した
ントロールポイントからベジェ曲線を描画する描画手段
4と、この描画手段4で描画されるベジェ曲線を表示す
る表示手段4と、を備え、前記コントロールポイント決
定手段2は、pqrの順に入力されたアンカーポイント
に対して、アンカーポイントqを通り直線prに平行な
直線上の点に、後側のコントロールポイントCqaおよ
び前側のコントロールポイントCqbを決定し、最新の
アンカーポイントrに対する前側の仮コントロールポイ
ント「Crb」を、アンカーポイントrと後側のコント
ロールポイントCqaとから決定し、前記描画手段4
は、前記最新のアンカーポイントrが入力された際に、
アンカーポイントp、q間に描画済みの仮ベジェ曲線を
クリアし、アンカーポイントp、q、コントロールポイ
ントCpa、Cqbからアンカーポイントp、q間のベ
ジェ曲線を描画し、アンカーポイントq、r、コントロ
ールポイントCqa、仮コントロールポイント「Cr
b」からアンカーポイントq、r間の仮ベジェ曲線を描
画する、ことをにより、前記第1の目的を達成する。請
求項2に記載の発明では、曲線が通過する2つのアンカ
ーポイントと、通過しない2つのコントロールポイント
の4つの制御点からベジェ曲線を描画する描画方法にお
いて、アンカーポイントを順次入力する入力行程と、こ
の入力行程から入力されたアンカーポイントからコント
ロールポイントと仮のコントロールポイントを決定する
コントロールポイント決定行程と、この格納行程に格納
されるアンカーポイントとコントロールポイントからベ
ジェ曲線を描画する描画行程と、この描画行程で描画さ
れるベジェ曲線を表示する表示行程と、を備え、前記コ
ントロールポイント決定行程は、pqrの順に入力され
たアンカーポイントに対 して、アンカーポイントqを通
り直線prに平行な直線上の点に、後側のコントロール
ポイントCqaおよび前側のコントロールポイントCq
bを決定し、最新のアンカーポイントrに対する前側の
仮コントロールポイント「Crb」を、アンカーポイン
トrと後側のコントロールポイントCqaとから決定
し、前記描画行程は、前記最新のアンカーポイントrが
入力された際に、アンカーポイントp、q間に描画済み
の仮ベジェ曲線をクリアし、アンカーポイントp、q、
コントロールポイントCpa、Cqbからアンカーポイ
ントp、q間のベジェ曲線を描画し、アンカーポイント
q、r、コントロールポイントCqa、仮コントロール
ポイント「Crb」からアンカーポイントq、r間の仮
ベジェ曲線を描画する、ことにより前記第2の目的を達
成する。
【0008】請求項4記載の発明では、請求項1記載の
情報処理装置において、直線、円弧、楕円弧等の各種図
形を選択する選択手段を備え、選択手段により直線が選
択された場合、コントロールポイント決定手段は、2つ
のコントロールポイントを2つのアンカーポイント上に
決定する。請求項5記載の発明では、請求項1記載の情
報処理装置において、直線、円弧、楕円弧等の各種図形
を選択する選択手段を備え、選択手段により、円弧また
は楕円弧が選択された場合、コントロールポイント決定
手段は、2つのアンカーポイントを平行四辺形の対向す
る頂点とし、一辺をr、r′とし、(4/3)×(2
1/2 −1)×r、と、(4/3)×(21/2 −1)×
r′の点をコントロールポイントとして決定する。請求
項6記載の発明では、請求項1記載の情報処理装置にお
いて、直線、円弧、楕円弧等の各種図形を選択する選択
手段を備え、選択手段により楕円弧が選択された場合、
コントロールポイント決定手段は、2つのアンカーポイ
ントに対するXY軸方向の垂線の交点から、両アンカー
ポイントまでの距離をr、r′とし、(4/3)×(2
1/2 −1)×r、と、(4/3)×(21/2 −1)×
r′の点をコントロールポイントとして決定する。
【0009】
【作用】本発明の情報処理装置では、入力手段1から順
次アンカーポイントが入力されると、コントロールポイ
ント設定手段2が、pqrの順に入力されたアンカーポ
イントに対して、アンカーポイントqを通り直線prに
平行な直線上の点に、後側のコントロールポイントCq
aおよび前側のコントロールポイントCqbを決定し、
最新のアンカーポイントrに対する前側の仮コントロー
ルポイント「Crb」を、アンカーポイントrと後側の
コントロールポイントCqaとから決定する。そして、
描画手段4により、最新のアンカーポイントrが入力さ
れた際に、アンカーポイントp、q間に描画済みの仮ベ
ジェ曲線をクリアし、アンカーポイントp、q、コント
ロールポイントCpa、Cqbからアンカーポイント
p、q間のベジェ曲線が描画され、アンカーポイント
q、r、コントロールポイントCqa、仮コントロール
ポイント「Crb」からアンカーポイントq、r間の仮
ベジェ曲線が描画され、描画されたベジェ曲線と仮ベジ
ェ曲線が表示手段5に表示される。
【0010】
【実施例】以下、本発明の情報処理装置及び描画方法
おける一実施例を図2ないし図15を参照して詳細に説
明する。図2は、以下に説明する各実施例における情報
処理装置のハード構成を表したものである。この図2に
示すように、情報処理装置は、本実施例によるベジェ曲
線描画処理等の各種処理動作を行うCPU(中央処理装
置)11を備えている。このCPU11には、データバ
ス等のバスライン13を介して、ROM15、RAM1
7、画像メモリ19、入力装置21、スキャナ23、プ
リンタ25、ディスプレイ27、通信制御部29の各部
が接続されている。
【0011】ROM15は、装置全体をCPU11で制
御するための各種プログラムや、各種データが格納され
たリード・オンリ・メモリである。このROM15に
は、本実施例によるベジェ曲線描画処理プログラム等の
図形処理プログラムや、ベジェ関数、その他各種データ
等が格納されている。RAM17は、CPU11で行わ
れる各種処理動作において使用されるワーキングメモリ
として使用され、また各種データの保存に使用されるラ
ンダム・アクセス・メモリである。このRAM17に
は、図形処理により描画される、直線や各種図形に対す
る座標値や図形の種類を特定する図形描画データが格納
される。また、本実施例によるベジェ曲線描画処理で自
動設定されたコントロールポイントと、入力されたアン
カーポイントもベジェ曲線描画データとしてRAM17
に格納されるようになっている。なお、本実施例による
各種動作を行うためのプログラムやデータは、フロッピ
ーディスク等の他の記憶媒体からRAM17にインスト
ールし、RAM17からプログラム等を読みだして動作
するようにしてもよい。
【0012】画像メモリ19は、画像データを記憶する
ものであり、RAM17に格納されている図形描画デー
タで描画される図形が格納され、この画像メモリ19に
格納されるデータが、プリンタ25やディスプレイ27
に出力されるようになっている。入力装置21は、ポイ
ンティングデバイスとしてのマウス211やキーボード
213等の各種入力装置を備えている。また、入力装置
21には、図示しないタブレットやデジタイザ等の各種
入力装置も接続が可能になっている。キーボード213
には、ベジェ曲線によって直線、円弧、楕円弧等の各種
図形を描画する、ベジェ直線モード、ベジェ円弧モー
ド、ベジェ楕円弧モード等の各種モードを指定するため
の機能キーが配置されている。スキャナ23は、画像デ
ータを読み込む入力装置で、読み込まれた画像データ
は、画像メモリ19に格納されるようになっている。プ
リンタ25およびディスプレイ27は、図形描画データ
に従って画像メモリ19に展開された図形データを出力
する装置である。プリンタ25としては、ドットプリン
タ、レーザプリンタ、XYプロッタ等の各種装置が使用
される。また、ディスプレイ27としては、CRTディ
スプレイや、液晶ディスプレイ等の各種ディスプレイが
使用される。
【0013】通信制御部29は、LAN(ローカル・エ
リア・ネットワーク)、ファクシミリ通信網、ISDN
(サービス総合ディジタル網)等の各種通信網を介し
て、パーソナルコンピュータやオフィスコンピュータ、
ワークテーション、電子出版システム、ワードプロセッ
サその他各種の情報処理装置や、異機種装置と接続され
ている。この通信制御部29を介して他の情報処理装置
間において、図形描画データ等の各種データの通信が行
われるようになっている。
【0014】次に、このように構成された実施例の動作
について説明する。 〔ベジェ曲線描画処理の原理〕まず、ベジェ曲線の描画
について説明する。図3はベジェ曲線による曲線の描画
状態を表したものである。この図3に示すように、4つ
の制御点を構成するアンカーポイントP0、P3、コン
トロールポイントP1、P2のうち、始点P0、終点P
3を通り、2つのコントロールポイントP1、P2の方
向と距離によって決定されるベジェ曲線L0が描画され
ることとなる。このベジェ曲線L0は、次の3次ベジェ
関数B(t)によって演算される。 B(t)=(1−t)3 ・P0 +3(1−t)2 ・t・P1 +3(1−t)・t2 ・P2+t3 ・P3 ここで、0≦t≦1である。
【0015】次にベジェ曲線のコントロールポイントの
自動設定動作について説明する。本実施例によるコント
ロールポイントの自動設定処理は、操作者によってマウ
ス211からアンカーポイントが入力されると、そのア
ンカーポイントに対応したコントロールポイントを自動
設定する。この自動設定したコントロールポイントとア
ンカーポイントとからベジェ曲線を描画するものであ
る。
【0016】図4ないし図7は、第1の実施例におい
て、入力されたアンカーポイントからコントロールポイ
ントを自動設定する場合の各状態を表したものである。
図8は入力されたアンカーポイントおよび自動設定され
たコントロールポイントのデータの状態を表したもので
あり、RAM17に格納される。操作者によってマウス
211等から順次入力されたアンカーポイントを、その
入力順にアンカーポイント(1) 、(2) 、(3) 、…(n) で
示す。そして、入力されたアンカーポイントからコント
ロールポイントを自動設定するが、C(1)aをアンカーポ
イント(1) の後側((2) 側)のコントロールポイントと
し、C(2)bをアンカーポイント(2) の前側((1) 側)の
コントロールポイントとする。以下同様に、各アンカー
ポイント(m) 、(m+1) 間のコントロールポイントC(m)
a、C(m+1)bを決定する。なお、各コントロールポイン
トのうち、仮に決定しておくコントロールポイントを仮
コントロールポイントとして、例えば、「C(n)a」で表
現する。一方、決定したコントロールポイントをカッコ
のないC(n)aで表すものとする。同様に、仮のコントロ
ールポイントを含むベジェ曲線を仮ベジェ曲線として
「BL(n-1)(n)」で表すものとする。
【0017】図4に示すように、マウス211等からア
ンカーポイント(1) 、(2) が入力されると、CPU11
は、直線(1)(2)の1/3の長さの位置に仮コントロール
ポイント「C(1)a」と「C(2)b」をとる。この仮コント
ロールポイント「C(1)a」、「C(2)b」は、入力された
アンカーポイント(1) 、(2) と共に、RAM17の所定
領域に格納される。そして、CPU11は、アンカーポ
イント(1) 、(2) および仮コントロールポイント「C
(1)a」、「C(2)b」から仮ベジェ曲線「BL(2) 」をデ
ィスプレイ27上に描画する。この場合、コントロール
ポイント「C(1)a」、「C(2)b」は、直線(1)(2)上にあ
るので、描画される仮ベジェ曲線「BL(2) 」も直線と
なる。
【0018】次に、図5に示すように、3番目のアンカ
ーポイント(3) が入力されると、CPU11は、アンカ
ーポイント(2) を通り直線(1)(3)に平行な直線L(2)
(図面上、点線で表示)を想定する。そして、想定した
直線L(2) 上で、アンカーポイント(2) から距離〔(1)
,(2) 〕×(1/3)にあり、アンカーポイント(1)
側にある点を正規のコントロールポイントC(2)bとす
る。また、直線L(2) 上で、アンカーポイント(2) から
距離〔(2) ,(3) 〕×(1/3)にあり、アンカーポイ
ント(3) 側にある点を正規のコントロールポイントC
(2)aとする。そして、直線C(2)a(3) 上の中点位置に仮
コントロールポイント「C(3)b」をとる。更に、仮コン
トロールポイント「C(1)a」を、直線 (1)C(2)bの中点
位置にある正規のコントロールポイントC(1)aに変更す
る。
【0019】CPU11は、新たなアンカーポイント
(3) 、コントロールポイントC(2)a、仮コントロールポ
イント「C(3)b」をRAM17の所定領域に格納する。
また、CPU11は、既に入力してある仮コントロール
ポイント「C(2)b」、「C(1)a」を、決定した正規のコ
ントロールポイントC(2)b、C(1)aにそれぞれ変更して
格納する。そして、CPU11は、これらRAM17に
格納された各データから、操作者によって入力されたア
ンカーポイント(1) 、(2) 、(3) に対するベジェ曲線
を、ディスプレイ27上に描画する。すなわち、CPU
11は、既にディスプレイ27に描画されている仮ベジ
ェ曲線「BL(2) 」(図4)をクリアし、アンカーポイ
ント(1) 、コントロールポイントC(1)a、C(2)bおよび
アンカーポイント(2)からなるベジェ曲線BL(2) を描
画すると共に、アンカーポイント(2) 、コントロールポ
イントC(2)a、仮コントロールポイント「C(3)b」、お
よびアンカーポイント(3) から、仮ベジェ曲線「BL
(3) 」を描画する。
【0020】同様に、アンカーポイント(4) が入力され
ると、図6に示すように、CPU11は、アンカーポイ
ント(3) を通り直線(2)(4)に平行な直線L(3) 上で、距
離〔(2) ,(3) 〕×(1/3)にある点を正規のコント
ロールポイントC(3)bとする。また、直線L(3) 上で、
距離〔(3) ,(4) 〕×(1/3)にある点を正規のコン
トロールポイントC(3)aとし、直線C(3)a(4) 上の中点
位置に仮コントロールポイント「C(4)b」をとる。CP
U11は、新たなアンカーポイント(4) 、コントロール
ポイントC(3)a、仮コントロールポイント「C(4)b」を
RAM17の所定領域に格納すると共に、既に入力して
ある仮コントロールポイント「C(3)b」を、決定した正
規のコントロールポイントC(3)bに変更して格納する。
CPU11は、再び、ディスプレイ27をクリアした
後、RAM17に格納された各アンカーポイントとコン
トロールポイントのデータから、ベジェ曲線BL(2) 、
BL(3) 、および仮ベジェ曲線BL(4) を描画する。
【0021】以上の動作を繰り返し、順次、入力される
アンカーポイント(1) 、(2) 、(3)、…、(n) から、各
コントロールポイントを自動設定する。すなわち、最新
のアンカーポイント(m) が入力されると、CPU11
は、アンカーポイント(m-1) を通り直線(m-2)(m)に平行
な直線L(m-1) を想定する。そして、想定した直線L(m
-1) 上で、アンカーポイント(m-1) から距離〔(m-1) ,
(m) 〕×(1/3)にあり、アンカーポイント(m-2) 側
にある点を正規のコントロールポイントC(m)bとする。
また、直線L(m-1) 上で、アンカーポイント(m-1) から
距離〔(m-1) ,(m) 〕×(1/3)にあり、アンカーポ
イント(m) 側にある点を正規のコントロールポイントC
(m-1)aとする。そして、直線C(m-1)a(m) 上の中点位置
に仮コントロールポイント「C(m)b」をとる。
【0022】CPU11は、新たなアンカーポイント
(m) 、コントロールポイントC(m-1)a、仮コントロール
ポイント「C(m)b」をRAM17の所定領域に格納す
る。また、CPU11は、既に入力してある仮コントロ
ールポイント「C(m-1)b」を、決定した正規のコントロ
ールポイントC(m-1)bに変更して格納する。そして、C
PU11は、ディスプレイ27をクリアした後、これら
RAM17に格納された各データから、操作者によって
入力されたアンカーポイント(1) 、(2) 、…、(m-1) 、
(m) に対するベジェ曲線を描画する。すなわち、CPU
11は、各データから、ベジェ曲線BL(2) 、BL(3)
、…、BL(m-1) 、および仮ベジェ曲線「BL(m) 」
を描画する。
【0023】以上のようにして、アンカーポイント(1)
(始点)のコントロールポイントC(1)aおよび、最新の
アンカーポイントント(m) (終点)の仮コントロールポ
イント「C(m)b」は、アンカーポイント、コントロール
ポイント間の1/2の距離にとり、それ以外のコントロ
ールポイントはアンカーポイント間の1/3の距離にと
る。アンカーポイント(m) が入力された後に、ベジェ曲
線の描画終了点を示すベジェ終了キー、例えば、マウス
211の右側クリックキーが押下されると、仮コントロ
ールポイント「C(m)b」を、正規のコントロールポイン
トC(m)bとして確定させる。また、仮ベジェ曲線「BL
(m) 」を正規のベジェ曲線BL(m) として確定させる。
【0024】図7は、閉曲線の場合、すなわち、ベジェ
曲線の終点となるアンカーポイント(n) が、始点となる
アンカーポイント(1) と一致する場合について表したも
のである。アンカーポイント(1) を通り直線(2)(n-1)に
平行な直線L(n) 上で、アンカーポイント(1) から距離
(1/3)×〔(1) ,(2) 〕の位置にC(1)a をとる。ま
た、直線L(n) 上で、アンカーポイント(1) から、距離
(1/3)×〔(n-1)(n)〕の位置に、コントロールポイ
ントC(n)bをとる。なお、C(n-1)aは、閉曲線でない場
合と同様に、アンカーポイント(n−2)との関係か
ら、コントロールポイントC(n-1) から、距離(1/
3)×〔(n-1)(n)〕の位置にとる。
【0025】図8は、RAM17に格納されるアンカー
ポイントと自動設定されるコントロールポイントに関す
るデータの格納状態を表したものである。この図8に示
すように、アンカーポイント(1) 、(2) 、…、(m) の入
力に従って、各コントロールポイントおよび仮コントロ
ールポイントが順次決定され、所定の領域に格納されて
いくこととなる。ここで、●は、新たになアンカーポイ
ント(m) が入力されることによって決定されるコントロ
ールポイントを示し、○は、既に決定しているコントロ
ールポイントを示す。また、▲は、アンカーポイント
(m) の入力に伴い、仮に決定しておくコントロールポイ
ント「C(m)b」を示す。
【0026】以上説明したよにう、本実施例によれば、
仮コントロールポイント「C(m)b」を導入することによ
り、入力された最新のアンカーポイント(m) に対して、
仮ベジェ曲線「BL(m) 」を描画することができる。従
って、操作者は、描画する曲線のイメージを把握しなが
らベジェ曲線のアンカーポイントを指定することができ
る。
【0027】以上説明した実施例では、最新のアンカー
ポイント(m) からコントロールポイント、仮コントロー
ルポイントが決定されると、ディスプレイ27をクリア
した後に、仮ベジェ曲線「BL(2) 」(図4)をクリア
した後に、再びベジェ曲線BL(1) 、…BL(m-1) 、お
よび仮ベジェ曲線「BL(m) 」を描画することとした
が、本発明ではこれに限られるものではなく、他の構成
としてもよい。例えば、最新のアンカーポイント(m) が
入力される前にディスプレイ27に描画されている仮ベ
ジェ曲線「BL(m-1) 」のみを消去し、正規のベジェ曲
線BL(m-1) 、および新たな仮ベジェ曲線「BL(m) 」
を描画するようにしてもよい。
【0028】また、本実施例の説明で使用した各図面に
表示した仮ベジェ曲線は、決定したベジェ曲線と同様に
実線で描画したが、本発明では、他に、仮ベジェ曲線で
あることを明確にするために、ディスプレイ27には、
点線や一点鎖線等により決定したベジェ曲線と区別する
ようにしてもよい。
【0029】次に第2の実施例について説明する。この
第2の実施例では、第1の実施例によるコントロールポ
イント決定処理のうち、始点および終点(描画途中の最
新アンカーポイント)に対するコントロールポイントの
他の決定処理について提供するものである。すなわち、
始点では、第3番目のアンカーポイント(3) が入力され
たときに決定するコントロールポイントC(1)a、C(2)
b、C(2)a、C(3)aのうちのC(1)aの決定方法を提供す
る。また、終点では、描画途中の最新アンカーポイント
(m) が入力されたときに決定するコントロールポイント
C(m-1)b、C(m-1)a、C(m)bのうち、C(m)bの決定処理
を提供する。
【0030】図9は第2の実施例における始点および終
点(最新のアンカーポイント)でのコントロールポイン
トC(1)a、C(m)bの決定位置について表したものであ
る。コントロールポイントC(1)aは、直線(1)(2)の垂直
2等分線を中心として、第1の実施例と同様にして決定
したコントロールポイントC(2)bに対称な位置にC(1)a
をとる。また、コントロールポイントC(m)bも同様にし
て、直線(m-1)(m)の垂直2等分線を中心として、第1の
実施例と同様にして決定したコントロールポイントC(m
-1)aに対称な位置に仮コントロールポイント「C(m)b」
をとる。なお、図9では終点のコントロールポイント
(m) =(4) として表している。なお、この第2の実施例
のハード構成は第1の実施例と同様であり、また、入力
された各アンカーポイントおよび決定したコントロール
ポイントに関するデータのRAM17への格納も第1の
実施例と同様に行われる。
【0031】次に第3の実施例について説明する。図1
0は、第3の実施例において、始点となるアンカーポイ
ント(1) でのコントロールポイントC(1)a、および最新
のアンカーポイント(m) での仮コントロールポイント
「C(m)b」以外でのコントロールポイントの決定につい
て表したものである。いま、各アンカーポイントを(p)
、(q) 、(r) とし、決定するコントロールポイントC
(q)b、C(q)aの相対座標をそれぞれ(dx(q)b,dy(q)
b)、(dx(q)a,dy(q)a)とした場合、次の式(1)〜
(4)から決定する。 dx(q)b=(len(p)(q) /len(p)(r) )×dx(p)(r)/3 …(1) dy(q)b=(len(p)(q) /len(p)(r) )×dy(p)(r)/3 …(2) dx(q)a=(len(r)(q) /len(r)(p) )×dx(r)(p)/3 …(3) dy(q)a=(len(r)(q) /len(r)(p) )×dy(r)(p)/3 …(4)
【0032】なお、この第3の実施例のハード構成は第
1の実施例と同様であり、また、アンカーポイント(1)
でのコントロールポイントC(1)aと、最新のアンカーポ
イント(m) での仮コントロールポイント「C(m)b」につ
いては、第1の実施例、または第2の実施例と同様の方
法によって決定される。また、入力された各アンカーポ
イントおよび、決定したコントロールポイント、および
仮コントロールポイントの各データの格納は、第1の実
施例と同様に行われる。
【0033】次に第4の実施例について説明する。この
第4の実施例では、ベジェ曲線により直線を描画するも
のである。図11は、直線をベジェ曲線で描画する状態
を表したものである。図11(a)に示すように、アン
カーポイント(1) (2) の入力後にアンカーポイント(3)
が入力されると、コントロールポイントC(2)bとC(2)
a、および仮のコントロールポイント「C(3)b」を決定
し、RAM17に格納する(図8参照)。この段階で、
キーボード213からベジェ直線を指定する機能キーが
入力されると、CPU11は、RAM17に格納したコ
ントロールポイントC(2)a、および仮のコントロールポ
イント「C(3)b」を破棄し、2つのアンカーポイント
(2)、(3) 上の位置にコントロールポイントC(2)a、C
(3)bをとる。このアンカーポイント上に取ったコントロ
ールポイントC(2)a、C(3)bは、仮コントロールポイン
トとしてではなく、正規のコントロールポイントとして
確定させ、RAM17に格納される(以下の実施例にお
いても同じ。)。これにより、以後、コントロールポイ
ントを自動設定する通常のベジェ曲線モード(第1〜第
3の実施例)に移行して次のアンカーポイントが入力さ
れたとしても、描画した直線がくずれることはない。こ
のように、本実施例によれば、ベジェ直線モードでアン
カーポイント(n-1)と(n) が入力されると、同一点上に
2つのコントロールポイントが自動設定されるため、図
11(b)に示すように、ベジェ曲線による直線を容易
に描画することができる。
【0034】なお、ベジェ直線モードでベジェ曲線によ
る直線を描画した後でも、次のアンカーポイントが入力
さる等の特定処理がなされない限り、機能取消キーが入
力された場合には、図11(b)の状態から元の(a)
の状態に復帰することが可能となる。この場合、アンカ
ーポイント(1) 、(2) 、(3) から再びコントロールポイ
ントC(2)a、および仮のコントロールポイント「C(3)
b」を算出してRAM17に入力するようにする。ま
た、コントロールポイントC(2)a、および仮のコントロ
ールポイント「C(3)b」を破棄する際に、RAM17の
別の所定領域に一時格納しておき、機能取消キーが入力
された場合には、これを参照するようにしてもよい。ベ
ジェ直線モードは、再びベジェ直線機能キーが押下され
るか、または所定の終了キーが押下されるまで継続す
る。これらのキーが押下されると、コントロールポイン
トを自動設定する通常のベジェ曲線モードに移行する。
また、ベジェ直線モードは、機能キーを押下することな
く、一度ベジェ直線を描画した段階で自動的に、通常の
ベジェ曲線モードに移行するようにしてもよい。
【0035】次に、第5の実施例について説明する。
第5の実施例では、ベジェ曲線により1/4円弧およ
び1/4楕円弧を描画するものである。図12は、1/
4円弧および1/4楕円弧をベジェ曲線で描画する場
合、アンカーポイントに対して自動設定するコントロー
ルポイントの位置を表したものである。この図12
(a)に示すように、1/4楕円弧の場合、アンカーポ
イント(n-1) とコントロールポイントk上を通過する直
線と、アンカーポイント(n)とコントロールポイント
k′上を通過する直線交点をZとする。そして、両アン
カーポイントから交点Zまでの距離をそれぞれr、r′
とした場合、k、k′は次の式、から算出される。 k =(4/3)×(21/2 −1)×r … k′=(4/3)×(21/2 −1)×r′… このコントロールポイントk、k′およびアンカーポイ
ント(n-1) 、(n) で描画されるベジェ曲線は、アンカー
ポイント(n-1) 、(n)と交点Zで構成される平行四辺形
の残りの点を中心とした楕円弧となる。
【0036】一方、図12(b)に示すように、1/4
円弧の場合、アンカーポイント(n-1) 、(n) が対角点と
なる正方形の一辺の長さをrとした場合、コントロール
ポイントk、k′は、次の式(3)から算出される。 k=k′=(4/3)×(21/2 −1)×r …
【0037】次に、この第5の実施例によるベジェ曲線
の描画について1/4楕円弧を例に説明する。図13
は、1/4楕円弧をベジェ曲線で描画する状態を表した
ものである。図13(a)に示すように、アンカーポイ
ント(3) が入力されて、コントロールポイントC(2)b、
C(2)a、C(2)b、および仮のコントロールポイント「C
(3)b」が決定された状態で、1/4楕円弧モードの機能
キーがキーボード213から入力されたものとする。す
ると、RAM17に格納された、仮のコントロールポイ
ント「C(3)b」を破棄し、他の仮のコントロールポイン
ト「C(3)b′」をマウス211から手動によって入力す
るように指示がなされる。仮のコントロールポイント
「C(3)b′」が入力されると、図13(b)に示すよう
に交点Zを算出し、この交点Zと上記式からコント
ロールポイントk、k′を決定する。そして、コントロ
ールポイントC(2)bおよび仮のコントロールポイント
「C(3)b′」を破棄し、新たに決定したコントロールポ
イントk、k′を、正規のコントロールポイントとして
確定し、RAM17に格納する。そして、アンカーポイ
ント(2) 、(3) および決定したコントロールポイント
k、k′からベジェ曲線による1/4楕円弧を描画す
る。図13(b)では、実際にはディスプレイ27に表
示されない楕円を一点鎖線で表示し、その楕円上にベジ
ェ曲線による1/4楕円弧が描画されている。また、点
線で示した曲線は、1/4楕円弧モードが指定される前
にアンカーポイント(2) 、(3) で描画された仮のベジェ
曲線(図13(a)において点線で示した曲線)を表し
たものである。これも説明のために表したものであり、
実際にはディスプレイ27に表示されない。
【0038】図14は、1/4楕円弧の他の描画につい
て表したものである。この図に示すように、入力された
2つのアンカーポイント(1) 、(2) に対して、ディスプ
レイ27上のXY軸方向にアンカーポイントから垂線を
降す。そして、両垂線の交点Z′を求め、両アンカーポ
イント(1) 、(2) からこの交点Z′までの距離をr、
r′とし、上記式、からコントロールポイントk、
k′を決定する。
【0039】次に第6の実施例について説明する。この
第6の実施例では、ベジェ曲線で円弧を描画する 図15は、ベジェ曲線による円弧(ベジェ円弧)の描画
につて表したものである。この図15(a)に示すよう
に、2つのアンカーポイント(2) 、(3) を入力後、ベジ
ェ円弧モードを指定する機能キーが入力されたものとす
る。すると、両アンカーポイント(2) 、(3) を結んだ直
線(2) (3) の垂直二等分線をディスプレイ27上に表示
させる。そしてCPU11は、この垂直二等分線上に、
描画する円の中心点hを入力するようにディスプレイ2
7に所定の表示を行う。操作者によって中心点hがマウ
ス211によって入力されると、2つのアンカーポイン
ト(2) 、(3) を結ぶ円弧を描画する。円弧を描画した
後、この円弧と一致するベジェ曲線のコントロールポイ
ントk、k′をとり、RAM17に格納する。そして、
コントロールポイントC(2)aは、ベジェ円弧モードが指
定された段階で意味を持たなくなり、RAM17から破
棄する。なお、操作者のマウス211から指定された中
心点h′が垂直二等分線上にない場合、その中心線h′
から垂直二等分線に降ろした垂線との交点を中心点hと
して決定する。また、中心点hの入力がされなくても、
CPU11は、マウス211のカーソル位置にある点を
仮の中点h″として仮のベジェ円弧を描画する。これに
よって操作者は、垂直二等分線上の中心点hを未確定の
まま動かしながら、描きたい円弧のイメージを確認しな
がら、希望通りのベジェ円弧を描画することができる。
【0040】以上説明した第4〜第6の実施例において
は、アンカーポイント(3) が入力された後に、ベジェ直
線等を描画する特定の機能キーが押下された場合につい
て説明したが、アンカーポイントの入力前に機能キーの
入力を許可するようにしてもよい。例えば、ベジェ直線
を描画する第4の実施例では、アンカーポイント(3) の
入力前に機能キーが押下されると、一方のコントロール
ポイントC(2)aのみが、アンカーポイント(2) 上(C
(2)a=(a) )に確定される。そして、マウス211によ
るカーソルの位置を仮のアンカーポイント「(3) 」およ
び仮のコントロールポイント「C(3)b」として、アンカ
ーポイント(2) との間で仮のベジェ直線を描画する。こ
の仮のベジェ直線は、決定したベジェ直線と区別するた
めに、ディスプレイ27上に点線や一点鎖線等で表示す
る。仮のベジェ直線は、マウス211の移動によるカー
ソルの移動に伴って、逐次更新されて表示される。この
ように、第4〜第6の実施例において、特定の機能キー
がアンカーポイントの前に入力された場合、仮の図形
(ベジェ直線等)を、カーソルの移動にあわせて逐次描
画することで、描きたい図形をイメージしながらアンカ
ーポイントを決定することができる。
【0041】
【発明の効果】以上説明したように、請求項1及び請求
に記載した情報処理装置によれば、描画したい曲線
をイメージしながら容易にベジェ曲線を描画することが
できる。
【図面の簡単な説明】
【図1】本発明の情報処理装置の原理を示す原理図であ
る。
【図2】本発明の情報処理装置における一実施例のハー
ド構成を表したものである。
【図3】ベジェ曲線による曲線の描画状態を示す説明図
である。
【図4】第1の実施例において、入力されたアンカーポ
イントからコントロールポイントを自動設定する場合の
状態を示す説明図である。
【図5】同上、図4に示す状態の次の状態を示す説明図
である。
【図6】同上、図5に示す状態の更に次の状態を示す説
明図である。
【図7】同上、ベジェ曲線が閉曲線の場合のコントロー
ルポイントを自動設定する場合の状態を示す説明図であ
る。
【図8】同上、入力されたアンカーポイントおよび自動
設定されたコントロールポイントのデータのRAMの格
納状態の概念を示す説明図である。
【図9】第2の実施例における始点および終点でのコン
トロールポイントC(1)a、C(m)bの決定位置について示
す説明図である。
【図10】第3の実施例における、コントロールポイン
トC(1)a、および仮コントロールポイント「C(m)b」以
外でのコントロールポイントの決定を示す説明図であ
る。
【図11】第4の実施例において、直線をベジェ曲線で
描画する状態を表した説明図である。
【図12】第5の実施例において、1/4円弧および1
/4楕円弧をベジェ曲線で描画する場のコントロールポ
イントの位置を表した説明図である。
【図13】第5の実施例において、1/4楕円弧をベジ
ェ曲線で描画する状態を表した説明図である。
【図14】1/4楕円弧の他の描画について表した説明
図である。
【図15】第6の実施例において、ベジェ曲線による円
弧の描画につて表した説明図である。
【図16】従来のスプライン曲線とベジェ曲線による曲
線の描画について示す説明図である。
【図17】図16で示すスプライン曲線とベジェ曲線の
変形について示す説明図である。
【符号の説明】
1 入力手段 2 コントロールポイント決定手段格納手段描画手段表示手段 11 CPU 13 バスライン 15 ROM 17 RAM 19 画像メモリ 21 入力装置 211 マウス 213 キーボード 23 スキャナ 25 プリンタ 27 ディスプレイ 29 通信制御部
フロントページの続き (72)発明者 藤本 岐香 徳島県徳島市沖浜東3丁目46番地 株式 会社ジャストシステム内 (56)参考文献 特開 平2−260081(JP,A) 特開 平6−103356(JP,A) 特開 平1−150988(JP,A) 特開 平2−93881(JP,A) 特開 平2−121075(JP,A) 特開 平4−168581(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06T 1/00 G06T 11/00 - 17/50 G06F 17/50 G06F 3/00 G06F 3/14 - 3/153

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 曲線が通過する2つのアンカーポイント
    と、通過しない2つのコントロールポイントの4つの制
    御点からベジェ曲線を描画する情報処理装置において、 アンカーポイントを順次入力する入力手段と、 この入力手段から入力されたアンカーポイントからコン
    トロールポイントと仮のコントロールポイントを決定す
    るコントロールポイント決定手段と、前記入力された アンカーポイントと前記決定したコント
    ロールポイントからベジェ曲線を描画する描画手段と、 この描画手段で描画されるベジェ曲線を表示する表示手
    段と、を備え、 前記コントロールポイント決定手段は、pqrの順に入
    力されたアンカーポイントに対して、アンカーポイント
    qを通り直線prに平行な直線上の点に、後側のコント
    ロールポイントCqaおよび前側のコントロールポイン
    トCqbを決定し、最新のアンカーポイントrに対する
    前側の仮コントロールポイント「Crb」を、アンカー
    ポイントrと後側のコントロールポイントCqaとから
    決定し、 前記描画手段は、前記最新のアンカーポイントrが入力
    された際に、アンカーポイントp、q間に描画済みの仮
    ベジェ曲線をクリアし、アンカーポイントp、q、コン
    トロールポイントCpa、Cqbからアンカーポイント
    p、q間のベジェ曲線を描画し、アンカーポイントq、
    r、コントロールポイントCqa、仮コントロールポイ
    ント「Crb」からアンカーポイントq、r間の仮ベジ
    ェ曲線を描画する、 ことを 特徴とする情報処理装置。
  2. 【請求項2】 曲線が通過する2つのアンカーポイント
    と、通過しない2つのコントロールポイントの4つの制
    御点からベジェ曲線を描画する描画方法において、 アンカーポイントを順次入力する入力行程と、 この入力行程から入力されたアンカーポイントからコン
    トロールポイントと仮のコントロールポイントを決定す
    るコントロールポイント決定行程と、 前記入力されたアンカーポイントと前記決定したコント
    ロールポイントからベ ジェ曲線を描画する描画行程と、 この描画行程で描画されるベジェ曲線を表示する表示行
    程と、を備え、 前記コントロールポイント決定行程は、pqrの順に入
    力されたアンカーポイントに対して、アンカーポイント
    qを通り直線prに平行な直線上の点に、後側のコント
    ロールポイントCqaおよび前側のコントロールポイン
    トCqbを決定し、最新のアンカーポイントrに対する
    前側の仮コントロールポイント「Crb」を、アンカー
    ポイントrと後側のコントロールポイントCqaとから
    決定し、 前記描画行程は、前記最新のアンカーポイントrが入力
    された際に、アンカーポイントp、q間に描画済みの仮
    ベジェ曲線をクリアし、アンカーポイントp、q、コン
    トロールポイントCpa、Cqbからアンカーポイント
    p、q間のベジェ曲線を描画し、アンカーポイントq、
    r、コントロールポイントCqa、仮コントロールポイ
    ント「Crb」からアンカーポイントq、r間の仮ベジ
    ェ曲線を描画する、 ことを特徴とする描画方法。
JP18563293A 1993-06-28 1993-06-28 情報処理装置及び描画方法 Expired - Fee Related JP3339648B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18563293A JP3339648B2 (ja) 1993-06-28 1993-06-28 情報処理装置及び描画方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18563293A JP3339648B2 (ja) 1993-06-28 1993-06-28 情報処理装置及び描画方法

Publications (2)

Publication Number Publication Date
JPH0785302A JPH0785302A (ja) 1995-03-31
JP3339648B2 true JP3339648B2 (ja) 2002-10-28

Family

ID=16174175

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18563293A Expired - Fee Related JP3339648B2 (ja) 1993-06-28 1993-06-28 情報処理装置及び描画方法

Country Status (1)

Country Link
JP (1) JP3339648B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5173724B2 (ja) * 2008-10-07 2013-04-03 株式会社河合楽器製作所 音楽記号入力装置及び音楽記号入力プログラム
US8248419B2 (en) 2009-04-21 2012-08-21 Sony Corporation Entertainment Inc. Generation of cubic Bezier control points in computer graphics systems
CN113706970B (zh) * 2021-08-26 2023-04-28 北京金三惠科技有限公司 展示乐谱连音线的方法及计算机程序

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01150988A (ja) * 1987-12-08 1989-06-13 Fujitsu Ltd 円弧を三次曲線へ近似して座標変換する装置
JP2745565B2 (ja) * 1988-09-30 1998-04-28 ソニー株式会社 物体の形状を表す曲線データ作成方法
JPH02121075A (ja) * 1988-10-31 1990-05-08 Sony Corp 自由曲線作成方法
JP2897245B2 (ja) * 1989-03-31 1999-05-31 ソニー株式会社 自由曲線作成方法
JPH04168581A (ja) * 1990-11-01 1992-06-16 Sony Corp 超楕円の近似曲線生成方法
JPH06103356A (ja) * 1992-09-21 1994-04-15 Matsushita Electric Ind Co Ltd 曲線入力装置

Also Published As

Publication number Publication date
JPH0785302A (ja) 1995-03-31

Similar Documents

Publication Publication Date Title
JP2804224B2 (ja) ネットワーク図描画方法およびシステム
JP2811501B2 (ja) カーソル移動制御方法及び装置
KR20010012815A (ko) 레퍼런스에 기초한 파라미터 조정 방법 및 시스템
JP3981431B2 (ja) コンピュータ表示画面上でシャドウ形状を制御する方法および装置
JP2904673B2 (ja) 画像作成装置
JP3339648B2 (ja) 情報処理装置及び描画方法
US5302967A (en) Figure processing apparatus and method aided by display with ruled lines
JP2662539B2 (ja) 3次元図形処理装置
JP2625600B2 (ja) 図形移動変形方法及び装置
JPH0830666A (ja) 文字列配置方法及びその装置
JP3302455B2 (ja) 情報処理装置
JP3254328B2 (ja) 楕円データ処理装置
JPH0869525A (ja) ベクトルデータの変換方法及び変換装置
JP2669366B2 (ja) 線対称図形入力装置
JP2832007B2 (ja) 情報処理装置
JPS59158470A (ja) デイスプレイ・システムにおける円グラフの文字列表示位置最適化方式
JP2780496B2 (ja) 描画装置のクリッピング処理方式
JP3387561B2 (ja) 図形編集システムにおける三角形の作成方式
JPS6114514B2 (ja)
JP2753227B2 (ja) 図面管理方法および装置
JPH1011595A (ja) 正多角形入力装置
JPH05173750A (ja) 図形処理装置
JPS63211466A (ja) 図形入力装置
JP2753226B2 (ja) 図面管理方法および装置
JPH02250178A (ja) 図形作成装置

Legal Events

Date Code Title Description
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: 20080816

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110816

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees