JP2000030078A - スナップ処理方法 - Google Patents

スナップ処理方法

Info

Publication number
JP2000030078A
JP2000030078A JP10199950A JP19995098A JP2000030078A JP 2000030078 A JP2000030078 A JP 2000030078A JP 10199950 A JP10199950 A JP 10199950A JP 19995098 A JP19995098 A JP 19995098A JP 2000030078 A JP2000030078 A JP 2000030078A
Authority
JP
Japan
Prior art keywords
point
processing
data
snap
vector data
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.)
Withdrawn
Application number
JP10199950A
Other languages
English (en)
Inventor
Shigeki Yahaba
茂樹 矢羽々
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.)
Nippon Steel Corp
Original Assignee
Nippon Steel 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 Nippon Steel Corp filed Critical Nippon Steel Corp
Priority to JP10199950A priority Critical patent/JP2000030078A/ja
Publication of JP2000030078A publication Critical patent/JP2000030078A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

(57)【要約】 【課題】 ラスターデータ上で円の中心や接点等につい
てもその正確な位置にカーソルを移動することができる
スナップ処理方法を提供する。 【解決手段】 CRT表示装置12の画面上で、スナッ
プ処理の種類が選択されると共に、必要に応じて所定の
基準位置が指定され、ラスターデータの所定の対象図形
上の位置が指定されたときに、ベクトル化処理手段21
は、その対象図形上の位置を含む所定の処理領域から追
跡処理を行い、対象図形についてのラスターデータをベ
クトル化することにより、その対象図形に対応する一つ
又は複数の図形要素のベクトルデータを取得する。位置
算出手段22は、そのベクトルデータと、基準位置及び
対象図形上の位置とに基づいて、スナップ処理の種類に
従ったベクトルデータ上の所定の位置を算出する。スナ
ップ処理手段23は、その算出した位置に対応するラス
ターデータ上の位置にカーソルを移動する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、例えば、ラスター
データ編集用ソフトウエアあるいは、CADシステム等
で地図や設計図について編集や作図等の処理を行う際
に、カーソルを自動的に所定の位置に移動するスナップ
処理方法に関するものである。
【0002】
【従来の技術】一般に、ラスターデータ編集用ソフトウ
エアあるいは、CADシステム等には、カーソルを自動
的に所定の位置に移動する機能、いわゆるスナップ処理
機能が設けられている。例えば、線分を表すベクトルデ
ータが画面上に表示されているとする。カーソルをその
線分の端点に移動させたいときに、オペレータは、画面
上で実際にどこがその端点であるのかが正確に分からな
いため、自分でマウス等を操作してカーソルを正確な端
点の位置に移動することは困難である。このような場
合、オペレータは、スナップ処理機能を用いて、カーソ
ルを端点に移動する旨の処理内容を選択し、線分上の所
定位置をカーソルで指定する。すると、CADシステム
は、線分を表すベクトルデータと、その指定した線分上
の位置についてのデータとに基づいて、線分の両端点の
位置を算出し、例えば、指定した線分上の位置に近い方
の端点を特定する。このように、ベクトルデータに基づ
いて位置を求めるため、線分の端点は正確に特定され
る。そして、その特定した端点にカーソルを移動する。
【0003】かかるスナップ処理では、線分の端点にカ
ーソルを移動する場合だけでなく、いろいろな位置にカ
ーソルを移動をすることができる。例えば、線分の中
央、二つの線分の交点、円の中心点、ある点から円に接
線を引いたときの接点等にカーソルを移動することがで
きる。このようなスナップ処理は、主に、ベクトルデー
タ上で行われる。ベクトルデータを用いることにより、
カーソルの移動する位置を容易に算出することができる
からである。
【0004】また、従来より、ラスターデータ上でスナ
ップ処理を行うことも可能である。このラスターデータ
上でのスナップ処理は、上記のベクトルデータ上でのス
ナップ処理とは、カーソルを移動する位置の決定方法が
異なる。すなわち、ラスターデータは二値画像のイメー
ジデータであるので、例えば、端点にカーソルを移動す
るときには、オペレータによって指定されたラスター図
形についてその輪郭点を追跡することにより、その一番
端の位置を決定する。そして、その決定した位置にカー
ソルを移動する。
【0005】
【発明が解決しようとする課題】しかしながら、従来の
ラスターデータ上でのスナップ処理では、ラスター図形
の輪郭点を追跡して、カーソルを移動する位置を決定す
るので、線分の端点や中央、二つの線分の交点等の位置
は求めることができるが、円や楕円の中心や、ある点か
ら円に接線を引いたときの接点等についてはその位置を
求めることができない。このため、従来のラスターデー
タ上でのスナップ処理は、ベクトルデータ上でのスナッ
プ処理に比べてその適用範囲に限界があった。
【0006】また、従来のラスターデータ上でのスナッ
プ処理方法では、例えば、線分の端点にカーソルを移動
する場合、線分の輪郭線の追跡により決定された端点
は、二値画像のイメージデータの端点である。このた
め、線分の端部での線幅にばらつきがあったりすると、
正確な端点の位置を決定することができない。したがっ
て、従来のラスターデータ上でのスナップ処理は、ベク
トルデータ上でのスナップ処理に比べて正確な位置にカ
ーソルを移動することができないという問題もあった。
【0007】本発明は上記事情に基づいてなされたもの
であり、ラスターデータ上で円の中心や接点等について
もその正確な位置にカーソルを移動することができるス
ナップ処理方法を提供することを目的とするものであ
る。
【0008】
【課題を解決するための手段】上記の目的を達成するた
めの本発明に係るスナップ処理方法は、ラスターデータ
を画面に表示し、前記画面上で、カーソルを移動すべき
位置を表す処理内容が指定されると共に前記ラスターデ
ータの対象図形上の位置が指定されたときに、前記対象
図形についてのラスターデータから前記対象図形に対応
する一つ又は複数の図形要素のベクトルデータを取得す
る第一工程と、前記第一工程で取得した前記ベクトルデ
ータと、前記対象図形上の位置についてのデータとに基
づいて、前記処理内容に従った前記ベクトルデータの前
記図形要素に関連した所定の位置を算出する第二工程
と、前記第二工程で算出した位置に対応する前記ラスタ
ーデータ上の位置を求め、その求めた位置に前記カーソ
ルを移動する第三工程と、を具備することを特徴とする
ものである。
【0009】また、上記の目的を達成するための本発明
に係るコンピュータ読み取り可能な記録媒体は、ラスタ
ーデータを画面に表示し、前記画面上で、カーソルを移
動すべき位置を表す処理内容が指定されると共に前記ラ
スターデータの対象図形上の位置が指定されたときに、
前記対象図形についてのラスターデータから前記対象図
形に対応する一つ又は複数の図形要素のベクトルデータ
を取得する第一機能と、前記第一機能で取得した前記ベ
クトルデータと、前記対象図形上の位置についてのデー
タとに基づいて、前記処理内容に従った前記ベクトルデ
ータの前記図形要素に関連した所定の位置を算出する第
二機能と、前記第二機能で算出した位置に対応する前記
ラスターデータ上の位置を求め、その求めた位置に前記
カーソルを移動する第三機能と、をコンピュータに実現
させるためのプログラムを記録したものである。
【0010】本発明では、対象図形についてのラスター
データから、その対象図形に対応する一つ又は複数の図
形要素のベクトルデータを取得する。このため、かかる
ベクトルデータに基づいて、たとえ円の中心や接点等に
ついてもその位置を正確に算出することができる。ま
た、その算出した位置に対応するラスターデータ上の位
置を求め、その位置にカーソルを移動することにより、
ラスターデータ上でスナップ処理を容易に行うことがで
きると共に、従来の方法を用いた場合に比べて正確な位
置にカーソルを移動することができる。
【0011】上記の目的を達成するための本発明に係る
スナップ処理方法は、ラスターデータと前記ラスターデ
ータを変換して得られたベクトルデータとが記憶手段に
関連付けて記憶されており、前記ラスターデータを画面
に表示し、前記画面上で、カーソルを移動すべき位置を
表す処理内容が指定されると共に前記ラスターデータの
対象図形上の位置が指定されたときに、その指定された
前記対象図形に対応する一つ又は複数の図形要素のベク
トルデータを前記記憶手段から読み出し、その読み出し
た前記ベクトルデータと、前記対象図形上の位置につい
てのデータとに基づいて、前記処理内容に従った前記ベ
クトルデータの前記図形要素に関連した所定の位置を算
出する第一工程と、前記第一工程で算出した位置に対応
する前記ラスターデータ上の位置を求め、その求めた位
置に前記カーソルを移動する第二工程と、を具備するこ
とを特徴とするものである。
【0012】また、上記の目的を達成するための本発明
に係るコンピュータ読み取り可能な記録媒体は、ラスタ
ーデータと前記ラスターデータを変換して得られたベク
トルデータとが記憶手段に関連付けて記憶されており、
前記ラスターデータを画面に表示し、前記画面上で、カ
ーソルを移動すべき位置を表す処理内容が指定されると
共に前記ラスターデータの対象図形上の位置が指定され
たときに、その指定された前記対象図形に対応する一つ
又は複数の図形要素のベクトルデータを前記記憶手段か
ら読み出し、その読み出した前記ベクトルデータと、前
記対象図形上の位置についてのデータとに基づいて、前
記処理内容に従った前記ベクトルデータの前記図形要素
に関連した所定の位置を算出する第一機能と、前記第一
機能で算出した位置に対応する前記ラスターデータ上の
位置を求め、その求めた位置に前記カーソルを移動する
第二機能と、をコンピュータに実現させるためのプログ
ラムを記録したものである。
【0013】本発明では、ラスターデータとそれを変換
して得られたベクトルデータとが記憶手段に関連付けて
記憶されている場合、画面上で指定された対象図形に対
応する一つ又は複数の図形要素のベクトルデータを記憶
手段から読み出すことにより、その読み出したベクトル
データに基づいて、たとえ円の中心や接点等についても
その位置を正確に算出することができる。また、その算
出した位置に対応するラスターデータ上の位置を求め、
その位置にカーソルを移動することにより、ラスターデ
ータ上でスナップ処理を容易に行うことができると共
に、従来の方法を用いた場合に比べて正確な位置にカー
ソルを移動することができる。
【0014】
【発明の実施の形態】以下に本発明の一実施形態につい
て図面を参照して説明する。図1は本発明の一実施形態
であるスナップ処理方法を適用したラスターデータ編集
システムの概略構成図、図2乃至図4はスナップ処理の
種類を説明するための図、図5はスナップ処理の種類を
選択するためのプルダウンメニューを示す図である。
【0015】図1に示すラスターデータ編集システム
は、画像入力装置としてのスキャナ11と、CRT表示
装置12と、キーボード13a及び位置入力装置(poin
ting device )としてのマウス13bと、記憶手段14
と、中央処理装置15とを備えるものである。かかるラ
スターデータ編集システムは、例えば、地図や設計図等
の図面を読み取って得られたラスターデータについて編
集や作図等の処理を行う場合に用いられる。
【0016】スキャナ11は、図面を光学的に走査して
読み取り、ラスターデータに変換するものである。CR
T表示装置12は、スキャナ11で読み取って得られた
ラスターデータを画面上に表示するものである。マウス
13bは、CRT表示装置12の画面上で処理対象とな
る図形を指定したりするものである。特に、本実施形態
では、マウス13bが画面上の入力位置を指し示すカー
ソルとして、正方形の領域を表すアパーチャを用いる。
記憶手段14には、スキャナ11で読み取って得られた
ラスターデータが記憶される。ここでは、ラスターデー
タとして、二値画像のイメージデータ、すなわち、画面
上で対象を表す画素を黒で、背景を表す画素を白で表し
たものを用いる。また、中央処理装置15は、ラスター
データの編集や作図等の処理を行うものである。
【0017】本実施形態のラスターデータ編集システム
では、ベクトルデータ上でのスナップ処理は勿論のこ
と、ラスターデータ上でスナップ処理を行うことができ
る。スナップ処理とは、画面上で、カーソルを対象図形
に関連した所定の位置に自動的に移動する処理である。
スナップ処理でカーソルを移動することをスナップする
という。スナップ処理には、カーソルを移動すべき位置
に応じて、例えば、図2乃至図4に示すように、「端
点」、「中点」、「接点」、「中心点」、「垂点」、
「近点」、「交点」、「基点」、「遠点」等の種類があ
る。尚、ここでいう垂点とは、指定した点から目的の図
形(対象図形)に垂線を描く場合、その対象図形と垂線
との交点のことをいう。オペレータは、スナップ処理を
行う際に、例えば、図5に示すような、スナップ処理の
種類を表すプルダウンメニューを画面上に表示し、マウ
ス13bを用いて、所望の種類を選択する。尚、プルダ
ウンメニューの代わりに、ツールバーでスナップ処理の
種類を表示するようにしてもよい。ツールバーは画面上
の所定領域に常時表示されるので、オペレータはスナッ
プ処理機能が使いやすいという利点がある。
【0018】次に、スナップ処理の種類を詳しく説明す
る。「端点」とは、カーソルを対象図形の端点にスナッ
プするものである。例えば、図2(a)に示すように、
対象図形が線分である場合、カーソルを線分上の位置に
移動して、その位置を指定すると、カーソルはその指定
した位置に最も近い端点にスナップされる。また、かか
る「端点」を選択した場合は、対象図形が、線分以外の
円、円弧、楕円、楕円弧であるときにもスナップ処理を
行うことかできる。この場合、オペレータは、まず、対
象図形の種類(円、円弧、楕円、楕円弧)を選択する。
そして、カーソルで対象図形上の位置を指定すると、カ
ーソルは、水平右方向を0度として、0度、90度、1
80度、270度の角度方向にある対象図形上の点のう
ち、指定した位置に最も近い点にスナップされる。
【0019】「中点」とは、カーソルを対象図形の中央
にスナップするものである。例えば、図2(b)に示す
ように、対象図形が線分である場合、カーソルで線分上
の位置を指定すると、カーソルはその線分の中心点にス
ナップされる。「接点」とは、カーソルを対象図形の接
点にスナップするものである。例えば、図2(c)に示
すように、対象図形が円である場合には、まず、円外
の、いま考えている接線が通る点である基準位置を指定
する。次に、カーソルで円上の位置を指定すると、カー
ソルは、その指定した円上の位置から一番近い接点にス
ナップされる。
【0020】「中心点」とは、カーソルを円、円弧の中
心点にスナップするものである。例えば、図3(a)に
示すように、対象図形が円弧である場合、カーソルで円
弧上の位置を指定すると、カーソルは、円弧を円と考え
たときのその円の中心点にスナップされる。「垂点」と
は、カーソルを対象図形上の一番近い点(垂線を引く
点)にスナップするものである。例えば、図3(b)に
示すように、対象図形が線分である場合には、まず、線
分外の、いま考えている垂線が通る点である基準位置を
指定する。次に、カーソルで線分上の所定位置を指定す
ると、カーソルは、線分と垂線との交点にスナップされ
る。「近点」とは、カーソルを対象図形の最も近い点に
スナップするものである。例えば、図3(c)に示すよ
うに、対象図形が円である場合、カーソルが円の一部を
含むようにして、カーソルで位置を指定すると、カーソ
ルは、その指定した位置(カーソルの中心点)から一番
近い円上の点にスナップされる。
【0021】「交点」とは、カーソルを対象図形の交点
にスナップするものである。例えば、図4(a)に示す
ように、対象図形が直交する二つの線分である場合、カ
ーソルで線分上の位置を指定すると、カーソルは、その
二つの線分の交点にスナップされる。「基点」とは、カ
ーソルを文字・シンボルの基点にスナップするものであ
る。例えば、図4(b)に示すように、「A」という文
字がある場合、カーソルで文字上の位置を指定すると、
カーソルは予め決められた文字の基点にスナップされ
る。「遠点」とは、カーソルを対象図形の選択した場所
から遠い点にスナップするものである。例えば、図4
(c)に示すように、対象図形が線分である場合、カー
ソルで線分上の位置を指定すると、カーソルはその指定
された位置に最も遠い点、すなわち、遠い方の端点にス
ナップされる。
【0022】このように、スナップ処理を行う場合に、
通常、オペレータは、カーソルで対象図形上の位置を指
定するが、特定の種類のもの、上記の例では、「接点」
及び「垂点」については、対象図形上の位置を指定する
前に、その種類に応じた基準位置を指定することが必要
である。かかるスナップ処理は、通常、ラスターデータ
の編集や作図等の処理中に、カーソルを所望の位置に移
動したい場合に行われる。例えば、スナップ処理によっ
て位置を特定し、これにより編集する図形を指定するこ
とができる。また、スナップ処理によって一又は複数の
位置を特定し、この特定した位置に基づいて線分や円等
を描くことができる。
【0023】中央処理装置15は、かかるラスターデー
タ上でのスナップ処理を実現するために、図1に示すよ
うに、ベクトル化処理手段21と、位置算出手段22
と、スナップ処理手段23とを有する。ベクトル化処理
手段21は、ラスターデータが表示されたCRT表示装
置12の画面上で、スナップ処理の種類が選択されると
共に、そのスナップ処理の種類によっては必要に応じて
所定の基準位置が指定され、ラスターデータの所定の対
象図形上の位置が指定されたときに、その指定された対
象図形上の位置を含む所定の処理領域から追跡処理を行
い、対象図形についてのラスターデータをベクトル化す
ることにより、その対象図形に対応する一つ又は複数の
図形要素のベクトルデータを取得するものである。
【0024】ここで、ベクトル化処理としては、従来か
ら用いられている芯線化処理や細線化処理が行われる。
ラスターデータを芯線化する場合には、まず、処理領域
内において対象図形を表すラスターデータの輪郭点(対
象を表す黒の画素のうち、その周囲が他の黒画素で完全
に覆われていない点)を求め、その輪郭点を順次繋い
で、輪郭線に関する情報を求める。そして、一対の輪郭
線を追跡しながら、それらの輪郭線の真ん中に線を引く
ことにより、芯線を生成する。一方、ラスターデータを
細線化する場合には、処理領域内において、対象図形を
表すラスターデータの輪郭点を一点ずつ削りながら、そ
のラスターデータをどんどん細めていくことにより、細
線を生成する。
【0025】また、位置算出手段22は、ベクトル化処
理手段21で取得したベクトルデータと、基準位置及び
対象図形上の位置についてのデータとに基づいて、スナ
ップ処理の種類に従ったベクトルデータの図形要素に関
連した所定の位置を算出するものである。スナップ処理
手段23は、位置算出手段22で算出した位置に対応す
るラスターデータ上の位置を求め、その求めた位置にカ
ーソルを移動するものである。
【0026】次に、本実施形態のラスターデータ編集シ
ステムにおいて、ラスターデータ上でのスナップ処理を
行う場合の動作について説明する。図6はラスターデー
タ上でのスナップ処理の手順を説明するためのフローチ
ャート、図7乃至図9は画面上でのスナップ処理を説明
するための図である。まず、オペレータは、CRT表示
装置12の画面上に所望のラスターデータを表示させ
る。図7に示す例では、線分Sが描かれており、一方、
図8に示す例では、円Cが描かれている。次に、オペレ
ータは、図5に示すプルダウンメニューを画面上に表示
させ、マウス13bを用いて、スナップ処理の種類を選
択する(step11)。例えば、図7の場合には、スナップ
処理の種類として「端点」を選択し、一方、図8の場合
には、スナップ処理の種類として「接点」を選択したと
する。すると、中央処理装置15は、その選択されたス
ナップ処理の種類に応じて、メッセージを画面上に表示
する。具体的には、図7の場合、「対象図形上の位置を
指定して下さい。」というメッセージが表示され、図8
の場合、「基準位置を指定して下さい。」というメッセ
ージが表示される。尚、一般に、「接点」及び「垂点」
以外の「端点」、「中点」、「中心点」、「近点」、
「交点」、「基点」、「遠点」を選択すると、「対象図
形上の位置を指定して下さい。」というメッセージが表
示される。一方、「接点」又は「垂点」を選択すると、
「基準位置を指定して下さい。」というメッセージが表
示される。
【0027】オペレータは、かかるメッセージの内容に
従って、画面上で所定の位置を指定する(step12)。図
8の場合、「基準位置を指定して下さい。」とのメッセ
ージに対して、オペレータは、図8(a)に示すよう
に、マウス13bを用いて、カーソルを円C上の点では
ない基準位置P0 に移動し、その基準位置P0 を指定す
る。ここで、カーソルの中心点が基準位置P0 となる。
この基準位置P0 はオペレータが円Cに対して引こうと
考える接線の通る点である。こうして、オペレータが基
準位置を指定すると、中央処理装置15は、次に「対象
図形上の位置を指定して下さい。」というメッセージを
画面上に表示する。図8の場合、オペレータは、図8
(b)に示すように、マウス13bを用いて、カーソル
を円C上の所定位置に移動し、その位置を指定する。ま
た、図7の場合、オペレータは、図7(a)に示すよう
に、マウス13bを用いて、線分S上の位置を指定す
る。ここで、対象図形上の位置はカーソルの中心点に一
致させる必要はなく、その位置がカーソルに含まれてい
ればよい。こうして、基準位置と対象図形上の位置、或
いは対象図形上の位置のみがオペレータによって指定さ
れる。
【0028】ところで、オペレータは自分では対象図形
上の位置を指定したつもりでも、実際にはカーソルに対
象図形が含まれていないことがある。このため、中央処
理装置15は、カーソルに黒画素の領域が含まれている
か否かを調べることにより、、対象図形上の位置が指定
されたか否かを判断する(step13)。例えば、カーソル
に対象図形が含まれていないと判断すると、中央処理装
置15は、「対象図形上の点を指定して下さい」とのメ
ッセージを引き続き画面上に表示する。
【0029】こうして、対象図形上の位置が指定される
と、次に、中央処理装置15のベクトル化処理手段21
は、後述する方法により指定された対象図形上の位置を
含む所定の領域を最初の処理領域として設定し、追跡処
理を開始する(step14)。かかる追跡処理は、具体的に
は、まず、最初の処理領域に対応するラスターデータを
ベクトル化し、その得られたショートベクトルデータに
ついての繋がり情報を取得する。ここで、ショートベク
トルデータとは、処理領域に対応するラスターデータを
ベクトル化して得られたデータのことである。そして、
ショートベクトルデータについての繋がり情報及びスナ
ップ処理の種類に従って処理領域をずらし、そのずらし
た処理領域に対応するラスターデータをベクトル化する
処理を繰り返す。ここで、ショートベクトルデータにつ
いての繋がり情報とは、処理領域の境界におけるショー
トベクトルデータの端点及び進行方向に関する情報のこ
とである。
【0030】例えば、図7(a)の場合は、カーソルで
指定された線分S上の位置を含む所定の領域が最初の処
理領域R0 となり、また、図8(b)の場合は、カーソ
ルで指定された円C上の位置を含む所定の領域が最初の
処理領域R0 となる。一般に、処理領域は、カーソルの
領域よりも大きい正方形の領域である。例えば、処理領
域の一辺の長さは1cm〜2cmである。1mm当たり
の画素数が16画素とすると、処理領域の一辺の長さが
1cmの場合、処理領域は160画素×160画素の大
きさとなる。このように処理領域をカーソルよりも大き
くするのは次の理由による。すなわち、カーソルは対象
図形を特定すると共に、最初の処理領域を設定するため
に用いられるものであるので、カーソルの領域は小さく
てもよく、或いはカーソルは一点を指定するものであっ
ても構わない。これに対し、処理領域は内部的にベクト
ル化を行う領域であって、対象図形を追跡する便宜上の
領域である。このため、処理領域があまりに小さいと、
対象図形の輪郭線が取得できなかったり、たとえ輪郭線
から芯線を取得できても、処理領域の境界において芯線
の位置や進行方向を正確に求められないことがあるから
である。
【0031】ベクトル化処理手段21が最初の処理領域
0 に対応するラスターデータをベクトル化すると、図
7(a)の場合、線分を表すショートベクトルデータが
生成され、一方、図8(b)の場合には、円弧を表すシ
ョートベクトルデータが生成される。また、図7(a)
の場合は、ショートベクトルデータの繋がり情報とし
て、処理領域R0 におけるショートベクトルデータの両
端点の位置座標と、そのショートベクトルデータの進行
方向とを取得する。この進行方向は、ショートベクトル
データの両端点における接線の傾きを求めることにより
求められ、図7(a)の場合には、左方向及び右方向で
ある。一方、図8(b)の場合には、ショートベクトル
データの繋がり情報として、処理領域R0 における円弧
のショートベクトルデータの両端点の位置座標と、その
ショートベクトルデータの進行方向とを取得する。この
場合、進行方向は、上記と同様にして求められ、左上方
向及び右下方向である。
【0032】その後、ベクトル化処理手段21は、ショ
ートベクトルデータの繋がり情報に基づいて、次回の処
理領域を、最初の処理領域を設定した位置からショート
ベクトルデータの進行方向に沿った位置であって、最初
の処理領域と一部重なる位置に設定する。例えば、図7
(a)の場合は、次回の処理領域R1 は、最初の処理領
域R0 におけるショートベクトルデータの一方の端点か
ら他方の端点へ数画素分だけ移動した点が処理領域R1
の一辺の中央に位置するように設定する。これにより、
次回の処理領域R1 には対象図形のラスターデータが確
実に含まれることになる。そして、その処理領域R1
対応するラスターデータをベクトル化する。こうして、
ショートベクトルデータをどんどん加えていきながら、
追跡処理が行われる。かかる追跡処理は、図8に示すよ
うに、対象図形がループ状に閉じている場合には、最初
の処理領域まで戻ると終了する。また、図7に示すよう
に、対象図形がループ状に閉じていない場合には、例え
ば、一方の端まで処理がなされた後は、最初の処理領域
から反対方向に追跡処理が進む。かかる追跡処理を行う
ことにより、対象図形についてのラスターデータの全体
が各処理領域毎にベクトル化される。
【0033】ところで、図9に示すように、スナップ処
理の対象図形が線分S1 であり、その線分S1 に他の図
形Xが連なっている場合は、スナップ処理として「端
点」が選択されていれば、追跡途中に、その重複する部
分(交差点の部分)に達すると、その交差点の位置から
ショートベクトルデータの進行方向Dに沿って所定の距
離だけ前方にジャンプし、そのまま前方に追跡を継続す
る。このとき、他の図形Xについては追跡処理を行わな
い。これは、この交差点の部分についてのショートベク
トルデータがなくても、後述するように、線分S1 の端
点の計算には支障がないからである。但し、この場合、
スナップ処理として「交点」が選択されたときには、そ
の線分S1 と連なる他の図形Xについても追跡処理をす
る必要がある。線分S1 と共に他の図形Xについても追
跡処理して、ショートベクトルデータを生成しなけれ
ば、交点を算出することができないからである。このよ
うに追跡の仕方は、スナップ処理の種類によって異な
る。
【0034】尚、ベクトル化処理手段21は、処理領域
をずらしながら、その処理領域に対応するラスターデー
タについての輪郭線に関する情報を求める処理を繰り返
すことにより、対象図形全体の輪郭線に関する情報を取
得した後、その対象図形全体の輪郭線に関する情報に基
づいて、ベクトル化するようにしてもよい。その後、ベ
クトル化処理手段21は、こうして得られた各ショート
ベクトルデータに基づいて対象図形に対応する一つ又は
複数の図形要素を認識することにより、対象図形に対応
する一つ又は複数の図形要素のベクトルデータを取得す
る(step15)。例えば、図7(a)の場合には、対象図
形Sに対応する図形要素が線分であると認識され、その
図形要素のベクトルデータとして、線分の両端点の位置
座標が求められる。また、図8(b)の場合には、対象
図形Cに対応する図形要素が円であると認識され、その
図形要素のベクトルデータとして、円の中心点の位置座
標及び半径が求められる。こうして取得されたベクトル
データは中央処理装置15の主メモリ15aに保管され
る。
【0035】次に、中央処理装置15の位置算出手段2
2は、ベクトル化処理手段21で得られたベクトルデー
タと、基準位置及び対象図形上の位置、或いは対象図形
上の位置についてのデータとに基づいて、スナップ処理
の種類に従った、ベクトルデータの図形要素に関連した
位置(スナップ位置)を算出する(step16)。例えば、
図7(a)に示す例では、スナップ処理として「端点」
が選択されているので、線分Sに対応する図形要素の両
端点と、カーソルで指定した線分S上の位置との距離を
求め、距離が近い方の端点をスナップ位置として特定す
る。一方、図8(b)に示す例では、スナップ処理とし
て「接点」が選択されているので、位置算出手段22
は、まず、基準位置P0 についてのデータと、ベクトル
化処理手段21で得られた円Cに対応する図形要素のベ
クトルデータ(中心点及び半径)とに基づいて、基準位
置P0 を通る直線が、円Cを表す図形要素に接する二つ
の接点を求める。そして、その二つの接点と、カーソル
で指定した円C上の位置との距離を求め、距離が近い方
の接点をスナップ位置として特定する。
【0036】尚、スナップ処理として他の種類のものが
選択された場合には、位置算出手段22はその種類に応
じて以下のような処理を行う。まず、図2(b)に示す
ように、スナップ処理が「中点」であり、対象図形が線
分である場合には、線分に対応する図形要素の両端点の
位置座標の平均をとることにより、中点の位置座標を算
出する。この中点がスナップ位置となる。図3(a)に
示すように、スナップ処理が「中心点」であり、対象図
形が円弧である場合は、ベクトル化処理手段21で取得
された円弧に対応する図形要素の中心点がそのままスナ
ップ位置となる。図3(b)に示すように、スナップ処
理が「垂点」であり、対象図形が線分である場合は、ま
ず、垂線を引こうとする基準点についてのデータと、線
分に対応する図形要素の両端点についてのデータに基づ
いて、基準位置を通り線分を表す図形要素に直交する直
線がその図形要素と交わる点(交点)を求める。こうし
て求めた交点がスナップ位置となる。
【0037】また、図3(c)に示すように、スナップ
処理が「近点」であり、対象図形が円である場合は、ベ
クトル化処理手段21で得られた円に対応する図形要素
の形状に関するデータに基づいて、円を表す図形要素上
の点のうち、カーソルの中心点からの距離が最も短い点
をスナップ位置とする。図4(a)に示すように、スナ
ップ処理が「交点」であり、対象図形が直交する二つの
線分である場合は、各線分に対応する図形要素の両端点
についてのデータに基づいて、二つの線分を表す図形要
素が交わる点を求め、この点をスナップ位置とする。図
4(b)に示すように、スナップ処理が「基点」であ
り、対象図形が文字「A」である場合は、文字認識を行
い、その結果に基づいて所定の基点、例えば左下の点を
スナップ位置として特定する。図4(c)に示すよう
に、スナップ処理が「遠点」であり、対象図形が線分で
ある場合には、線分に対応する図形要素の両端点と、カ
ーソルで指定した線分上の位置との距離を求め、距離が
遠い方の端点をスナップ位置とする。
【0038】次に、中央処理装置15のスナップ処理手
段23は、位置算出手段22で算出したスナップ位置を
ラスターデータ上の位置に換算し、その換算したラスタ
ーデータ上の位置にカーソルの中心点がくるように、カ
ーソルを移動する(step17)。図7の例では、スナップ
処理の結果、カーソルの中心点は、図7(b)に示すよ
うに、線分S上の点P1 、すなわち、線分Sのラスター
データにおける左端の略中央に移動する。また、図8の
例では、スナップ処理の結果、カーソルの中心点は、図
8(c)に示すように、円C上の点P2 に移動する。こ
のように、カーソルの中心点は、対象図形のラスターデ
ータの線幅方向の真ん中に位置するようになる。以上で
スナップ処理が終了する。
【0039】その後、オペレータはカーソルがスナップ
された位置で所望の処理を行うことになる。例えば、図
8の場合、そのスナップされた位置を通る接線を描くこ
とができる。このとき、中央処理装置15は、スナップ
された位置と基準位置とを通る直線(芯線)に所定の線
幅値を与えて、直線のラスターデータを作成し、画面上
に表示する。
【0040】尚、スナップ処理が終了した後は、中央処
理装置15の主メモリ15aに記憶されているベクトル
データは消去される。しかしながら、処理終了後に、ベ
クトルデータを記憶手段14に格納するようにしてもよ
い。これにより、次回、同じ対象図形に関してスナップ
処理を行う場合に、記憶手段14に格納したベクトルデ
ータを利用することができる。この点については後述す
る。
【0041】また、以上説明した動作を実行するプログ
ラムは、フロッピーディスク、CD−ROM等の可搬媒
体や、ハードディスク等の記憶装置等に、その全体ある
いは一部が記録され、又は記憶されている。そのプログ
ラムがコンピュータにより読み取られて、動作の全部あ
るいは一部が実行される。本実施形態のスナップ処理方
法では、対象図形についてのラスターデータをベクトル
化して、その対象図形に対応する一つ又は複数の図形要
素のベクトルデータを取得する。このため、かかるベク
トルデータに基づいて、たとえ円の中心や接点等につい
てもその位置を正確に算出することができる。また、そ
の算出した位置に対応するラスターデータ上の位置を求
め、その位置にカーソルを移動することにより、ラスタ
ーデータ上でスナップ処理を容易に行うことができると
共に、従来の方法を用いた場合に比べて正確な位置にカ
ーソルを移動することができる。
【0042】尚、本発明は上記の実施形態に限定される
ものではなく、その要旨の範囲内において種々の変形が
可能である。例えば、上記の実施形態では、図2乃至図
4に示す種類のスナップ処理を行う場合について説明し
たが、スナップ処理の種類はこれらに限らない。一般
に、ベクトルデータに基づいて算出できる点であれば、
その点にカーソルをスナップすることができる。例え
ば、対象図形が折れ線である場合に、カーソルで折れ線
上の位置を指定することにより、折れ線の頂点のうち、
指定した位置に最も近い頂点にカーソルをスナップする
ことができる。また、かかるスナップ処理を利用するこ
とにより、例えば、上記の折れ線について、その長さを
計算したり、また、折れ線が閉じている場合には折れ線
で囲まれる面積を計算することができる。この場合、所
定のコマンドを選択し、折れ線上の一点を指定すれば、
上記の実施形態で説明したように、中央処理装置は、折
れ線のラスターデータを内部的にベクトル化し、その折
れ線の各頂点の位置座標を求めることができる。そし
て、これら各頂点の位置座標に基づいて、折れ線の長さ
や面積を容易に算出することができる。
【0043】また、上記の実施形態では、スナップ処理
を行う毎に、対象図形のラスターデータをベクトル化す
る場合について説明したが、予めラスターデータがベク
トルデータに変換され、ラスターデータとそれに対応す
るベクトルデータとが記憶手段14に関連付けて記憶さ
れている場合には、そのベクトルデータを利用して、ス
ナップ処理を行うことができる。具体的には、ラスター
データを画面に表示し、その画面上で、スナップ処理の
種類が選択されると共に、スナップ処理の種類によって
は必要に応じて所定の基準位置が指定され、ラスターデ
ータの所定の対象図形上の位置が指定されたときに、位
置算出手段22は、その指定された対象図形に対応する
一つ又は複数の図形要素のベクトルデータを記憶手段1
4から読み出し、その読み出したベクトルデータと、基
準位置及び対象図形上の位置についてのデータとに基づ
いて、スナップ処理の種類に従ったベクトルデータの図
形要素に関連した所定の位置を算出する。そして、スナ
ップ処理手段23は、位置算出手段22で算出した位置
に対応するラスターデータ上の位置を求め、その求めた
位置にカーソルを移動する。
【0044】更に、本システムは、CADシステムに組
み込んで使用することも可能である。
【0045】
【発明の効果】以上説明したように本発明によれば、対
象図形についてのラスターデータから、その対象図形に
対応する一つ又は複数の図形要素のベクトルデータを取
得する。このため、かかるベクトルデータに基づいて、
たとえ円の中心や接点等についてもその位置を正確に算
出することができる。また、その算出した位置に対応す
るラスターデータ上の位置を求め、その位置にカーソル
を移動することにより、ラスターデータ上でスナップ処
理を容易に行うことができると共に、従来の方法を用い
た場合に比べて正確な位置にカーソルを移動することが
できる。
【図面の簡単な説明】
【図1】本発明の一実施形態であるスナップ処理方法を
適用したラスターデータ編集システムの概略構成図であ
る。
【図2】スナップ処理の種類を説明するための図であ
る。
【図3】スナップ処理の種類を説明するための図であ
る。
【図4】スナップ処理の種類を説明するための図であ
る。
【図5】スナップ処理の種類を選択するためのプルダウ
ンメニューを示す図である。
【図6】ラスターデータ上でのスナップ処理の手順を説
明するためのフローチャートである。
【図7】画面上でのスナップ処理を説明するための図で
ある。
【図8】画面上でのスナップ処理を説明するための図で
ある。
【図9】画面上でのスナップ処理を説明するための図で
ある。
【符号の説明】
11 スキャナ 12 CRT表示装置 13a キーボード 13b マウス 14 記憶手段 15 中央処理装置 15a 主メモリ 21 ベクトル化処理手段 22 位置算出手段 23 スナップ処理手段

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 ラスターデータを画面に表示し、前記画
    面上で、カーソルを移動すべき位置を表す処理内容が指
    定されると共に前記ラスターデータの対象図形上の位置
    が指定されたときに、前記対象図形についてのラスター
    データから前記対象図形に対応する一つ又は複数の図形
    要素のベクトルデータを取得する第一工程と、 前記第一工程で取得した前記ベクトルデータと、前記対
    象図形上の位置についてのデータとに基づいて、前記処
    理内容に従った前記ベクトルデータの前記図形要素に関
    連した所定の位置を算出する第二工程と、 前記第二工程で算出した位置に対応する前記ラスターデ
    ータ上の位置を求め、その求めた位置に前記カーソルを
    移動する第三工程と、 を具備することを特徴とするスナップ処理方法。
  2. 【請求項2】 前記処理内容の指定では、端点、中点、
    接点、中心点、垂点、近点、交点、基点及び遠点を含む
    スナップ処理の種類を選択することを特徴とする請求項
    1記載のスナップ処理方法。
  3. 【請求項3】 前記スナップ処理の種類が接点又は垂点
    であるときには、基準となる位置を指定し、前記第二工
    程は、前記スナップ処理の種類が接点又は垂点であると
    きに、前記第一工程で取得した前記ベクトルデータと、
    前記基準となる位置及び前記対象図形上の位置について
    のデータとに基づいて前記算出を行うものであることを
    特徴とする請求項2記載のスナップ処理方法。
  4. 【請求項4】 前記第一工程は、前記対象図形上の位置
    を含む所定の処理領域に対応する前記ラスターデータを
    ショートベクトルデータに変換し、そのショートベクト
    ルデータについての繋がり情報及び前記処理内容に従っ
    て前記処理領域をずらし、そのずらした前記処理領域に
    対応する前記ラスターデータをショートベクトルデータ
    に変換する処理を繰り返した後、前記各ショートベクト
    ルデータに基づいて前記対象図形に対応する一つ又は複
    数の図形要素を認識することにより、前記一つ又は複数
    の図形要素のベクトルデータを取得することを特徴とす
    る請求項1、2又は3記載のスナップ処理方法。
  5. 【請求項5】 ラスターデータと前記ラスターデータを
    変換して得られたベクトルデータとが記憶手段に関連付
    けて記憶されており、前記ラスターデータを画面に表示
    し、前記画面上で、カーソルを移動すべき位置を表す処
    理内容が指定されると共に前記ラスターデータの対象図
    形上の位置が指定されたときに、その指定された前記対
    象図形に対応する一つ又は複数の図形要素のベクトルデ
    ータを前記記憶手段から読み出し、その読み出した前記
    ベクトルデータと、前記対象図形上の位置についてのデ
    ータとに基づいて、前記処理内容に従った前記ベクトル
    データの前記図形要素に関連した所定の位置を算出する
    第一工程と、 前記第一工程で算出した位置に対応する前記ラスターデ
    ータ上の位置を求め、その求めた位置に前記カーソルを
    移動する第二工程と、 を具備することを特徴とするスナップ処理方法。
  6. 【請求項6】 前記処理内容の指定では、端点、中点、
    接点、中心点、垂点、近点、交点、基点及び遠点を含む
    スナップ処理の種類を選択することを特徴とする請求項
    5記載のスナップ処理方法。
  7. 【請求項7】 前記スナップ処理の種類が接点又は垂点
    であるときには、基準となる位置を指定し、前記第一工
    程は、前記スナップ処理の種類が接点又は垂点であると
    きに、前記ベクトルデータと、前記基準となる位置及び
    前記対象図形上の位置についてのデータとに基づいて前
    記算出を行うものであることを特徴とする請求項6記載
    のスナップ処理方法。
  8. 【請求項8】 ラスターデータを画面に表示し、前記画
    面上で、カーソルを移動すべき位置を表す処理内容が指
    定されると共に前記ラスターデータの対象図形上の位置
    が指定されたときに、前記対象図形についてのラスター
    データから前記対象図形に対応する一つ又は複数の図形
    要素のベクトルデータを取得する第一機能と、 前記第一機能で取得した前記ベクトルデータと、前記対
    象図形上の位置についてのデータとに基づいて、前記処
    理内容に従った前記ベクトルデータの前記図形要素に関
    連した所定の位置を算出する第二機能と、 前記第二機能で算出した位置に対応する前記ラスターデ
    ータ上の位置を求め、その求めた位置に前記カーソルを
    移動する第三機能と、 をコンピュータに実現させるためのプログラムを記録し
    たコンピュータ読み取り可能な記録媒体。
  9. 【請求項9】 前記処理内容の指定では、端点、中点、
    接点、中心点、垂点、近点、交点、基点及び遠点を含む
    スナップ処理の種類を選択することを特徴とする請求項
    8記載のコンピュータ読み取り可能な記録媒体。
  10. 【請求項10】 前記スナップ処理の種類が接点又は垂
    点であるときには、基準となる位置を指定し、前記第二
    機能は、前記スナップ処理の種類が接点又は垂点である
    ときに、前記第一機能で取得した前記ベクトルデータ
    と、前記基準となる位置及び前記対象図形上の位置につ
    いてのデータとに基づいて前記算出を行うものであるこ
    とを特徴とする請求項9記載のコンピュータ読み取り可
    能な記録媒体。
  11. 【請求項11】 前記第一機能は、前記対象図形上の位
    置を含む所定の処理領域に対応する前記ラスターデータ
    をショートベクトルデータに変換し、そのショートベク
    トルデータについての繋がり情報及び前記処理内容に従
    って前記処理領域をずらし、そのずらした前記処理領域
    に対応する前記ラスターデータをショートベクトルデー
    タに変換する処理を繰り返した後、前記各ショートベク
    トルデータに基づいて前記対象図形に対応する一つ又は
    複数の図形要素を認識することにより、前記一つ又は複
    数の図形要素のベクトルデータを取得することを特徴と
    する請求項8、9又は10記載のコンピュータ読み取り
    可能な記録媒体。
  12. 【請求項12】 ラスターデータと前記ラスターデータ
    を変換して得られたベクトルデータとが記憶手段に関連
    付けて記憶されており、前記ラスターデータを画面に表
    示し、前記画面上で、カーソルを移動すべき位置を表す
    処理内容が指定されると共に前記ラスターデータの対象
    図形上の位置が指定されたときに、その指定された前記
    対象図形に対応する一つ又は複数の図形要素のベクトル
    データを前記記憶手段から読み出し、その読み出した前
    記ベクトルデータと、前記対象図形上の位置についての
    データとに基づいて、前記処理内容に従った前記ベクト
    ルデータの前記図形要素に関連した所定の位置を算出す
    る第一機能と、 前記第一機能で算出した位置に対応する前記ラスターデ
    ータ上の位置を求め、その求めた位置に前記カーソルを
    移動する第二機能と、 をコンピュータに実現させるためのプログラムを記録し
    たコンピュータ読み取り可能な記録媒体。
  13. 【請求項13】 前記処理内容の指定では、端点、中
    点、接点、中心点、垂点、近点、交点、基点及び遠点を
    含むスナップ処理の種類を選択することを特徴とする請
    求項12記載のコンピュータ読み取り可能な記録媒体。
  14. 【請求項14】 前記スナップ処理の種類が接点又は垂
    点であるときには、基準となる位置を指定し、前記第一
    機能は、前記スナップ処理の種類が接点又は垂点である
    ときに、前記ベクトルデータと、前記基準となる位置及
    び前記対象図形上の位置についてのデータとに基づいて
    前記算出を行うものであることを特徴とする請求項13
    記載のコンピュータ読み取り可能な記録媒体。
JP10199950A 1998-07-15 1998-07-15 スナップ処理方法 Withdrawn JP2000030078A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10199950A JP2000030078A (ja) 1998-07-15 1998-07-15 スナップ処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10199950A JP2000030078A (ja) 1998-07-15 1998-07-15 スナップ処理方法

Publications (1)

Publication Number Publication Date
JP2000030078A true JP2000030078A (ja) 2000-01-28

Family

ID=16416307

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10199950A Withdrawn JP2000030078A (ja) 1998-07-15 1998-07-15 スナップ処理方法

Country Status (1)

Country Link
JP (1) JP2000030078A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012191525A (ja) * 2011-03-11 2012-10-04 Yamaha Corp 編集装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012191525A (ja) * 2011-03-11 2012-10-04 Yamaha Corp 編集装置

Similar Documents

Publication Publication Date Title
US6674902B1 (en) Image processing apparatus image processing method, and storage medium
JPH07262371A (ja) 分散型画像処理装置
US20140047367A1 (en) Image processing apparatus, image processing method, and program
JPS63145577A (ja) 型片デ−タ作成方法
JPH1186015A (ja) 情報処理方法及び装置及びその記憶媒体
JP4950716B2 (ja) 画像処理システム、及び走査型電子顕微鏡装置
JP3237898B2 (ja) 画像図形編集装置および画像図形編集装置の処理方法
JP2932193B2 (ja) 図形処理装置
JP2666750B2 (ja) 図形配置装置
US5302967A (en) Figure processing apparatus and method aided by display with ruled lines
JP2000030078A (ja) スナップ処理方法
JP3357760B2 (ja) 文字図形入力編集装置
JP3454906B2 (ja) ナビゲーション表示方法及び装置
JPH11272869A (ja) ラスターデータ編集方法及びラスターデータ編集装置
JPH1153539A (ja) 円形パターン判定方法および記録媒体
JP3947173B2 (ja) 表画像処理装置、プログラム記録媒体、表画像処理方法
US5416894A (en) Method for determining a candidate of a branched direction of a linear image
CN112037120A (zh) 3d点云数据中道路平面要素的标注方法和装置、存储介质
JP2852044B2 (ja) 記号認識装置
JP2001052174A (ja) 手書き図形処理装置および方法、ならびに手書き図形処理プログラムを記録したコンピュータで読取可能な記録媒体
JP3058630B2 (ja) 図形処理装置
JP4618746B2 (ja) 図形オブジェクトの割付装置
JP3657725B2 (ja) 線図形画像処理方法
JPH10149436A (ja) ラスターデータ管理方式及びラスターデータ編集装置
JPH07168951A (ja) 図形入出力装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20051004