JPH04248617A - 矢印描画方法 - Google Patents
矢印描画方法Info
- Publication number
- JPH04248617A JPH04248617A JP3032092A JP3209291A JPH04248617A JP H04248617 A JPH04248617 A JP H04248617A JP 3032092 A JP3032092 A JP 3032092A JP 3209291 A JP3209291 A JP 3209291A JP H04248617 A JPH04248617 A JP H04248617A
- Authority
- JP
- Japan
- Prior art keywords
- arrow
- pointing
- cursor
- response
- coordinates
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 64
- 241000756122 Aristida purpurascens Species 0.000 claims description 15
- 238000012545 processing Methods 0.000 abstract description 31
- 210000003746 feather Anatomy 0.000 abstract 2
- 238000010586 diagram Methods 0.000 description 5
- 238000006073 displacement reaction Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
Landscapes
- Digital Computer Display Output (AREA)
- Position Input By Displaying (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は、ポインティング手段の
操作に応動してディスプレイ画面上に矢印を描画するた
めの方法に関する。
操作に応動してディスプレイ画面上に矢印を描画するた
めの方法に関する。
【0002】
【従来の技術】パソコンシステムやエディタシステムで
作成・編集する文書・図形中に矢印を使うことがある。 矢印は方向を示すためのマークで、その位置、向き、形
、大きさ等を変えることによって様々なバリエーション
を呈する。たとえば、図10に示すような文書において
、3つの矢印Y1,Y2,Y3は位置、向き、形、大き
さのいずれも相違し、3つの事象200,202,20
4間相互の異なる関係を示している。
作成・編集する文書・図形中に矢印を使うことがある。 矢印は方向を示すためのマークで、その位置、向き、形
、大きさ等を変えることによって様々なバリエーション
を呈する。たとえば、図10に示すような文書において
、3つの矢印Y1,Y2,Y3は位置、向き、形、大き
さのいずれも相違し、3つの事象200,202,20
4間相互の異なる関係を示している。
【0003】従来のパソコンシステムやエディタシステ
ムにおいてディスプレイ画面上に矢印を描画する方式と
しては、■ユーザが矢印の始点と終点をカーソルで指定
すると、その始点・終点間に一定形状の矢印が自動的に
描画される方式、■ユーザが矢印設定画面で所定のパラ
メータを設定し、次に文書作成・編集画面に戻して矢印
の位置、向きを指定すると、そこに該設定矢印が描画さ
れる方式がある。
ムにおいてディスプレイ画面上に矢印を描画する方式と
しては、■ユーザが矢印の始点と終点をカーソルで指定
すると、その始点・終点間に一定形状の矢印が自動的に
描画される方式、■ユーザが矢印設定画面で所定のパラ
メータを設定し、次に文書作成・編集画面に戻して矢印
の位置、向きを指定すると、そこに該設定矢印が描画さ
れる方式がある。
【0004】上記■の方式は、システムあつらえの矢印
パターンがシステム側から提供されるので、ユーザにし
てみれば矢印の始点と終点を指定するだけの簡単な操作
で済むが、所望の矢印形態(特に太さ、矢印の傾き等)
を自由自在に選択できないという欠点がある。一方、■
の方式は、ユーザが所望の矢印形態をある程度自由に選
択できるが、そのために設定画面を開いて設定しなけれ
ばならず、しかも文書作成・編集画面に戻してその設定
した矢印を描画したときに気に入らない場合には、再度
矢印設定画面を開いて設定し直さなければならず、使い
勝手がよくなかった。
パターンがシステム側から提供されるので、ユーザにし
てみれば矢印の始点と終点を指定するだけの簡単な操作
で済むが、所望の矢印形態(特に太さ、矢印の傾き等)
を自由自在に選択できないという欠点がある。一方、■
の方式は、ユーザが所望の矢印形態をある程度自由に選
択できるが、そのために設定画面を開いて設定しなけれ
ばならず、しかも文書作成・編集画面に戻してその設定
した矢印を描画したときに気に入らない場合には、再度
矢印設定画面を開いて設定し直さなければならず、使い
勝手がよくなかった。
【0005】本発明は、かかる問題点に鑑みてなされた
もので、コンピュータ・システムのディスプレイ画面上
で特別の矢印設定画面を開くことなく処理中の文書、図
面中に直接に所望の矢印を自由自在に描画可能とする使
い勝手のよい矢印描画方法を提供することを目的とする
。
もので、コンピュータ・システムのディスプレイ画面上
で特別の矢印設定画面を開くことなく処理中の文書、図
面中に直接に所望の矢印を自由自在に描画可能とする使
い勝手のよい矢印描画方法を提供することを目的とする
。
【0006】
【課題を解決するための手段】上記の目的を達成するた
めに、本発明の矢印描画方法は、第1のポインティング
操作に応動して矢印の一端の座標を決定すること、第2
のポインティング操作に応動して矢印の他端の座標を決
定すること、第3のポインティング操作に応動して矢印
の太さを決定すること、第4のポインティング操作に応
動して矢印の矢羽の傾きを決定すること、矢印の一端、
他端の座標、太さおよび矢羽の傾きの値に基づいて矢印
全体を描画することの諸ステップを有する方法とした。
めに、本発明の矢印描画方法は、第1のポインティング
操作に応動して矢印の一端の座標を決定すること、第2
のポインティング操作に応動して矢印の他端の座標を決
定すること、第3のポインティング操作に応動して矢印
の太さを決定すること、第4のポインティング操作に応
動して矢印の矢羽の傾きを決定すること、矢印の一端、
他端の座標、太さおよび矢羽の傾きの値に基づいて矢印
全体を描画することの諸ステップを有する方法とした。
【0007】また、描画の各段階でユーザが矢印の中間
的形態を見ながら次のポインティング操作を適切に行え
るようにするため、第2、第3、第4のポインティング
操作に応動してそれぞれ矢印の一端と他端を表す第1の
線分、矢印の太さを表す第2の線分、矢羽の傾きを表す
第3の線分を描画することとした。
的形態を見ながら次のポインティング操作を適切に行え
るようにするため、第2、第3、第4のポインティング
操作に応動してそれぞれ矢印の一端と他端を表す第1の
線分、矢印の太さを表す第2の線分、矢羽の傾きを表す
第3の線分を描画することとした。
【0008】また、描画の各段階で矢印の中間的形態を
修正可能とするため、第1、第2、第3の各ポインティ
ング操作に対して実行した各処理を所定の取消操作に応
動して取り消すこととした。
修正可能とするため、第1、第2、第3の各ポインティ
ング操作に対して実行した各処理を所定の取消操作に応
動して取り消すこととした。
【0009】また、同一形態の矢印を複数個再現可能と
するために、第1、第2、第3のポインティング操作に
おいてカーソルを所定のピッチでステップ移動させるこ
ととした。
するために、第1、第2、第3のポインティング操作に
おいてカーソルを所定のピッチでステップ移動させるこ
ととした。
【0010】
【作用】本発明の矢印描画方法では、ポインティング手
段(たとえばマウス)によりポインティング操作(カー
ソルを移動させ、画面上のある点を指定する操作)が行
われる度、これに応動して矢印の形態を段階的に形成し
ていく。
段(たとえばマウス)によりポインティング操作(カー
ソルを移動させ、画面上のある点を指定する操作)が行
われる度、これに応動して矢印の形態を段階的に形成し
ていく。
【0011】先ず、ユーザがカーソルを任意の位置に移
動させて実行ボタンを押すと(第1のポインティング操
作)、この操作に応動して、その時のカーソル座標を矢
印始点の座標と決定する。
動させて実行ボタンを押すと(第1のポインティング操
作)、この操作に応動して、その時のカーソル座標を矢
印始点の座標と決定する。
【0012】次に、ユーザがカーソルを始点から任意の
方向に任意の距離だけ移動させて実行ボタンを押すと(
第2のポインティング操作)、この操作に応動して、そ
の時のカーソル座標を矢印終端の座標と決定する。
方向に任意の距離だけ移動させて実行ボタンを押すと(
第2のポインティング操作)、この操作に応動して、そ
の時のカーソル座標を矢印終端の座標と決定する。
【0013】次に、ユーザが、たとえば始点・終点間の
線分と直交する方向にカーソルを移動させて実行ボタン
を押すと(第3のポインティング操作)、この操作に応
動して、その時のカーソル座標と始端・終端間ベクトル
またはそれと直交するベクトルとから矢印の太さを決定
する。
線分と直交する方向にカーソルを移動させて実行ボタン
を押すと(第3のポインティング操作)、この操作に応
動して、その時のカーソル座標と始端・終端間ベクトル
またはそれと直交するベクトルとから矢印の太さを決定
する。
【0014】次に、ユーザが、たとえば矢印の太さを表
す線に沿ってカーソルを移動させて実行ボタンを押すと
(第4のポインティング操作)、この操作に応動して、
その時のカーソル位置を矢羽の終端の座標として矢羽の
傾きを決定する。
す線に沿ってカーソルを移動させて実行ボタンを押すと
(第4のポインティング操作)、この操作に応動して、
その時のカーソル位置を矢羽の終端の座標として矢羽の
傾きを決定する。
【0015】こうして矢印の始端、終端の各座標、太さ
および矢羽の傾きが決まると、それらの値から矢印全体
の各部の座標も求められ、矢印全体を画面上に描画する
ことができる。
および矢羽の傾きが決まると、それらの値から矢印全体
の各部の座標も求められ、矢印全体を画面上に描画する
ことができる。
【0016】このように、本発明では、他の文書、図面
等も表示されるような通常の画面上において、矢印の始
点、終点、太さ、さらには矢印の傾きをポインティング
操作に応じて逐次決定するので、矢印設定画面等の特別
な画面を開かなくて済み、ユーザは容易かつ短時間で任
意の位置に任意の形態の矢印を自由自在に描画すること
ができる。
等も表示されるような通常の画面上において、矢印の始
点、終点、太さ、さらには矢印の傾きをポインティング
操作に応じて逐次決定するので、矢印設定画面等の特別
な画面を開かなくて済み、ユーザは容易かつ短時間で任
意の位置に任意の形態の矢印を自由自在に描画すること
ができる。
【0017】また、第2、第3、第4の各ポインティン
グ操作(矢印終端の指定操作、太さの指定操作、矢羽の
傾き操作)に応動してそれぞれ矢印の一端と他端を表す
第1の線分、矢印の太さを表す第2の線分、矢羽の傾き
を表す第3の線分を描画することにより、ユーザは描画
操作の各段階で矢印の中間的な(形成途上の)形態を確
認できる。
グ操作(矢印終端の指定操作、太さの指定操作、矢羽の
傾き操作)に応動してそれぞれ矢印の一端と他端を表す
第1の線分、矢印の太さを表す第2の線分、矢羽の傾き
を表す第3の線分を描画することにより、ユーザは描画
操作の各段階で矢印の中間的な(形成途上の)形態を確
認できる。
【0018】また、第1、第2、第3の各ポインティン
グ操作に対して実行した各処理を所定の取消操作に応動
して取り消すようにすることで、ユーザは矢印が完成す
る前の各段階で矢印の中間的形態を随時修正することが
可能となる。
グ操作に対して実行した各処理を所定の取消操作に応動
して取り消すようにすることで、ユーザは矢印が完成す
る前の各段階で矢印の中間的形態を随時修正することが
可能となる。
【0019】また、第2、第3または第4のポインティ
ング操作においてカーソルを所定のピッチでステップ移
動させることにより、各矢印描画時のステップ回数を同
一にすることで、全く同一形状の矢印を何個でもつくる
ことができる。
ング操作においてカーソルを所定のピッチでステップ移
動させることにより、各矢印描画時のステップ回数を同
一にすることで、全く同一形状の矢印を何個でもつくる
ことができる。
【0020】
【実施例】以下、図1ないし図9を参照して本発明の実
施例を説明する。
施例を説明する。
【0021】[システム構成]図1は、本発明の一実施
例による矢印描画方法を実施するコンピュータ・システ
ムのハードウェア構成を示す。このシステムは、具体的
には、パソコン・システムまたはエディタ・システム等
でよい。CPU100は、ROM102に格納されてい
るプログラムにしたがって本実施例の矢印描画処理を実
行し、表示制御回路104を介してディスプレイ106
上に矢印を描画する。RAM108には矢印描画に関す
る入力データ、演算データ、表示出力データ等が格納さ
れる。マウス110は、画面上でカーソルを移動させて
、ある一点を指定するポインティング・デバイスで、本
実施例による矢印描画処理のポインティング手段として
使われる。キーボード112は、文書作成・編集処理で
文字、数字等を入力するために使われる。もっとも、キ
ーボード112のカーソル・キー、実行キー、取消キー
等を用いてポインティング手段とすることも可能である
。プリンタ114はディスプレイ106の画面上で作成
・編集された文書をハードコピーするために使われる。 外部記憶装置116は、磁気ディスク等の記憶媒体に情
報を蓄積・保存しておく大容量記憶装置である。マウス
110、キーボード112、プリンタ114、外部記憶
装置116とCPU100との間にはインタフェース(
図示せず)が設けられている。
例による矢印描画方法を実施するコンピュータ・システ
ムのハードウェア構成を示す。このシステムは、具体的
には、パソコン・システムまたはエディタ・システム等
でよい。CPU100は、ROM102に格納されてい
るプログラムにしたがって本実施例の矢印描画処理を実
行し、表示制御回路104を介してディスプレイ106
上に矢印を描画する。RAM108には矢印描画に関す
る入力データ、演算データ、表示出力データ等が格納さ
れる。マウス110は、画面上でカーソルを移動させて
、ある一点を指定するポインティング・デバイスで、本
実施例による矢印描画処理のポインティング手段として
使われる。キーボード112は、文書作成・編集処理で
文字、数字等を入力するために使われる。もっとも、キ
ーボード112のカーソル・キー、実行キー、取消キー
等を用いてポインティング手段とすることも可能である
。プリンタ114はディスプレイ106の画面上で作成
・編集された文書をハードコピーするために使われる。 外部記憶装置116は、磁気ディスク等の記憶媒体に情
報を蓄積・保存しておく大容量記憶装置である。マウス
110、キーボード112、プリンタ114、外部記憶
装置116とCPU100との間にはインタフェース(
図示せず)が設けられている。
【0022】[メインルーチン]図2は、本実施例によ
る矢印描画処理のメインルーチンを示すフローチャート
である。このルーチンは、ディスプレイ106の画面端
部に表示されている「矢印描画」のアイコンがマウス1
10で選択された時、または矢印描画処理が中止された
時に開始される。そして、矢印描画処理が完了して矢印
がディスプレイ画面上に描画された時、または矢印描画
処理が中止された時に終了する。このルーチンにおいて
、CPU100は、マウス110の状態を監視し(1)
、その実行ボタンが押された時は実行処理のサブルーチ
ンに入り(2,3)、取消ボタンが押された時は取消処
理のサブルーチンに入り(4,5)、どちらのボタンも
押されていない時はカーソル処理のサブルーチンに入る
(6,7)。
る矢印描画処理のメインルーチンを示すフローチャート
である。このルーチンは、ディスプレイ106の画面端
部に表示されている「矢印描画」のアイコンがマウス1
10で選択された時、または矢印描画処理が中止された
時に開始される。そして、矢印描画処理が完了して矢印
がディスプレイ画面上に描画された時、または矢印描画
処理が中止された時に終了する。このルーチンにおいて
、CPU100は、マウス110の状態を監視し(1)
、その実行ボタンが押された時は実行処理のサブルーチ
ンに入り(2,3)、取消ボタンが押された時は取消処
理のサブルーチンに入り(4,5)、どちらのボタンも
押されていない時はカーソル処理のサブルーチンに入る
(6,7)。
【0023】[実行処理]図3は、実行処理(3)の詳
細な手順を示すフローチャートである。先ず、マウス1
10の実行ボタンが押された時のカーソル座標がディス
プレイ画面上の描画可能領域内に入っているかどうかを
検査し(10)、入っている場合は、描画可能とみてソ
フト的な描画処理カウンタのカウントを調べる。このカ
ウンタは、0,1,2,3,4のカウントを巡回するト
グルカウンタで、各カウントは現時の矢印処理段階を示
す。すなわち、カウント0は第1のポインティング操作
に対する処理がまだ行われていない段階、カウント1は
第2のポインティング操作に対する処理がまだ行われて
いない段階、カウント2は第3のポインティング操作に
対する処理がまだ行われていない段階、カウント4は矢
印描画が完了した段階をそれぞれ示す。しかして、マウ
ス110の実行ボタンが押された時のカウントに応じて
実行[0]、[1]、[2]、[3]のいずれかの処理
を実行し(12〜15)、その処理の終了後にカウント
を1つ増分し(16)、その結果カウントが4になった
ならば(矢印描画が完了したならば)カウンタをリセッ
トしてカウントを0(初期値)に戻す(17,18)。
細な手順を示すフローチャートである。先ず、マウス1
10の実行ボタンが押された時のカーソル座標がディス
プレイ画面上の描画可能領域内に入っているかどうかを
検査し(10)、入っている場合は、描画可能とみてソ
フト的な描画処理カウンタのカウントを調べる。このカ
ウンタは、0,1,2,3,4のカウントを巡回するト
グルカウンタで、各カウントは現時の矢印処理段階を示
す。すなわち、カウント0は第1のポインティング操作
に対する処理がまだ行われていない段階、カウント1は
第2のポインティング操作に対する処理がまだ行われて
いない段階、カウント2は第3のポインティング操作に
対する処理がまだ行われていない段階、カウント4は矢
印描画が完了した段階をそれぞれ示す。しかして、マウ
ス110の実行ボタンが押された時のカウントに応じて
実行[0]、[1]、[2]、[3]のいずれかの処理
を実行し(12〜15)、その処理の終了後にカウント
を1つ増分し(16)、その結果カウントが4になった
ならば(矢印描画が完了したならば)カウンタをリセッ
トしてカウントを0(初期値)に戻す(17,18)。
【0024】図4は上記実行[0]、[1]、[2]、
[3]の各処理手順を示すフローチャート、図5はこれ
らの各処理に対応してディスプレイ106の画面上に表
示される矢印描画の各段階を示す図である。以下、図5
を参照して図4の各処理を説明する。
[3]の各処理手順を示すフローチャート、図5はこれ
らの各処理に対応してディスプレイ106の画面上に表
示される矢印描画の各段階を示す図である。以下、図5
を参照して図4の各処理を説明する。
【0025】先ず、ユーザは、矢印の位置を指定するた
め、マウス110を動かしてカーソルCRを所望の位置
へ移動させ、実行ボタンを押す(図5(A) )。この
第1のポインティング操作に応動して、CPU100は
その時のカーソル座標を矢印の始点Sと決定する(図4
の12a)。この始点Sの座標はRAM108の所定番
地に格納される。
め、マウス110を動かしてカーソルCRを所望の位置
へ移動させ、実行ボタンを押す(図5(A) )。この
第1のポインティング操作に応動して、CPU100は
その時のカーソル座標を矢印の始点Sと決定する(図4
の12a)。この始点Sの座標はRAM108の所定番
地に格納される。
【0026】次に、ユーザは、矢印の長さおよび向きを
指定するため、マウス110を動かしてカーソルCRを
所望の方向に所望の距離だけ移動させ、実行ボタンを押
す(図5(B) )。この第2のポインティング操作に
応動して、CPU100はその時のカーソル座標を矢印
終点Eと決定し(図4の13a)、その値をRAM10
8に格納する。この第2のポインティング操作によって
カーソルCRが移動する時後述するカーソル処理(図2
の7)により、カーソルCRと始点Sとを結ぶ線分L1
を描画する。この線分L1 はカーソルCRに追従す
る可変的な線分である。しかし、矢印終点Eを決定した
なら、線分L1 も確定する(13b)。これにより、
以後カーソルCRが移動しても線分L1 は固定表示さ
れたままとなる。さらにCPU100は、次の実行[2
]の処理で使うための線分L1 と直交するベクトルを
生成する(図4の13c)。
指定するため、マウス110を動かしてカーソルCRを
所望の方向に所望の距離だけ移動させ、実行ボタンを押
す(図5(B) )。この第2のポインティング操作に
応動して、CPU100はその時のカーソル座標を矢印
終点Eと決定し(図4の13a)、その値をRAM10
8に格納する。この第2のポインティング操作によって
カーソルCRが移動する時後述するカーソル処理(図2
の7)により、カーソルCRと始点Sとを結ぶ線分L1
を描画する。この線分L1 はカーソルCRに追従す
る可変的な線分である。しかし、矢印終点Eを決定した
なら、線分L1 も確定する(13b)。これにより、
以後カーソルCRが移動しても線分L1 は固定表示さ
れたままとなる。さらにCPU100は、次の実行[2
]の処理で使うための線分L1 と直交するベクトルを
生成する(図4の13c)。
【0027】次にユーザは、矢印の太さを指定するため
、マウス110を動かしてカーソルCRを線分L1 と
直交する方向に、つまり上記直交ベクトルの方向に所望
の距離だけ移動させ、実行ボタンを押す(図5(C)
)。 この第3のポインティング操作に応動してCPU100
は、その時のカーソル座標e1 と直交ベクトルとから
矢印の太さを決定し(図4の14a)、その太さの値を
RAM108に格納する。この第3のポインティング操
作でも、カーソル処理(7)により、カーソルCRに追
従して矢印の太さを表す線分L2 が可変的に表示され
る。 そして、実行ボタンが押された時、この線分L2 が確
定する(図4の14b)。
、マウス110を動かしてカーソルCRを線分L1 と
直交する方向に、つまり上記直交ベクトルの方向に所望
の距離だけ移動させ、実行ボタンを押す(図5(C)
)。 この第3のポインティング操作に応動してCPU100
は、その時のカーソル座標e1 と直交ベクトルとから
矢印の太さを決定し(図4の14a)、その太さの値を
RAM108に格納する。この第3のポインティング操
作でも、カーソル処理(7)により、カーソルCRに追
従して矢印の太さを表す線分L2 が可変的に表示され
る。 そして、実行ボタンが押された時、この線分L2 が確
定する(図4の14b)。
【0028】最後にユーザは、矢羽の傾きを指定するた
め、マウス110を動かしてカーソルCRを点e1 か
ら線分と並行に始点Sに向かって所望の距離だけ移動さ
せ、実行ボタンを押す(図5(D) )。この第4のポ
インティング操作に応動し、CPU100は矢羽の傾き
(角度)を決定し(図4の15a)、その傾きの値をR
AM108に格納する。この第4のポインティング操作
でカーソルCRが移動する時は、カーソル処理(7)に
より、矢羽の傾きを表す線分L3 が可変的に描画され
る。 線分L1,L2 は固定したままである。
め、マウス110を動かしてカーソルCRを点e1 か
ら線分と並行に始点Sに向かって所望の距離だけ移動さ
せ、実行ボタンを押す(図5(D) )。この第4のポ
インティング操作に応動し、CPU100は矢羽の傾き
(角度)を決定し(図4の15a)、その傾きの値をR
AM108に格納する。この第4のポインティング操作
でカーソルCRが移動する時は、カーソル処理(7)に
より、矢羽の傾きを表す線分L3 が可変的に描画され
る。 線分L1,L2 は固定したままである。
【0029】しかして、矢印の始点、終点の座標、太さ
および矢羽の傾きが全て決定されたので、それらの値に
基づいて矢印全体の形態を決定し(図4の15b)、そ
れまで表示していた線分L1,L2,L3 を消去し、
それらの線分に替えて矢印全体を描画する(図5(E)
)。
および矢羽の傾きが全て決定されたので、それらの値に
基づいて矢印全体の形態を決定し(図4の15b)、そ
れまで表示していた線分L1,L2,L3 を消去し、
それらの線分に替えて矢印全体を描画する(図5(E)
)。
【0030】上述した第2、第3または第4のポインテ
ィング操作において、カーソルCRの移動を連続移動で
はなく、所定のピッチでステップ移動させるようにして
もよい。そうした場合、前回の矢印描画時と同一ステッ
プ回数の距離だけステップ移動させることで前回と同一
形状の矢印を作成することができる。
ィング操作において、カーソルCRの移動を連続移動で
はなく、所定のピッチでステップ移動させるようにして
もよい。そうした場合、前回の矢印描画時と同一ステッ
プ回数の距離だけステップ移動させることで前回と同一
形状の矢印を作成することができる。
【0031】[カーソル処理]図6は、メインルーチン
(図2)におけるカーソル処理(7)の詳細な手順を示
すフローチャートである。先ず、現時のカーソルの位置
(座標)がディスプレイ画面上の描画可能範囲内に入っ
ているかどうかを検査し(20)、その範囲内に入って
いる場合に、現時のカーソル座標が前回と同じであるか
どうか、つまり静止しているか移動したかを判定し(2
1)、移動したのであれば、前回のカーソル座標に対す
る線分に代えて現時のカーソル座標に対する新たな線分
を描画し(22)、前回のカーソル座標を現時のカーソ
ル座標に更新(書き換え)する(23)。このようなカ
ーソル処理により、矢印描画処理中にカーソルが移動す
る時は、それに追従して所定の線分が可変的に描画され
る。したがって、描画処理の各段階において矢印の中間
的(形成途上の)形態が画面上に表示されるため、ユー
ザはそれを見ながら自分の気に入るような矢印を作成す
ることができる。
(図2)におけるカーソル処理(7)の詳細な手順を示
すフローチャートである。先ず、現時のカーソルの位置
(座標)がディスプレイ画面上の描画可能範囲内に入っ
ているかどうかを検査し(20)、その範囲内に入って
いる場合に、現時のカーソル座標が前回と同じであるか
どうか、つまり静止しているか移動したかを判定し(2
1)、移動したのであれば、前回のカーソル座標に対す
る線分に代えて現時のカーソル座標に対する新たな線分
を描画し(22)、前回のカーソル座標を現時のカーソ
ル座標に更新(書き換え)する(23)。このようなカ
ーソル処理により、矢印描画処理中にカーソルが移動す
る時は、それに追従して所定の線分が可変的に描画され
る。したがって、描画処理の各段階において矢印の中間
的(形成途上の)形態が画面上に表示されるため、ユー
ザはそれを見ながら自分の気に入るような矢印を作成す
ることができる。
【0032】[取消処理]図7は、メインルーチン(図
2)における取消処理(5)の詳細な手順を示すフロー
チャートである。上述したように、マウス110の取消
ボタンが押された時に、この取消処理を実行する。先ず
、実行処理(3)で説明した描画処理カウンタのカウン
トを検査し(30)、その値に応じて、つまり描画処理
の段階に応じて取消[0],[1],[2],[3]の
いずれかの処理を行い(31〜34)、その処理の終了
後にカウントを1つ減分する(35)。ただし、カウン
トが0(初期値)になっているときは減分しない。
2)における取消処理(5)の詳細な手順を示すフロー
チャートである。上述したように、マウス110の取消
ボタンが押された時に、この取消処理を実行する。先ず
、実行処理(3)で説明した描画処理カウンタのカウン
トを検査し(30)、その値に応じて、つまり描画処理
の段階に応じて取消[0],[1],[2],[3]の
いずれかの処理を行い(31〜34)、その処理の終了
後にカウントを1つ減分する(35)。ただし、カウン
トが0(初期値)になっているときは減分しない。
【0033】したがって、カウントが3になっている状
態(第4のポインティング操作の完了前)で取消ボタン
が押された時は、取消[3]の処理に入り、第3のポイ
ンティング操作に対して行った実行[2](図4(C)
)を取り消すべく、矢印の太さおよび線分L2 のデ
ータをクリアする(図8(D))。
態(第4のポインティング操作の完了前)で取消ボタン
が押された時は、取消[3]の処理に入り、第3のポイ
ンティング操作に対して行った実行[2](図4(C)
)を取り消すべく、矢印の太さおよび線分L2 のデ
ータをクリアする(図8(D))。
【0034】カウントが2になっている状態(第3のポ
インティング操作の完了前)で取消ボタンが押された時
は、取消[2]の処理を行い、第2のポインティング操
作に対する実行[1](図4(B) )を取り消すよう
、矢印の終点および線分L1 のデータをクリアする(
図8(C) )。
インティング操作の完了前)で取消ボタンが押された時
は、取消[2]の処理を行い、第2のポインティング操
作に対する実行[1](図4(B) )を取り消すよう
、矢印の終点および線分L1 のデータをクリアする(
図8(C) )。
【0035】カウントが1になっている状態(第2のポ
インティング操作の完了前)で取消ボタンが押された時
は、取消[1]の処理を行い、第1のポインティング操
作に対する実行[0](図4(A) )を取り消すよう
、矢印の始点Sの値をクリアする(図8(B) )。
インティング操作の完了前)で取消ボタンが押された時
は、取消[1]の処理を行い、第1のポインティング操
作に対する実行[0](図4(A) )を取り消すよう
、矢印の始点Sの値をクリアする(図8(B) )。
【0036】また、カウントが0のときは(第1のポイ
ンティング操作前は)、この矢印描画を中止し(図8(
B) )、メインルーチン(図2)から出る。
ンティング操作前は)、この矢印描画を中止し(図8(
B) )、メインルーチン(図2)から出る。
【0037】以上のような取消処理(5)により、ユー
ザは文書作成・編集画面の状態で描画途中の矢印の形態
を随時修正・訂正することが可能であり、思い通りの矢
印を自在に描画することができる。
ザは文書作成・編集画面の状態で描画途中の矢印の形態
を随時修正・訂正することが可能であり、思い通りの矢
印を自在に描画することができる。
【0038】[計算処理]次に、図9を参照して、本実
施例による矢印描画処理における計算処理を説明する。 (1)始点決定の計算処理 カーソルCRの座標をそのまま矢印始点Sの座標(Sx
,Sy)とする。
施例による矢印描画処理における計算処理を説明する。 (1)始点決定の計算処理 カーソルCRの座標をそのまま矢印始点Sの座標(Sx
,Sy)とする。
【0039】(2)終点決定の計算処理カーソルCRの
座標をそのまま矢印終点Eの座標(Ex,Ey)とする
。線分L1 は(Ex −Sx ,Ey −Sy )と
して定義し、その長さは次式で求める。 |L1 |=√((Ex −Sx )2 +(Ey −
Sy )2線分L1 (SE)と直交するベクトルは、
次式で定義する。 (bx,by)=(Sy −Ey ,Ex −Sx )
また、線分L1 (SE)の傾きの絶対値を次式でチェ
ックする。 abs(Ex −Sx )/ abs(Ey −Sy
)この傾きの絶対値が1より大きいとき(X軸に対する
線分L1 の角度が45度以下のとき)は変数chk=
0とし、1より小さいとき(X軸に対する線分L1 の
角度が45度以上のとき)は変数chk=1とする。
座標をそのまま矢印終点Eの座標(Ex,Ey)とする
。線分L1 は(Ex −Sx ,Ey −Sy )と
して定義し、その長さは次式で求める。 |L1 |=√((Ex −Sx )2 +(Ey −
Sy )2線分L1 (SE)と直交するベクトルは、
次式で定義する。 (bx,by)=(Sy −Ey ,Ex −Sx )
また、線分L1 (SE)の傾きの絶対値を次式でチェ
ックする。 abs(Ex −Sx )/ abs(Ey −Sy
)この傾きの絶対値が1より大きいとき(X軸に対する
線分L1 の角度が45度以下のとき)は変数chk=
0とし、1より小さいとき(X軸に対する線分L1 の
角度が45度以上のとき)は変数chk=1とする。
【0040】(3)太さ決定の計算処理変数chk=0
のときは、X座標における終点Eに対するカーソル座標
(e1)の変位Δxを求め、次式によりこのX方向変位
Δxに対応する長さに直交ベクトル(bx,by)を変
える。 *(bx,by)=(bx ×Δx÷bx ,by ×
Δx÷bx ) この大きさを変えた直交ベクトルを始点Sと終点Eに加
算、減算することにより、線分L2 を規定する点e1
,e2,s1,s2 が得られる。変数chk=1のと
きは、上式中の(Δx÷bx )を(Δy÷bx )で
置き替えて同様な処理を行う。
のときは、X座標における終点Eに対するカーソル座標
(e1)の変位Δxを求め、次式によりこのX方向変位
Δxに対応する長さに直交ベクトル(bx,by)を変
える。 *(bx,by)=(bx ×Δx÷bx ,by ×
Δx÷bx ) この大きさを変えた直交ベクトルを始点Sと終点Eに加
算、減算することにより、線分L2 を規定する点e1
,e2,s1,s2 が得られる。変数chk=1のと
きは、上式中の(Δx÷bx )を(Δy÷bx )で
置き替えて同様な処理を行う。
【0041】(4)矢羽の傾き決定の計算処理変数ch
k=0のとき、Y座標における終点Eに対するカーソル
座標(p1)の変位Δyを求め、終点Eから始点Sに向
かうベクトル(ax,ay)=(Sx −Ex ,Sy
−Ey )を次式によりこのY方向変位Δyに対応す
る長さに変える。 *(ax,ay)=(ax ×Δy÷ay,ay×Δy
÷ay) このベクトルを前に確定した点e1,e2 に加えると
、矢羽の傾きを規定する点p1,p2 が得られる。変
数chk=1のときは、上式中の(Δy÷ay)を(Δ
x÷ax)で置き替えて同様な処理を行う。
k=0のとき、Y座標における終点Eに対するカーソル
座標(p1)の変位Δyを求め、終点Eから始点Sに向
かうベクトル(ax,ay)=(Sx −Ex ,Sy
−Ey )を次式によりこのY方向変位Δyに対応す
る長さに変える。 *(ax,ay)=(ax ×Δy÷ay,ay×Δy
÷ay) このベクトルを前に確定した点e1,e2 に加えると
、矢羽の傾きを規定する点p1,p2 が得られる。変
数chk=1のときは、上式中の(Δy÷ay)を(Δ
x÷ax)で置き替えて同様な処理を行う。
【0042】(5)描画の計算処理
次式により、始点Sと点s1,s2 の中点q1,q2
を求める。 q1 =(s1 +S)/2 q2 =(s2 +S)/2 また、次式により点r1,r2 を求める。 r1 =p1 +(s1 −S)/2 r2 =p2 +(s2 −S)/2 あるいは、ベクトルe2 e1 を3/4倍したものを
点s1,s2,e1,e2 に加えることによっても、
q1,q2,r1,r2 を求めることができ、このほ
うが画面上の誤差を小さくすることができる。
を求める。 q1 =(s1 +S)/2 q2 =(s2 +S)/2 また、次式により点r1,r2 を求める。 r1 =p1 +(s1 −S)/2 r2 =p2 +(s2 −S)/2 あるいは、ベクトルe2 e1 を3/4倍したものを
点s1,s2,e1,e2 に加えることによっても、
q1,q2,r1,r2 を求めることができ、このほ
うが画面上の誤差を小さくすることができる。
【0043】以上のようにして得られたp1,E,p2
,r2,q2,q1,r1 の各点を線分で結ぶと、矢
印全体が描画される。
,r2,q2,q1,r1 の各点を線分で結ぶと、矢
印全体が描画される。
【0044】
【発明の効果】本発明は、上述したような構成を有する
ことにより、以下のような効果を奏する。請求項1の矢
印描画方法によれば、第1のポインティング操作に応動
して矢印の一端の座標を決定し、第2のポインティング
操作に応動して矢印の他端の座標を決定し、第3のポイ
ンティング操作に応動して矢印の太さを決定し、第4の
ポインティング操作に応動して矢羽の傾きを決定し、矢
印の一端、他端の各座標、太さおよび矢羽の傾きの値に
基づいて矢印全体を描画するようにしたので、矢印設定
画面等の特別な画面を開かなくて済み、ユーザは容易か
つ短時間で任意の位置に任意の形態の矢印を自由自在に
描画することができる。
ことにより、以下のような効果を奏する。請求項1の矢
印描画方法によれば、第1のポインティング操作に応動
して矢印の一端の座標を決定し、第2のポインティング
操作に応動して矢印の他端の座標を決定し、第3のポイ
ンティング操作に応動して矢印の太さを決定し、第4の
ポインティング操作に応動して矢羽の傾きを決定し、矢
印の一端、他端の各座標、太さおよび矢羽の傾きの値に
基づいて矢印全体を描画するようにしたので、矢印設定
画面等の特別な画面を開かなくて済み、ユーザは容易か
つ短時間で任意の位置に任意の形態の矢印を自由自在に
描画することができる。
【0045】請求項2の矢印描画方法によれば、上記第
2,第3,第4の各ポインティング操作に応動してそれ
ぞれ矢印の一端と他端を表す第1の線分、矢印の太さを
表す第2の線分、矢羽の傾きを表す第3の線分を描画す
ることにより、ユーザは描画操作の各段階で矢印の中間
的形態を目で確認しながら所望の矢印を容易に描画する
ことができる。
2,第3,第4の各ポインティング操作に応動してそれ
ぞれ矢印の一端と他端を表す第1の線分、矢印の太さを
表す第2の線分、矢羽の傾きを表す第3の線分を描画す
ることにより、ユーザは描画操作の各段階で矢印の中間
的形態を目で確認しながら所望の矢印を容易に描画する
ことができる。
【0046】請求項3の矢印描画方法によれば、上記第
1,第2,第3の各ポインティング操作に対して実行し
た各処理を所定の取消操作に応動して取り消すことによ
り、ユーザは描画操作の各段階で矢印の形態を修正する
ことができるので、自分の気にいるまで自由自在に描画
操作を行うことができる。
1,第2,第3の各ポインティング操作に対して実行し
た各処理を所定の取消操作に応動して取り消すことによ
り、ユーザは描画操作の各段階で矢印の形態を修正する
ことができるので、自分の気にいるまで自由自在に描画
操作を行うことができる。
【0047】請求項4の矢印描画方法によれば、上記第
2,第3または第4の各ポインティング操作においてカ
ーソルを所定のピッチでステップ移動させることにより
、ステップ回数を同じくすることで、複数個の同じ矢印
を作成することができる。
2,第3または第4の各ポインティング操作においてカ
ーソルを所定のピッチでステップ移動させることにより
、ステップ回数を同じくすることで、複数個の同じ矢印
を作成することができる。
【図1】本発明の一実施例による矢印描画方法を実施す
るコンピュータ・システムのハードウェア構成を示すブ
ロック図である。
るコンピュータ・システムのハードウェア構成を示すブ
ロック図である。
【図2】実施例による矢印描画処理のメインルーチンを
示すフローチャートである。
示すフローチャートである。
【図3】実施例における実行処理(3)の詳細な手順を
示すフローチャートである。
示すフローチャートである。
【図4】実施例における実行[0],[1],[2],
[3]の各処理手順を示すフローチャートである。
[3]の各処理手順を示すフローチャートである。
【図5】実施例の各処理に対応してディスプレイ画面上
に表示される矢印描画の各段階示す図である。
に表示される矢印描画の各段階示す図である。
【図6】メインルーチンにおけるカーソル処理(7)の
詳細な手順を示すフローチャートである。
詳細な手順を示すフローチャートである。
【図7】メインルーチンにおける取消処理(5)の詳細
な手順を示すフローチャートである。
な手順を示すフローチャートである。
【図8】取消処理(5)の各段階における処理内容を示
すフローチャートである。
すフローチャートである。
【図9】実施例の矢印描画処理における主要な計算処理
を説明するための図である。
を説明するための図である。
【図10】ディスプレイ画面上の矢印描画の一例を示す
図である。
図である。
100 CPU
102 ROM
104 表示制御回路
106 ディスプレイ
108 RAM
110 マウス
112 キーボード
114 プリンタ
116 外部記憶装置
Claims (4)
- 【請求項1】 ポインティング手段の操作に応動して
コンピュータ・システムのディスプレイ画面上に矢印を
描画する方法において、 第1のポインティング操作に応動して矢印の一端の座標
を決定すること、 第2のポインティング操作に応動して矢印の他端の座標
を決定すること、 第3のポインティング操作に応動して矢印の太さを決定
すること、 第4のポインティング操作に応動して矢印の矢羽の傾き
を決定すること、 前記矢印の一端、他端の座標、太さおよび矢羽の傾きの
値に基づいて矢印全体を描画すること、の諸ステップを
有することを特徴とする矢印描画方法。 - 【請求項2】 前記第2、第3、第4のポインティン
グ操作に応動してそれぞれ矢印の一端と他端を表す第1
の線分、矢印の太さを表す第2の線分、矢羽の傾きを表
す第3の線分を描画することを特徴とする請求項1に記
載の矢印描画方法。 - 【請求項3】 前記第1、第2、第3の各ポインティ
ング操作に対して実行した各処理を所定の取消操作に応
動して取り消すことを特徴とする請求項1または2に記
載の矢印描画方法。 - 【請求項4】 前記第2、第3または第4のポインテ
ィング操作においてカーソルを所定のピッチでステップ
移動させることを特徴とする請求項1に記載の矢印描画
方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3032092A JPH04248617A (ja) | 1991-01-31 | 1991-01-31 | 矢印描画方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3032092A JPH04248617A (ja) | 1991-01-31 | 1991-01-31 | 矢印描画方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04248617A true JPH04248617A (ja) | 1992-09-04 |
Family
ID=12349242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3032092A Pending JPH04248617A (ja) | 1991-01-31 | 1991-01-31 | 矢印描画方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04248617A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109725811A (zh) * | 2017-10-27 | 2019-05-07 | 珠海金山办公软件有限公司 | 一种pdf绘制箭线图形的方法和装置 |
-
1991
- 1991-01-31 JP JP3032092A patent/JPH04248617A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109725811A (zh) * | 2017-10-27 | 2019-05-07 | 珠海金山办公软件有限公司 | 一种pdf绘制箭线图形的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3280559B2 (ja) | ジョグダイアルの模擬入力装置 | |
US20060082572A1 (en) | Inferring of associative constraints and supporting objects for 3D curves | |
JPH04248617A (ja) | 矢印描画方法 | |
JP2003296027A (ja) | タッチパネルにおけるボタン認識領域最適化方式 | |
JP3951492B2 (ja) | 画像処理装置 | |
JP3721318B2 (ja) | グラフ値表示プログラム、グラフ値表示方法、および記録媒体 | |
CN111813408A (zh) | 视图显示处理方法、装置、终端设备及存储介质 | |
JP3890936B2 (ja) | 演奏教習装置及び演奏教習処理のプログラム | |
JP7283594B2 (ja) | 画像編集装置、画像編集方法、及びプログラム | |
JPH06301759A (ja) | 画像処理装置 | |
JP2502099B2 (ja) | 情報の表示方式 | |
JP3000749B2 (ja) | 文字編集装置 | |
JPH03116285A (ja) | 図形作成装置 | |
JP2996647B2 (ja) | 図形群編集方法 | |
JP2925092B2 (ja) | 画像処理装置におけるグリッドの設定方法 | |
JP2669366B2 (ja) | 線対称図形入力装置 | |
JPH05266145A (ja) | 画像表示装置および表示方法 | |
JPH03282589A (ja) | 文書作成装置 | |
CN117911566A (zh) | 一种平面图的点位绘制方法及系统 | |
JPS613280A (ja) | Cad装置 | |
JPH05108635A (ja) | 文字表示装置 | |
JP2000250673A (ja) | 処理装置及び記録媒体 | |
JPH07175941A (ja) | 図形作成装置 | |
JPS61131025A (ja) | グラフイツクデイスプレイ装置の図形入力方式 | |
JPH0594509A (ja) | グラフイツクス・オブジエクト編集方式 |