JP3774489B2 - 図形処理方法とその装置 - Google Patents
図形処理方法とその装置 Download PDFInfo
- Publication number
- JP3774489B2 JP3774489B2 JP13911895A JP13911895A JP3774489B2 JP 3774489 B2 JP3774489 B2 JP 3774489B2 JP 13911895 A JP13911895 A JP 13911895A JP 13911895 A JP13911895 A JP 13911895A JP 3774489 B2 JP3774489 B2 JP 3774489B2
- Authority
- JP
- Japan
- Prior art keywords
- graphic
- predetermined
- circle
- plane
- axis
- 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
Links
Images
Landscapes
- Image Analysis (AREA)
Description
【産業上の利用分野】
この発明は、図形処理方法とその装置、特に、2つの図形の交線の算出方法に関するものである。
【0002】
【従来の技術】
従来、交線を求めるときに、単純に2幾何要素の式を連立させて交線の式を代数的・解析的に求めるという方法があった。
また、交線を求めるときに、2幾何要素の幾何的な特徴を利用して、判別式等を使ってあらかじめ交線の種類を決定して、交線の計算を行なうという方法があった。
【0003】
【発明が解決しようとする課題】
しかしながら、従来の方法では、2幾何要素の関係の判定等で、桁落ち等による数値的な誤差が少しでも入った場合、統一的かつ実用的な基準で正しく判定できず、正しい交線が求まらないことが多いという問題があった。
本発明は、上記従来例に鑑みてなされたもので、2幾何要素のデータにノイズを含む場合であっても、適正にそれらの2幾何要素間の交線の種類を求める図形処理方法とその装置を提供することを目的とする。
【0004】
【課題を解決するための手段】
上記目的を達成するため、本発明の図形処理方法とその装置は以下の構成を備える。即ち、2つの幾何要素の交線を表わす図形の方程式の係数データを格納するデータメモリと処理プログラムを実行するCPUとを備えた図形処理装置における図形処理方法であって、前記CPUにより、前記データメモリに格納された前記係数データに基づく所定の判別式を計算して、前記図形を楕円と判定する第1の判定工程と、前記第1の判定工程で前記図形を楕円と判定したとき、前記CPUにより、前記データメモリに格納された前記係数データに基づいて前記図形の短軸と長軸の長さを計算し、当該長さの差が所定値以下であれば、前記図形を円と判定し、当該長さの差が前記所定値以下でなければ、前記図形を楕円と判定する第2の判定工程と、前記CPUにより、前記図形の短軸または長軸のいずれか一方の長さが所定値以下であれば、前記図形を点と判定する第3の判定工程とを備える。
【0005】
また、別の発明は、2つの幾何要素の交線を表わす図形の方程式の係数データを格納するデータメモリと、前記データメモリに格納された前記係数データに基づく所定の判別式を計算して、前記図形を楕円と判定する第1の判定手段と、前記第1の判定手段で前記図形を楕円と判定したとき、前記データメモリに格納された前記係数データに基づいて前記図形の短軸と長軸の長さを計算し、当該長さの差が所定値以下であれば、前記図形を円と判定し、当該長さの差が前記所定値以下でなければ、前記図形を楕円と判定する第2の判定手段と、前記図形の短軸または長軸のいずれか一方の長さが所定値以下であれば、前記図形を点と判定する第3の判定手段とを備える。
【0006】
【作用】
以上の構成において、CPUにより、2つの幾何要素の交線を表わす図形の方程式の係数データを格納するデータメモリに格納された前記係数データに基づく所定の判別式を計算して、前記図形を楕円と判定し、前記図形を楕円と判定したとき、前記データメモリに格納された前記係数データに基づいて前記図形の短軸と長軸の長さを計算し、当該長さの差が所定値以下であれば、前記図形を円と判定し、当該長さの差が前記所定値以下でなければ、前記図形を楕円と判定し、前記図形の短軸または長軸のいずれか一方の長さが所定値以下であれば、前記図形を点と判定する第3の判定する。
【0007】
また、別の発明は、第1の判定手段が、2つの幾何要素の交線を表わす図形の方程式の係数データを格納するデータメモリに格納された前記係数データに基づく所定の判別式を計算して、前記図形を楕円と判定し、第2の判定手段が、前記第1の判定手段で前記図形を楕円と判定したとき、前記データメモリに格納された前記係数データに基づいて前記図形の短軸と長軸の長さを計算し、当該長さの差が所定値以下であれば、前記図形を円と判定し、当該長さの差が前記所定値以下でなければ、前記図形を楕円と判定し、前記図形の短軸または長軸のいずれか一方の長さが所定値以下であれば、前記図形を点と判定する第3の判定する。
【0008】
【実施例】
まず、本発明に係る実施例の図形処理方法のポイントの一つは、2つの図形の交線を求める際に、交線の一般方程式の係数に基づいて、各種判別行列式を計算することで、おおまかな交線の種類を判別するという、いわゆる代数的判別を行い、その後、おおまかに各図形種に分類された交線をその複数の幾何的特徴量に基づいて最終的な交線の分類を決定し、また調整するという、いわゆる幾何学的分類処理を行う構成を有することにより、ノイズに強く適正な交線を求めることができることにある。
(実施例1)
図1は、本発明に係る1実施例の図形処理装置のブロック図であり、バス1(制御線,データ線およびアドレス線を含む)には、中央処理装置(CPU)2,リード・オンリー・メモリ(ROM)3,ランダム・アクセス・メモリ(RAM)4,入力インターフェース5を介して入力装置6,CRTインターフェース7を介してCRT8,外部記憶装置インターフェース9を介して、磁気ディスク,磁気テープ等のの外部記憶装置10が接続されている。
【0009】
ROM3に記憶されたプログラムに応じ、RAM4を一時記憶装置として種々の処理及び制御、例えば図形入力制御,図形表示表示,ピック処理,隠面処理,内外判定等を行なう。
入力装置6はキーボード,タブレット,マウス等を備え、図形データの入力を行なうが、この図形データはホスト・コンピュータから受けてもよい。
【0010】
CRT8は、必要に応じて複数のビット・マップ・プレーン等を含んでおり、図形を表示する。
次に、本実施例の理解を容易にするために、図2に示すような円筒と平面による交線を求める方法、即ち、交線が楕円または円である場合での交線計算方法を一例として以下説明する。
【0011】
図3は、本発明の一実施例の図形処理の流れを説明するフローチャートである。ここで、以下に述べる処理に対応する処理プログラムはROM3に格納されており、CPU2がこのプログラムを読み出して、解釈し、実行する。
以下、フローチャートを説明する前に、説明に必要となる用語の定義を行う。<平面、および、円筒面等の記号および用語の定義>
平面および円筒面に関する記号を図8に示すように定義する。
【0012】
P0:平面上の基準点
n0:平面の法線ベクトル(単位ベクトルとする)
c0:円筒面の軸上の基準点
r: 円筒面の半径
n1:円筒面の軸ベクトル(単位ベクトルとする)
次の2つは図4には示されていないが、詳細は後述する。
【0013】
EPS:幾何学的許容長さ
EPSA:幾何学的許容角度
《用語》
・円筒面の基準面:
c0を通り円筒面の軸に垂直な平面を円筒面の基準面という。
【0014】
・幾何学的特徴値:
図形の中心,半径,長径,短径等の幾何学的な特徴を表す値。
次に、図3を参照して、本発明の一実施例の図形処理の流れを説明する。
尚、上述した変数名が以下の記述に表れるが、それらの変数名は、ランダムアクセスメモリ4に割り当てられているものとする。
【0015】
まず、ステップS6では、交線の式から交線の種類・特徴量を算出する。
ここで、対象となる平面,円筒面のデータはすでに外部記憶装置またはランダムアクセスメモリに予め格納されているものとし、そこから対象となる平面,円筒面のデータ取り出す。
また、対象となる平面は、所定のxy平面と平行になるように座標変換が既にかけられており、交線の式として2次曲線の一般形
a・x2+2h・xy+b・y2+2g・x+2f・y+c=0
ここで、a,b,c,f,gは定数。
の形式で既に求められており、ランダムアクセスメモリ4にそのデータが格納されているものとする。
【0016】
上述の座標変換は、例えば、前記対象となる平面の各座標と所定の変換マトリクスM(所定のxy平面と元座標空間での対象となる平面の角度をパラメータとする)の積を取ることで実現できる。また、逆に、変換された平面の各座標と前記変換マトリクスMの逆行列M’の積を取ることにより、元の対象となる平面を求めることができる。
【0017】
以下、本ステップでの詳細な処理内容を説明する。
まず、上の2次曲線の種類を判別するための行列式
を算出し、ランダムアクセスメモリ4に格納する。そして、D=0であるならば上の2次曲線を直線として分類する。
【0018】
次に、上の2次曲線の種類を判別するための別な行列式
を計算し、ランダムアクセスメモリ4に格納する。そして、△=0ならば上の2次曲線を放物線として分類する。
【0019】
次に、
x0=(rfh−bg)/△
y0=(rhg−af)/△
を計算し、ランダムアクセスメモリ4に格納する。そして、
X0=(x0,y0)
を計算し、ランダムアクセスメモリ4に格納する。
【0020】
次に、aとbの関係によって、以下の式
θ=π/4: (もし、a=bならば)
θ=(1/2)atan(2h/(a−b)):(もし、a≠bならば)
を計算し、ランダムアクセスメモリ4に格納する。
【0021】
次に、
t2−(a+b)t+ab=0
ここで、a,bは定数
の解t1,t2を計算し、ランダムアクセスメモリ4に格納する。
【0022】
次に、h=0ならば、a,bをそれぞれa2、b2に代入、即ち、
a2=a,b2=b
の代入を行って、ランダムアクセスメモリ4に格納する。
【0023】
また、h>0ならば、
a2=max(t1,t2)
b2=min(t1,t2)
ここで、max(x1,x2): x1とx2のうちの大きい方を選択 する関数。
【0024】
min(x1,x2): x1とx2のうちの小さい方を選択する関数。
を計算し、ランダムアクセスメモリ4に格納する。
また、h<0ならば、
a2=min(t1,t2)
b2=max(t1,t2)
を計算し、ランダムアクセスメモリ4に格納する。
【0025】
次に、△>0とならば、円,楕円,点楕円,虚楕円のいずれかであるとしてその結果(それらの種類を識別する所定のコード)をランダムアクセスメモリ4に格納する。
次に、a/cを計算して、
a/c>0
ならば、点,虚楕円として、その結果(それらの種類を識別する所定のコード)をランダムアクセスメモリ4に格納する。
【0026】
a/c>0が成立しなければ、円または楕円として、その結果(それらの種類を識別する所定のコード)をランダムアクセスメモリ4に格納する。
次に、
r1=√(−c/a2)
r2=√(−c/b2)
ここで、√(x):xのルートを演算する関数。
を計算し、ランダムアクセスメモリ4に格納する。
【0027】
ここで、r1−r2=0ならば円と判定し、それ以外ならば楕円判定し、その結果(それらの種類を識別する所定のコード)をランダムアクセスメモリ4に格納する。
上述の処理で円と判定されたならば、半径rmin=r1=r2となる。また、その中心はX0である。これらのデータを、ランダムアクセスメモリ4に格納する。
【0028】
また、上述の処理で楕円と判定されたときで、r1>r2ならば、
長軸ベクトル:(r1,0,0)を半時計周りにθ回転したベクトル
短軸ベクトル:(0,r2,0)を半時計周りにθ回転したベクトル
中心:X0
としてそれらのデータをランダムアクセスメモリ4に格納する。
【0029】
以上説明した判定条件を満足しない、即ち、円か楕円以外に分類されたときは、処理を終了する。逆に、円か楕円に分類されたときは、ステップS7へ進む。ステップS7では、ステップS6で分類された交線が楕円であるかチェックして、楕円であればステップS8へ進む。逆に、円であればステップS11へ進む。
【0030】
ステップS8では、長軸または短軸の長さが、所定の幾何学的許容長さであるEPS以下であるかを判定する。ここでの処理は、ステップS6で求めた楕円の特徴値である長軸,短軸ベクトルからそれらの大きさ(長さ)を計算して、その長軸または短軸の長さがEPS以下かどうかを判定する。そして、長軸または短軸の長さがEPS以下であれば、ステップS13からのステップを行なう。逆に、その長軸または短軸の長さがEPS以下でなければ、ステップS9からの処理を行なう。
【0031】
ステップS9では、長軸と短軸の長さの差がEPS以下かどうかを判定する。ここでは、その差が幾何学的許容長さであるEPS以下ならば近似的に円と見なし、ステップS12からの処理を行なう。逆に、その差が幾何学的許容長さEPS以下でなければ楕円と見なし、ステップS10からの処理を行なう。
ステップS10では、楕円として交線を出力する。具体的には、ステップS6で求めた中心座標,長軸ベクトル,短軸ベクトルを、元の座標空間に逆座標変換し、楕円の法線ベクトルを元の平面の法線ベクトルと同一にしたものを、楕円の特徴値として出力して、それらの変換された特徴値をランダムアクセスメモリ4または、外部記憶装置10に格納する。
【0032】
ステップS11では半径がEPS以下かどうかを判定する。具体的には、交線が円と判定されたときであって、その半径が微小であったり、桁落ち等の数値的誤差等で、幾何学的許容誤差EPS以下であると判定された時は、ステップS13からの処理を行なう。逆に、EPS以上であると判定された時は、ステップS12からの処理を行なう。
【0033】
ステップS12では、交線を円として出力する。具体的には、交線が円であると判定し、ステップS9から本ステップにきた場合、言い換えれば、ステップS6の代数的判定で楕円と判定された場合は、長軸と短軸があるので、ここでは、長軸と短軸の大きさの平均を円の半径とする。
尚、ここでの半径の求め方は、今、長軸と短軸の大きさの平均としたが、長軸あるいは短軸のいづれかの長さを円の半径として設定してもよい。
【0034】
そして、所定のxy平面と平行である求められた円を元の対象平面上に座標変換するために、逆行列M’とこの求められた円の各座標との積をとることにより座標変換する。このようにして、元の対象の法線ベクトルと同一の法線ベクトルを持つ円の中心と半径等の特徴値をCRT8に出力する。
ステップS13では、交線が点に縮退したと判定して、この判定状態をメッセージでCRT8に出力するが、交線に関するデータのCRT8への出力は行わず、処理を終了する。
【0035】
以上説明したように、本実施例によれば、交線の一般式の係数に基づいて代数的形状判別を行い、その結果を用いて、短軸や長軸や半径などの幾何学的特徴量での第2次の形状判別を行い、形状を調整することにより、適正な交線形状を求めることができる。
(実施例2)
実施例2の図形処理装置のハードウエア構成は図1と同様であるが、交線算出方法が異なる。
【0036】
以下、図4のフローチャートを参照して、実施例2での交線算出処理手順を説明する。
ただし、図4のステップS6〜ステップS13は実施例1のステップS6からステップS13の処理と同様であるので説明を省略する。
また説明で使用する用語等も実施例1と同様である。
【0037】
まず、ステップS1では平面と円筒面との関係を判定する。具体的には、平面の法線ベクトルと円筒の軸との関係判定を行ない、交線の種類を推定する。具体的には、平面の法線ベクトルn0と円筒の軸ベクトルn1間の内積に基づく相関値を以下の式で計算する。
a=n0・n1/(|n0|・|n1|)
そして、その結果aをランダムアクセスメモリ4に格納する。次に、その結果aの絶対値が次式を満足するか判定し、
1.0−EPSA≦|a|≦1.0+EPSA
を満足するとき、平面と円筒軸は垂直と判定する。また、
|a|≦EPSA
を満足するとき、平面と円筒軸は平行であると判定する。そして、それらの結果をランダムアクセスメモリ4に格納する。
【0038】
ステップS2では、ステップS1における判定結果をランダムアクセスメモリより取り出し、平面と円が垂直であればステップS14へ進む。逆に、垂直でなければステップS3へ進む。
ステップS14では、円筒軸と平面の交点を算出する。
ステップS15では、円としての交線をCRT8に出力する。具体的には、ステップS14で求めた交点をランダムアクセスメモリ4より取り出し、その交点を円の中心とし、半径は円筒面の半径rと同じ円を交線として、それらのデータをランダムアクセスメモリ4や外部記憶装置10に格納するか、またはCRT8にその図形を出力する(図2参照)。そして、処理を終了する。
【0039】
ステップS3では、平面と円筒軸が平行かどうかを判定する。具体的には、ステップS1における判定結果をランダムアクセスメモリ4より取り出し、平面と円筒軸が平行という結果になっているかどうかチェックし、平面と円筒軸が平行であればステップS16へ進み、そうでなければステップS4へ進む。
ステップS16では、交線は直線であるとして、その直線を求める計算を行なう。具体的には、交線は、0本から2本の直線(図2の(b)、(c)、(d)参照)であり、その計算を行い、その直線のデータをランダムアクセスメモリ4または外部記憶装置10またはCRT8に出力する(図2参照)。そして、処理を終了する。
【0040】
ステップS4では、平面がxy平面に平行になるように、平面,円筒面を座標変換する。具体的には、平面がxy平面と平行になるように、平面,円筒面の各特徴値に対して座標変換を行う。
ステップS5では、変換後の平面のZ座標値(XY平面に直交する軸をZ軸として、そのZ軸方向でのその平面の座標値)Z0を円筒面の式に代入し、交線の式を算出する。具体的には、以下の処理を行う。即ち、
ステップS4の座標変換の結果、平面の式が、
Z=Z0
になったとする。また平面,円筒面の各特徴値である、平面上の基準点P0、円筒面の軸上の基準点C0、円筒面の軸ベクトルn1がそれぞれ、
P0 --> P01
C0 --> C01
n1 --> n11
になったとする。この時、変換後の円筒面の式は、
(X−C01)・(X−C0)={(X−C01)・n01}2+r2
この式に、X=(x,y,Z0)を代入し、展開した式が、交線の式として求められる。そして、求められた交線の式のパラメータをランダムアクセスメモリ4に格納する。
【0041】
次に、実施例1で説明したステップS6以下の処理に進も、交線を楕円か円と判定すればそれをCRT8等に出力し、点として判定されれば、その主旨をCRT等に表示して処理を終了する。
以上説明したように、本実施例によれば、はじめに、平面と円筒面の位置関係の代数的判定、より具体的には、平面と円筒が直交しているか平行になっているかを代数的に判定して、それらのいずれかであると判定すると、それぞれ交線が円、直線と見なし、それらに対して、ステップS6以下の幾何学的処理を行なう必要がなく、より高速に図形処理を実行できる。このように、上述の代数的処理と幾何学的処理を巧妙に結びつけることにより、高速にかつ、適正な交線形状を求めることができる。
(実施例3)
本実施例では、円筒面の軸と平面が平行と判定され、交線が直線である場合(図4(b),(c),(d)参照)での平面と円筒面の交線計算処理方法を説明する。
【0042】
尚、以下に示すフローチャートに対応するプログラムは、ROM3に予め格納されており、CPU2がこのプログラムを参照し、解釈して実行する。
図5は、本実施例の平面と円筒面の交線計算処理方法を説明するフローチャートであり、このフローチャートを参照して、各ステップ毎にその処理内容を説明する。ここで、説明に使用する用語等は実施例1と同様である。
【0043】
ステップS100では、円筒の軸と平面が平行な場合での円筒面の軸と平面の距離r2を算出して、ランダムアクセスメモリ4に格納する。算出方法は、円筒の軸上の任意の1点と平面の距離を求めればよい。
ステップS17では、円筒面と平面の最短距離d(符号付き)、即ち、
d=r2−r
を求め、その結果をランダムアクセスメモリ4に格納する。
【0044】
ステップS18では、ステップS17で求められた円筒面と平面の最短距離dが、次不等式
d ≦ EPS
を満足するかどうかを判定する。そして、満足すれば、ステップS22へ進み、満足しなければステップS19からの処理を行なう。
【0045】
ステップS22では、円筒面と平面が接していると判定して、ランダムアクセスメモリに4その判定結果を格納する(図2(c)参照)。
ステップS23では、接している稜線を交線として算出する。具体的には、C0から平面におろした垂線の足の点をP3とすると、P3を通り円筒面の軸方向ベクトルを方向ベクトルとする直線が接している稜線(交線)であるとして、算出する。そして、その結果をCRT8に表示して処理を終了する。
【0046】
ステップS19では、円筒面と平面の最短距離dが次の不等式
d>EPS
を満足するかどうか判定する。そして、満足すれば、ステップS24から処理を行ない、満足しなければステップS20からの処理を行なう。
【0047】
ステップS24では、交線を持たないと判定(図4(b)参照)、即ち、平面と円筒面は離れていると判定し、その結果をCRT8に表示して処理を終了する。ステップS20では、2本の直線が交線であるとしてこれらの直線を求め、ランダムアクセスメモリ4に格納する(図4(d)参照)。
具体的には、円筒面の基準点を中心とし、半径を円筒面の半径rとした円の法線が円筒面の軸方向ベクトルであるその円と、平面との交点、P1,P2を求める。そして、P1,P2を通り、円筒面の軸方向ベクトルを方向ベクトルとする直線を交線とする。
【0048】
ステップS21では、P1とP2の距離がEPS以内かどうか判定して、EPS以内であれば、2本の交線距離がEPS以内と判定して、その結果をランダムアクセスメモリ4に格納し、ステップS25へ進む。逆に、EPS以内でなければ、その結果をCRT8に表示して処理を終了する。
ステップS25では、2本の交線を一つにまとめる処理を行う。具体的には、2本の交線は近似的に同一であると判定し、ステップS20で求めた直線上の点P1,P2のいずれかを通り、円筒面の軸方向ベクトルを方向ベクトルとする直線を求め、それを唯一の交線としてランダムアクセスメモリ4または外部記憶装置10またはCRT8に出力する。
【0049】
以上説明したように、本実施例では、円筒面の軸と平面が平行と判定され、交線が直線である場合に、円筒面の軸と平面間の距離と所定の閾値との大小関係によって、図2に示したように、円筒面と平面が離れているか、接しているか(1本の交線を持つ)、2本の交線を持つかを判定でき、特に、2本の交線を持つと判定された場合、それらの距離が所定の閾値以内であれば、1本の直線に修正することで、ノイズに強く適正な交線を求めることができる。
(実施例4)
本実施例では、図4の交線処理と、図5の交線が直線である場合の交線処理を組み合わせた処理(図6、図7参照)を説明する。本実施例での交線処理でのポイントは、図4のステップS16で交線としての直線が求められた後、図5のステップS100からの処理を行って、その交線を調整することで、ノイズに強い交線処理方法を提供する。
【0050】
尚、図6、図7に示すフローチャートに対応するプログラムは、ROM3に予め格納されており、CPU2がこのプログラムを参照し、解釈して実行する。
図6、図7は、図4と図5を組み合わせた本実施例の平面と円筒面の交線計算処理方法を説明するフローチャートである。このフローチャートで、各ステップ番号は図4と図5のステップ番号と同じものを用いており、これは、図4と図5の対応するステップでの処理内容が同じであることを意味する。
【0051】
即ち、図6、図7におけるステップS1〜ステップS15は、図4のステップS1〜ステップS15の処理,また、図6、図7におけるステップS16〜ステップS25は図5のステップS16〜ステップS25の処理と同様である。従って、全体のステップで説明を省略する。
以上説明したように、本実施例によれば、図4の交線処理と、図5の交線が直線である場合の交線処理を組み合わせて、交線を調整することで、ノイズに強い交線処理方法を提供する。
(他の実施例)
以上、平面と円筒の関係においてその交線計算方法を説明したが、平面と,円筒面,円錐面,球や,その他の面要素間の交線計算においても適用できることは言うまでもない。
【0052】
尚、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器から成る装置に適用しても良い。また、本発明はシステム或は装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。以上説明したように、本発明に係る実施例では、2幾何要素の交線を求める時に、あらかじめ幾何的に意味のある誤差基準によって、2幾何要素が接している場合等の特殊ケースの処理を行ない、また代数的な一般的な手法で求めた交線の解を、幾何的に意味のある誤差基準を使って補正することによって、実用的な基準で正しく交線の解を安定的に求めることができ、かつノイズにも強いという効果がある。
【0053】
【発明の効果】
以上説明したように本発明によれば、2幾何要素のデータにノイズを含む場合であっても、適正にそれらの2幾何要素間の交線の種類を求めることができる。
【図面の簡単な説明】
【図1】本発明に係る1実施例の図形処理装置のブロック図である。
【図2】平面と円筒面の位置関係に対応する交線の様子を説明する図である。
【図3】本発明の第1の実施例の交線処理を示す流れ図である。
【図4】本発明の第2の実施例の交線処理を示す流れ図である。
【図5】本発明の第3の実施例の交線処理を示す流れ図である。
【図6】本発明の第4の実施例の交線処理を示す流れ図である。
【図7】本発明の第4の実施例の交線処理を示す流れ図である。
【図8】各実施例での処理を説明するための、用語などの定義を示す図である。
Claims (14)
- 2つの幾何要素の交線を表わす図形の方程式の係数データを格納するデータメモリと処理プログラムを実行するCPUとを備えた図形処理装置における図形処理方法であって、
前記CPUにより、前記データメモリに格納された前記係数データに基づく所定の判別式を計算して、前記図形を楕円と判定する第1の判定工程と、
前記第1の判定工程で前記図形を楕円と判定したとき、前記CPUにより、前記データメモリに格納された前記係数データに基づいて前記図形の短軸と長軸の長さを計算し、当該長さの差が所定値以下であれば、前記図形を円と判定し、当該長さの差が前記所定値以下でなければ、前記図形を楕円と判定する第2の判定工程と、
前記CPUにより、前記図形の短軸または長軸のいずれか一方の長さが所定値以下であれば、前記図形を点と判定する第3の判定工程とを備えることを特徴とする図形処理方法。 - 前記第2の判定工程で前記図形を円と判定したとき、前記長軸の長さと前記短軸の長さとのいずれか一方、もしくは両者の平均値を前記円の半径の長さとすることを特徴とする請求項1に記載の図形処理方法。
- 前記図形の方程式は、x,yを変数とするax2+2hxy+by2+2gx+2fy+c=0で表現され、a,h,b,g,f,cは前記係数データに対応する所定の係数であることを特徴とする請求項1に記載の図形処理方法。
- 前記第1の判定工程は、
ab−h2>0、かつ、a/c≦0、かつ、tを変数とする2次方程式 t2−(a+b)t+ab=0 の解t1,t2に関して、a2、b2を
h=0ならば、a2=a,b2=b
h>0ならば、a2=max(t1,t2),b2=min(t1,t2)
h<0ならば、a2=min(t1,t2),b2=max(t1,t2)
と設定し、−c/a2のルート演算の結果をr1、−c/b2のルート演算の結果をr2とするとき、r1≒r2ならば、前記図形を楕円と判定することを特徴とすることを特徴とする請求項3に記載の図形処理方法。 - 前記2つの幾何要素は、所定の平面と所定の円筒面とであることを特徴とする請求項1に記載の図形処理方法。
- 前記第1の判定工程に先立って、前記CPUにより、前記平面の法線ベクトルと前記円筒面の軸ベクトルとの内積に基づく相関値を計算する計算工程と、
前記CPUにより、前記相関値の絶対値が所定の範囲値内であれば、前記図形を円と判定する第4の判定工程と、
前記CPUにより、前記相関係数の絶対値が所定の閾値以下であれば、前記図形を直線と判定する第5の判定工程とを備え、
前記第4及び第5の判定工程で前記図形が円もしくは直線と判定されたならば、前記第1の判定工程以降の処理を不実施とすることを特徴とする請求項5に記載の図形処理方法。 - 前記2つの幾何要素は、所定の平面と、所定の円錐面もしくは球面とであることを特徴とする請求項1に記載の図形処理方法。
- 2つの幾何要素の交線を表わす図形の方程式の係数データを格納するデータメモリと、
前記データメモリに格納された前記係数データに基づく所定の判別式を計算して、前記図形を楕円と判定する第1の判定手段と、
前記第1の判定手段で前記図形を楕円と判定したとき、前記データメモリに格納された前記係数データに基づいて前記図形の短軸と長軸の長さを計算し、当該長さの差が所定値以下であれば、前記図形を円と判定し、当該長さの差が前記所定値以下でなければ、前記図形を楕円と判定する第2の判定手段と、
前記図形の短軸または長軸のいずれか一方の長さが所定値以下であれば、前記図形を点 と判定する第3の判定手段とを備えることを特徴とする図形処理装置。 - 前記第2の判定手段で前記図形を円と判定したとき、前記長軸の長さと前記短軸の長さとのいずれか一方、もしくは両者の平均値を前記円の半径の長さとすることを特徴とする請求項8に記載の図形処理装置。
- 前記図形の方程式は、x,yを変数とするax2+2hxy+by2+2gx+2fy+c=0で表現され、a,h,b,g,f,cは前記係数データに対応する所定の係数であることを特徴とする請求項8に記載の図形処理装置。
- 前記第1の判定手段は、
ab−h2>0、かつ、a/c≦0、かつ、tを変数とする2次方程式 t2−(a+b)t+ab=0 の解t1,t2に関して、a2、b2を
h=0ならば、a2=a,b2=b
h>0ならば、a2=max(t1,t2),b2=min(t1,t2)
h<0ならば、a2=min(t1,t2),b2=max(t1,t2)
と設定し、−c/a2のルート演算の結果をr1、−c/b2のルート演算の結果をr2とするとき、r1≒r2ならば、前記図形を楕円と判定することを特徴とすることを特徴とする請求項10に記載の図形処理装置。 - 前記2つの幾何要素は、所定の平面と所定の円筒面とであることを特徴とする請求項8に記載の図形処理装置。
- 前記第1の判定手段の前に、前記平面の放線ベクトルと前記円筒面の軸ベクトルとの内積に基づく相関値を計算する計算手段と、
前記相関値の絶対値が所定の範囲値内であれば、前記図形を円と判定する第4の判定手段と、
前記相関値の絶対値が所定の閾値以下であれば、前記図形を直線と判定する第5の判定手段とを備え、
前記第4及び第5の判定手段で前記図形が円もしくは直線と判定されたならば、前記第1の判定手段の処理を不実施とすることを特徴とする請求項12に記載の図形処理装置。 - 前記2つの幾何要素は、所定の平面と所定の円錐面もしくは球面とであることを特徴とする請求項8に記載の図形処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13911895A JP3774489B2 (ja) | 1995-06-06 | 1995-06-06 | 図形処理方法とその装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13911895A JP3774489B2 (ja) | 1995-06-06 | 1995-06-06 | 図形処理方法とその装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08329245A JPH08329245A (ja) | 1996-12-13 |
JP3774489B2 true JP3774489B2 (ja) | 2006-05-17 |
Family
ID=15237924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP13911895A Expired - Fee Related JP3774489B2 (ja) | 1995-06-06 | 1995-06-06 | 図形処理方法とその装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3774489B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117291972B (zh) * | 2023-11-23 | 2024-02-13 | 湖南科天健光电技术有限公司 | 圆形标志的亚像素定位方法、装置、电子设备及介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4796623A (en) * | 1987-07-20 | 1989-01-10 | The Cooper Companies, Inc. | Corneal vacuum trephine system |
JPH03141474A (ja) * | 1989-10-26 | 1991-06-17 | Katsumi Mori | 2次曲線図形検出方式 |
FR2674322B1 (fr) * | 1991-03-20 | 1998-02-13 | Valeo Thermique Moteur Sa | Echangeur de chaleur a faisceau de tubes, en particulier pour vehicule automobile. |
JP2679490B2 (ja) * | 1991-11-08 | 1997-11-19 | 株式会社デンソー | 山積み部品の高速ピッキング装置 |
JPH06187660A (ja) * | 1992-12-19 | 1994-07-08 | Ricoh Co Ltd | 光ピックアップのスポット検査装置 |
JPH07110866A (ja) * | 1993-10-12 | 1995-04-25 | Riibuson:Kk | パターン認識装置 |
-
1995
- 1995-06-06 JP JP13911895A patent/JP3774489B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08329245A (ja) | 1996-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6504541B1 (en) | Warping geometric objects | |
US6532304B1 (en) | Matching geometric objects | |
KR0167618B1 (ko) | 문자 발생 장치 및 방법 | |
US10684604B2 (en) | Numerical control apparatus enabling specification of a circular arc shape movement trajectory | |
JP3774489B2 (ja) | 図形処理方法とその装置 | |
JP3332476B2 (ja) | 図形修正方法及びそれを実施する情報処理装置 | |
CN115422196A (zh) | 一种矢量数据拓扑关系检查方法 | |
US6957176B2 (en) | Reduction processing method and computer readable storage medium having program stored thereon for causing computer to execute the method | |
US7653498B2 (en) | Apparatus for and method of calculating many-body problem | |
JP2937587B2 (ja) | 直線描画処理における交点算出方法 | |
CN114353285B (zh) | 声源定位方法、装置、计算机设备、空调器以及存储介质 | |
EP4362057A1 (en) | Electron beam rendering device, electron beam rendering method, and recording medium | |
JPH08320938A (ja) | 領域内における内外判定方法 | |
CN115755755A (zh) | Agv小车b样条曲线路径快速生成方法、存储介质及系统 | |
JPH06325130A (ja) | プリント配線パターンコーナ修正方法 | |
JP2001159809A (ja) | マスクパターン設計装置、マスクパターン設計方法およびマスクパターン設計プログラムを格納したコンピュータ読取り可能な記録媒体 | |
Wang et al. | Generation of Collision-Free Tool Posture for Robotic Belt Grinding Blisk Using Visualization Toolkit | |
JPH08180209A (ja) | 3次元上領域における領域内外の点の抽出方法及び装置、及び同一曲線上の点の並び順判定方法及び装置 | |
CN114820875A (zh) | 一种有向距离场图像的生成方法、装置、设备及存储介质 | |
JP3332626B2 (ja) | 2楕円の共通接線作成方法及び図形処理装置 | |
JP3382444B2 (ja) | 文字処理装置及び方法 | |
CN110796189A (zh) | 二维空间点的聚类方法 | |
JPH05274393A (ja) | 3次元cadシステム | |
JP2005208758A (ja) | 内外点判定アルゴリズムおよび判定方法 | |
JPH02278291A (ja) | 直線ショートベクトル列によって表された形状の角の検出方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050128 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050201 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050404 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050930 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051129 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060203 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060220 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100224 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100224 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110224 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120224 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130224 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140224 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |