JPH05128272A - 直線描画処理における交点算出方法 - Google Patents

直線描画処理における交点算出方法

Info

Publication number
JPH05128272A
JPH05128272A JP31170991A JP31170991A JPH05128272A JP H05128272 A JPH05128272 A JP H05128272A JP 31170991 A JP31170991 A JP 31170991A JP 31170991 A JP31170991 A JP 31170991A JP H05128272 A JPH05128272 A JP H05128272A
Authority
JP
Japan
Prior art keywords
dot
straight line
value
intersection
operator
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
JP31170991A
Other languages
English (en)
Other versions
JP2937587B2 (ja
Inventor
Hideki Fujita
秀樹 藤田
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.)
Hitachi Ltd
Original Assignee
Hitachi Telecom Technologies 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 Hitachi Telecom Technologies Ltd filed Critical Hitachi Telecom Technologies Ltd
Priority to JP3311709A priority Critical patent/JP2937587B2/ja
Publication of JPH05128272A publication Critical patent/JPH05128272A/ja
Application granted granted Critical
Publication of JP2937587B2 publication Critical patent/JP2937587B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)
  • Image Analysis (AREA)

Abstract

(57)【要約】 【目的】 直線描画処理時間の高速化および描画品質の
向上を可能とする。 【構成】 描画する直線の始点および終点の差分を算出
し、描画する直線の描画開始ドットを算出する演算子の
値を設定すると共に境界線の近傍でかつ描画領域外の暫
定交点の座標を設定し、演算子の現在値が基準値を超え
たか否かを判定し、基準値を超えるまで暫定交点の座標
を変更してダミードットを形成すると共に演算子の現在
値を更新して新たな値を現在値とする行程を繰り返し、
演算子の現在値が所定値を超えたとき1の方向に直交す
る方向の座標を終点の方向に1ドット変更して描画開始
ドットとする構成となっている。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、レーザプリンタやワー
プロ等の描画処理装置における直線描画処理の交点算出
方法に関する。
【0002】
【従来の技術】図5は一般的な描画処理装置におけるX
座標およびY座標でドットの位置を表す描画可能領域を
示すものである。図5において、A、B、CおよびDの
範囲で示される領域は、ユーザにより任意に設定される
描画領域であり、X軸方向の境界線clipx0および
clipx1、Y軸方向の境界線clipy0およびc
lipy1によって囲まれた領域である。この描画領域
に直線を描画する際に、直線の描画点すなわちドットの
座標を始点から終点までダミードットを発生させて、交
点の座標を算出しつつ描画を行うと、直線と境界線との
交点を正確に算出できる反面、直線が長い場合には交点
を算出するのに処理ステップ数すなわち処理時間が必要
以上に要していた。そこで、従来の直線描画処理の交点
算出方法では、数1に示すような数式により、交点の座
標(xp,yp)を算出して、これを描画開始ドットと
して描画を行っていた。
【数1】
【0003】
【発明が解決しようとする課題】しかしながら上記従来
の直線描画処理の交点算出方法では、描画領域内にあり
ながら描画されないドットが生じていた。例えば図6に
示すように、描画する直線と描画領域A点の境界線cl
ipy0との真の交点は、数1で算出した交点(xp,
yp)の1つ前のドットであるにも拘らず、真の交点が
描画されず描画品質が劣化するという問題があった。
【0004】本発明は上記従来の問題を解決するもので
あり、数式による交点算出でありながら、真の交点を描
画できる描画品質の高い優れた直線描画処理の交点算出
方法を提供することを目的とする。
【0005】
【課題を解決するための手段】本発明は、上記目的を達
成するために、描画する直線の始点および終点の差分を
算出し、描画する直線の描画開始ドットを算出する演算
子の値を設定し、X軸方向又はY軸方向の内1の方向の
境界線の近傍でかつ描画領域外の暫定交点の座標を設定
し、演算子の現在値が基準値を超えたか否かを判定し、
基準値を超えるまで暫定交点の1の方向の座標を終点の
方向に1ドット分変更してダミードットを形成すると共
に演算子の現在値を更新して新たな値を現在値とする行
程を繰り返し、演算子の現在値が所定値を超えたとき1
の方向に直交する方向の座標を終点の方向に1ドット変
更して描画開始ドットとする構成となっている。
【0006】
【作用】したがって本発明は、描画する直線と交差する
描画領域外の境界線の近傍で暫定交点を算出し、この暫
定交点から後にダミードットを形成して描画始ドットを
算出するので、処理ステップ数の低減と、メモリアクセ
ス数の低減を図ることができ、処理の高速化が得られる
と共に、ダミードットの形成により正確な描画開始ドッ
トを算出できるので、高い描画品質が得られるという効
果がある。
【0007】
【実施例】以下、本発明の直線描画処理における交点算
出方法の一実施例を図面を参照して詳細に説明する。図
1は,描画する直線が図6の場合と同様に、X軸方向の
境界線clipy0と交差する場合に、描画処理装置内
におけるコントローラ(図示せず)によって実行される
交点算出ルーチンのフローチャートである。
【0008】まず、図1のステップS1で、描画領域外
でかつ境界線clipy0の近傍の暫定交点(xp,y
p)を数2によって算出する。また、描画する直線の描
画開始ドットを算出する変数である演算子Eの初期値
(E=−|dx|)を設定する。したがって初期値は基
準値である0より小さくE<0となる。
【数2】
【0009】次に、ステップS2において、暫定交点
(xp,yp)のX座標xpを1ドット分X軸方向の終
点側に更新した座標(xp+1,yp)にダミードット
を形成すると共に、演算子Eの現在値を数3により更新
した新たな値を現在値とする。
【数3】この演算子Eの現在値は、ステップS3で基準
値である「0」と比較され、演算子EがE≦0の場合に
は、ステップS2に移行して、ダミードットを形成する
と共に演算子Eの値を更新する。そして、ステップS3
において演算子EがE>0となるまで、ステップS2お
よびステップS3の行程を繰り返し、E>0となったと
きはステップS4に移行して、直前のダミードットのY
座標をY軸方向の終点側に1ドット分更新したダミード
ットを形成して、ステップS5でこの最新のダミードッ
トがclipy0内か、すなわち描画領域内か否かを判
定し、描画領域内でなければ、ステップS6において演
算子Eの現在値を数4により更新して、ステップS2に
移行してステップS5までの各ステップを実行する。そ
して、最新のダミードットが描画領域内であれば、交点
算出ルーチンを終了する。そして、この最新のダミード
ットを描画開始ドットとして直線の描画を開始する。
【数4】
【0010】上記の例は、描画する直線がclipy0
と交差する場合の交点算出ルーチンであるが、clip
y1又はclipx0若しくはx1と交差する場合に
は、数2は数5ないし数7となる。すなわち、数1ない
し数4における更新の方向等が異なるだけで、上記の例
と同様の交点算出方法で描画開始ドットを設定すること
が可能である。
【数5】
【数6】
【数7】
【0011】次に、描画する直線の角度を算出して、こ
のような更新の方向を決定する一方法について図2およ
び図3を参照して説明する。図2は、描画する直線の始
点と終点のX軸方向の差分の絶対値|dx|が、Y軸方
向の差分の絶対値|dy|よりも大きい場合、すなわち
直線とX軸とのなす角度の絶対値|θ|が45度よりも
小さい場合を判定するものである。この場合には、描画
する直線はclipy0およびclipy1と交差する
ものとする。また、この場合には、始点から終点までX
座標の絶対ドット数は、Y座標の絶対ドット数以上でな
ければならない。
【0012】また、図3は、描画する直線の始点と終点
のX軸方向の差分の絶対値|dx|が、Y軸方向の差分
の絶対値|dy|以下の場合、すなわち直線とX軸との
なす角度の絶対値|θ|が45度以上の場合を判定する
ものである。この場合には、描画する直線はclipx
0およびclipx1と交差するものとする。また、こ
の場合には、始点から終点までY座標の絶対ドット数
は、X座標の絶対ドット数以上でなければならない。
【0013】図4に、図1の交点算出ルーチンにより得
られた交点算出方法による直線の描画状態を示す。この
場合には、dx=34、dy=6であるので、描画する
直線のX軸方向の絶対ドット数は、Y軸方向の絶対ドッ
ト数よりも多く5倍のドット数となる。このドット数の
比は、dxおよびdyのそれぞれの絶対値の比に基づい
て決定される。上記数2により算出された暫定交点の座
標(xp,yp)は、(x0+17,clipy0−
1)となり、演算子Eの初期値は−34となる。
【0014】次に、図1のステップS2で暫定交点の座
標からX軸方向に1ドット分更新した座標(x0+1
8,clipy0−1)にダミードットを形成し、数3
により演算子Eを更新してE=−22とする。E<0で
あるから、ステップS2に戻って再び座標(x0+1
9,clipy0−1)にダミードットを形成し、更新
した演算子E=−10を算出する。ここではまだ演算子
Eが負であるので、座標(x0+20,clipy0−
1)にダミードットを形成して、演算子Eを更新してE
=2とする。ここで初めて演算子Eが正となるので、ス
テップS4に移行してY軸方向に1ドット分更新した座
標(xp´,yp´)の点を求める。この点の座標(x
0+20,clipy0)は、clipy0内すなわち
描画領域内にあるので、この点を真の交点すなわち描画
開ドットとする。
【0015】このように、直線を描画する際に、暫定交
点を算出することにより、処理ステップ数およびメモリ
アクセス数を低減することができ、この暫定交点からダ
ミードットを形成することにより、描画領域の境界線と
直線との真の交点を算出して描画開始ドットとするの
で、描画品質を向上することができる。
【0016】
【発明の効果】本発明によれば、上記実施例より明らか
なように、描画領域に直線を描画する際に、描画する直
線と交差する描画領域外の境界線の近傍で暫定交点を算
出し、この暫定交点から後にダミードットを生成して描
画開始ドットを算出するので、処理ステップ数の低減
と、メモリアクセス数の低減を図ることができ、処理の
高速化が得られると共に、ダミードットの生成により正
確な描画開始ドットを算出できるので、高い描画品質が
得られるという効果がある。
【図面の簡単な説明】
【図1】本発明の直線描画処理における交点算出方法の
一実施例の処理手順を示すフローチャートである。
【図2】本実施例の直線と描画領域の境界付近のX軸方
向の境界線との交差の特定条件の説明図である。
【図3】本実施例の直線と描画領域の境界付近のY軸方
向の境界線との交差の特定条件の説明図である。
【図4】 本実施例の描画領域のX軸方向の境界線と直
線が45度以下の交点算出処理の説明図である。
【図5】描画処理装置におけるX座標およびY座標でド
ットの位置を表す描画可能領域を示す図である。
【図6】従来の描画領域のX軸方向の境界線と直線が4
5度以下の交点算出処理の説明図である。
【数1】 xp=x0+dx/dy*(clipy0−y0) yp=clipy0
【数2】xp=x0+dx/dy*{(clipy0−
y0)−1} yp=clipy0−1
【数3】E=E+|2*dy|
【数4】E=E+|2*dx|
【数5】xp=x0+dx/dy*{(clipy1−
y0)−1} yp=clipy1−1
【数6】xp=clipx0−1 yp=x0+dy/dx*{(clipx0−x0)−
1}
【数7】xp=clipx1−1 yp=x0+dy/dx*{(clipx1−x0)−
1}

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 X座標およびY座標でドットの位置を表
    す描画可能領域において、X軸およびY軸方向の境界線
    によって囲まれた描画領域に直線を描画する際に、前記
    境界線と描画する直線との交点を算出する方法であっ
    て、 描画する直線の始点および終点の差分を算出し、描画す
    る前記直線の描画開始ドットを算出する演算子の値を設
    定し、前記X軸方向又はY軸方向の内1の方向の境界線
    の近傍でかつ前記描画領域外の暫定交点の座標を設定
    し、前記演算子の現在値が基準値を超えたか否かを判定
    し、前記基準値を超えるまで前記暫定交点の前記1の方
    向の座標を前記終点の方向に1ドット分変更したダミー
    ドットを形成すると共に前記現在値を更新して新たな値
    を現在値とする行程を繰り返し、前記現在値が前記基準
    値を超えたとき前記1の方向に直交する方向の座標を前
    記終点の方向に1ドット変更して前記描画開始ドットと
    することを特徴とする直線描画処理における交点算出方
    法。
  2. 【請求項2】 前記1の方向は、前記差分の前記X軸方
    向の絶対値が前記Y軸方向の絶対値より大のときは前記
    X軸方向とし、前記X軸方向の絶対値が前記Y軸方向の
    絶対値以下のときは前記Y軸方向とすることを特徴とす
    る請求項1記載の直線描画処理における交点算出方法。
JP3311709A 1991-10-30 1991-10-30 直線描画処理における交点算出方法 Expired - Fee Related JP2937587B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3311709A JP2937587B2 (ja) 1991-10-30 1991-10-30 直線描画処理における交点算出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3311709A JP2937587B2 (ja) 1991-10-30 1991-10-30 直線描画処理における交点算出方法

Publications (2)

Publication Number Publication Date
JPH05128272A true JPH05128272A (ja) 1993-05-25
JP2937587B2 JP2937587B2 (ja) 1999-08-23

Family

ID=18020526

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3311709A Expired - Fee Related JP2937587B2 (ja) 1991-10-30 1991-10-30 直線描画処理における交点算出方法

Country Status (1)

Country Link
JP (1) JP2937587B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109657328A (zh) * 2018-12-12 2019-04-19 中国航空工业集团公司西安航空计算技术研究所 一种面向gpu硬件线光栅化边界算法的tlm微结构
CN109685875A (zh) * 2018-12-12 2019-04-26 中国航空工业集团公司西安航空计算技术研究所 一种gpu线光栅化边界计算优化方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01116889A (ja) * 1987-10-30 1989-05-09 Hitachi Ltd クリップ領域内における直線描画方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01116889A (ja) * 1987-10-30 1989-05-09 Hitachi Ltd クリップ領域内における直線描画方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109657328A (zh) * 2018-12-12 2019-04-19 中国航空工业集团公司西安航空计算技术研究所 一种面向gpu硬件线光栅化边界算法的tlm微结构
CN109685875A (zh) * 2018-12-12 2019-04-26 中国航空工业集团公司西安航空计算技术研究所 一种gpu线光栅化边界计算优化方法
CN109657328B (zh) * 2018-12-12 2023-03-14 中国航空工业集团公司西安航空计算技术研究所 一种面向gpu硬件线光栅化边界算法的tlm微结构
CN109685875B (zh) * 2018-12-12 2023-03-24 中国航空工业集团公司西安航空计算技术研究所 一种gpu线光栅化边界计算优化方法

Also Published As

Publication number Publication date
JP2937587B2 (ja) 1999-08-23

Similar Documents

Publication Publication Date Title
JP2002517045A (ja) テンプレート・マッチポイントの部分位置を正確に位置決定する方法
JP2774939B2 (ja) ロボットのツールパラメータ導出方法及び較正方法
CN113787518A (zh) 一种机器人末端姿态控制方法、装置、设备及存储介质
JPH05128272A (ja) 直線描画処理における交点算出方法
JPH06161419A (ja) 文字出力装置
CN118674741B (zh) 基于灰度矩模型的亚像素边缘跟踪方法、设备及介质
US6914602B2 (en) Approximating gradients with offset midpoints
CN114792035B (zh) 优化汽车风挡玻璃型面的方法和装置
CN114329303B (zh) 角轧工艺参数确定方法、装置、设备及可读存储介质
JPH07262243A (ja) 形状データチェック方法
CN118330983A (zh) 一种改善金属线端点光刻工艺窗口的opc方法及装置
CN112386908B (zh) 一种3d游戏地图中河流截面样式的生成方法及装置
CN117259963A (zh) 一种三维激光的标定使用方法及装置
JPH06274613A (ja) 曲線近似装置
JPH0769968B2 (ja) クリップ領域内における直線描画方法
CN120495581A (zh) 基于焦深和宽度约束轨迹生成方法、装置、设备及介质
JP3179383B2 (ja) 円描画方法
JPH10116347A (ja) 円弧描画方法
JP3505970B2 (ja) 入力位置座標補正方法
JP3774489B2 (ja) 図形処理方法とその装置
JPH11202920A (ja) 自動機械における軌道補間方法
JP2639148B2 (ja) みがき装置におけるみがき範囲指定方法
JPH0554145A (ja) 直線発生方法
CN121115392A (zh) 对版图进行光学临近效应修正的方法、装置、设备和介质
CN117911467A (zh) 一种点云配准方法、装置、终端设备及存储介质

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees