JPH0776987B2 - 図形表示システムにおける図形の変換方法 - Google Patents
図形表示システムにおける図形の変換方法Info
- Publication number
- JPH0776987B2 JPH0776987B2 JP62132017A JP13201787A JPH0776987B2 JP H0776987 B2 JPH0776987 B2 JP H0776987B2 JP 62132017 A JP62132017 A JP 62132017A JP 13201787 A JP13201787 A JP 13201787A JP H0776987 B2 JPH0776987 B2 JP H0776987B2
- Authority
- JP
- Japan
- Prior art keywords
- matrix
- elements
- graphic
- shift factor
- exp
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/548—Trigonometric functions; Co-ordinate transformations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49905—Exception handling
- G06F7/4991—Overflow or underflow
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Algebra (AREA)
- Image Generation (AREA)
- Complex Calculations (AREA)
- Image Processing (AREA)
Description
【発明の詳細な説明】 A.産業上の利用分野 本発明は情報取扱いシステムに係り、更に詳しくは、図
形表示システムにおけるデータ変換方法及びデータ変換
装置に関する。
形表示システムにおけるデータ変換方法及びデータ変換
装置に関する。
B.従来技術 従来の図形表示システムにおけるデータ変換方法では、
例えばIBM5080図形表示システムのマニュアル(マニュ
アル番号GA23−2012−0)に記述されているように、複
数のマトリックスエレメント(例えば3次間空間用の12
エレメント)に対して唯一のシフトファクタしか存在し
ないような変換マトリックスの連結を行っていた。従来
の変換マトリックス計算方法では、マトリックスの連結
の結果生じたオーバーフロー状態を制御するような変換
シフトファクタが存在していなかった。
例えばIBM5080図形表示システムのマニュアル(マニュ
アル番号GA23−2012−0)に記述されているように、複
数のマトリックスエレメント(例えば3次間空間用の12
エレメント)に対して唯一のシフトファクタしか存在し
ないような変換マトリックスの連結を行っていた。従来
の変換マトリックス計算方法では、マトリックスの連結
の結果生じたオーバーフロー状態を制御するような変換
シフトファクタが存在していなかった。
C.解決しようとする問題点 本発明の目的は、図形表示システムにおいて図形データ
を効率良く変換することである。
を効率良く変換することである。
D.問題点を解決するための手段 本発明は次の各段階を含んでいる。
段階1:少なくとも1つのスケールシフトファクタ及び複
数の変換シフトファクタを備える、例えば9あるいは12
のマトリックスエレメントから成る第1マトリックスを
形成する。
数の変換シフトファクタを備える、例えば9あるいは12
のマトリックスエレメントから成る第1マトリックスを
形成する。
段階2:第1マトリックスと同様の構造の第2マトリック
スを形成する。
スを形成する。
段階3:第3マトリックスの形成のために第1及び第2マ
トリックスのエレメントについて連結計算を行う。
トリックスのエレメントについて連結計算を行う。
段階4:各エレメント中の先行ゼロの数を決定することに
より第3マトリックスを正規化する。
より第3マトリックスを正規化する。
段階5:第3マトリックスの最下位行の変換項を計算して
第3マトリックスを完成させる。
第3マトリックスを完成させる。
E.実施例 本実施例の図形表示システムは座標変換のための特別な
マトリックスを用いており、前記マトリックスは例えば
4×3(4行3列)のマトリックスである。この場合、
はじめの3行は1つのスケールファクタを受け持つ9つ
の小数であり、最後の行の3つの数は整数である。
マトリックスを用いており、前記マトリックスは例えば
4×3(4行3列)のマトリックスである。この場合、
はじめの3行は1つのスケールファクタを受け持つ9つ
の小数であり、最後の行の3つの数は整数である。
幾つかのアプリケーションでは、数個のマトリックスを
連結した結果、得られたマトリックスエレメントがオー
バーフローする。このような精密さに関する問題を解決
するため、3つの独立なシフトファクタがマトリックス
の最下位の行のために導入されている。これら3つのエ
レメントは、マトリックスのはじめの3行とともに、新
しいマトリックスを構成する。
連結した結果、得られたマトリックスエレメントがオー
バーフローする。このような精密さに関する問題を解決
するため、3つの独立なシフトファクタがマトリックス
の最下位の行のために導入されている。これら3つのエ
レメントは、マトリックスのはじめの3行とともに、新
しいマトリックスを構成する。
こうして得られた新しいマトリックスのシフトファクタ
に基づき、もしいずれかの変換項が16ビットを越える場
合には、クリッピング境界が調整され、その結果、ユー
ザのデータはオーバーフローを回避するように調整され
る(第4図参照)。
に基づき、もしいずれかの変換項が16ビットを越える場
合には、クリッピング境界が調整され、その結果、ユー
ザのデータはオーバーフローを回避するように調整され
る(第4図参照)。
マトリックスの形式 マトリックスMのエレメントはmijで表わされる。このm
ijはi行、j列のエレメントである。
ijはi行、j列のエレメントである。
変換マトリックス 変換マトリックスは次のように表わされる(ここでは3
次元マトリックスについて表わされている。2次元マト
リックスは3次元マトリックスのサブセットとして取扱
えばよい。) また、シフトファクタをsfで表わす。
次元マトリックスについて表わされている。2次元マト
リックスは3次元マトリックスのサブセットとして取扱
えばよい。) また、シフトファクタをsfで表わす。
はじめの9つのエレメントm11、m12、…m33は次のよう
に表わされる小数である。
に表わされる小数である。
S.××× ×××× ×××× ×××× m41、m42、m43は次のように表わされる。この値は2の
補数形式で表わされている。
補数形式で表わされている。
S××× ×××× ×××× ×××× シフトファクタsfの値は0から12の範囲である。最後の
3つの項m41、m42、m43が変換項である。
3つの項m41、m42、m43が変換項である。
座標変換 点(X、Y、Z)(ここで、X、Y、Zは整数とす
る。)にマトリックスMを掛けると、次のような結果と
なる。
る。)にマトリックスMを掛けると、次のような結果と
なる。
新しいX=(X・m11+Y・m21+Z・m31)・(2sf)+
m41 新しいY=(X・m12+Y・m22+Z・m32)・(2sf)+
m42 新しいZ=(X・m13+Y・m23+Z・m33)・(2sf)+
m43 マトリックス連結 2つのマトリックスM、Nが次のように表わされるとす
る。
m41 新しいY=(X・m12+Y・m22+Z・m32)・(2sf)+
m42 新しいZ=(X・m13+Y・m23+Z・m33)・(2sf)+
m43 マトリックス連結 2つのマトリックスM、Nが次のように表わされるとす
る。
シフトファクタ=sf1 シフトファクタ=sf2 また、マトリックスQが次のようであるとする。
シフトファクタ=sf3 このようなときに、Q=M・Nが成立しているとすれ
ば、以下の各関係が成立する。
ば、以下の各関係が成立する。
q11=m11・n11+m12・n12+m13・n13 q12=m11・n12+m12・n22+m13・n32 q13=m11・n13+m12・n23+m13・n33 q21=m21・n11+m22・n21+m23・n31 q22=m21・n12+m22・n22+m23・n32 q23=m21・n13+m22・n23+m23・n33 q31=m31・n11+m32・n21+m33・n31 q32=m31・n12+m32・n22+m33・n32 q33=m31・n13+m32・n23+m33・n33 sf=sf1+sf2 q41=(m41・n11+m42・n21+m43・n31)(2sf2)+n41 q42=(m41・n12+m42・n22+m43・n32)(2sf2)+n42 q43=(m41・n13+m42・n23+m43・n33)(2sf2)+n43 注:9つの項(m41・n11、m42・n21、…m43・n33)の全て
の先行ゼロの数がゼロより大きいときには、シフトファ
クタsf3を調整しなければならない。
の先行ゼロの数がゼロより大きいときには、シフトファ
クタsf3を調整しなければならない。
PHIGSマトリックス PHIGS(Programmers Hierachical Interactive Graphic
s System:プログラマー階層対話式図形処理システム)
マトリックスを次のように定義する。
s System:プログラマー階層対話式図形処理システム)
マトリックスを次のように定義する。
シフトファクタ……sf 変換シフトファクタ……t1f、t2f、t3f はじめの9つのエレメントm11、m12、…m33はS.×××
×××× ×××× ××××で表わされ、 m41、m42、m43はS××× ×××× ×××× ××
××で表わされる。
×××× ×××× ××××で表わされ、 m41、m42、m43はS××× ×××× ×××× ××
××で表わされる。
sfの値は−16から16の範囲内である。
実行を容易にするため、シフトファクタは−512(X′F
E00)とされている。
E00)とされている。
t1f、t2f、t3fは3つのマトリックスエレメントm41、m4
2、m43のためのシフトファクタであり、変換項は次のよ
うになる。
2、m43のためのシフトファクタであり、変換項は次のよ
うになる。
m41(2tlf) m42(2t2f) m43(2t3f) t1f、t2f、t3fの値は−16から16の範囲である。
座標変換 点(X、Y、Z)が整数で与えられたときに、この点に
マトリックスMを掛けると次のようになる。
マトリックスMを掛けると次のようになる。
新しいX=(X・m11+Y・m21+Z・m31)・(2sf)+
m41(2t1f) 新しいY=(X・m12+Y・m22+Z・m32)・(2sf)+
m42(2t2f) 新しいZ=(X・m13+Y・m23+Z・m33)・(2sf)+
m43(2t3f) マトリックス連結 次のような2つのPHIGSマトリックスM、Nが与えられ
たとする。
m41(2t1f) 新しいY=(X・m12+Y・m22+Z・m32)・(2sf)+
m42(2t2f) 新しいZ=(X・m13+Y・m23+Z・m33)・(2sf)+
m43(2t3f) マトリックス連結 次のような2つのPHIGSマトリックスM、Nが与えられ
たとする。
シフトファクタ:s1f 変換シフトファクタ:t1f1、t2f1、t3f1 シフトファクタ:s2f 変換シフトファクタ:t1f2、t2f2、t3f2 このとき、Q=M・Nであるとすれば、Qは次のように
なる。
なる。
シフトファクタ:sf3 変換シフトファクタ:t1f3、t2f3、t3f3 ここで、Qの各エレメントは次のようになる。
q11=m11・n11+m12・n21+m13・n31 q12=m11・n12+m12・n22+m13・n32 q13=m11・n13+m12・n23+m13・n33 q21=m21・n11+m22・n21+m23・n31 q22=m21・n12+m22・n22+m23・n32 q23=m21・n13+m22・n23+m23・n33 q31=m31・n11+m32・n21+m33・n31 q32=m31・n12+m32・n22+m33・n32 q33=m31・n13+m32・n23+m33・n33 また、sf3=sf1+sf2(下記の注1参照)が成立する。
Qの残りの3エレメントは次のようである。
q41・(2t1f3)=m41・n11・(2t1f1)・(2sf2)+m42
・n21・(2t2f1)・(2sf2)+m43・n31・(2t3f1)・
(2sf2)+n41・(2t1f2) q42・(2t2f3)=m41・n12・(2t1f1)・(2sf2)+m42
・n22・(2t2f1)・(2sf2)+m43・n32・(2t3f1)・
(2sf2)+n42・(2t2f2) q43*(2**t3f3)=m41・n13・(2t1f1)・(2sf2)+m
42・n23・(2t2f1)・(2sf2)+m43・n33・(2t3f1)
・(2sf2)+n43・(2t3f2) 変換シフトファクタt1f3、t2f3、t3f3は次のセクション
で計算される(下記の注2参照)。
・n21・(2t2f1)・(2sf2)+m43・n31・(2t3f1)・
(2sf2)+n41・(2t1f2) q42・(2t2f3)=m41・n12・(2t1f1)・(2sf2)+m42
・n22・(2t2f1)・(2sf2)+m43・n32・(2t3f1)・
(2sf2)+n42・(2t2f2) q43*(2**t3f3)=m41・n13・(2t1f1)・(2sf2)+m
42・n23・(2t2f1)・(2sf2)+m43・n33・(2t3f1)
・(2sf2)+n43・(2t3f2) 変換シフトファクタt1f3、t2f3、t3f3は次のセクション
で計算される(下記の注2参照)。
注1:9項の全ての先行ゼロの数がゼロより大きいときに
は、シフトファクタsf3は調整されなければならない。
は、シフトファクタsf3は調整されなければならない。
注2:変換シフトファクタは、先行ゼロ又は先行1をかぞ
えることにより3つの32ビット中間値q41、q42、q43か
ら計算されなければならない(「マトリックスエレメン
トの計算」のセクションを参照せよ。) 従来例のマトリックスとの比較 従来例; シフトファクタ:sf(0≦sf≦12) 本発明の例; シフトファクタ:sf(−16≦sf≦16) 変換シフトファクタ:t1f、t2f、t3f(−16≦t1f、t2f、
t3f≦16) より具体的な例 −32768から32767の範囲内で整数が16ビットの2の補数
形式であるとする。このとき、次の2つのマトリックス
の連結について考える。
えることにより3つの32ビット中間値q41、q42、q43か
ら計算されなければならない(「マトリックスエレメン
トの計算」のセクションを参照せよ。) 従来例のマトリックスとの比較 従来例; シフトファクタ:sf(0≦sf≦12) 本発明の例; シフトファクタ:sf(−16≦sf≦16) 変換シフトファクタ:t1f、t2f、t3f(−16≦t1f、t2f、
t3f≦16) より具体的な例 −32768から32767の範囲内で整数が16ビットの2の補数
形式であるとする。このとき、次の2つのマトリックス
の連結について考える。
従来技術 cos45=sin45=0.7071を用いると、16ビット形式では、
積の次のようになる。
積の次のようになる。
(16進表示) これは次のように誤って計算される。
もし16ビットを越える精度であれば、正しいM・Nは次
のようでなければならない。
のようでなければならない。
本発明の例 本発明の例では以下のようになる。
で表わされるMは次の新しい形式となる。
t1f=0 t2f=0 t3f=0 また、Nについては次のようである。
で表わされるNが次の新しい形式となる。
そして、M・Nの積は次のようになる。
このマトリックスは次の正しい結果を表わしている。
図形データの数値範囲の調整 シフトファクタの値が大きすぎたため、マトリックス連
結の結果得られたマトリックスの項がオーバーフローす
るときには、システムが図形データの数値範囲を調整す
ることとなる。
結の結果得られたマトリックスの項がオーバーフローす
るときには、システムが図形データの数値範囲を調整す
ることとなる。
上述の例ではシステムは図形データを自動的に2で割る
ことができ、オーバーフローを避ける(第4図参照)。
ことができ、オーバーフローを避ける(第4図参照)。
実行 IBM5080が実行のために行いられる(IBM図形表示システ
ム5080モデル2の操作原理が載っているマニュアルGA23
−2012−0参照)。
ム5080モデル2の操作原理が載っているマニュアルGA23
−2012−0参照)。
ラスタ式図形表示システム 第1図にはラスタ式図形表示システムが示されている。
このシステムは次の主要部分から成っている。
このシステムは次の主要部分から成っている。
1.システムコントロールプロセッサ1 2.ホスト通信インターフェース2 3.ディスプレイプロセッサ3 4.ベクトル発生器(ラスタ走査器)4 5.ビデオ画素メモリ5 6.システムメモリ6 主要部分の機能 1.システムコントロールプロセッサ システムコントロールプロセッサはシステムの主要操作
を行うような汎用プロセッサである。この汎用プロセッ
サは(ライトペン及びディスプレイモニタを除く)接続
された全ての入出力装置の制御を受け持つ。
を行うような汎用プロセッサである。この汎用プロセッ
サは(ライトペン及びディスプレイモニタを除く)接続
された全ての入出力装置の制御を受け持つ。
このプロセッサはディスプレイプロセッサと関連する処
理を調整する。
理を調整する。
また、このプロセッサはホスト通信インタフェースを介
してホストコンピュータとインタフェースする。
してホストコンピュータとインタフェースする。
2.ホスト通信インタフェース ホスト通信インタフェースはシステムをホストコンピュ
ータに直列にインタフェースさせる。
ータに直列にインタフェースさせる。
3.ディスプレイプロセッサ(DP) DPはシステムメモリ中の図形命令(発注)を実行し、デ
ィスプレイモニタ上に表われる画像を発生させる処理に
関する。DPは以下の機能を有する。
ィスプレイモニタ上に表われる画像を発生させる処理に
関する。DPは以下の機能を有する。
図形命令をデコードして非描画命令を実行する;即ち、
ブックキーピング及び制御を実行する。
ブックキーピング及び制御を実行する。
幾何基本、即ち、線、文字、多角形等に対して変換やク
リッピング機能を実行する。
リッピング機能を実行する。
データを前処理してベクトル発生器及びビデオ画素メモ
リに与えることにより線、文字、マーク、多角形等の対
象物を準備する。
リに与えることにより線、文字、マーク、多角形等の対
象物を準備する。
4.ベクトル発生器 ベクトル発生器はブレゼンハム(Bresenham)の線分発
生アルゴリズムをハードウェアで実行する。このアルゴ
リズムは、ベクトルの終端が入力されると、表示用出力
としてビデオ画素メモリ内の画素を発生する。
生アルゴリズムをハードウェアで実行する。このアルゴ
リズムは、ベクトルの終端が入力されると、表示用出力
としてビデオ画素メモリ内の画素を発生する。
5.ビデオ画素メモリ 1K×Kのプレーン8枚から成り、カラー索引ラービルを
通して256色を同時にサポートする。ここに記憶されて
いる画像はモニタに表示される。
通して256色を同時にサポートする。ここに記憶されて
いる画像はモニタに表示される。
論理的データフロー 第3図には図形表示システムのデータの論理的流れが示
されている。
されている。
1.アプリケーションプログラムがホスト通信インタフェ
ースプロセッサ(CIP)を通してシステムメモリにロー
ドされる。
ースプロセッサ(CIP)を通してシステムメモリにロー
ドされる。
2.システムコントロールプロセッサは(要求された仕事
に依り)データを前処理し、ディスプレイプロセッサ
(DP)に割込みをかける。
に依り)データを前処理し、ディスプレイプロセッサ
(DP)に割込みをかける。
3.DPはデータを処理する。
4.データはビデオ画素メモリ(VPM)に直接又はベクト
ル発生器(VG)を介して送られて表示される。
ル発生器(VG)を介して送られて表示される。
変換及びクリッピング 変換及びクリッピングは属性レジスタの内容により制御
される。
される。
ベクトル(線分)の例を次に示す。これは3段階から成
る。
る。
1.変換 16ビット固定数形式中のベクトルの終点に関して、マト
リックスの掛け算が16ビットのX、Y、Z空間内で、
(−32K、32K−1)の範囲内で行なわれる。
リックスの掛け算が16ビットのX、Y、Z空間内で、
(−32K、32K−1)の範囲内で行なわれる。
2.クリッピング ベクトルの2つの終点を用い、ユーザにより特定された
クリッピングボックスにクリップする。計算は16ビット
空間で行なわれる。
クリッピングボックスにクリップする。計算は16ビット
空間で行なわれる。
3.マッピング クリッピングボックス(3次元)あるいはクリッピング
ウィンドウ(2次元)内の内容をユーザにより特定され
たスクリーン内にマッピングする。スクリーン座標は
(0.4K−1)×(0.4K−1)であり、1K×1Kのスクリー
ンにマップされる。
ウィンドウ(2次元)内の内容をユーザにより特定され
たスクリーン内にマッピングする。スクリーン座標は
(0.4K−1)×(0.4K−1)であり、1K×1Kのスクリー
ンにマップされる。
ディスプレイプロセッサ ディスプレイプロセッサはマイクロプログラムされたシ
ステムである。これはメモリからデータをフェッチしデ
ータをベクトル発生器を通してラスタ式ディスプレイ装
置(ラスタ発生器)に出力する。これは、線セグメント
の終点座標が入力されるとビデオ画素メモリ内の画像デ
ータを発生させる。
ステムである。これはメモリからデータをフェッチしデ
ータをベクトル発生器を通してラスタ式ディスプレイ装
置(ラスタ発生器)に出力する。これは、線セグメント
の終点座標が入力されるとビデオ画素メモリ内の画像デ
ータを発生させる。
第2図にはディスプレイプロセッサの構成が示されてい
る。
る。
1.AMD2910A等のシーケンサ11 2.72ビット幅の書き換え可能メモリ12 3.4ビットスライスAMD2903等の16ビットALU13 4.WTL2010等の32ビットアキュムレータ付の16×16マル
チプライヤ14 5.高速シフタ15。これはカスタムメイドであり、1サイ
クル中に32ビットデータの算術マルチビットシフトを行
う。これは先行ゼロ及び先行1の数を検出する。このよ
うな先行ビットの連続数は高位16ビットデータレジスタ
の内容に等しい。
チプライヤ14 5.高速シフタ15。これはカスタムメイドであり、1サイ
クル中に32ビットデータの算術マルチビットシフトを行
う。これは先行ゼロ及び先行1の数を検出する。このよ
うな先行ビットの連続数は高位16ビットデータレジスタ
の内容に等しい。
6.クリッパ16は承諾か拒絶かを検出する。
7.4K×16のスクラッチラム17 8.インデックスアドレス方式によりマイクロコードの次
のアドレスを求めるロジック18 なお、マイクロプログラムはメモリ12に記憶されてい
る。
のアドレスを求めるロジック18 なお、マイクロプログラムはメモリ12に記憶されてい
る。
マトリックスエレメントの計算 変換項及びシフトファクタは、DP内のマルチプライヤ1
4、高速シフタ15、先行ゼロ及び先行1のカウンタによ
り求められる(第3図参照)。
4、高速シフタ15、先行ゼロ及び先行1のカウンタによ
り求められる(第3図参照)。
マトリックス連結における3つの新しいエレメントの計
算 次の計算について説明する。
算 次の計算について説明する。
q41=m41・n11・(2t1f1)・(2sf2)+m42・n21・(2
t2f1)・(22f2)+m43・n31・(2t3f1)・(2sf2)+n
41・(2t1f2) 以下のサブルーチンの説中のカッコ内の番号は第2図中
の番号に対応している。q42、q43も同様にして求まる。
t2f1)・(22f2)+m43・n31・(2t3f1)・(2sf2)+n
41・(2t1f2) 以下のサブルーチンの説中のカッコ内の番号は第2図中
の番号に対応している。q42、q43も同様にして求まる。
変換項q41を計算するサブルーチンは次のようである。
1.マルチプライヤ/アキュムレータ14を用いて32ビット
数のm41・n11を計算し(図中番号4参照)、それを2つ
のレジスタaH、aLにストアする(番号3)。
数のm41・n11を計算し(図中番号4参照)、それを2つ
のレジスタaH、aLにストアする(番号3)。
2.レジスタexp aにt1f1+sf2+1をストアする(番号
3)。
3)。
3.マルチプライヤ/アキュムレータ14を用いて32ビット
数のm42・n21を計算し(番号4)、それを2つのレジス
タbH、bLにストアする(番号3)。
数のm42・n21を計算し(番号4)、それを2つのレジス
タbH、bLにストアする(番号3)。
4.レジスタexp bにt2f1+sf2+1をストアする(番号
3)。(下記の注1参照) 5.サブルーチンADDをコールする。
3)。(下記の注1参照) 5.サブルーチンADDをコールする。
6.マルチプライヤ/アキュムレータ14を用いて32ビット
数のm43・n31を計算し(番号4)、それを2つのレジス
タbH、bLにストアする(番号3)。
数のm43・n31を計算し(番号4)、それを2つのレジス
タbH、bLにストアする(番号3)。
7.レジスタexp bにt3f1+sf2+1をストアする(番号
3)。(下記の注1参照) 8.サブルーチンADDをコールする。
3)。(下記の注1参照) 8.サブルーチンADDをコールする。
9.レジスタbHにn41をストアする(番号3) 10.レジスタbLに0をストアする(番号3)。
11.レジスタexp bにt1f2をストアする(番号3)。
12.サブルーチンADDをコールする。
13.レジスタaHにストアされた数の先行0/1の数をレジス
タlead a内にストアする(番号3)。
タlead a内にストアする(番号3)。
14.aH及びaLを(lead−1)により左へシフトする(番
号6)。
号6)。
15.exp a←exp a−(lead−1);(番号3)。
(lead−1は1か0である。) 16.q41→aH(番号5、3)。
17.t1f3→exp a(番号5、3)。
サブルーチン ADD 32ビット仮数と16ビット指数で表わされる2つの数を加
える次式の計算を行うサブルーチンは以下のようであ
る。
える次式の計算を行うサブルーチンは以下のようであ
る。
(aHaL)・(2exp a)+(bHbL)・(2exp b) サブルーチン ADD 1.レジスタaHの内容の先行ゼロ/1の数をレジスタlead a
にストアする(番号3)。
にストアする(番号3)。
2.レジスタaH及びaLを(lead a−2)により左へシフト
する(番号6)。
する(番号6)。
3.exp a←exp a−(lead a−2)(番号3)。
4.レジスタaLの内容の先行ゼロ/1の数をレジスタlead b
にストアする(番号3)。
にストアする(番号3)。
5.レジスタbH及びbLを(lead b−2)により左へシフト
する(番号6)。
する(番号6)。
6.exp b←exp b−(lead b−2)(番号3)。
(下記の注2参照) 7.exp a≧exp bかどうか検査する(番号3)。
8.もしexp a≧exp bであれば、 a.bH、bLを(exp a−exp b)により右へシフトする(番
号6)。
号6)。
b.2つの32ビット数aH、aL及びbH、bLを加える(番号
3)。
3)。
c.結果をaHとaLにストアする(番号3)。
9.もしexp a<exp bであれば、 a.aH、aLを(exp b−exp a)により右へシフトする(番
号6)。
号6)。
b.2つの32ビット数aH、aL及びbH、bLを加える(番号
3)。
3)。
c.結果をaH及びaLにストアする(番号3) d.exp a←exp b(番号3)。
(サブルーチンADDの終了) 最下位行のマトリックスエレメントの形式は下記のよう
である。計算後には、q41は3つのレジスタに保持され
る。
である。計算後には、q41は3つのレジスタに保持され
る。
aH:S××× ×××× ×××× ×××× aL:.×××× ×××× ×××× ×××× exp a:指数 q41は(aHaL)・2exp aである。
注1:マルチプレクサ/アキュムレータの出力は次の形式
である。
である。
S××× ×××× ×××× ×××× ×.××× ×××× ×××× ×××× これは、 S××× ×××× ×××× ×××× .××× ×××× ×××× ×××× という形式に調整するためである。前者の指数は後者の
指数より1だけ大きい。指数はそれゆえ1だけ増加され
る。
指数より1だけ大きい。指数はそれゆえ1だけ増加され
る。
注2:(カウント数−2)はexp a=exp bのときに加算結
果がオーバーフローするのを廻避するために行う。
果がオーバーフローするのを廻避するために行う。
5080マトリックス形式へのマッピング 5080の変換能力を用いるためには新しいマトリックスは
5080マトリックス形式にマップされなければならない。
5080マトリックス形式にマップされなければならない。
シフトファクタ:sf 変換ファクタ:t1f、t2f、t3f であるとき、新しい変数tsfは、 tsf=max(t1f、t2f、t3f)である。
PHIGSマトリックスを5080マトリックス(エレメント)
形式にマップしたときには、変換マトリックス及びクリ
ッピング境界は共に、マトリックス連結の結果によりオ
ーバーフローが生じることのないように変更される。
形式にマップしたときには、変換マトリックス及びクリ
ッピング境界は共に、マトリックス連結の結果によりオ
ーバーフローが生じることのないように変更される。
まず初めにシフトファクタ、マトリックスの変換項及び
クリッピング境界を調整する。
クリッピング境界を調整する。
決定表は以下の通りである。
このような調整後に、新しいシフトファクタsfが負であ
れば、はじめの9項(m11、m12、m13、m21、m22、m23、
m31、m32、m33)の各々には2sfが掛けられ、sfはゼロに
セットされる。
れば、はじめの9項(m11、m12、m13、m21、m22、m23、
m31、m32、m33)の各々には2sfが掛けられ、sfはゼロに
セットされる。
PHIGSマトリックスの操作 新しいマトリックスについて2つのアプリケーションが
ある。
ある。
1.アプリケーションプログラムで用いられるユーティリ
ティ機能として。
ティ機能として。
2.PHIGS変換環境の計算に用いられるユーティリティ機
能として。
能として。
ユーティリティ機能 5080図形表示プログラム用に256の図形プログラムレジ
スタが存在する。各レジスタは16ビットであり、GRn
(nは0から255の整数)と名付けられている。下記の
形式のマトリックス連結用に5080図形オーダーが存在す
る。
スタが存在する。各レジスタは16ビットであり、GRn
(nは0から255の整数)と名付けられている。下記の
形式のマトリックス連結用に5080図形オーダーが存在す
る。
オペコード a−アドレス b−アドレス c−アドレス これらは2つのマトリックスA、Bを連結して(A・
B)マトリックスCとする。
B)マトリックスCとする。
これら全てのマトリックスは図形用レジスタ内に配置さ
れる。
れる。
a−アドレスはAの最初のマトリックスエレメントの開
始アドレス(レジスタアドレス)である。
始アドレス(レジスタアドレス)である。
b−アドレスはBの最初のマトリックスエレメントの開
始アドレス(レジスタアドレス)である。
始アドレス(レジスタアドレス)である。
C−アドレスはCの最初のマトリックスエレメントの開
始アドレス(レジスタアドレス)である。
始アドレス(レジスタアドレス)である。
PHIGS変換環境の計算 PHIGS/5080インタフェースには以下のマトリックスがあ
る。
る。
1.ビューマトリックス 2.グローバルマトリックス 3.ローカルマトリックス 4.正規化マトリックス はじめの3つのマトリックスは16エレメントから成る。
4つ目のマトリックスは7エレメント(シフトファク
タ、3つの変換項、及び3つの変換シフトファクタ)か
らなる。こうして入力データ列(sf、m41、m42、m43、t
f1、tf2、tf3)は次のようなマトリックスとなる。
4つ目のマトリックスは7エレメント(シフトファク
タ、3つの変換項、及び3つの変換シフトファクタ)か
らなる。こうして入力データ列(sf、m41、m42、m43、t
f1、tf2、tf3)は次のようなマトリックスとなる。
X′4000′,0,0,0,x′4000′0,0,0,X′4000′,m41,m42,
m43,ff+1,tf1,tf2,tf3. 連結のオーダ 上記4つのマトリックスのオーダ(順序)は次のようで
ある。
m43,ff+1,tf1,tf2,tf3. 連結のオーダ 上記4つのマトリックスのオーダ(順序)は次のようで
ある。
(正規化)(ローカル)(グローバル)(ビュー) 結果はTra−マトリックスという16のレジスタに記憶さ
れる。
れる。
更に、グローバルマトリックスとビューマトリックスと
は非常に度々は変更されない。それゆえ、(グローバ
ル)(ビュー)の連結はTem−マトリックスという16の
レジスタに記憶される。
は非常に度々は変更されない。それゆえ、(グローバ
ル)(ビュー)の連結はTem−マトリックスという16の
レジスタに記憶される。
次の2つのビットが制御レジスタ内に規定される。
Tra−ビット(Tra−マトリックス内で変更が生じたこと
を示す。)及びTem−ビット(Tem−マトリックス内で変
更が生じたことを示す。)が変換時間の効率を改良す
る。
を示す。)及びTem−ビット(Tem−マトリックス内で変
更が生じたことを示す。)が変換時間の効率を改良す
る。
Tra−マトリックスは5080マトリックス形式へマップさ
れたマトリックスである。
れたマトリックスである。
PHIGSマトリックスの操作のデータ流れ 各PHIGS基本図形、多線、多マーク、注釈文等用に、図
形データの処理前に、マトリックスが計算されなければ
ならない。
形データの処理前に、マトリックスが計算されなければ
ならない。
マトリックス操作のデータ流れは次のようである。
1.もしTra−ビットがオフならルーチンから脱出する
(現マトリックスは変更されない。) 2.もしTra−ビットがオンから、Tem−ビットを検査し、
Tra−ビットをリセットする。
(現マトリックスは変更されない。) 2.もしTra−ビットがオンから、Tem−ビットを検査し、
Tra−ビットをリセットする。
a.もしTem−ビットがオフなら、次のステップを飛ば
す。
す。
b.もしTem−ビットがオンなら、グローバルとビューの
2つのマトリックスを掛け、その結果をTemMatrixに置
き、Tem−ビットをリセットする。
2つのマトリックスを掛け、その結果をTemMatrixに置
き、Tem−ビットをリセットする。
3.正規化、ローカル、及びTem−マトリックスを掛け、
その結果をTra−マトリックス内に置く。
その結果をTra−マトリックス内に置く。
4.Tra−マトリックスを5080マトリックス形式にマップ
し、この際、必要があれば、クリッピング境界とビュー
ポートを調整する。
し、この際、必要があれば、クリッピング境界とビュー
ポートを調整する。
第1図は本発明によるデータ変換方法が適用されるラス
タ式図形表示システムの構成を示すブロック図、 第2図は第1図のディスプレイプロセッサの構成を示す
ブロック図、 第3図は前記システムにおけるデータの流れを示すブロ
ック図、 第4図は大きな座標空間中での図形データについてのマ
トリックスの連結の結果を示すブロック図、 第5図は本発明のデータ変換方法における2つのマトリ
ックスの連結の計算方法を示す図、 第6図はマトリックスの連結の計算方法を簡易化して示
すフロー図、 第7図(a)、7(b)、7(c)、7(d)及び7
(e)図はマトリックスの連結の計算の際におけるマト
リックスの操作を示すフロー図、 第8図は第3マトリックスを形成するためのマトリック
スエレメントの正規化方法を示すフロー図、 第9図は変換項の計算方法を示すフロー図、 第10図は第9図の計算を行う際に用いられるADDサブル
ーチンを示すブロック図である。
タ式図形表示システムの構成を示すブロック図、 第2図は第1図のディスプレイプロセッサの構成を示す
ブロック図、 第3図は前記システムにおけるデータの流れを示すブロ
ック図、 第4図は大きな座標空間中での図形データについてのマ
トリックスの連結の結果を示すブロック図、 第5図は本発明のデータ変換方法における2つのマトリ
ックスの連結の計算方法を示す図、 第6図はマトリックスの連結の計算方法を簡易化して示
すフロー図、 第7図(a)、7(b)、7(c)、7(d)及び7
(e)図はマトリックスの連結の計算の際におけるマト
リックスの操作を示すフロー図、 第8図は第3マトリックスを形成するためのマトリック
スエレメントの正規化方法を示すフロー図、 第9図は変換項の計算方法を示すフロー図、 第10図は第9図の計算を行う際に用いられるADDサブル
ーチンを示すブロック図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 グレゴリ・ドナルド・ライブ アメリカ合衆国ニユーヨーク州ウエスト・ ハーレイ、ボツクス256シー、ルート1番 地 (72)発明者 ボブ・チヤオ−チユ・リアング アメリカ合衆国ニユーヨーク州ウエスト・ ハーレイ、ライアン・ドライブ、ボツクス 522番地 (56)参考文献 IBM TECHNICAL DISC LOSURE BULLBTIN Vo l.27,No.1A,June 1984 p ages139−142’COORDINATE TRANSFORMATION IN A GRAPHICS DISPLAY PROCESSOR”A.Kaffash an and C.C.Liang
Claims (1)
- 【請求項1】図形表示システムにおける図形の変換方法
であって、 それぞれが第1組のエレメントおよび第2組のエレメン
トを含む2つの変換用のマトリックスを形成するステッ
プと、 上記第1組のエレメントのためのシフト・ファクタを含
むレジスタを定義するステップと、 それぞれが上記第2組のエレメントの1つについての変
換シフト・ファクタを含む複数のレジスタを定義するス
テップと、 次のa)、b)およびc)のステップからなる、上記2
つのマトリックスを連結して積マトリックスを形成する
ステップと、 a)第1および第2のマトリックスからの上記第1組の
エレメントにマトリックス乗算を行い、上記2つのマト
リックスの第1組のエレメントに対応する、上記積マト
リックスのための第1組のエレメントを計算するステッ
プ、 b)上記積マトリックスの上記第1組のエレメントを正
規化して上記第1組のエレメントのためのシフト・ファ
クタを決定するステップ、 c)上記2つのマトリックスの上記第2組のエレメント
に対応する、上記積マトリックスの第2組のエレメント
を計算し、上記第2組のエレメントのための複数の変換
シフト・ファクタを決定するステップ、 上記図形の複数のポイントのそれぞれの座標に上記積マ
トリックスを掛ける異によって上記図形の複数のポイン
トを変換するステップと、 からなる図形の変換方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/912,724 US4805117A (en) | 1986-09-26 | 1986-09-26 | Method for controlling concatenation of transformation matrices in a graphics display system |
US912724 | 1986-09-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6385988A JPS6385988A (ja) | 1988-04-16 |
JPH0776987B2 true JPH0776987B2 (ja) | 1995-08-16 |
Family
ID=25432332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62132017A Expired - Lifetime JPH0776987B2 (ja) | 1986-09-26 | 1987-05-29 | 図形表示システムにおける図形の変換方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US4805117A (ja) |
EP (1) | EP0261390B1 (ja) |
JP (1) | JPH0776987B2 (ja) |
DE (1) | DE3788260T2 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3713627A1 (de) * | 1986-04-23 | 1987-10-29 | Casio Computer Co Ltd | Bildspeicherschaltung, insbesondere zur verwendung beim drehen von bilddaten |
US5231696A (en) * | 1987-05-14 | 1993-07-27 | France Telecom | Process and circuitry for implementing plotting of overextending curves inside a display window |
US4970636A (en) * | 1989-01-23 | 1990-11-13 | Honeywell Inc. | Memory interface controller |
US4982345A (en) * | 1989-01-23 | 1991-01-01 | International Business Machines Corporation | Interactive computer graphics display system processing method for identifying an operator selected displayed object |
US7382929B2 (en) * | 1989-05-22 | 2008-06-03 | Pixel Instruments Corporation | Spatial scan replication circuit |
US5175808A (en) * | 1989-09-12 | 1992-12-29 | Pixar | Method and apparatus for non-affine image warping |
US5402530A (en) * | 1991-08-20 | 1995-03-28 | Island Graphics Corporation | Method and system for color film separation preprocess using electronic object-based choking and spreading procedures including object combining operations |
US5285402A (en) * | 1991-11-22 | 1994-02-08 | Intel Corporation | Multiplyless discrete cosine transform |
EP0569758A3 (en) * | 1992-05-15 | 1995-03-15 | Eastman Kodak Co | Method and device for producing and storing three-dimensional characters and for three-dimensional typesetting. |
WO1995001630A1 (fr) * | 1993-06-30 | 1995-01-12 | Sega Enterprises, Ltd. | Dispositif et procede de traitement d'images et dispositif electronique dote dudit dispositif |
US5568600A (en) * | 1994-04-15 | 1996-10-22 | David Sarnoff Research Ctr. | Method and apparatus for rotating and scaling images |
US6515763B1 (en) | 1998-07-31 | 2003-02-04 | Adobe Systems Incorporated | Vignette recognition and compression |
US6903742B1 (en) * | 1999-12-01 | 2005-06-07 | Microsoft Corporation | Method and apparatus for transforming and rendering graphical curves |
US20040114785A1 (en) * | 2002-12-06 | 2004-06-17 | Cross Match Technologies, Inc. | Methods for obtaining print and other hand characteristic information using a non-planar prism |
US7081951B2 (en) * | 2003-10-09 | 2006-07-25 | Cross Match Technologies, Inc. | Palm print scanner and methods |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4457015A (en) * | 1981-12-17 | 1984-06-26 | Ncr Corporation | Matrix character preprocessing system |
JPS58110255A (ja) * | 1981-12-25 | 1983-06-30 | Hitachi Ltd | プリンタ制御装置 |
JPS60169893A (ja) * | 1984-02-15 | 1985-09-03 | シチズン時計株式会社 | ビツトパタ−ン変換装置 |
JPS619762A (ja) * | 1984-06-25 | 1986-01-17 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | イメ−ジ処理装置 |
US4637057A (en) * | 1984-07-30 | 1987-01-13 | Xerox Corporation | Rotation of digital images |
JPH0746391B2 (ja) * | 1984-09-14 | 1995-05-17 | 株式会社日立製作所 | 図形シエ−デイング装置 |
US4658430A (en) * | 1984-12-27 | 1987-04-14 | International Business Machines Corp. | System for rotating binary images |
-
1986
- 1986-09-26 US US06/912,724 patent/US4805117A/en not_active Expired - Fee Related
-
1987
- 1987-05-29 JP JP62132017A patent/JPH0776987B2/ja not_active Expired - Lifetime
- 1987-08-18 EP EP87111955A patent/EP0261390B1/en not_active Expired - Lifetime
- 1987-08-18 DE DE3788260T patent/DE3788260T2/de not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
IBMTECHNICALDISCLOSUREBULLBTINVol.27,No.1A,June1984pages139−142’COORDINATETRANSFORMATIONINAGRAPHICSDISPLAYPROCESSOR"A.KaffashanandC.C.Liang |
Also Published As
Publication number | Publication date |
---|---|
JPS6385988A (ja) | 1988-04-16 |
EP0261390A3 (en) | 1991-05-15 |
US4805117A (en) | 1989-02-14 |
EP0261390A2 (en) | 1988-03-30 |
EP0261390B1 (en) | 1993-11-24 |
DE3788260D1 (de) | 1994-01-05 |
DE3788260T2 (de) | 1994-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5973705A (en) | Geometry pipeline implemented on a SIMD machine | |
JPH0776987B2 (ja) | 図形表示システムにおける図形の変換方法 | |
US4821209A (en) | Data transformation and clipping in a graphics display system | |
US6417858B1 (en) | Processor for geometry transformations and lighting calculations | |
US5926406A (en) | System and method for calculating floating point exponential values in a geometry accelerator | |
US20030163502A1 (en) | Graphics processing unit and graphics processing system | |
US5003497A (en) | Method for three-dimensional clip checking for computer graphics | |
US5912830A (en) | System and method for conditionally calculating exponential values in a geometry accelerator | |
JPH03127282A (ja) | ディジタル・イメージのランド変換装置および方法 | |
US5182797A (en) | Multi-processor graphics display system for displaying hierarchical data structures | |
US4449201A (en) | Geometric processing system utilizing multiple identical processors | |
US8681173B2 (en) | Device, system, and method for improving processing efficiency by collectively applying operations | |
US4870599A (en) | Traversal method for a graphics display system | |
JPH0821087B2 (ja) | 3次元陰影画像生成処理方法 | |
EP0410778A2 (en) | Graphics processor having a floating point coprocessor | |
CN112330768A (zh) | 基于数据特征的图像快速合成方法 | |
US6654777B1 (en) | Single precision inverse square root generator | |
US7061494B1 (en) | Method and apparatus for hardware optimization of graphics pipeline functions | |
JP2538645B2 (ja) | 曲線の折線近似装置 | |
Chen et al. | A cost effective lighting processor for 3D graphics application | |
JPH0721155A (ja) | 中央演算処理装置 | |
RU2058600C1 (ru) | Специализированный вычислитель для устройств машинной графики | |
JP2507812B2 (ja) | 平方根計算方法 | |
CN117953089A (zh) | 仿光学的渲染方法、设备及存储介质 | |
Doust et al. | The latent roots and vectors of a singular matrix |