JPH031707B2 - - Google Patents

Info

Publication number
JPH031707B2
JPH031707B2 JP61292647A JP29264786A JPH031707B2 JP H031707 B2 JPH031707 B2 JP H031707B2 JP 61292647 A JP61292647 A JP 61292647A JP 29264786 A JP29264786 A JP 29264786A JP H031707 B2 JPH031707 B2 JP H031707B2
Authority
JP
Japan
Prior art keywords
clipping
sint
cost
cont
equation
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 - Lifetime
Application number
JP61292647A
Other languages
English (en)
Other versions
JPS62171078A (ja
Inventor
Sutefuen Hasukeru Kaaku
Chaoochu Riaangu Bobu
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS62171078A publication Critical patent/JPS62171078A/ja
Publication of JPH031707B2 publication Critical patent/JPH031707B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/30Clipping

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • User Interface Of Digital Computer (AREA)

Description

【発明の詳細な説明】
A 産業上の利用分野 本発明は、図形表示システムにおける曲線描画
に係る。 B 従来技術とその問題点 あとで詳述するように、本発明は、変換、クリ
ツピング又は写像を利用して曲線図形を発生する
ものであるが、これらを利用した従来技術として
は、例えば米国特許第4371933号明細書に記載の
円弧発生方法がある。それによれば、
Bresenhamアルゴリズム又は表引きにより、円
弧を形成する個々の線分が発生され、次いで線分
毎に変換、クリツピング及び写像を行うことによ
り円弧が表示される。この方法は、各線分に対し
て個々に変換、クリツピング及び写像を行うた
め、処理時間が長くなるという欠点がある。 従つて本発明の目的は、線分の代りに、曲線を
表わす方程式に着目することによつて、短時間で
曲線図形を発生する方法を提供することにある。 C 問題点を解決するための手段 本発明は、図形表示システムにおいて、変換、
クリツピング及び写像を利用して曲線図形を描く
もので、まず変換を行うかどうかを決定し、描画
すべき曲線図形を表わす助変数方程式を変換し、
所定のクリツピング境界のもとで当該曲線図形を
クリツピングすべきかどうかを決定し、図形の範
囲を計算し、必要であれば助変数方程式を写像
し、そして描画すべき図形の線分を発生する。 D 実施例 D1 序 本発明は、変換、クリツピング及び写像を利用
して、円や楕円のような曲線図形を発生する。本
実施例では、変換、クリツピング及び写像の有無
に関係なく、三角関数(sin,cos)の表引きを用
いる。 描画効率を上げるため、本方法は下記の特徴と
持つている。 1 個々の線分ではなく、曲線の方程式を変換す
る。 2 個々の線分のクリツピングを避けるため、曲
線に対してトリビアル・クリツピングを行う。 3 クリツピングの結果曲線が明白に受諾された
場合は、各線分を写像する代りに、曲線方程式
をビユーポートに写像できる。 要約すると、パニングあるいはズーミングをを
受ける曲線図形について、それが明白に受諾され
ると、変換シフト因子及びウインドウからビユー
ポートへの写像化を乱すことなく、画面座標にお
いて描画が行われる。 本発明は、第2図及び第3図に示すような図形
表示システムで実施できる。 ベクトル(線)、マーカ、又は多角形(多角形
の頂点も等価)のような基本幾何要素は、変換−
クリツピング−写像プロセスを経る。円も基本幾
何要素として取扱う。以下では、円及び楕円に関
する変換−クリツピング−写像プロセスを詳述す
るが、これは、円弧、楕円弧及び他の曲線に対し
ても等しく適用できる。 D2 ラスタ式図形表示システム 本発明を実施できるラスタ式図形表示システム
の一例を第2図に示す。このシステムは下記の主
構成要素から成つている。 1 システム制御プロセツサ20 2 ホスト通信インタフエース22 3 表示プロセツサ24 4 ベクトル発生器(ハードウエア・ラスタライ
ザ)26 5 ビデオ画素メモリ30 6 システム・メモリ32 7 モニタ34 上記のような構成要素は市販の図形表示システ
ム(例えばIBM5080)が備えているものである。 システム制御プロセツサ20は汎用プロセツサ
であつて、システムの主制御を司る。また、接続
されているすべての図形入出力装置に対するサー
ビスも行い、表示に際しては表示プロセツサ24
に関連する処理を調整する。システム制御プロセ
ツサ20はホスト通信インタフエース22を介し
てホストと通信することができる。 ホスト通信インタフエース22は当該システム
とホストとの間の直列インタフエースである。 表示プロセツサ24は、システム・メモリ32
に書込まれている表示記憶プログラムの図形副指
令を実行する。表示プロセツサ24は主として、
モニタ34で表示される画像の生成に関係してい
る。表示プロセツサ24は、機能的には、図形副
指令を解読して、ブツク・キーピングや制御等の
非描画副指令を実用し;線、文字、多角形等の基
本幾何要素に対し変換及びクリツピングを行い;
データを前処理してベクトル発生器26及びビデ
オ画素メモリ30へ送ることにより、線、文字、
マーカ、塗りつぶした多角形等の幾何的オブジエ
クトを表示可能にする。 ベクトル発生器26は、線描画用の周知の
Bresenhamアルゴリズムをハードウエアで実現
したもので、ベクトル(線)の端点を入力とし、
それらの間の画素を出力としてビデオ画素メモリ
30に書込む。 ビデオ画素メモリ30は8枚の1k×1kビツ
ト・プレーンから成り、カラー・ルツクアツプ・
テーブルの使用により同時に256色まで表示可能
である。ビデオ画素メモリ30に書込まれたは画
像モニタ34で表示される。 第3図に示した図形表示システムの論理デー
タ・フローについて説明すると、まずアプリケー
シヨン・プログラムがホストからホスト通信イン
タフエース22を介してシステム・メモリ32に
ロードされる。システム制御プロセツサ20は要
求された作業に応じてデータを前処理した後、表
示プロセツサ24に割込みをかける。表示プロセ
ツサ24は、モニタ34での表示のために、デー
タを直接又はベクトル発生器26を介してビデオ
画素メモリ30に書込む。 第4図は表示プロセツサ24の詳細を示したも
のでるが、その主構成要素は次の通りである。 1 シーケンサ40(例えばAMD2910A) 2 72ビツト幅の書込み可能な制御記憶装置
(WCS)42 3 16ビツトのALU44(例えば4ビツト・ス
ライスのAMD2903) 4 32ビツト累算器付きの16×16の乗算器46
(例えばWTL2010) 5 4k×16のスクラツチパツドRAM48 6 32ビツトのバレル・シフタ50 7 明白な受諾又は拒否を検査するためのトリビ
アル・クリツパ52 8 スクラツチパツドRAM48の内容から次の
マイクロコード・アドレスを得るための論理5
4(指標付きアドレス指定) 表示ププロセツサ24はマイクロプログラム制
御型のシステムであつて、マイクロプログラムは
WCS42に書込まれる。表示プロセツサ24は、
1k×16のsin/cosテーブルも備えている。このテ
ーブルはスクラツチパツドRAM48にある。 D3 円/楕円の発生 ここでは、変換、クリツピング及び写像を行わ
ずに円及び楕円を発生する方法を説明するる。 楕円は下記の方程式で表わされる。 x=x1・cosT+x2・sinT+x0 y=y1・cosT+y2・sinT+y0 z=z1・cosT+z2・sinT+z0 (x0,y0,z0)を中心とする半径rの円の場
合は次のようになる。 x=r・cosT+x0 y=r・sinT+y0 z=z0 上記の方程式は三角関数sin及びcosを含んでい
るが、それらの値はテーブルの形で保持しておく
ことができる。その場合、三角関数にはsinT=
sin(180゜−T)=cos(90゜−T)等といつた周知の
対称性あるいは等価性があるから、sinの第1象
限の値を含む1k×16のテーブルを準備すれば、
sin及びcosの全範囲をカバーできる。このテーブ
ルを引くための手順は次の通りである。1 所与
の角度Tが属する象限を決定する。 2 象限が決まれば下記の表に従つてテーブルを
アクセスし、必要に応じてマイナスにする。
【表】 2次心の円は中元座標(xc,yc)及び半径r
によつて定義される。連続点(xc+r・cosT,
yc+r・sinT)は線分として発生される。Tは
0から4095までの範囲で、離散値の形をとるが、
パフオーマンスを上げるため、その値は人間の目
で円に見える程度に選んでおけばよい。例えば半
径rが小さければ(例えば12)、Tは0,256,
512,768,1024…といつた値で十分である。 Sを1024の因数(上の例では256)とし、n=
1024/Sとすると、1つの象限における円周上の
点は下記のように表わされる。 (xc+r・cos(nS)、(yc+r・sin(nS)) この部分はn本の線分(弦)で描かれることに
なる。第1象限を例にとると、手順は次のように
なる。 1 カウント値cntをn(=1024/S)に初期設定
する。 2 sin用のテーブル・ポインタtp1及びcos用の
テーブル・ポインタtp2を次のように初期設定
する。 tp1=0+テーブル・ベース・アドレス tp2=1024+テーブル・ベース・アドレス (上記のtp1及びtp2によつて読出されるテー
ブルの内容を各々cont(tp1)及びcont(tp2)で
表わす) 3 n≠0である間、下記の計算を繰返し実行す
る。 出力=(xc+r・cont(tp2),yc+r・cont
(tp1)) cnt=cnt−1 tp1=tp1+S tp2=tp2−S 残りの3象限についても同様にして計算でき
る。楕円の場合も同様である(詳細は後述)。 次に、表示プロセツサ24のマイクロプログラ
ムで上記の手順を実行する例を説明する。 第4図に示す表示プロセツサ24においては: 1kのsin/cosテーブルは4k×16のスクラツチ
パツドRAM48に含まれ; 乗算器46はバス2及びバス3から2つのオペ
ランドを同時に受取り、乗算結果を一時に16ビツ
トずつ2サイクルで出力し; 半径r及びカウント値cntは各々特定の
AMD2903レジスタ(rレジスタ及びcntレジス
タ)に保持され; ループ制御のためにAMD2910のRPCT命令を
使用し((2910のカウンタは(1024/S−1)を
初期ロードされる); スクラツチパツドRAM48用のRAMアドレ
ス・レジスタ(RAR)56を用いてsin/cosテ
ーブルをアドレス指定し; テーブル・ポインタtp1及びtp2は2つの
AMD2903レジスタ(tp1レジスタ及びtp2レジス
タ)にある。 従つて、上記の手順は次のように実行できる。 1 AMD2910カウンタに(1024/S−1)をロ
ードする。 2 2903のrレジスタに半径rをロードする。 3 2903のtp1レジスタにテーブル・ベース・ア
ドレスをロードする。 4 2903のtp2レジスタにテーブル・ベース・ア
ドレス+1024をロードする。 5 ループ制御のためにAMD2910のRPCT命令
を用いる。 あとは以下の手順が繰返し実行される。 a バス2を介してRAR56にtp1をロード
し、その後tp1をSだけ増分する。 b rレジスタの内容と、RAR56にあるア
ドレスを用いて読出されたスクラツチパツド
RAM48の内容とを乗算器46にロードす
る。 c 乗算器出力の上位部分を読出し、それに
xcを加算してx座標を得る。 d バス2を介してRAR56にtp2をロード
し、その後tp2をSだけ減分する。 e bを実行する。 f 乗算器出力の上位部分を読出し、それに
ycを加算してy座標を得る。 D4 変換−クリツピング−写像プロセス 各基本幾何要素(ベクトル、プログラム可能な
文字ストローク、固定文字等)は、変換−クリツ
ピング−写像プロセスを受ける。 最初の変換は世界座標空間で行われる。この変
換は、拡大、縮小、回転、変形等の任意の変換を
意味する。クリツピングは、世界座標空間におい
て矩形の形をしたクリツピング枠を用いて行う。
クリツピングされたデータは画面のビユーポート
に対して写像される。 例えばIBM5080の場合、世界座標空間は16ビ
ツト空間(x,y,z方向において−32kから
32kまで)であり、画面の解像度は10ビツト空間
(x及びyにおいて1k×1k)である。 簡単のためベクトル(線)を例にとつて説明す
ると、最初の変換では、ベクトルの端点に対し16
ビツトのxyz空間において(−32k,32k−1)の
範囲で行列乗算を行う。次に、ベクトルの端点が
指定したクリツピング枠の中にあるかどうかを調
べ、枠の外側に出ている線部分を破棄する。計算
は16ビツト空間で行う。最後に、クリツピング枠
(3次元)又はクリツピング・ウインドウ(2次
元)の中の内容を、画面上の指定したビユーポー
トに写像する。画面座標は(0,4k−1)×(0,
4k−1)であり、これが1k×1kの画面に写像さ
れる。 次に第1図を参照しながら、変換、クリツピン
グ及び写像を利用して円及び楕円を発生する方法
を説明する。 最初の半断ステツプ1では、描画すべき図形に
対して変換が必要が否かを調べる。必要であれば
ステツプ2に進んで、助変数方程式を変換する
(詳細は後述)。 変換が不要であれば次の判断ステツプ3に進ん
で、何らかのクリツピング枠に対してクリツピン
グを行うべきが否かを調べる。行うべきであれ
ば、あとで詳述するように、描画すべき閉じた図
形の範囲を計算し(ステツプ4)、図形全体に対
するトリビアル・クリツピングのための枠クリツ
プ・テストを行う(ステツプ5)。 テストの結果、図形全体がクリツピング枠の外
側にあることが明白拒否の判断ステツプ6で検出
されると、描画すべきものは何もないので、プロ
セスは終了する。 図形が拒否されなければ、次の判断ステツプ7
で、描画すべき図形全体がクリツピング枠の内側
にあるか否かをみるためのテスト(明白受諾テス
ト)を行う。 図形の一部がクリツピング枠の外側にあると、
クリツピング枠の境界を越えた線分についてクリ
ツピングが必要である(ステツプ8)。クリツピ
ング及び写像のために線分を発生するルーチンに
ついてはあとで説明する。 判断ステツプ3でクリツピングが不要と判断さ
れるか、又は判断ステツプ7において図形全体が
クリツピング枠内にあることを示す明白受諾信号
が発生されると、次の判断ステツプ9で表示画面
上のビユーポートへの写像をチエツクする。 図形を写像すべきであれば、ステツプ10に進ん
で助変数方程式の写像を実行し(詳細は後述)、
そして最後のステツプ11で、描画すべき閉じた図
形のための線分を発生する。写像が不要であれ
ば、線分を直接発生することになる。 D4 1 助変数方程式の変換 本発明は、sin/cosテーブル及び乗算器を使用
し且つ下記の方程式変換の概念を用いることによ
り、従来のような線分の変換を排除する。 D4 1 1 楕円の助変数方程式変換 次のような楕円方程式を考える。 x=f1・cosT+f2・sinT+f0 y=d1・cosT+d2・sinT+d0 z=e1・cosT+e2・sinT+e0 ここで、 P0=(f0,d0,e0) P1=(f1+f0,d1+d0,e1+e0) P2=(f2+f0,d2+d0,e2+e0) とし、次のような変換を行う。 1 P0をQ0=(x0,y0,z0)に変換。 2 P1をQ1=(a1,b1,c1)に変換。 3 P2をQ2=(a2,b2,c2)に変換。 4 (x1,y1,z1)=(a1−0,b−b0,c1−c0) 5 (x2,y2,z2)=(a2−x0,b2−y0,c2−z0) 6 sin/cosテーブルをを次の方程式から線分を
構成。 x=x1・cosT+x2・sinT+x0 y=y1・cosT+y2・sinT+y0 z=z1・cosT+z2・sinT+z0 この後、必要に応じてクリツピング及び写像を
行う。 D4 1 2 円の助変数方程式変換 円は楕円の特別の場合である。 円の中心をP0=(f0,d0,e0)とし、半径をr
とすると、方程式は次のようになる。 x=r・cosT+f0 y=r・sinT+d0 z=e0 D4 2 トリビアル・クリツピング この目的は、個々の線分をクリツピングするこ
となく、図形全体を明白に受諾又は拒否するかど
うかを調べることにある。 まず、クリツピングのための円及び楕円の範囲
を決める。円及び楕円の方程式は下記の一般形を
有する。 f(T)=U・cosT+V・sinT 上式の極値(極大又は極小)は、その導関数が
0になる点に存在する。導関数は上式の微分によ
り得られ、次のようになる。 f′(T)=−U・sinT+V・cosT f′(T)=0が成立するのは下記の場合である。 tanT=V/U cosT=U/(U2+V21/2 又は−U/(U2+V21/2 sinT=V/(U2+V21/2 又は−V/(U2+V21/2 従つて、f(T)に関する境界は(U2+V21/2
である。前節で示した円及び楕円の方程式から、
円及び楕円が下記の境界によつて囲まれているこ
とがわる。 左:x=r0−(x12+x221/2 右:x=x0+(x12+x221/2 下:y=y0−(y12+y221/2 上:y=y0+(y12+y221/2 手前:z=z0−(z12+z221/2 遠方:z=z0+(z12+z221/2 2次元の円の場合は、パラメータは次のように
なる。 左:x=x0−r 右:x=x0+r 下:y=y0−r 上:y=y0+r 手前:z=z0 遠方:z=z0 次に、上記の環境パラメータによつて決まる範
囲すなわち枠が完全にクリツピング枠の内側にあ
るかどうかを調べる。もし内側にあれば(明白受
諾)、描画のために方程式を画面に写像し(次節
で述べる)、さもなければ個々の線分を発生して
必要なクリツピングを行う。 D4 3 ウインドウからビユーポートへの写像 (x,y)クリツピング・ウインドウは次式で
与えられる。 左:x=xw1 右:x=xw2 下:y=yw1 上:y=yw2 (x,y)ビユーポートは次式で与えられる。 左:x=xv1 右:x=xv2 下:y=yv1 上:y=yv2 ウインドウからビユーポートへの写像は次のよ
うになる。 x→(x−xw1)・xratio+xv1 y→(y−yw1)・yratio+yv1 上式においてxratio及びyratioはウインドウ及
びビユーポートの比を表わし、次式で与えれる。 xratio=(xv2−xv1)/(xw2−xw1) yratio=(yv2−yv1)/(yw2−yw1) ここで、方程式 x=x1・cosT+x2・sinT+x0 y=y1・cosT+y2・sinT+y0 に対して下記の写像を行う。 x0→(x0−xw1)・xratio+xv1=C1 y0→(y0−yw1)・yratio+yv1=C2 x1→x1・xratio=U1 x2→x2・xratio=U2 y1→y1・yratio=V1 y2→y2・yratio=V2 そうすると、方程式は次のようになる。 x=U1・cosT+U2・sinT+C1 y=V1・cosT+V2・sinT+C2 上式に対してsin/cosテーブルを引けば、円又
は楕円を描くことができる。 D5 楕円描画の例 前述のように、楕円は下記の3つの方程式によ
つて表わされる。 x=x1・cosT+x2・sinT+x0 y=y1・cosT+y2・sinT+y0 z=z1・cosT+z2・sinT+z0 TはnSの形の離散値をとる。Sは1024の因数
(例えば256)であり、その値は楕円(又は円)の
大きさによつて決められる。nは1024/Sに等し
い。 楕円描画のための変数は、特定の象限における
描画用線分(弦)の数を表わすカウント値cnt、
角度T、sin/cosテーブルをアクセスするための
2つのテーブル・ポインタtp1及びtp2、並びにテ
ーブル・ベース・アドレスbaseである。以下、
象限別に説明する。 第1象限(cosT,sinT) カウント値cnt並びにテーブル・ポインタtp1及
びtp2を次のように初期設定する。 cnt=1024/S(=n) tp1=base tp2=1024+base cnt≠0であれば、下記のようにx,y,zを
計算し且つcnt、tp1及びtp2を更新する。 x=x0+x1・cont(tp2)+x2・cont(tp1) y=y0+y1・cont(tp2)+y2・cont(tp1) z=z0+z1・cont(tp2)+z2・cont(tp1) cnt=cnt−1 tp1=tp1+S tp2=tp2−S cntが0になると終了する。 第2象限(−sinT,cosT) x,y,zの計算が下記のようになる以外は第
1象限の場合と同じである。 x=x0−x1・cont(tp1)+x2・cont(tp2) y=y0−y1・cont(tp1)+y2・cont(tp2) z=z0−z1・cont(tp1)+z2・cont(tp2) 第3象限(−cosT・−sinT) x,y,zの計算が下記のようになる以外は第
1象限の場合と同じである。 x=x0−x1・cont(tp2)−x2・cont(tp1) y=y0−y1・cont(tp2)−y2・cont(tp1) z=z0−z1・cont(tp2)−z2・cont(tp1) 第4象限(sinT,−cosT) x,y,zの計算が下記のようになる以外は第
1象限の場合と同じである。 x=x0+x1・cont(tp1)−x2・cont(tp2) y=y0+y1・cont(tp1)−y2・cont(tp2) z=z0+z1・cont(tp1)−z2・cont(tp2) D6 方程式変換用サブルーチン このサブルーチンは円及び楕円の方程式のパラ
メータを変換して新しい方程式を作り出す。前提
となる方程式は下記の通りである。 x=f1・cosT+f2・sinT+f0 y=d1・cosT+d2・sinT+d0 z=e1・cosT+e2・sinT+e0 上式を下記のように変換する。 x=x1・cosT+x2・sinT+x0 y=y1・cosT+y2・sinT+y0 z=z1・cosT+z2・sinT+z0 パラメータfi,di,eiかxi,yi,zi(i=0,
1,2,)への変換には下記の変換行列Mを用い
る。 m11,m12,m13 m21,m22,m23 m31,m32,m33 m41,m42,m43 5080行列のシフト・フアクタsfactorの指数表
現をexp(=2**sfactor)で表わすと、変換後
のパラメータxi,yi,ziは次式で与えられる。 x0=(m11・f0+m21・d0+m31・e0)・exp+
m41 y0=(m12・f0+m22・d0+m32・e0)・exp+
m42 z0=(m13・f0+m23・d0+m33・e0)・exp+
m43 x1=(m11・f1+m21・d1+m31・e1)・exp y1=(m12・f1+m22・d1+m32・e1)・exp z1=(m13・f1+m23・d1+m33・e1)・exp x2=(m11・f2+m21・d2+m31・e2)・exp y2=(m12・f2+m22・d2+m32・e2)・exp z2=(m13・f2+m23・d2+m33・e2)・exp D7 方程式の写像 ウインドウからビユーポートへの写像は下記の
通りである。 x→(x−xw1)・xratio+xv1 y→(y−yw1)・yratio+yv1 ここでは、 x=x1・cosT+x2・sinT+x0 y=y1・cosT+y2・sinT+y0 z=z1・cosT+z2・sinT+z0 という方程式を下記のように写像する。 x=U1・cosT+U2・sinT+C1 y=V1・cosT+V2・sinT+C2 パラメータC1,C2,U1,U2,V1及びV2は次
式で与えられる。 C1=(x0−xw1)・xratio+xv1 C2=(y0−yw1)・yratio+yv1 U1=x1・xratio U2=x2・xratio V1=y1・yratio V2=y2・yratio 実際の計算に際しては、xratio及びyratioをそ
れぞれ指数部xexp及びyexp並びに小数部xnum
及びynumに分けて下記のように表わす。 xratio=xnum・(2**xexp) yratio=ynum・(2**yexp) D8 クリツピング・サブルーチン 「ドリビアル・クリツピング」の節で述べた図
形の境界をxaxb,ya,yb,za,zbで表わす。こ
れらを再記すると次の通りである。 xa=x0−(x12+x221/2 xb=x0+(x12+x221/2 ya=y0−(y12+y221/2 yb=y0+(y12+y221/2 za=z0−(z12+z221/2 zb=z0−(z12+z221/2 このサブルーチンでは3つのフラグ、すなわち
内側フラグ、外側フラグ及びクリツプ・フラグを
用いる。これらは何れも0に初期設定される。 外側フラグは、次の6つの条件のうち1つでも
成立していると1にセツトされる。これは明白拒
否を表わす。 xw2−xa<0 xb−xw1<0 yw2−ya<0 yb−yw1<0 zw2−za<0 zb−zw1<0 クリツプ・フラグは、上記の条件が何れも成立
せず且つ次の6つの条件のうち1つでも成立して
いると1にセツトされる。 xw1−xa>0 xb−xw2>0 yw1−ya>0 yb−yw2>0 zw1−za>0 zb−zw2>0 上記の12の条件が何れも成立していなければ内
側フラグが1にセツトされる。これは明白受諾を
表わす。 E 発明の効果 本発明は、描画すべき曲線図形を表わす方程式
を変換しているので、個々の線分を変換していた
従来の描画方法に比べて処理時間が短くてすむ。
【図面の簡単な説明】
第1A図及び第1B図は本発明に従う描画方法
を示す流れ図。第2図は本発明を実施し得る図形
表示システムの構成を示すブロツク図。第3図は
図形表示システムの論理データ・フローを示すブ
ロツク図。第4図は表示プロセツサ24の構成を
示すブロツク図。

Claims (1)

  1. 【特許請求の範囲】 1 変換、クリツピング又は写像を利用して曲線
    図形を描画するための方法にして、 変換を行うべきか否かを決定し、 変換すべき図形を表わす助変数方程式を変換
    し、前記図形に対してクリツピングを行うべきか
    否かを決定し、 前記図形の範囲を計算し、 必要であれば前記助変数方程式を写像し、 描画すべき図形の線分を発生する、 ことを特徴とする曲線図形描画方法。
JP61292647A 1986-01-21 1986-12-10 曲線図形描画方法 Granted JPS62171078A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US82109886A 1986-01-21 1986-01-21
US821098 1992-01-15

Publications (2)

Publication Number Publication Date
JPS62171078A JPS62171078A (ja) 1987-07-28
JPH031707B2 true JPH031707B2 (ja) 1991-01-11

Family

ID=25232498

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61292647A Granted JPS62171078A (ja) 1986-01-21 1986-12-10 曲線図形描画方法

Country Status (3)

Country Link
EP (1) EP0232005A3 (ja)
JP (1) JPS62171078A (ja)
CA (1) CA1264878A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62205479A (ja) * 1986-03-05 1987-09-10 Daikin Ind Ltd Crtデイスプレイ装置の特殊図形発生回路
US5297240A (en) * 1989-01-13 1994-03-22 Sun Microsystems, Inc. Hardware implementation of clipping and intercoordinate comparison logic
GB2227147B (en) * 1989-01-13 1994-04-13 Sun Microsystems Inc Hardware implementation of clipping and inter-coordinate comparison logic
US5208909A (en) * 1989-10-23 1993-05-04 International Business Machines Corporation Pre-drawing pick detection in a graphics display system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4371933A (en) * 1980-10-06 1983-02-01 International Business Machines Corporation Bi-directional display of circular arcs

Also Published As

Publication number Publication date
JPS62171078A (ja) 1987-07-28
EP0232005A3 (en) 1989-04-26
CA1264878C (en) 1990-01-23
EP0232005A2 (en) 1987-08-12
CA1264878A (en) 1990-01-23

Similar Documents

Publication Publication Date Title
JP6712366B2 (ja) 曲面ビューポート上に頂点の投影を近似することによる、グラフィックス処理における画面位置に基づく有効解像度の変化
KR100261076B1 (ko) 범프 맵핑과 퐁 쉐이딩을 동시에 수행하는 렌더링방법 및 장치
EP0437074B1 (en) Special effects using polar image coordinates
JPH0572627B2 (ja)
JPH07200867A (ja) 画像生成装置
US9595080B2 (en) Implementing and interpolating rotations from a computing input device
JP3032894B2 (ja) コンピュータ表示装置に表示する対象物をクリツプする方法
US4553214A (en) Angle based stroke generator
US5303321A (en) Integrated hardware generator for area fill, conics and vectors in a graphics rendering processor
JPH031707B2 (ja)
JPH0664444B2 (ja) 文字クリップ方法
JPH03202981A (ja) 三次元図形表示方法及びシステム
JPH0677265B2 (ja) 曲線発生装置
CN108921778A (zh) 一种星球效果图生成方法
JP3522714B2 (ja) 画像生成方法
JPS62205479A (ja) Crtデイスプレイ装置の特殊図形発生回路
CN111145300B (zh) 顾及线宽一致性的矢量地图尖角形虚线符号绘制方法
CN116993877A (zh) 物体飘落特效模拟方法、设备及存储介质
JP2638218B2 (ja) 球体テクスチャマッピング装置
JP2964159B2 (ja) コンピュータグラフィック表示システムおよびデプスキューイングを行う方法
JPS62205480A (ja) Crtデイスプレイ装置の特殊図形発生回路
JPH0145105B2 (ja)
Vyatkin et al. Dynamic Distortion Correction with Viewpoint Motioned Non Static Attitude of Projector
Butler et al. Subdivision using angle bisectors is dense in the space of triangles
CN117891073A (zh) 一种应用于arhud的新型畸变校正方法