JP2686012B2 - 太線描画方法 - Google Patents

太線描画方法

Info

Publication number
JP2686012B2
JP2686012B2 JP4015865A JP1586592A JP2686012B2 JP 2686012 B2 JP2686012 B2 JP 2686012B2 JP 4015865 A JP4015865 A JP 4015865A JP 1586592 A JP1586592 A JP 1586592A JP 2686012 B2 JP2686012 B2 JP 2686012B2
Authority
JP
Japan
Prior art keywords
line
clip frame
thick line
thick
end 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.)
Expired - Fee Related
Application number
JP4015865A
Other languages
English (en)
Other versions
JPH05210743A (ja
Inventor
匡史 馬場
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP4015865A priority Critical patent/JP2686012B2/ja
Publication of JPH05210743A publication Critical patent/JPH05210743A/ja
Application granted granted Critical
Publication of JP2686012B2 publication Critical patent/JP2686012B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は,コンピュータにより図
形描画を行う場合の太線描画方法に関する。コンピュー
タによる太線描画は,太線の基準となる定義線と太線の
線幅を指定し,定義線の両側の線幅の1/2の領域の内
側を塗りつぶすことにより行われる。
【0002】このように作成された太線は,装置毎に指
定された領域もしくは画面上で指定された領域よりはみ
出した部分を表示しないようにするためクリップ枠によ
りクリップ処理される。
【0003】本発明は,太線をクリップ枠内に高速に描
画する方法を提供する。
【0004】
【従来の技術】図5は従来の太線描画方法を示す。(a)
は定義線と線幅の関係を表す。
【0005】端点EとFにより定義された定義線EFに
対して,端点E,Fにおいて定義線に垂直な方向に線幅
の1/2ずつ延ばした線分の端点A,Bおよび,C,D
を求める。そして,求めた点A,B間およびC,D間の
各点(太線端点)をDDA(Degital Diff
erential Analyser)により求める。
【0006】(b)は太線描画処理を表す。次に,各太線
端点(A,G,・・・E,・・・B,とC,H,・・
・,F,・・・D)の対応する各点(例えば,図のAと
C,GとH等)間を結ぶ線分を描画する。
【0007】図 (c)は,従来の太線クリップ方法を示
す。図において100はクリップ枠である。太線は定
義線の両端点E1,F1がクリップ枠の内部にあり,太
線端点A1,B1,C1,D1もクリップ枠内にある場
合である。太線は定義線の端点E2,太線端点A2,
B2はクリップ枠内であるが,定義線の端点F2,太線
端点C2,D2はクリップ枠外にある場合である。太線
は定義線の端点E3,太線の端点B3はクリップ枠内
であるが,定義線の端点F3,太線の端点A3,C3,
D3はクリップ枠外である場合を示す。太線は定義線
の端点E4,F4,太線端点B4,D4はクリップ枠外
であるが,太線端点A4,C4はクリップ枠内にある場
合を示す。
【0008】図示のように定義線の一部はクリップ枠の
内部にあるが太線の一部はクリップ枠の外にある場合
(太線),あるいは定義線はクリップ枠の外にある
が,太線の一部はクリップ枠の内部にある場合(太線
)等定義線,太線とクリップ枠との関係は様々な場合
があるため,従来は太線を構成する一本一本の線につい
て,クリップ枠の内側の部分と外側の部分を判定し(ク
リップ判定)太線描画を行っていた。
【0009】図6は従来の太線描画のフローを示す。図
(a)はクリップ枠と線分の関係, (b)は太線描画のフロ
ーである。クリップ枠(110)と線分(G1H1等)
の関係は図 (a)のような場合に分けられるので,各々の
場合について異なる処理で線分の描画を行う。
【0010】図 (b)のフローを図示の番号に従って説明
する。 (1) 太線の各端点を計算する。 (2) ,(3) 各太線端点について,クリップ枠の内部に
あるか,あるいは外部にあるかを判定する。両端点とも
クリップ枠の内部にあれば(4) に進み,少なくとも両端
点の一方がクリップ枠の外部にあれば(5) に進む。
【0011】(4) 両端点ともクリップ枠の内部にあれ
ば(線分G4H4),両端点間を結ぶ線分を描画する。 (5) 少なくとも両端点の一方がクリップ枠の外部にあ
れば,両端点ともクリップ枠の外にあるのかどうか判定
する。一方の端点のみクリップ枠の外側(線分G3H
3)であれば(6) に進み,両端点ともクリップ枠の外
(線分G1H1もしくはG2H2)であれば(8) に進
む。
【0012】(6) 線分の両端点の一方がクリップ枠の
外部(線分G3H3)であれば,クリップ枠と線分との
交点(P3)の位置を計算する。 (7) 交点P3と端点H3を結ぶ線分G3H3を描画す
る。
【0013】(8) 両端点がクリップ枠の外側であれ
ば,クリップ枠との交差の有無を判定する。クリップ枠
との交差があれば(線分G1H1)(9) に進み,交差が
なければ(線分G2H2)(11)に進む。
【0014】(9) クリップ枠の外部の端点を結ぶ線分
がクリップ枠と交差する場合,線分(線分G1H1)と
クリップ枠との交点(P1,Q1)を計算する。 (10) 交点とを結ぶ線分(線分P1Q1)を描画する。
【0015】(11) 太線描画を終了するか判定する。太
線を描画すべき線分が残っていれば(2) 以降の処理を繰
り返し,全ての線分について描画したら処理を終了す
る。
【0016】
【発明が解決しようとする課題】従来の太線描画は,上
記のように太線を構成する各線分の一本一本について端
点とクリップ枠の位置関係,端点を結ぶ線分とクリップ
枠との交点の計算を行っていたので,高速に処理するこ
とができなかった。
【0017】本発明は,太線を構成する線分の一本一本
についてクリップ枠との関係を求めることなく高速な太
線描画方法を提供することを目的とする。
【0018】
【課題を解決するための手段】本発明は,クリップ枠よ
り線幅の半分だけ内側に仮クリップ枠を設け,仮クリッ
プ枠と定義線端点との関係の判定により太線端点とクリ
ップ枠との関係の判定の一部を省略し,太線描画を高速
化した。
【0019】図7は,課題を解決するための手段の説明
図である。図において,120はクリップ枠,121は
仮クリップ枠であって,クリップ枠120より太線の線
幅の1/2だけ内側に設けたものである。
【0020】図示のように定義線の端点(E1もしくは
E2)が仮クリップ枠121の内側にある場合には,太
線の端点(A1,B1,もしくはA2)がクリップ枠の
内側になる。この関係を利用することにより,太線端点
とクリップ枠との関係の判定の一部を省略し,太線描画
を高速化した。
【0021】図1は本発明の基本構成を示す。図におい
て1は入力手段であって,キーボード,マウス,あるい
は磁気ディスクに格納されている描画データを出力する
ディスク装置等よりなるものである。2は太線描画手段
である。3は出力手段であって,作成された描画データ
を表示するディスプレイ装置,プリンタ装置等,あるい
は描画データを磁気ディスクに格納するディスク装置等
よりなるものである。
【0022】10は仮クリップ枠生成手段であって,ク
リップ枠より太線の線幅の1/2だけ内側に仮クリップ
枠を生成するものである。11は太線端点計算手段であ
って,定義線の端点および太線の線幅に基づいて,太線
端点を算出するものである。12は比較手段Aであっ
て,定義線端点が仮クリップ枠の内側にあるか,あるい
は外側にあるかを判定するものである。13は線分描画
手段であって,太線端点間もしくはクリップ枠内部の太
線端点と太線端点間の線分とクリップ枠との交点の間の
線分を描画するものである。14は比較手段Bであっ
て,太線端点がクリップ枠の内側にあるか,あるいは外
側にあるかを判定するものである。15は交差判定手段
であって,太線端点を結ぶ直線とクリップ枠とが交差す
るかを判定するものである。16は交点算出手段であっ
て,太線端点を結ぶ直線とクリップ枠との交点を算出す
るものである。
【0023】
【作用】図1の基本構成の動作を説明するのに先立っ
て,図2により本発明の原理を説明する。
【0024】図 (a)は太線端点と各クリップ枠(仮クリ
ップ枠21およびクリップ枠20)との関係を表す。本
発明においては,まず定義線の端点が仮クリップ枠の内
側にあるかどうかを判定する。そして,図示の線分A4
B4のように定義線の両端点が仮クリップ枠の内側にあ
れば,太線端点は全てクリップ枠の内側にあるので,各
太線端点間を結ぶ線分により太線描画する。
【0025】定義線の端点の一方が仮クリップ枠の内側
にあり他方の端点が仮クリップ枠の外側にある場合に
は,仮クリップ枠の外側の定義線端点の側の太線端点
は,クリップ枠の内側(端点B3’)の場合とクリップ
枠の外側(端点B3)の場合があるので,その判定を行
う。そして,端点B3’のように他方の太線端点もクリ
ップ枠の内側にある場合は線分(A3B3)を描画す
る。また他方の太線端点がクリップ枠の外側にある場合
は両端点を結ぶ直線とクリップ枠との交点P3を求めク
リップ枠の内側の太線端点(A3)と交点P3とを結ぶ
線分を描画する。
【0026】線分を結ぶ両太線端点とも仮クリップ枠の
外側にある場合は,太線端点を結ぶ線分がクリップ枠と
交差する場合(線分A1B1)とクリップ枠と交差しな
い場合(線分A2B2)の場合があるので,その判定を
行い,交差する場合は交点(図のP1,Q1)を算出す
る。そして,クリップ枠との交点間(P1Q1)を結ぶ
線分を描画する。
【0027】(b)は太線描画方法を示す。定義線の両端
点E1,F1が仮クリップ枠21の内側にある場合は,
太線端点A1,B1,C1,D1はクリップ枠の内側に
なるので,太線端点A1,B1,C1,D1とクリップ
枠との位置関係の判定は行わず,定義線分E1F1,線
分A1C1,線分B1D1を描画する。
【0028】また,定義線の端点E2は仮クリップ枠の
内側にあるが他方の端点F2はクリップ枠の外側にある
場合は,仮クリップ枠の外側の定義線端点の側の太線端
点のクリップ枠との位置関係を求める。そして,図示の
太線のように太線端点A1,B1,C1,D1がクリ
ップ枠の外側になる場合には,定義線分E2F2とクリ
ップ枠20との交点P2,線分A2C2のクリップ枠と
の交点Q2,線分B2D2とクリップ枠の交点R2を求
め,線分E2P2,線分A2Q2,B2R2を描画す
る。
【0029】次に,図1の基本構成の動作を説明する。
入力手段1より,定義線の両端点と太線の線幅,クリッ
プ枠のデータが入力される。
【0030】仮クリップ枠生成手段10は,クリップ枠
のデータに基づいて,線幅の1/2だけクリップ枠より
内側に仮クリップ枠を生成する。太線端点計算手段11
は定義線端点と太線の線幅に基づいて,太線端点を計算
する。
【0031】比較手段A(12)は,定義線の両端点と
仮クリップ枠との位置関係を判定する。そして,定義線
の両端点とも仮クリップ枠の内側にあれば,線分描画手
段13は太線端点間を結ぶ線分を描画することにより太
線を描画する。
【0032】また,比較手段B(14)は,定義線の両
端点のうち,他方もしくは両方が仮クリップ枠の外側に
あれば,仮クリップ枠の外の定義線端点の側の太線端点
についてクリップ枠の内側にあるか,あるいは外側にあ
るかを判定する。
【0033】比較手段B(14)の比較結果,定義線端
点の一方が仮クリップ枠の内側にあって,他方の定義線
端点の側の太線端点がクリップ枠の内側であれば,線分
描画手段13は線分を描画する。また,定義線端点の両
方が仮クリップ枠の外側であったが,太線端点の両方と
も内側であれば線分描画手段13は線分を描画する。
【0034】比較手段B(14)の比較結果,太線の両
端点ともクリップ枠の内側であれば,線分描画手段13
は線分を描画する。比較手段B(14)の比較結果,太
線端点の一方のみが外であれば,太線を結ぶ線分とクリ
ップ枠との交点を算出する。線分描画手段13は求めら
れた交点とクリップ枠内部の太線端点とを結ぶ線分を描
画する。
【0035】比較手段B(14)の比較結果,両方がク
リップ枠の外側にあると判定されたら,交差判定手段1
5は線分とクリップ枠との交差の有無を判定する。そし
て,交差判定の結果,交差なしと判定されたら,線分描
画を行わない。また交差有りは判定された場合には,交
点算出手段16は太線端点を結ぶ線分とクリップ枠との
交点を算出する。
【0036】線分描画手段13は,求められた交点間の
線分描画を行う。次に,3次元グラフィックスにおける
従来の方法のクリップ判定回数および,本発明のクリッ
プ判定回数を比較する。
【0037】3次元グラフィックスのクリッピングにお
いて,3つの平面四角形で表現される直方体の内部に端
点があるかないかを判定する判定回数は6である。そこ
で,線幅10の線分について,従来の方法と本発明の方
法とで判定数を比較する。
【0038】従来の方法の場合には,図2のような各線
分(A1B1,A2B2,A3B3,A3’B3’,A
4B4)とクリップ枠との位置関係に係わらず,クリッ
プ判定回数は,6(境界判定数)×10(太線の幅方向
の線分)×2(線分一本の端点数)=120である。
【0039】本発明の場合には,図2のクリップ枠と線
分A3B3の位置関係の場合には,クリップ判定回数
は,6×1(定義線端点A3の位置判定数)+6(境界
判定数)×10(定義線B3側の太線の端点数)=66
となる。
【0040】また,図2のクリップ枠と線分A4B4の
位置関係の場合には,クリップ判定回数は,6×2(定
義線の端点数)=12となる。従って,本発明によれ
ば,太線描画のクリップ処理における太線とクリップ枠
との位置関係の判定回数を大幅に減少させることがで
き,太線描画を高速化することができる。
【0041】
【実施例】図3は本発明の実施例構成を示す。図におい
て,30はディスプレイ,31はCPUであって,描画
プログラム(描画手段35)と入力データに従って,主
記憶部32とにより描画処理を行うものである。32は
主記憶部である。33は入力装置であって,キーボー
ド,マウス等よりなるもの,34はディスク装置,35
は描画手段であって,描画プログラムである。36は描
画手段35のうちの太線描画手段である。 図4は本発
明の太線描画手段の実施例のフローを示す。
【0042】(1) 入力された定義線の両端点および太
線の線幅により太線端点を計算する。 (2) 定義線は仮クリップ枠の内部にあるか判定する。
両端点とも内部にあれば(3) に進み,一方もしくは両方
が外部にあれば(5) に進む。
【0043】(3) 太線を構成する線分を描画する。 (4) 太線描画を終了するか判定する。太線を構成する
線分の全てを描画したならば処理を終了する。太線を構
成する線分を全て終了していないなら(3) 以降の処理を
繰り返す。
【0044】(5) ,(6) 定義線の端点が仮クリップ
枠の外部となる側の太線の各端点について,クリップ枠
の内部になるか外部になるかを判定する。両端点ともに
クリップ枠の内部にあれば(7) に進み,一方もしくは両
方がクリップ枠の外部であれば(9) に進む。
【0045】(7) 両端点ともクリップ枠の内部にある
ので,線分を描画する。 (8) 太線処理を終了するか判定する。全ての線分につ
いて処理を終了していれば太線処理を終了し,全ての線
分について処理を終了していなければ(5) 以降の処理を
繰り返す。
【0046】(9) 太線端点の両端点ともクリップ枠の
外部にあるかを判定する。一方のみクリップ枠の外部で
あれば(10)に進み,両方とも外部であれば(12)に進む。 (10) 太線端点の一方がクリップ枠内部,他方がクリッ
プ枠外部であので,太線端点を結ぶ線分とクリップ枠と
の交点を計算する。
【0047】(11) クリップ枠の内部の端点と(10)で求
めた交点とを結ぶ線分を描画する。 (12) 太線端点の両端点ともクリップ枠の外部にあるの
で,太線端点を結ぶ線分とクリップ枠との交差の有無を
判定する。交差がなければ,線分を描画する必要がない
ので,(8) に進み,太線描画を終了するか判定し,終了
するのでなければ(5) 以降の処理を繰り返す。太線を全
て描画し終了するのであれば太線描画を終了する。クリ
ップ枠と交差していれば,(13)に進む。
【0048】(13) 太線端点を結ぶ線分とクリップ枠と
の交点を求める。 (14) (13)で求めた交点間を結ぶ線分を描画し,(8) に
進み太線処理を終了するか判定する。終了するのでなけ
れば,(5) 以降の処理を繰り返す。全ての太線を構成す
る線分について処理終了したのであれば太線描画を終了
する。
【0049】
【発明の効果】本発明によれば,太線描画においてクリ
ップ判定の回数が大幅に減少する。そのため,太線描画
が高速化され,コンピュータによる描画処理の能率を向
上させることができる。
【図面の簡単な説明】
【図1】本発明の基本構成を示す図である。
【図2】本発明の原理説明図である。
【図3】本発明の実施例構成を示す図である。
【図4】本発明の太線描画手段の実施例のフローを示す
図である。
【図5】従来の太線描画方法を示す図である。
【図6】従来の太線描画のフローを示す図である。
【図7】課題を解決するための手段の説明である。
【符号の説明】
1 :入力手段 2 :太線描画手段 3 :出力手段 10:仮クリップ枠生成手段 11:太線端点計算手段 12:比較手段A 13:線分描画手段 14:比較手段B 15:交差判定手段 16:交点算出手段

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 太線データを入力する入力手段(1) と,
    入力された太線データに基づいて太線を描画する太線描
    画手段(2) と,太線描画を出力する出力手段(3) を備え
    た装置により太線を描画する方法において,太線描画手
    段(2) は,太線描画領域のクリップ枠より太線の線幅の
    半分の長さ分だけクリップ枠の内側の位置に仮クリップ
    枠を生成する仮クリップ枠生成手段(10)と,入力された
    定義線の端点と線幅に基づいて太線を構成する線分の端
    点である太線端点を計算する太線端点計算手段(11)と,
    定義線の端点が仮クリップ枠の内側にあるか外側にある
    かを判定する比較手段A(12)と,太線端点がクリップ枠
    の内側にあるか外側にあるかを判定する比較手段B(14)
    と,太線端点を結ぶ線分がクリップ枠と交差するかを判
    定する交差判定手段(15)と,クリップ枠と太線との交点
    を算出する交点算出手段(16)と,線分描画手段(13)とを
    備え,太線描画手段(2) は,定義線の端点が仮クリップ
    枠の内側にあるか外側にあるかを判定し,定義線の両方
    の端点が仮クリップ枠の内側にある場合には各太線端点
    を結ぶ線分を描画し,定義線端点が仮クリップ枠の外側
    にあると判定された場合は,該定義線端点の側の各太線
    端点がクリップ枠の内側にあるか外側にあるか判定し,
    太線端点がクリップ枠の内側にあると判定された場合に
    は,太線端点間を結ぶ線分を描画し,太線端点がクリッ
    プ枠の外側にあると判定された場合には太線端点を結ぶ
    線分とクリップ枠との有無を判定し,交差がある場合に
    は,該線分とクリップ枠との交点を算出し,クリップ枠
    の内側の太線端点と該交点を結ぶ線分を描画し,太線端
    点を結ぶ線分とクリップ枠との交差無しを判定した場合
    には線分描画を行わないことを特徴とする太線描画方
    法。
JP4015865A 1992-01-31 1992-01-31 太線描画方法 Expired - Fee Related JP2686012B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4015865A JP2686012B2 (ja) 1992-01-31 1992-01-31 太線描画方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4015865A JP2686012B2 (ja) 1992-01-31 1992-01-31 太線描画方法

Publications (2)

Publication Number Publication Date
JPH05210743A JPH05210743A (ja) 1993-08-20
JP2686012B2 true JP2686012B2 (ja) 1997-12-08

Family

ID=11900698

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4015865A Expired - Fee Related JP2686012B2 (ja) 1992-01-31 1992-01-31 太線描画方法

Country Status (1)

Country Link
JP (1) JP2686012B2 (ja)

Also Published As

Publication number Publication date
JPH05210743A (ja) 1993-08-20

Similar Documents

Publication Publication Date Title
US5363479A (en) System and method for rendering bezier splines
JP3030206B2 (ja) グラフィック多角形をクリップ領域にクリップする方法および装置
US20030016221A1 (en) Processing graphic objects for fast rasterised rendering
US20080158252A1 (en) Method and Apparatus for Triangle Rasterization with Clipping and Wire-Frame Mode Support
US5455897A (en) Polygon and polyline clipping for computer graphic displays
US5231697A (en) Method and system for determining connection states of straight short vectors representing figure in curve fitting
US6337685B2 (en) Three-dimensional model generation system, three-dimensional model generation method, and recording medium storing a three-dimensional model generation program
WO2000011562B1 (en) Apparatus and method for performing setup operations in a 3-d graphics pipeline using unified primitive descriptors
US5079719A (en) Method and apparatus for clipping polygons
US6172682B1 (en) Detecting insideness of a rectangle to an arbitrary polygon
US5231695A (en) Generalized clipping in an extended frame buffer
JP2686012B2 (ja) 太線描画方法
US20010055015A1 (en) Area and span based Z-buffer
JP3524380B2 (ja) 破線描画装置および破線描画方法および記憶媒体
US7286139B2 (en) Partial guardband clipping
JP3305395B2 (ja) 図形分割装置
JP2768331B2 (ja) 曲線の直線近似装置
US20030117399A1 (en) Image processing apparatus and method, storage medium, and program
JP2780496B2 (ja) 描画装置のクリッピング処理方式
Mäkinen Line-segment insertion in constrained triangulations with applications in path-planning
JP2782904B2 (ja) 多角形塗りつぶし方式
KR100227796B1 (ko) 3차원 한글/한자 폰트 제작을 위한 3차원 폰트 생성 기법
JP3332502B2 (ja) オフセット図形作成方法とその装置
JP3139431B2 (ja) 接続判定装置、方法及び記録媒体
JPH0350686A (ja) 図形処理方式

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19970729

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080815

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090815

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees