JPS63140382A - 円類の多角形近似描画方法 - Google Patents

円類の多角形近似描画方法

Info

Publication number
JPS63140382A
JPS63140382A JP28746186A JP28746186A JPS63140382A JP S63140382 A JPS63140382 A JP S63140382A JP 28746186 A JP28746186 A JP 28746186A JP 28746186 A JP28746186 A JP 28746186A JP S63140382 A JPS63140382 A JP S63140382A
Authority
JP
Japan
Prior art keywords
circle
circles
circumference
points
ellipse
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.)
Pending
Application number
JP28746186A
Other languages
English (en)
Inventor
Takashi Fujiwara
隆 藤原
Hitoshi Sawada
等 澤田
Hideki Mitsubayashi
光林 秀樹
Nobuhiko Minamoto
源 信彦
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
PFU Ltd
Original Assignee
Fujitsu Ltd
PFU 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, PFU Ltd filed Critical Fujitsu Ltd
Priority to JP28746186A priority Critical patent/JPS63140382A/ja
Publication of JPS63140382A publication Critical patent/JPS63140382A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔目次〕 概要 産業上の利用分野 従来の技術 ゛発明が解決しようとする問題点 問題点を解決するための手段(第1図)作用 実施例 (a)一実施例の説明(第2図、第3図、第4図、第5
図) (b)他の実施例の説明 発明の効果 〔概要〕 円又は楕円の円周上の点の座標を発生し、点間を直線描
画して多角形近似で表現する円類の多角形近似描画方法
において、円の半径等から等分率を決定し、等分率に従
った円周上の点の座標を発生することによって、円類の
大小に応じて最適な精度、時間で描画できるようにした
ものである。
〔産業上の利用分野〕
本発明は、図形表示装置や図形印刷装置において、多角
形近似によって円又は楕円を描画する円類の多角形近似
描画方法に関し、特に多角形近似のための円周上の発生
点の等分率を円類の大小に応じて可変とした多角形近似
描画方法に関する。
図形処理技術の向上に従い、円、楕円、半円等の円類を
グラフ等として表示又は印刷することが行われている。
このような円類は、一般に図形表示装置や図形印刷装置
がドツトによって図形を表示することから、円周上に多
数の点を発生し、これを直線で結んだ多角形近似描画が
用いられている。
この多角形描画においては、高速に描画できること及び
円類を滑らかに描画できることが求めらている。
〔従来の技術〕
第6図は従来技術の説明図である。
例えば、円を多角形近似描画するのに、従来は円周上の
発生点の等分率、即ち1円周上の発生点数を固定とし、
円の大小にかかわらず等分率を一定としていた。第6図
では、小の半径r1の円(第6図(A))も、大の半径
r2の円(第6図(B))も同一の等分率64(発生点
数64)としていた。
〔発明が解決しようとする問題点〕
多角形近似描画においては、メモリ等に発生点間を結ぶ
直線を描く必要があるが、従来の方法では、半径の小さ
い円では発生点数が多すぎ、必要以上の描画時間を要し
、反対に半径の大の円では発生点数が少なすぎ、外周が
滑らかに表現できないという問題があった。
本発明は、要求される精度と速度に応じて最適な円類の
多角形近似描画を行うことのできる円類の多角形近似描
画方法を提供することを目的とする。
〔問題点を解決するための手段〕
第1図は本発明の原理説明図である。
第1図(A)に示す如く、描画すべき円の半径又は楕円
の長軸又は短軸の長さから円周上の等分率を決定し、次
に円周上の点を等分率に従って発生し、点間を直線描画
し、多角形近似表現するものである。
〔作用〕
本発明においては、多角形近似で円、楕円を描画する際
に、半径又は長軸、短軸の長さから等分率、即ち円周上
に等間隔で発生する点の数、を決定しているので、第1
図(B)の如(半径の小の円は等分率小(例えば、16
等分、即ち16角形)、第1図(C)の如く半径の大の
円では等分率大(例えば64等分、即ち64角形)とす
ることができ、小さな円類では外周が滑らかで描画時間
が速く、大きな円類では外周を滑らかにすることができ
る。
〔実施例〕
(a)一実施例の説明 第2図は、本発明の詳細な説明図、第3図は本発明の一
実施例動作説明図である。
第2図(A)において、1はメモリであり、描画すべき
円類の条件データ、即ち長軸の長さR(W)、短軸の長
さ!、中心座標x、yを格納する作業域1aと、等分率
を示すマスク値mask、ポインタi、初期座標SPx
、spy、前回の発生点座標Qx、Qy、今回の発生点
座標P X % Pyを格納するワークエリア1bと、
ビットマツプで構成された画面エリアICと、sin値
を格納するサインテーブル1dを含むもの、2はプロセ
ッサ(以下MPUと称す)であり、等分率を決定し、発
生点演算を行い、画面エリアICに描画処理する°もの
である。
第3図(A)、(B)に示す如く、この例では最大等分
率がr128Jであり、円又は楕円の周上に最大12B
の点を発生し、従って最大で128角形で円類を表現で
きる。
又、格納域1aのRとlに同一の値rを入れると円を示
し、異なる値を入れると楕円を示す。
次に、サインテーブル1dは第2図(B)に示す如く、
第3図(A)、(B)の円周上のi=0〜32までのサ
イン値を格納しである。即ち、第3図(C)における1
−0(y軸)から1=32(X軸)の第1象限ののみの
サイン値が格納されている。他の象限、即ち、第2、第
3、第4象のサイン値は第1象限のものに正負の符号を
付せばよく、又y方向の座標を求めるコサイン値はサイ
ン値から得られるからである。
第4図及び第5図は本発明の一実施例処理フロー図であ
り、円、楕円兼用フローである。
ここで予じめ、メモリ1の作業域1aに描画すべき円類
の長軸R(W)、短軸l、中心座標X、yがセットされ
たものとする。尚、前述の如く円ならR=l、楕円なら
Rf−Aがセットされる。
■ MPU2はマスク値m a s kの決定、即ち等
分率の決定を行う。
等分率(分割数)は、ここでは、最大128に対し、「
64」、「32」、「16」の4つがとれるものとする
このため、MPU2は作業域1aの長軸Rを読み出し、
R<25(ドツト)ならマスク値mask=7とする。
ma s k= 7は、7個おきに点を発生する、即ち
128/8=16分割を示す。R〈25でなければ、R
〈50かを調べ、R〈50ならmask=3とし、12
8/4=32分割とする。
R〈50でなければ、R<100を調べ、Rく100な
らmask=1とし、128/2=64分割とする。
R<100でなければmask=oとし、12B/1=
128分割とする。
■ 等分率の決定後、MPU2は初期化処理に入る。
先づ、MPU2は、ワークエリア1bのポインタi=0
とし、次に、1=0(第3図(A)又は(B)参照)の
座標(初期座標)SPx、SPyを次式より求める。
これをワークエリア1bのSPx、SPyに格納し、更
にPx、Pyにも格納する。
そして、MPU2はポインタiを「1」インクリメント
する。
■ 次に、MPU2はワークエリア1bのポインタiと
マスクm a s kとの論理積(AND)を2進表示
でとり、論理積結果がallβrOJかを調べる。「0
」でなければ点発生処理を行わず、ステップ■へ進む。
例えば、ma s k = 7は2進数でrl 11J
であるから、ポインタiの2進表示最下位3ビットとの
論理積をとり、論理積結果が2進ro’oo’Jとなる
i=Q、8.16・・・・、即ち8n毎に次の点発生処
理を行う。同様にma s k=3は2進数で「11」
であるから、ポインタiの2進表示最下位2ビットとの
論理積をとり、論理積結果が「OO」となるi=o、4
.8−・・、即ち4n毎に次の点発生処理を行い、ma
sk−1では2進数「1」のためポインタiの2進表示
最下位1ビットとの論理積をとり、論理積結果が「0」
となる1=O12,4−・即ち2n毎に次の点発生処理
を、mask=0では、i=0,1.2.3−・−と毎
回次の点発生処理を行う。
■ このように、m a s kとiの論理積が「0」
であると、発生点の座標演算が行われる。即ち、MPU
2はポインタiがi〈32かを調べ、i〈32なら第1
象限なので、サインテーブル1dのsin table
 (i )の値をQxに、sin table (32
−1〕の値をQyに格納する。又、i〈32でなければ
、iく64かを調べ、i〈64なら第2象限なので、サ
インテーブル1dのsin table(64−i)の
値をQxに、sin table (i −32〕の値
を負にしたものをQyに格納する。更にi〈64でなけ
れば、MPU2はi〈96かを8周べ、i〈96なら、
第3象限なので、サインテーブル1dのsin tab
le (i −64)の値を負にしたものをQxに、s
in table (96i )の値を負にしたものを
Qyに格納し、i〈96でなければ、第4象限なので、
sin table  (12B −i 〕の値を負に
したものをQxに、sin table (i −96
〕の値をQyに格納する。
次に、MPU2は中心座標x=Q、y=oとした時の円
周上の座標を発生すべく、次式を演算する。
■ 次に、MPU2は楕円判定を行い、楕円なら楕円上
の座標に変換する。
即ち、MPU2は格納域1aのR(W)とβを読み出し
、W>lなら、第3図(B)の横長の楕円のため、y軸
を短めるべく、次式を演算する。
Q y= Q :y X A / W   −−−−−
−(3)一方、Wくlなら、縦長の楕円のためX軸を短
めるべく、次式を演算する。
Q x = Q x X W/ jl!   −−−−
−−−−(4)又、W−lの円の時は、(3)式、(4
)式とも実行しない。
■ 次に、MPU2は、次式により、中心座標を加算し
て円周の点の座標を得る。
■ そして、MPU2は、ワークエリア1bの前の点座
標(PX、Py)と今回の点座標(Qx、Qy)をとり
出し、画面メモリlc上でこの座標間を直線描画する。
更に、今回の点座標を前の点座標とすべく、として、Q
xとQyをPx、Pyに移す。
■ 次に、MPU2はポインタiを「1」インクリメン
トし、インクリメントしたポインタiとr127Jを比
較し、i≦127であれば、円の始点に達していないの
で、ステップ■に戻る。
■ 逆にi>127であれば円の始点に達したので、M
PU2は、ワークエリア1bの(Qx、Qy)、(SP
x、5Py)を読み出し、画面メモリIC上でこの座標
間を直線描画し、終了する。
尚、画面メモリICの内容は図示しないディスプレイコ
ントローラ、プリンタコントローラで読み出され、表示
又は印刷に供される。
このようにして、円又は楕円の半径又は長軸の長さから
マスク値m a s k、即ち等分率を決定し、インク
リメントされるポインタiに対しマスク値maskに応
じ点発生演算を行うか否か判定し、等分率に対応した円
周上の点を発生する。そして、連続する発生点間を直線
描画し、円又は楕円を多角形描画する。
即ち、この実施例では、順次行われるべき128ケの円
周上の点発生演算に対し、マスク値に応じて間引きを行
って、半径等に応じた等分率の発生点を得るようにして
いる。このため、プログラムが簡単で済む。
しかも、サインテーブル1dを第1象限分用意し、読み
出し方によって第4象限分までのサイン値及びコサイン
値を得られるようにしているので、サインテーブルの容
量を小とできる。
更に、楕円、内弁用プログラムのため、円、楕円の両方
が一つのプログラムで発生できる。
(b)他の実施例の説明 上述の実施例では最大分割数を128としているが、こ
れに限られることはなく、又等分率変更の範囲を半径が
25.50.100で区切っているが、これに限られる
ことはない。  又、円、楕円について説明したが、半
円等であってもよく、楕円の長軸の代わりに短軸によっ
て等分率を決定してもよく、円、楕円共用のフローで説
明したが別々のものであってもよい。
以上本発明を実施例により説明したが、本発明は本発明
の主旨に従い種々の変形が可能であり、本発明からこれ
らを排除するものではない。
〔発明の効果〕
以上説明した様に、本発明によれば、多角形近似で、円
類を描画する際に、小さな円類で必要以上に描画時間を
使わず、又大きな円類で外周が滑らかになり最適な円類
の描画が可能となるという効果を奏する。
【図面の簡単な説明】
第1図は本発明の原理説明図、 第2図は本発明の詳細な説明図、 第3図は本発明の一実施例動作説明図、第4図及び第5
図は本発明の一実施例処理フロ−図、 第6図は従来技術の説明図である。 図中、1・−メモリ、 2−プロセッサ。

Claims (1)

  1. 【特許請求の範囲】 円又は楕円の円周上の点の座標を発生し、該点間を直線
    で描画し、多角形近似で表現する円類の多角形近似描画
    方法において、 該円の半径又は該楕円の長軸又は短軸から等分率を決定
    し、 該円周上の点の座標を該決定された等分率に従って発生
    することを 特徴とする円類の多角形近似描画方法。
JP28746186A 1986-12-02 1986-12-02 円類の多角形近似描画方法 Pending JPS63140382A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28746186A JPS63140382A (ja) 1986-12-02 1986-12-02 円類の多角形近似描画方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28746186A JPS63140382A (ja) 1986-12-02 1986-12-02 円類の多角形近似描画方法

Publications (1)

Publication Number Publication Date
JPS63140382A true JPS63140382A (ja) 1988-06-11

Family

ID=17717632

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28746186A Pending JPS63140382A (ja) 1986-12-02 1986-12-02 円類の多角形近似描画方法

Country Status (1)

Country Link
JP (1) JPS63140382A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0378887A (ja) * 1989-08-23 1991-04-04 Fujitsu Ltd 描画オーダ編集方法
JPH03269686A (ja) * 1990-03-19 1991-12-02 Fujitsu Ltd 高品質な曲線の生成処理方式
JP2011081663A (ja) * 2009-10-08 2011-04-21 Canon Inc 画像描画装置、画像描画方法、及びコンピュータプログラム
US8654129B2 (en) * 2004-05-25 2014-02-18 3Dlabs Inc., Ltd. Tile based rendering of smooth points using polygons

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0378887A (ja) * 1989-08-23 1991-04-04 Fujitsu Ltd 描画オーダ編集方法
JP2645597B2 (ja) * 1989-08-23 1997-08-25 富士通株式会社 描画オーダ編集方法
JPH03269686A (ja) * 1990-03-19 1991-12-02 Fujitsu Ltd 高品質な曲線の生成処理方式
US8654129B2 (en) * 2004-05-25 2014-02-18 3Dlabs Inc., Ltd. Tile based rendering of smooth points using polygons
US9589375B2 (en) 2004-05-25 2017-03-07 3Dlabs Inc., Ltd. Tile based rendering of smooth points using polygons
JP2011081663A (ja) * 2009-10-08 2011-04-21 Canon Inc 画像描画装置、画像描画方法、及びコンピュータプログラム

Similar Documents

Publication Publication Date Title
US5363479A (en) System and method for rendering bezier splines
JPS63140382A (ja) 円類の多角形近似描画方法
CN111951348A (zh) 确定框选区域的方法、装置及电子设备
CN115272523A (zh) 空气质量分布图的绘制方法、装置、电子设备和存储介质
US5146551A (en) System for generating a circular or elliptic arc on a digital display
JP2674287B2 (ja) グラフィックマイクロコンピュータ
JPS59211165A (ja) 円弧発生方式
JPS60179793A (ja) 図形描画装置
JP2507812B2 (ja) 平方根計算方法
JP2544529B2 (ja) 図形描画装置
JPS6370387A (ja) 円弧描画方式
JPH03209499A (ja) アウトライン・フォントの形成方法およびその描画装置
JPH10275240A (ja) 円弧補間処理方法
JPS6336485A (ja) 円図形の描画方法
JPH04168581A (ja) 超楕円の近似曲線生成方法
JPH0452776A (ja) 円の描画方式
CN116467495A (zh) 线段相交判断方法、装置、电子设备及存储介质
JPH01311383A (ja) ベクトル描画方式
JPH0261779A (ja) 座標データ処理装置
JPS6045287A (ja) クリツピング処理装置
JPS6210779A (ja) 図形デ−タ発生装置
JPS62205479A (ja) Crtデイスプレイ装置の特殊図形発生回路
JPH0535912B2 (ja)
JPH06168337A (ja) 塗り潰し処理方法
JPS6120002B2 (ja)