JPS6231481A - ベクトルクリツピング方式 - Google Patents

ベクトルクリツピング方式

Info

Publication number
JPS6231481A
JPS6231481A JP60169534A JP16953485A JPS6231481A JP S6231481 A JPS6231481 A JP S6231481A JP 60169534 A JP60169534 A JP 60169534A JP 16953485 A JP16953485 A JP 16953485A JP S6231481 A JPS6231481 A JP S6231481A
Authority
JP
Japan
Prior art keywords
line segment
midpoint
circuit
coordinate
point
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.)
Granted
Application number
JP60169534A
Other languages
English (en)
Other versions
JPH0679341B2 (ja
Inventor
Takashi Miyaki
宮木 隆
Makoto Takasaki
高崎 真
Sakae Inasawa
稲沢 栄
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.)
Mutoh Industries Ltd
Original Assignee
Mutoh Industries Ltd
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 Mutoh Industries Ltd filed Critical Mutoh Industries Ltd
Priority to JP60169534A priority Critical patent/JPH0679341B2/ja
Publication of JPS6231481A publication Critical patent/JPS6231481A/ja
Publication of JPH0679341B2 publication Critical patent/JPH0679341B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)
  • Digital Computer Display Output (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はグラフィックディスプレイ装置等の図形情報処
理装置において、線分の始終点データに基づき、この線
分のウィンドウとの境界点の座標値を得るためのベクト
ルクリッピング方式に関する。
(従来の技術〕 従来の図形情報処理装置では、2次元あるいは3次元空
間におけるスクリーン上の直線のクリッピング方式とし
て中点分割法が公知である。該中点分割法においては、
第6図に示す、ウィンドウ2と直線4との交点PBの座
標値xb、ybを次のような方法で求めている。
この場合、直線4の始点p1と終点P2のX。
y座標値は既知で、且つ、点PBのXかY座標のどちら
かが既知である。第6図の場合は、X座標値xbが既知
であるため、図7のフローチャートでは点PBのX座標
xbが既知であるとしている。
まず、コンピュータは、直線4の中点PCのxy座標値
xO,yOを次の(1)(2)式で演算する。
xo=(xl+x2)÷2・・・・・・(1)式%式%
(2) 更に上記xOから前記中点PCと点PBとの間のX座標
軸上の距離BBを演算する。
BB =xO−xb 次に、Xi>X2を判断し、YESであればBBにマイ
ナス1をかける。第6図の場合は。
x 1 < x 2なので、gBはその正負の付帯が反
転されない。BBが図示するようにプラスであれば x2=x。
y 2 = y O として、このx2.y2を、上記(1)(2)式に代入
して、線分PL、PCの中点pc’を求め、この中点P
C’とクリップ点PBとのX座標軸上の距1iBBを求
める。これは、前に求めた中点をクリップ点を含む線分
の端部とすることであり、この端部とクリップ点を含む
線分の他端とを結ぶ線分の中点を次に求める。また、B
Bがマイナスであれば、xl=xo、yl=yoとして
、このxl。
ylを上記(1)(2)式に代入して、前に求めた。中
点をクリップ点を含む線分の端部として、該端部とクリ
ップ点を含む線分の他端とを結ぶ線分の中点を求める。
上記の計算をくり返し行うことによりBB=0となった
ときのxo、yOが求めるクリップ点のxy座標値であ
る。
〔発明が解決しようとする問題点〕
整数計算によって前記中点分割法を用いてクリップ点を
求める場合、第3図のようにdy / d x > 1
のような直線に対しては、dxが小さいため中点をくり
返し求めてゆくと、精度が悪くなってしまう。本発明は
、このような欠点を除去することを目的とするものであ
る。
〔問題点を解決する手段〕
上記目的を達成するため本発明は線分図形の面端のX’
l$標値及び該線分の、ウィンドウとの境界であるクリ
ップ点の、一方の座標軸上における値が既知である場合
において。
上記線分の両端間の一方の座標軸上における距離を拡大
して前記線分の前記他の座標軸に対する傾きを所定の値
に設定した後、該拡大した線分の中点を求め、該中点の
前記一方の座標軸上における値と前記線分拡大後におけ
る前記クリップ点の一方の座標軸上における値とを比較
し、両者が不一致のときは、前記中点と前記クリップ点
を含む側の線分の端部との中点を求めるとともに該中点
を前記拡大線分の他方の端部と成し、この動作を、求め
た中点の前記一方の座標軸上の値と前記クリップ点の前
記一方の座標軸上の値とが一致するまで行うことにより
、前記クリップ点の他の座標軸上の値を得るようにした
ものである。
以下に本発明の構成を添付図面に示す実施例を参照して
説明する。
第3図に示す線分り上の任意の一点(クリップ点PB)
のY座標値ybを求める場合について説明する。
マイクロコンピュータのCPU6には被計算値として線
分名の始点座111PI  (xi、yl)、終点座標
P2 (x2.y2)及びクリップ点のX座標xbを、
記憶回路8,10,12゜14.16に入力する。求め
るのはクリップ点PBのY座標ybである。
記憶回路8,10から比較回路1・8にxl。
X2が入力され、ここで、XlとX2が比較される(ス
テップ1)、xl<x2の場合は、Xlのデータは、デ
ータ選択回路20を経て。
x11記憶路22に入力され、x2は、データ選択回路
24を経てX2記憶回路26に入力される。一方、yl
は、記憶回路12からデータ選択回路28を経てyI記
憶回路30に入力され、y2は、記憶回路14からデー
タ選択回路32を経てy2記憶回路34に入力される。
一方、x l > x 2の場合は、xlはxlに、y
lはy2に、xlはxlに、y2はylにそれぞれ変換
される。即ち、計算の便宜上、線分名の始点と終点を入
れかえる。
具体的には、データ選択回路20,24,28.32の
制御により、xlはx2記憶回路26に入力されてxl
として処理され、xlは、〜x1記憶回路22に入力さ
れてXlとして処理される。更に、ylはy2記憶回路
34に入力されてy2として処理され、y2はy1記憶
回路30に入力されてylとして処理される(ステップ
2)。
次に、演算回路36は、dx=x2−xiを演算し、演
算回路38はdxb=xb−xiを演算し、演算回路4
0は、ay=72−71を演算する(以上ステップ3)
。dx、dは、ライン48にHighの信号を出力し。
はライン52にHighの信号を出力する。
制御回路54は、ライン48がHighのとき、データ
選択回路56.58を制御して。
演算回路60.62のデータ(dxX2)。
(dxbX2)を記憶回路64.66にdx。
dxbとして入力する。記憶回路64に入力されたd 
x = 2 d xは補数回路42によって絶対値化さ
れ、比較回路46シ;再び入力される。一方記憶回路3
4のデータdyは記憶回路68及び補数回路44を経て
比較回路46に入力される。比較回路46は、再び補数
同号を出力するにのようにして、dxとdyx、dxb
を2のn乗倍する。ここでnはくあれば、dx=2dx
、dxb=2dxbと= 4 d x 、 d x b
 = 4 d x bとする。更にdx、dxb== 
(2のn乗)dxbとする。
上記線分えをPB点を中心として第4図に示す如くX座
標方向に2のn乗倍拡大してもこの拡大によって求める
クリップ点PBのY座標値ybは、第4図から明らかな
ようにY座標軸上を移動しない6尚、第4図において、
PB点を不動点としたのは説明の便宜のためであり、実
際は、t3xを、第3図上の21点を基準として拡大す
れば、PB点も、その拡大倍数に応じてX座標軸上を移
動するが、この移動によって求めるクリップ点PB点の
y座標値ybが変化することはない。(2)nなったと
ころで、ライン50.52はHi ghを出力し、制御
回路54.70の制御にょってデータ選択回路72.7
4が作動され、記憶回路64のデータdxが線分L′の
終点X2′として、記憶回路76に入力されるとともに
(ステップ5)、記憶回路78に線分え′の始点xl’
としてゼロ8oが入力されて、上記拡大線分え′のクリ
ップ点のY座標値を求める演算即ち中点分割法による計
算ロジックが作動される。
上記x2’=dx、xl’=0の線分L′の図形は第5
図に図示される。第5図は、線分名・を中点分割する前
の、座標原点変換を表し、これにより、L′の初期状態
において、第5        図から明らかなように
、 線分え″の始点のX座標値x 1’=x 1−x 1;
0 線分え′の始点のY座標値y1=yl 線分し′の終点のX座標値x2’=2  dX線分え′
の終点のY座標値y 2=Y 2クリップ点PBと線分
L′の始端x1′との間のX座標値dxb=2  dx
b となる。
ここで、線分L′の中点PCのx−y座標値(xo、y
o)は、以下の式により求めることが XO= (X1’+X2’)÷2= (0+2  dX
)÷2=2  dx÷2 YO= CYL十Y2)÷2 XOは、第1図において、演算回路80,82により演
算され、記憶回路84に記憶される。
一方、記憶回路86.88のデータ71+)’2に基づ
き、演算回路90は、yt+y2==Wを演算し、この
演算値を記憶回路94に記憶させ、この記憶回路94の
データWに基づいて演算回路94はW÷2を演算し、該
演算値yOを記憶回路96にセットする(ステップ6)
。次に、比較回路98は、データxOとdxbとを比較
する(ステップ7)。
xO>dxbの場合、第5図中、Plを線分の始端PC
を線分の終端として、線分P1pcの中点pc’を求め
る。即ち 記憶回路78には、xl’=0 記憶回路86にはy t−y を 記憶回路76にはx2’=2  dx÷2記憶回路88
にはy2= (y I−y2)÷2が入力され(ステッ
プ8)。
xO= (xl’+x2’)÷2= (0+2  dX
÷2)÷2=:2  dx÷4 yO= (yl+y2)÷2 = (y 1+  (y 1+y2)÷2〕÷2=3y
l+72÷4 が演算回路82.94によって演算される(ステップ6
)。
xo=dxb即ち、xO−dxb=2  dx÷4−d
xbがゼロとなったときのxOとyOの値がクリップ点
PBのXY座標値となる。
以上の動作を要約すると、線分の中点を求め、この中点
のX座標値がクリップ点のX座標値dxbより大である
ときは、求めた中点を線分の終端とし、クリップ点を含
む側の線分の一端を始端とする線分の中点を求め、この
中点のX座標値がdxbと一致するまでこの作業をくり
返して、線分を細分割してゆくことである。
x O< d x bの場合には(ステップ9)、記憶
回路78には、xL’=2  dx÷2記憶回路86に
はy 1= (y 1+y2)÷2記憶回路76にはx
2’=2  dx 記憶回路88にはY 2=72 が入力され。
xo== (X1’十X2’)÷2 ==(2rl dx÷2+2”dx)÷2yo= (y
l+y2)÷2 =  (Y1+72)÷2+y2 ÷2が演算回路82
.94によって演算される。
xo−’dxbがゼロとなったところで、記憶回路84
.96の記憶データxO,yOの値は、線分尤のクリッ
プ点PBのXY座標値(xb、yb)としてCPU6に
入力される。
上記yoのコンピュータによる整数計算において、yt
+72を172にすると端数の切り捨てがおこるので、
端数(最下位の1ビツトがオン)が2回でると次にyO
を求めるとき、1/2する前に1を加えて補正する(ス
テップ6)。これを以下に説明する。
記憶回路92の最終桁が奇数の場合(第1回目)、論理
積回路102は171 IIを出力する。
演算回路104によるi c= i c+ (W an
dl)の式により、記憶回路106は1を記憶する。記
憶回路92の最終桁が2回目の奇数の状態になると、演
算回路104は2を出力し、記憶回路106に2が入力
される。これにより演算回路108は1を演算し、これ
を記憶回路110に入力するとともに、演算回路90に
i d=1が供給される。このとき、演算回路114は
(ic−2id)の式から、ゼロを記憶回路10Gに入
力して、i c = 0となる。このようにして、記憶
回路92に端数が2回出ると1次にyOを求めるとき、
y1+y2を1/2する前に演算回路90に1d=1が
供給される。
〔効果〕
本発明は上述の如く構成したので従来の中点分割法に比
し、計算速度をあまり損うことなく計算精度を向上させ
ることができ、しかも、論理と構造が簡単なため、他の
手法よりも高速でローコストを実現することができる効
果が存する。
【図面の簡単な説明】
第1図はブロック回路図であり、コンピュータの一般的
制御線を省略したもの、第2図はフローチャート、第3
図は説明図、第4図は説明図、第5図は説明図、第6図
は従来技術の説明図、第7図は同、フローチャートであ
る。 第3図 Y 第5図 第6図 Y 第7図

Claims (1)

    【特許請求の範囲】
  1. (1)線分図形の両端のXY座標値及び該 線分の、ウィンドウとの境界であるクリップ点の、一方
    の座標軸上における値が既知である場合において、上記
    線分の両端間の一方の座標軸上における距離を拡大して
    前記線分の前記他の座標軸に対する傾きを所定の値に設
    定した後、該拡大した線分の中点を求め、該中点の前記
    一方の座標軸上における値と前記線分拡大後における前
    記クリップ点の一方の座標軸上における値とを比較し、
    両者が不一致のときは、前記中点と前記クリップ点を含
    む側の線分の端部との中点を求めるとともに該中点を前
    記拡大線分の他方の端部と成し、この動作を、求めた中
    点の前記一方の座標軸上の値と前記クリップ点の前記一
    方の座標軸上の値とが一致するまで行うことにより、前
    記クリップ点の他の座標軸上の値を得るようにしたこと
    を特徴とするベクトルクリッピング方式。
JP60169534A 1985-07-31 1985-07-31 図形情報処理装置におけるベクトルクリッピング方法 Expired - Lifetime JPH0679341B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60169534A JPH0679341B2 (ja) 1985-07-31 1985-07-31 図形情報処理装置におけるベクトルクリッピング方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60169534A JPH0679341B2 (ja) 1985-07-31 1985-07-31 図形情報処理装置におけるベクトルクリッピング方法

Publications (2)

Publication Number Publication Date
JPS6231481A true JPS6231481A (ja) 1987-02-10
JPH0679341B2 JPH0679341B2 (ja) 1994-10-05

Family

ID=15888274

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60169534A Expired - Lifetime JPH0679341B2 (ja) 1985-07-31 1985-07-31 図形情報処理装置におけるベクトルクリッピング方法

Country Status (1)

Country Link
JP (1) JPH0679341B2 (ja)

Also Published As

Publication number Publication date
JPH0679341B2 (ja) 1994-10-05

Similar Documents

Publication Publication Date Title
JPS61246877A (ja) 図形変換装置
JPS6231481A (ja) ベクトルクリツピング方式
JPS61147374A (ja) 類似デ−タ検出方法および装置
JPH0523439B2 (ja)
JP2538645B2 (ja) 曲線の折線近似装置
JPH0519194B2 (ja)
JP2507812B2 (ja) 平方根計算方法
JP2684609B2 (ja) 図形データ処理装置における図形表示方法
JPH0368086A (ja) 直線補間回路
JP2788730B2 (ja) Cadシステム
JPH0261779A (ja) 座標データ処理装置
JPS6045287A (ja) クリツピング処理装置
JPH01166177A (ja) 太線描画方法
JPH04275605A (ja) 可変フィレット曲面創成法
JPH04168581A (ja) 超楕円の近似曲線生成方法
JPH06274308A (ja) ベジェ曲線均等肉付け作成処理方法
JPH0373073A (ja) 画像編集機能を備えた情報処理装置
JPH0460776A (ja) 図形データ圧縮方法
JPH0467230B2 (ja)
JPH06348832A (ja) 画像データの位置変換方法
JPS636685A (ja) ベクトル描画方式
JPH04220774A (ja) 徐変フィレット面作成装置
JPH0776988B2 (ja) 直線描画装置
JPS62184576A (ja) クリツピング回路
JPH04245578A (ja) データ処理方法および装置