JPS62297984A - 曲線イメ−ジの可視表示発生装置 - Google Patents
曲線イメ−ジの可視表示発生装置Info
- Publication number
- JPS62297984A JPS62297984A JP62114925A JP11492587A JPS62297984A JP S62297984 A JPS62297984 A JP S62297984A JP 62114925 A JP62114925 A JP 62114925A JP 11492587 A JP11492587 A JP 11492587A JP S62297984 A JPS62297984 A JP S62297984A
- Authority
- JP
- Japan
- Prior art keywords
- curve
- integer
- interval
- points
- dimension
- 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
Links
- 230000000007 visual effect Effects 0.000 title claims abstract description 9
- 238000012545 processing Methods 0.000 claims description 5
- 238000000034 method Methods 0.000 abstract description 54
- 239000011159 matrix material Substances 0.000 abstract description 8
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 7
- 238000007792 addition Methods 0.000 description 6
- 230000014509 gene expression Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 241001463014 Chazara briseis Species 0.000 description 1
- 235000009854 Cucurbita moschata Nutrition 0.000 description 1
- 240000001980 Cucurbita pepo Species 0.000 description 1
- 235000009852 Cucurbita pepo Nutrition 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 239000007790 solid phase Substances 0.000 description 1
- 235000020354 squash Nutrition 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Paper (AREA)
- Heating, Cooling, Or Curing Plastics Or The Like In General (AREA)
- Polymerisation Methods In General (AREA)
- Image Processing (AREA)
- Controls And Circuits For Display Device (AREA)
- Magnetic Resonance Imaging Apparatus (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
3、発明の詳細な説明
産業上の利用分野
本発明は、コンピュータ・グラフィック表示装置上に曲
線を発生させる装置に関する。
線を発生させる装置に関する。
来術力点
コンピュータの技術革新によって、コンピュータにより
発生されるグラフィック情報の表示に関する技術領域が
生じてきた。この領域はコンピュータ・グラフィックと
呼ばれる。コンピュータ・グラフィックにおいて共通的
に用いられる1つの技法は、−組の点を発生しそしてこ
れらの点を結んで直線を生じる技法である。点の組合わ
せ及び直線は、通常陰極線管であるコンピュータ・グラ
フィック端末表示装置上に表示される。又、表示画面上
の成るいくつかの点に対する曲線を発生することが望ま
れている。グラフィック表示画面上におけるなめらかな
曲線の発生は、データ・ポイントのいつくかのグループ
に対して低次の多項式関数を当てはめることにより行な
われる。その結果生じる断片的につなげられた多項式関
数は連続的曲線のようになるが、特殊な場合を除き曲線
の小部分相互間の接続部において不連続性が生じる。
発生されるグラフィック情報の表示に関する技術領域が
生じてきた。この領域はコンピュータ・グラフィックと
呼ばれる。コンピュータ・グラフィックにおいて共通的
に用いられる1つの技法は、−組の点を発生しそしてこ
れらの点を結んで直線を生じる技法である。点の組合わ
せ及び直線は、通常陰極線管であるコンピュータ・グラ
フィック端末表示装置上に表示される。又、表示画面上
の成るいくつかの点に対する曲線を発生することが望ま
れている。グラフィック表示画面上におけるなめらかな
曲線の発生は、データ・ポイントのいつくかのグループ
に対して低次の多項式関数を当てはめることにより行な
われる。その結果生じる断片的につなげられた多項式関
数は連続的曲線のようになるが、特殊な場合を除き曲線
の小部分相互間の接続部において不連続性が生じる。
この技法は、雲型曲線の所望部分を用いて曲線を描く製
図と似ている。製図者はいくつかの点に合う雲量定規の
曲線を選びそしてこの部分の曲線を描く。そして製図者
は、全ての点を統合する迄この手順を繰り返して曲線を
完成する。コンピュータ・グラフィックにおいては、連
続した低次の多項式関数式をいつくかの点に当てはめて
位置座標系における曲線値を発生することにより同じ結
果を得る。
図と似ている。製図者はいくつかの点に合う雲量定規の
曲線を選びそしてこの部分の曲線を描く。そして製図者
は、全ての点を統合する迄この手順を繰り返して曲線を
完成する。コンピュータ・グラフィックにおいては、連
続した低次の多項式関数式をいつくかの点に当てはめて
位置座標系における曲線値を発生することにより同じ結
果を得る。
2次元空間では、しばしば曲線は、直交成分X及びyの
関数として即ちY=f(x)として表わされる。3次元
座標系においては、X、 y及び2座標は、直交成分の
1つ若しくは2つの関数として表わされる。しかしなが
ら、このように表わすと、座標値の発生において固層が
生じる。1つの代替技法は、曲線のパラメータ値を用い
ることであり、ここで曲線上の各座標値はいくつかの共
通変数の関数として、即ち全座標成分に共通な変数とし
て表わされる。3次元系に対しては、このような変数は
、O<t<1に対してx=f (x)、y=g (t
)及びc=h (t)を与えるtとして説明されること
ができる。他の表わし方は、次の3次の多項式関数によ
り表わされるパラメータ立体曲線である。
関数として即ちY=f(x)として表わされる。3次元
座標系においては、X、 y及び2座標は、直交成分の
1つ若しくは2つの関数として表わされる。しかしなが
ら、このように表わすと、座標値の発生において固層が
生じる。1つの代替技法は、曲線のパラメータ値を用い
ることであり、ここで曲線上の各座標値はいくつかの共
通変数の関数として、即ち全座標成分に共通な変数とし
て表わされる。3次元系に対しては、このような変数は
、O<t<1に対してx=f (x)、y=g (t
)及びc=h (t)を与えるtとして説明されること
ができる。他の表わし方は、次の3次の多項式関数によ
り表わされるパラメータ立体曲線である。
x=f(t)=axt’+bxt”+cxt+dxy=
g(t)=a y t’+b y t2+c y を十
d yz=h(t)=a z t’+b z t”+c
z を十d z曲線セグメントの低次式が、位置及び
傾斜の連続性を与えずそして2つの曲線成分が合う点て
傾斜及び曲率の連続性を与えないので、立体曲線は重要
である。立体曲線は又、3次元において非平面曲線を描
く低次の曲線である。
g(t)=a y t’+b y t2+c y を十
d yz=h(t)=a z t’+b z t”+c
z を十d z曲線セグメントの低次式が、位置及び
傾斜の連続性を与えずそして2つの曲線成分が合う点て
傾斜及び曲率の連続性を与えないので、立体曲線は重要
である。立体曲線は又、3次元において非平面曲線を描
く低次の曲線である。
上述のX座標に対する式は次のマトリクス型で表わされ
ることができる。
ることができる。
係数ベクトル[Cx]は多くの異なる特性の曲線を生じ
るように決められ得る。最も有用なのは、Hermit
e型、ベライエ型及びB−スプライン型である。係数ベ
クトルを、列幾何学ベクトル(columnar (e
ometry vector) [GMコにより乗算
された4×4の基本マトリクスのクロス積に変えること
ができる。
るように決められ得る。最も有用なのは、Hermit
e型、ベライエ型及びB−スプライン型である。係数ベ
クトルを、列幾何学ベクトル(columnar (e
ometry vector) [GMコにより乗算
された4×4の基本マトリクスのクロス積に変えること
ができる。
これらの曲線の型についての一般的理論は、1982年
にAddison−Wesley Puflishin
g社により発刊されたJ 、 D 、 Foley及び
A、Dan SawによるFundamentals
of Interactive ComputerGr
aphics、 1979年にMcGraw−Hill
Book社により発刊されたW 、 N 、 New
+++an及びR,F。
にAddison−Wesley Puflishin
g社により発刊されたJ 、 D 、 Foley及び
A、Dan SawによるFundamentals
of Interactive ComputerGr
aphics、 1979年にMcGraw−Hill
Book社により発刊されたW 、 N 、 New
+++an及びR,F。
5proullによるPr1nciples of I
nteractiveComputer Graphi
cs第2版及び1974年にAcadamic Pre
ssから発刊さ九たR 、 E 、 Bamhill及
びR、F 、RiesenfeldによるComput
er AidedGeometric Designに
示されている。
nteractiveComputer Graphi
cs第2版及び1974年にAcadamic Pre
ssから発刊さ九たR 、 E 、 Bamhill及
びR、F 、RiesenfeldによるComput
er AidedGeometric Designに
示されている。
本発明の一実施例はB−スプライン型から曲線を発生す
る。B−スプライン型は、 Fundamentals
of Interactive Computer G
raphics、第521A+523頁に説明されてい
る。
る。B−スプライン型は、 Fundamentals
of Interactive Computer G
raphics、第521A+523頁に説明されてい
る。
スプラインを用いてグラフィックを発生する1つの技法
は、IBMテクニカル・ディスクロジャ・ブレティン、
第25巻No、1 lbの論文“HighSpeeds
for Generating or Updati
ng GraphicsSplines on a 5
creen”に示されている。この技法は、多項式関数
を評価するために正確な積分を用いるアナログ計算機に
よる具現化を示している。
は、IBMテクニカル・ディスクロジャ・ブレティン、
第25巻No、1 lbの論文“HighSpeeds
for Generating or Updati
ng GraphicsSplines on a 5
creen”に示されている。この技法は、多項式関数
を評価するために正確な積分を用いるアナログ計算機に
よる具現化を示している。
ディジタル・プロセッサを用いると、座標値を計算する
ためにマトリクス演算動作を計算するために浮動小数点
演算が要求される。この浮動小数点演算が要求されると
いうことは、(1)これが時間がかかるということ及び
(2)全体的に正確でないということにより不利である
。不正確性は、浮動小数点動作を反復して行なうことが
必要であることから生じる。その性質により単一不動点
動作は不正確であり小さな誤りを生じる。この小さな誤
りは、1つの浮動小数点動作の結果が次の浮動小数点動
作において用いられる毎に複合される。
ためにマトリクス演算動作を計算するために浮動小数点
演算が要求される。この浮動小数点演算が要求されると
いうことは、(1)これが時間がかかるということ及び
(2)全体的に正確でないということにより不利である
。不正確性は、浮動小数点動作を反復して行なうことが
必要であることから生じる。その性質により単一不動点
動作は不正確であり小さな誤りを生じる。この小さな誤
りは、1つの浮動小数点動作の結果が次の浮動小数点動
作において用いられる毎に複合される。
従ってこの性質から、一連の浮動小数点動作の結果誤り
が累積する。
が累積する。
間 点を解 するための手
本発明の主な目的は、従来の浮動小数点技法におけるよ
りも正確な方法でB−スプラインを用いて曲線を与える
方法及び装置を提供することである。
りも正確な方法でB−スプラインを用いて曲線を与える
方法及び装置を提供することである。
本発明の他の目的は、B−スプライン曲線を発生するた
めの高速な方法及び装置を提供することである。
めの高速な方法及び装置を提供することである。
本発明に従うと、−組のコントロール・ポイント入力か
ら表示画面上に曲線イメージの可視表示を発生する方法
が実現される。−組のコントロール・ポイントは、曲線
に対する次元毎の入力である。更に、多数の間隔が指定
される。この間隔の数は、各コントロール・ポイント相
互間で計算されねばならない曲線座標値の数を規定する
。この方法は、(1)次元に対する1組の入力コントロ
ール・ポイントからそって成るスケーリング・ファクタ
から各次元毎の一組のスケールされたベクトル係数の整
数を計算するステップ、(2)各間隔に対する各次元毎
の前進差分(forwarddifference)間
隔係数整数を間隔整数及びその次元に対するスケールさ
れたベクトル係数整数から計算するステップ、(3)各
次元に対する各間隔毎の曲線座標値をスケーリング・パ
ラメータ並びにその次元及び各間隔に対する前進差分間
隔係数整数から計算するステップ、そして(4)各次元
毎に上記計算された曲線座標値に従う曲線座標点及び上
記計算された曲線座標点を連続的に接続する複数値の直
線を表示するステップを含む。
ら表示画面上に曲線イメージの可視表示を発生する方法
が実現される。−組のコントロール・ポイントは、曲線
に対する次元毎の入力である。更に、多数の間隔が指定
される。この間隔の数は、各コントロール・ポイント相
互間で計算されねばならない曲線座標値の数を規定する
。この方法は、(1)次元に対する1組の入力コントロ
ール・ポイントからそって成るスケーリング・ファクタ
から各次元毎の一組のスケールされたベクトル係数の整
数を計算するステップ、(2)各間隔に対する各次元毎
の前進差分(forwarddifference)間
隔係数整数を間隔整数及びその次元に対するスケールさ
れたベクトル係数整数から計算するステップ、(3)各
次元に対する各間隔毎の曲線座標値をスケーリング・パ
ラメータ並びにその次元及び各間隔に対する前進差分間
隔係数整数から計算するステップ、そして(4)各次元
毎に上記計算された曲線座標値に従う曲線座標点及び上
記計算された曲線座標点を連続的に接続する複数値の直
線を表示するステップを含む。
本発明に従い曲線イメージの可視表示を発生する装置は
、曲線イメージを規定する複数個のデータ点即ち制一点
及びこれらの制御点相互間の間で行なわれる計算の数を
表わす間隔の数を受取る入力手段を有する。又、上記装
置は、各間隔に対して各次元毎の曲線座標値を発生する
処理回路を有し、そしていくつかの間隔に対する曲線座
標値の計算は同時に行なわれる。更に上記装置は、各次
元毎に上計算された曲線座標値に従う曲線座標点及びこ
れら計算された曲線座標点を連続的に接続する複数個の
直線を表示することによって、曲線イメージの可視表示
を生じる表示回路を含む。
、曲線イメージを規定する複数個のデータ点即ち制一点
及びこれらの制御点相互間の間で行なわれる計算の数を
表わす間隔の数を受取る入力手段を有する。又、上記装
置は、各間隔に対して各次元毎の曲線座標値を発生する
処理回路を有し、そしていくつかの間隔に対する曲線座
標値の計算は同時に行なわれる。更に上記装置は、各次
元毎に上計算された曲線座標値に従う曲線座標点及びこ
れら計算された曲線座標点を連続的に接続する複数個の
直線を表示することによって、曲線イメージの可視表示
を生じる表示回路を含む。
本発明では、整数演算を用いるベクトル係数の計算が行
なわれる。整数演算は、スケールされた値を計算に用い
ることから生じる。言い代えると、元の値は、曲線座標
値を計算するのに行なわれるベクトル係数の計算及び他
の全ての計算が整数演算でなされるようにスケール(s
cale)される。
なわれる。整数演算は、スケールされた値を計算に用い
ることから生じる。言い代えると、元の値は、曲線座標
値を計算するのに行なわれるベクトル係数の計算及び他
の全ての計算が整数演算でなされるようにスケール(s
cale)される。
ここで、スケールとは、2進乗算を指しこれは左方向へ
のシフト動作により行なわれ、モしてディスケールとは
2進除算を指しこれは右方向へのシフト動作により行な
われる。このことは、計算に用いる初期パラメータをス
ケールし、そして計算プロセスの最後のステップに除算
を行なうことにより行なわれる。整数演算の使用は、計
算の速度と正確性を増大する。更に、計算は間隔につい
て行なわれるので、これらの計算は、いくつかの計算ス
テージが同時に行なわれ得るパイプライン型のいくつか
のステージにおいて行なわれ得る。
のシフト動作により行なわれ、モしてディスケールとは
2進除算を指しこれは右方向へのシフト動作により行な
われる。このことは、計算に用いる初期パラメータをス
ケールし、そして計算プロセスの最後のステップに除算
を行なうことにより行なわれる。整数演算の使用は、計
算の速度と正確性を増大する。更に、計算は間隔につい
て行なわれるので、これらの計算は、いくつかの計算ス
テージが同時に行なわれ得るパイプライン型のいくつか
のステージにおいて行なわれ得る。
本発明において、整数演算の乗算動作は、2進のシフト
動作により行なわれる。本発明の装置において、計算を
パイプライン型で行なうように一連のレジスタと直列に
配置されている複数個の加算器により加算動作が行なわ
れる。シフト動作はレジスタ相互間を接続するパス(接
続器)において行なわれる。良好なる実施例において、
最後の計算ステージは、浮動小数点動作ではなく、2進
シフト及び加算のみを必要とする近似除算法(appr
oximate division method)に
より行なわれる。2進シフト及び加算動作は、直列型に
配列されたレジスタ及び加算器にデータをシフトしてパ
イプライン動作を促進する装置により具現化される。
動作により行なわれる。本発明の装置において、計算を
パイプライン型で行なうように一連のレジスタと直列に
配置されている複数個の加算器により加算動作が行なわ
れる。シフト動作はレジスタ相互間を接続するパス(接
続器)において行なわれる。良好なる実施例において、
最後の計算ステージは、浮動小数点動作ではなく、2進
シフト及び加算のみを必要とする近似除算法(appr
oximate division method)に
より行なわれる。2進シフト及び加算動作は、直列型に
配列されたレジスタ及び加算器にデータをシフトしてパ
イプライン動作を促進する装置により具現化される。
ヌJL性9」1升
第1図には、コンピュータ・グラフィック・ユニットの
ブロック図が示されている。プロセッサには入出力母線
10に接続されている。プロセッサには、このシステム
の中心をなし、そして入力回路18からのユーザ入力を
変換して表示回路16にグラフィック表示を発生させる
全ての処理動作を行なう、又、メモリ14が入出力量A
I!10に接続され、そしてデータ及びアドレスのため
の一時記憶装置として働らき、そしてコンピュータ・グ
ラフィック・タスクを行なう場合にプロセッサ12によ
り実行されるソフトウェア・インストラクションを記憶
する。
ブロック図が示されている。プロセッサには入出力母線
10に接続されている。プロセッサには、このシステム
の中心をなし、そして入力回路18からのユーザ入力を
変換して表示回路16にグラフィック表示を発生させる
全ての処理動作を行なう、又、メモリ14が入出力量A
I!10に接続され、そしてデータ及びアドレスのため
の一時記憶装置として働らき、そしてコンピュータ・グ
ラフィック・タスクを行なう場合にプロセッサ12によ
り実行されるソフトウェア・インストラクションを記憶
する。
B−スプライン型を具現化して曲線を発生する1つの技
法は、座標点に対する一組のパラメトリック増分値を発
生することである。このような1つの技法は、B−スプ
ライン前進差分法として知られている。前進差分法は、
前記刊行物Pr1nciples of Inte
ractive Computer Graphi
csの第326−329頁において検討されている。
法は、座標点に対する一組のパラメトリック増分値を発
生することである。このような1つの技法は、B−スプ
ライン前進差分法として知られている。前進差分法は、
前記刊行物Pr1nciples of Inte
ractive Computer Graphi
csの第326−329頁において検討されている。
前進差分法は、座標値を近似化する技法である。
この増分技法を用いて、B−スプライン曲線の座標値を
計算することができる。このようにして1つの完成され
たB−スプライン曲線は一組の座標値として指定される
ことができる。座標値は、座標系内の曲線のポイントを
規定するように組合わされることができる。言い代える
とB−スプライン前進差分法を用いて、全ての直交成分
(例えば、x、y及び2)に対する座標値は計算されそ
して結果的な座標系内の曲線を表わす。
計算することができる。このようにして1つの完成され
たB−スプライン曲線は一組の座標値として指定される
ことができる。座標値は、座標系内の曲線のポイントを
規定するように組合わされることができる。言い代える
とB−スプライン前進差分法を用いて、全ての直交成分
(例えば、x、y及び2)に対する座標値は計算されそ
して結果的な座標系内の曲線を表わす。
結果的な曲線がこの曲線を指定するのに用いられるポイ
ントを通過しないように位置されることがB−スプライ
ン型の特徴である。従って、ユーザが複数の指定ポイン
トに曲線を通過させることを望むシステムでは、補間ス
プライン技法が用いられる。この技法は、前記刊行物C
omputer AidedGeometric De
signの第317乃至326頁に説明されている。補
間スプラインを用いることにより、ユーザが入力したポ
イントは、B−スプライン曲線を規定するのに用いられ
るコントロール・ポイントに変換される。しかしながら
、本発明は、コントロール・ポイント即ち制御点として
指定されるB−スプライン曲線を対象とする。
ントを通過しないように位置されることがB−スプライ
ン型の特徴である。従って、ユーザが複数の指定ポイン
トに曲線を通過させることを望むシステムでは、補間ス
プライン技法が用いられる。この技法は、前記刊行物C
omputer AidedGeometric De
signの第317乃至326頁に説明されている。補
間スプラインを用いることにより、ユーザが入力したポ
イントは、B−スプライン曲線を規定するのに用いられ
るコントロール・ポイントに変換される。しかしながら
、本発明は、コントロール・ポイント即ち制御点として
指定されるB−スプライン曲線を対象とする。
前述の如く、本発明の良好な実施例は、B−スプライン
型の曲線の発生の具現化に関する。B−スプライン曲線
を形成する1つの方法は、次元(dimensiona
l)座標の夫々に対して次式を用いる。
型の曲線の発生の具現化に関する。B−スプライン曲線
を形成する1つの方法は、次元(dimensiona
l)座標の夫々に対して次式を用いる。
x(t)=[t3 t”t 11 [1/6コパラ
メータ・ベクトルP この等式は各座標値毎に即ちy (t)そして必要なら
ばz (t)毎に解かれることに注目されたい。上式
において、Pi−1、Pi−Pi+1、及びPi+2は
、B−スプライン制御点のX軸の座標を表わす。B−ス
プライン制御点は、第2図で点20.22.24及び2
6として示されており、これらは集合的にB−スプライ
ン曲線30を規定する。前述の如く、B−スプライン曲
線30は、制御点20.22.24及び26のどれをも
通過しない。以下の本発明についての説明では、ユーザ
が制御点を指定することにより所望のB−スプライン曲
線セグメントを指定するものと仮定する。しかしながら
、ユーザは、曲線を通過させたい点を指定することもで
きる。前述の如く、通過点を制御点に変換するために補
間スプライン技法を用いることができる。従って、この
ようにして、コンピュータは、製図技師が雲型定規を用
いるのと同様にして一組の点に複数の曲線を当てはめる
ことができる。
メータ・ベクトルP この等式は各座標値毎に即ちy (t)そして必要なら
ばz (t)毎に解かれることに注目されたい。上式
において、Pi−1、Pi−Pi+1、及びPi+2は
、B−スプライン制御点のX軸の座標を表わす。B−ス
プライン制御点は、第2図で点20.22.24及び2
6として示されており、これらは集合的にB−スプライ
ン曲線30を規定する。前述の如く、B−スプライン曲
線30は、制御点20.22.24及び26のどれをも
通過しない。以下の本発明についての説明では、ユーザ
が制御点を指定することにより所望のB−スプライン曲
線セグメントを指定するものと仮定する。しかしながら
、ユーザは、曲線を通過させたい点を指定することもで
きる。前述の如く、通過点を制御点に変換するために補
間スプライン技法を用いることができる。従って、この
ようにして、コンピュータは、製図技師が雲型定規を用
いるのと同様にして一組の点に複数の曲線を当てはめる
ことができる。
B−スプライン技法及び置型定規技法のいづれも、1つ
の曲線セグメントを規定する小数の点を用い、そしてこ
れらの点を用いて複数セグメントを接続して連続曲線を
生じるという点で、B−スプライン技法を置型定規技法
と同等に捕えることは適切である。
の曲線セグメントを規定する小数の点を用い、そしてこ
れらの点を用いて複数セグメントを接続して連続曲線を
生じるという点で、B−スプライン技法を置型定規技法
と同等に捕えることは適切である。
第1図を参照するに、ユーザは、例えばキーボードの如
き入力装置を介して制御点のアレイを入力する。これら
の制御点はメモリ14に記憶される。次いでプロセッサ
12は、メモリ14に記憶されるいる一組のインストラ
クションを実行して一組の曲線座標点を発生する。これ
らの曲線座標点は次いで直線により接続されて曲線イメ
ージを発生する。そしてこの曲線イメージは、例えば陰
極線管の如き表示回路16上に表示され、ユーザはこれ
を見ることができる。もしも制御点の数そしてこれら制
御点相互間の曲線座標値の計算を規定する繰返しの数が
非常に多いならば、ユーザは表示回路16に表示される
曲線イメージの点を接続する直線セグメントを殆ど認識
しない。従って曲線イメージは連続的曲線として表示さ
れる。プロセッサ12により実行されるソフトウェア・
インストラクションは第3A及び3B図のフローチャー
トに示されている。第3A及び3B図に示されているソ
フトウェアは、指定された複数の制御点相互間の曲線座
標値を計算する前進差分法を行なう、特に、前進差分法
に対して行なわれる演算が整数演算であるように計算は
縮められている。
き入力装置を介して制御点のアレイを入力する。これら
の制御点はメモリ14に記憶される。次いでプロセッサ
12は、メモリ14に記憶されるいる一組のインストラ
クションを実行して一組の曲線座標点を発生する。これ
らの曲線座標点は次いで直線により接続されて曲線イメ
ージを発生する。そしてこの曲線イメージは、例えば陰
極線管の如き表示回路16上に表示され、ユーザはこれ
を見ることができる。もしも制御点の数そしてこれら制
御点相互間の曲線座標値の計算を規定する繰返しの数が
非常に多いならば、ユーザは表示回路16に表示される
曲線イメージの点を接続する直線セグメントを殆ど認識
しない。従って曲線イメージは連続的曲線として表示さ
れる。プロセッサ12により実行されるソフトウェア・
インストラクションは第3A及び3B図のフローチャー
トに示されている。第3A及び3B図に示されているソ
フトウェアは、指定された複数の制御点相互間の曲線座
標値を計算する前進差分法を行なう、特に、前進差分法
に対して行なわれる演算が整数演算であるように計算は
縮められている。
後掲の補足説明Aは、基本的な3次元B−スプライン・
マトリクス式の詳細を示し、そして浮動小数点を用いそ
して整数を用いる前進差分法について検討する。第3A
図のフローチャートは、開始ステップ40で始まり、次
いで外側ループ・カウント・ステップ42を開始する。
マトリクス式の詳細を示し、そして浮動小数点を用いそ
して整数を用いる前進差分法について検討する。第3A
図のフローチャートは、開始ステップ40で始まり、次
いで外側ループ・カウント・ステップ42を開始する。
次のステップは決定ステップ44であり、現在のIのカ
ウントが、量NUMPTS−3により小さいか否かを調
べる。
ウントが、量NUMPTS−3により小さいか否かを調
べる。
このソフトウェアにおいて、NUMPTSは入力さ九終
えた制御点の数である。ソフトウェアはこれらの制御点
をアレイPとして参照する。計算の間、4のグループ内
の制御点がB−スプライン・セグメントを計算するのに
用いられる。従ってステップ48において、変数PいP
2、P、及びP4は、セグメントの計算のための4つの
連続する制御点に等しくセットされる。次のステップ4
9は、実際のB−スプライン・セグメントを計算する。
えた制御点の数である。ソフトウェアはこれらの制御点
をアレイPとして参照する。計算の間、4のグループ内
の制御点がB−スプライン・セグメントを計算するのに
用いられる。従ってステップ48において、変数PいP
2、P、及びP4は、セグメントの計算のための4つの
連続する制御点に等しくセットされる。次のステップ4
9は、実際のB−スプライン・セグメントを計算する。
B−スプライン・セグメントの計算は、第3B図のフロ
ーチャートに示されている。B−スプライン・セグメン
トが計算され終えると、ステップ50において外側ルー
プ・カウントIが歩進され、そして決定ステップ44が
実行される。■が入力制御点の数−3より大きいならば
、このプログラムは終了ステップ46で示すように終了
する。
ーチャートに示されている。B−スプライン・セグメン
トが計算され終えると、ステップ50において外側ルー
プ・カウントIが歩進され、そして決定ステップ44が
実行される。■が入力制御点の数−3より大きいならば
、このプログラムは終了ステップ46で示すように終了
する。
第3B図を参照するに、このプログラムは開始ステップ
60において開始され、次いでステップ62の初期設定
ステージが行なわれる。N2、N3及びDENOMが初
期設定される。N2は、N十Nに等しくセットされ、こ
こでN = Logz (N L )であり、そしてN
Lは、計算されるべき間隔の数である。N3はN2+N
に等しい。D E N OM(分母、denomina
tor)は、6をN3だけ左ヘシフトしたのに等しくセ
ットされる(記号くくは左シフトを示す)。DENOM
は、6による除算動作を整数スケール乗算(N3)と組
合わせるスケーリング・パラメータである。DENOM
の除算を最後のステップ迄遅らせることにより、残りの
ステップの乗算及び加算は整数演算で行なわれることが
できる0次のステップ64は、基本マトリクス(M)及
び幾何学(geometry)ベクトル(G)のクロス
積から計算される幾何学ベクトル係数ベクトルCa、b
、c及びd]を計算する。変数P1、P2、P3及びP
4は、第3A図のステップ48で入力された制御点であ
る。ステップ64において、成る数による成る変数の左
シフトは、この数の2進乗算に等しい。ステップ66に
おいて、初期の前進差分値が計算される。これらの値は
、Di(第1差分)、D2(第2差分)、D3(第3差
分)及びF(実際のスプライン座標値の関数結果)を含
む、更に、第1曲線座標値S[0コがF/DENOMと
して計算される。前進差分値FはDENOMパラメータ
により除算され、そしてこれは同じ動作において16に
よる除算及びディスケール(descaling)を行
なう。この除算は、プロセッサにおける整数除算動作に
より行なわれてもよく又は、他の実施例のように除算近
似技法により近似化されることもできる。
60において開始され、次いでステップ62の初期設定
ステージが行なわれる。N2、N3及びDENOMが初
期設定される。N2は、N十Nに等しくセットされ、こ
こでN = Logz (N L )であり、そしてN
Lは、計算されるべき間隔の数である。N3はN2+N
に等しい。D E N OM(分母、denomina
tor)は、6をN3だけ左ヘシフトしたのに等しくセ
ットされる(記号くくは左シフトを示す)。DENOM
は、6による除算動作を整数スケール乗算(N3)と組
合わせるスケーリング・パラメータである。DENOM
の除算を最後のステップ迄遅らせることにより、残りの
ステップの乗算及び加算は整数演算で行なわれることが
できる0次のステップ64は、基本マトリクス(M)及
び幾何学(geometry)ベクトル(G)のクロス
積から計算される幾何学ベクトル係数ベクトルCa、b
、c及びd]を計算する。変数P1、P2、P3及びP
4は、第3A図のステップ48で入力された制御点であ
る。ステップ64において、成る数による成る変数の左
シフトは、この数の2進乗算に等しい。ステップ66に
おいて、初期の前進差分値が計算される。これらの値は
、Di(第1差分)、D2(第2差分)、D3(第3差
分)及びF(実際のスプライン座標値の関数結果)を含
む、更に、第1曲線座標値S[0コがF/DENOMと
して計算される。前進差分値FはDENOMパラメータ
により除算され、そしてこれは同じ動作において16に
よる除算及びディスケール(descaling)を行
なう。この除算は、プロセッサにおける整数除算動作に
より行なわれてもよく又は、他の実施例のように除算近
似技法により近似化されることもできる。
次のステップ68は、内側ループのカウント(計数)を
1に初期設定する。内側ループは次いでステップ7oに
入り、JがNLより小さいか否かが調べられ、これは実
際の入力繰返し数である。
1に初期設定する。内側ループは次いでステップ7oに
入り、JがNLより小さいか否かが調べられ、これは実
際の入力繰返し数である。
NLは、制御点相互間で行なわれるべき曲線座標値の計
算の数言い代えると内側ループで行なわれるべき計算の
数を指定する入力値であることを理解されたい、内側ル
ープはステップ70.74.76及び帰還線78より成
る。ステップ70の後、ステップ74が行なわれて、次
の前進差分値及び曲線座標値S [J]を計算する。ス
テップ76において、Jが歩進されそしてステップ70
が繰り返される。この内側ループは、Jが繰り返しの数
に等しくなる迄実行される。次いでこのループは線71
を介してステップ73に進み、そしてプロセッサの動作
を第3A図のステップ50に復帰させる。
算の数言い代えると内側ループで行なわれるべき計算の
数を指定する入力値であることを理解されたい、内側ル
ープはステップ70.74.76及び帰還線78より成
る。ステップ70の後、ステップ74が行なわれて、次
の前進差分値及び曲線座標値S [J]を計算する。ス
テップ76において、Jが歩進されそしてステップ70
が繰り返される。この内側ループは、Jが繰り返しの数
に等しくなる迄実行される。次いでこのループは線71
を介してステップ73に進み、そしてプロセッサの動作
を第3A図のステップ50に復帰させる。
第3A及び3B図のソフトウェアは、各座標即ちX、Y
及び必要ならばZ毎に実行されねばならないことを理解
されたい、良好なる実施例においては、行なわれるべき
繰り返しの数(N L)は32に等しい。又、前述の如
く、除算動作は、後掲の補足説明Bに示されている除算
近似技法により行なわれることができ、第3A及び3B
図に示すソフトウェアのパフォーマンスに対する整数除
算動作の必要性を全体的に排除する。
及び必要ならばZ毎に実行されねばならないことを理解
されたい、良好なる実施例においては、行なわれるべき
繰り返しの数(N L)は32に等しい。又、前述の如
く、除算動作は、後掲の補足説明Bに示されている除算
近似技法により行なわれることができ、第3A及び3B
図に示すソフトウェアのパフォーマンスに対する整数除
算動作の必要性を全体的に排除する。
第4図は本発明の他の実施例のブロック図である。第4
図において、プロセッサ82は、メモリ84及び入力装
置86と共に入出力母線80に接続されている。表示回
路96も又線94を介して入出力母線80に接続されて
いる。更に、曲線発生回路90が線88により入出力母
線80に接続され、そして線9.2−を介して表示回路
96に接続されている。第4図のこの装置の通常の動作
において、a94は、表示回路96を初期設定するのに
用いられる。曲線イメージの入力は1曲線発生回路90
から線92を介して表示回路96に直接入力される。第
4図の実施例は、ソフトウェア実行の多くをプロセッサ
82から取り、動作速度を高めている。
図において、プロセッサ82は、メモリ84及び入力装
置86と共に入出力母線80に接続されている。表示回
路96も又線94を介して入出力母線80に接続されて
いる。更に、曲線発生回路90が線88により入出力母
線80に接続され、そして線9.2−を介して表示回路
96に接続されている。第4図のこの装置の通常の動作
において、a94は、表示回路96を初期設定するのに
用いられる。曲線イメージの入力は1曲線発生回路90
から線92を介して表示回路96に直接入力される。第
4図の実施例は、ソフトウェア実行の多くをプロセッサ
82から取り、動作速度を高めている。
第S図は、第4図の曲線発生回路90のブロック図であ
る。第5図において6、シーケンサ(順序制御回路)1
09が設けられ、これは、1114bを介して加算器1
25をそして線114aを介してシフト回路120を制
御する。線114bは、線116及び122からの内容
を加算するように若しくは線122の内容を通過するよ
うに加算器125を制御する。更に、シーケンサ100
は、レジスタ・ファイル108を制御する。レジスタ・
ファイル108は、入出力母線80に接続され、Dl、
D2、D3及びFの初期値を受けとる。ループ・カウン
タ108が線88bを介して入出力母線80に接続され
そして線102を介してシーケンサ100にループ・カ
ウントを送る。更に、シーケンサ100は、市販型の描
線回路130に対し線110及び120を介して制御イ
ンターフェイスを与える。描線回路130は、ラッチ1
24から41126を介して出力を受けとる。ラッチ1
24内の値は、加算器125の出力である。描線回路上
30は、曲線を規定する各曲線座標値を受けとる。更に
、描線回路130は、線の値を計算し、これは曲線座標
値により規定されるこれらの曲線点を変換する。線及び
点の組合わせは、表示装置上の各画素のオン・オフ状態
を規定する。
る。第5図において6、シーケンサ(順序制御回路)1
09が設けられ、これは、1114bを介して加算器1
25をそして線114aを介してシフト回路120を制
御する。線114bは、線116及び122からの内容
を加算するように若しくは線122の内容を通過するよ
うに加算器125を制御する。更に、シーケンサ100
は、レジスタ・ファイル108を制御する。レジスタ・
ファイル108は、入出力母線80に接続され、Dl、
D2、D3及びFの初期値を受けとる。ループ・カウン
タ108が線88bを介して入出力母線80に接続され
そして線102を介してシーケンサ100にループ・カ
ウントを送る。更に、シーケンサ100は、市販型の描
線回路130に対し線110及び120を介して制御イ
ンターフェイスを与える。描線回路130は、ラッチ1
24から41126を介して出力を受けとる。ラッチ1
24内の値は、加算器125の出力である。描線回路上
30は、曲線を規定する各曲線座標値を受けとる。更に
、描線回路130は、線の値を計算し、これは曲線座標
値により規定されるこれらの曲線点を変換する。線及び
点の組合わせは、表示装置上の各画素のオン・オフ状態
を規定する。
描線回路130は、画素データをバッファ・メモリ13
2へ与え、そしてこの画素データは[92を介して表示
回路へ送られ、最終の曲線イメージを表示する。
2へ与え、そしてこの画素データは[92を介して表示
回路へ送られ、最終の曲線イメージを表示する。
シーケンサ100、ループ・カウンタ104、レジスタ
・ファイル108、シフト回路120及び加算器125
は、ステップ74で計算された前進差分値、ステップ7
4の曲線座標値(S [J] )並びにステップ70及
び76のループ・カウンタ制御関数を計算するように構
成されている。従って、プロセッサ82は、初期幾何学
ベクトル係数及び初期前進差分値を計算することにだけ
を必要とする。入出力母線80から線88aを介して初
期前進差分値をレジスタ・ファイル108に記憶した後
、プロセッサ82はループ・カウンタ104を開始させ
、そしてシーケンサ100は、各間隔毎の前進差分値及
び結果的な曲線座標値の計算を自動的に開始する。これ
らの値は、m126を介して描線回路130への入力で
ある。線112はシーケンサ100により用いられ、線
126上の値が入力の準備がととのったことを描線回路
130に合図する。描線回路130は、I!llOを介
して、待ち信号をシーケンサ100に送り、この描線回
路130が準備完了となる迄曲線座標値の計算を遅延す
る。この実施例では、最後の除算動作は、後掲の補足説
明Bに示す近似除算技法(approximate d
ivisiori technigua)により行なわ
れる。この技法を用いるに当っては、シーケンサ100
の制御のもとにシフト回路120が最終座標値を計算し
、そしてこの値が線126を介して描線回路130へ入
力する迄ラッチ124に記憶されることを必要とする。
・ファイル108、シフト回路120及び加算器125
は、ステップ74で計算された前進差分値、ステップ7
4の曲線座標値(S [J] )並びにステップ70及
び76のループ・カウンタ制御関数を計算するように構
成されている。従って、プロセッサ82は、初期幾何学
ベクトル係数及び初期前進差分値を計算することにだけ
を必要とする。入出力母線80から線88aを介して初
期前進差分値をレジスタ・ファイル108に記憶した後
、プロセッサ82はループ・カウンタ104を開始させ
、そしてシーケンサ100は、各間隔毎の前進差分値及
び結果的な曲線座標値の計算を自動的に開始する。これ
らの値は、m126を介して描線回路130への入力で
ある。線112はシーケンサ100により用いられ、線
126上の値が入力の準備がととのったことを描線回路
130に合図する。描線回路130は、I!llOを介
して、待ち信号をシーケンサ100に送り、この描線回
路130が準備完了となる迄曲線座標値の計算を遅延す
る。この実施例では、最後の除算動作は、後掲の補足説
明Bに示す近似除算技法(approximate d
ivisiori technigua)により行なわ
れる。この技法を用いるに当っては、シーケンサ100
の制御のもとにシフト回路120が最終座標値を計算し
、そしてこの値が線126を介して描線回路130へ入
力する迄ラッチ124に記憶されることを必要とする。
第5図の回路は各座標軸毎に反復されること又は第5図
の回路における計算がこれら座標軸毎に繰り返されねば
ならないことを理解されたい。
の回路における計算がこれら座標軸毎に繰り返されねば
ならないことを理解されたい。
第6A及び6B図は、第4図の曲線発生回路9Oの第2
の実施例である。再びこの回路も、第3B図のステップ
74で計算された前進差分値及び曲線座標値並びにステ
ップ70及び76のループ・カウンタ制御関数を計算す
る。第6A図を参照するに、制御論理回路155は線1
53を介してループ・カウンタ151に接続され、そし
て、m1s7に制御信号を発生する。線157は、レジ
スタ150.156.160及び166を制御する。
の実施例である。再びこの回路も、第3B図のステップ
74で計算された前進差分値及び曲線座標値並びにステ
ップ70及び76のループ・カウンタ制御関数を計算す
る。第6A図を参照するに、制御論理回路155は線1
53を介してループ・カウンタ151に接続され、そし
て、m1s7に制御信号を発生する。線157は、レジ
スタ150.156.160及び166を制御する。
最初、レジスタ150には線88cを介して値D3がつ
め込まれる。レジスタ156には第3のループ繰り返し
のための値D2がつめ込まれる。レジスタ160には、
第2のループ繰り返しのための値D1が線88eを介し
てつめ込まれる。レジスタ166には、線88fを介し
て、最初のループ繰り返しのための値Fがつめ込まれる
。レジスタ166の出力は必要ならば線88gを介して
プロセッサ82に送り返される。線170の出力は、補
足説明Bの近似除算技法を行いそしてクロック・サイク
ル毎に結果を生じる回路に送られる。 この近似除算回
路は第6B図に示されている。線17o上の値Fはレジ
スタ172及び174に入力される。これらは、シフト
された値を受けとるレジスタである。レジスタ172は
3つの2進位置だけ右にシフトされたFの値を受けとる
。レジスタ174は、5つの2進位置だけ右にシフトさ
れたFの値を受けとる。レジスタ174の内容は、レジ
スタ172の内容と共に加算器176につめ込まれる。
め込まれる。レジスタ156には第3のループ繰り返し
のための値D2がつめ込まれる。レジスタ160には、
第2のループ繰り返しのための値D1が線88eを介し
てつめ込まれる。レジスタ166には、線88fを介し
て、最初のループ繰り返しのための値Fがつめ込まれる
。レジスタ166の出力は必要ならば線88gを介して
プロセッサ82に送り返される。線170の出力は、補
足説明Bの近似除算技法を行いそしてクロック・サイク
ル毎に結果を生じる回路に送られる。 この近似除算回
路は第6B図に示されている。線17o上の値Fはレジ
スタ172及び174に入力される。これらは、シフト
された値を受けとるレジスタである。レジスタ172は
3つの2進位置だけ右にシフトされたFの値を受けとる
。レジスタ174は、5つの2進位置だけ右にシフトさ
れたFの値を受けとる。レジスタ174の内容は、レジ
スタ172の内容と共に加算器176につめ込まれる。
レジスタ174の内容は又レジスタ180につめ込まれ
る。加算器176はレジスタ178に出力を与え、この
レジスタはF/8+F/32の部分的な商を含む。レジ
スタ180の内容は右へ2つの2進位置だけシフトされ
そしてレジスタ178の内容と共に加算器182に与え
られる。加算器182からの結果はレジスタ184に与
えられ、そしてこれはF/8+F/32+F/128の
部分的な商である。レジスタ180の内容はレジスタ1
86に入力され、そして2つの2進位置だけ右にシフト
される。再び、レジスタ186の内容はレジスタ184
の内容と共に加算器188で組合わされて、レジスタ1
90に入力され、これはF/8+F/32+F/128
+F1512の部分的な商である0次いで、レジスタ1
86の内容はレジスタ192に入力されて右に2つの2
進位置だけシフトされる。レジスタ192の内容はレジ
スタ190の内容と共に加算器194に入力されスケー
ルされた商を生じる。丸めは加算器200において行な
われ、これはレジスタ196内のスケールされた商の第
15番目”のビットを取り出してそしてこれを、レジス
タ196の内容を右に15の2進位置だけシフトした値
に加算する。加算器200の出力はレジスタ202に入
れられる。前述のように、この曲線座標値は線205を
介して描線回路204に与えられる。次いで、描線回路
は全座標軸に対するこれら曲線座標値を組合わせて曲線
座標点及びこれらの点を結ぶ線を発生する。これらのデ
ータは、画素情報としてバッファ・メモリ206に送ら
れ、そしてこれはイメージ・データを線92を介して表
示回路96(第4図)に供給する。
る。加算器176はレジスタ178に出力を与え、この
レジスタはF/8+F/32の部分的な商を含む。レジ
スタ180の内容は右へ2つの2進位置だけシフトされ
そしてレジスタ178の内容と共に加算器182に与え
られる。加算器182からの結果はレジスタ184に与
えられ、そしてこれはF/8+F/32+F/128の
部分的な商である。レジスタ180の内容はレジスタ1
86に入力され、そして2つの2進位置だけ右にシフト
される。再び、レジスタ186の内容はレジスタ184
の内容と共に加算器188で組合わされて、レジスタ1
90に入力され、これはF/8+F/32+F/128
+F1512の部分的な商である0次いで、レジスタ1
86の内容はレジスタ192に入力されて右に2つの2
進位置だけシフトされる。レジスタ192の内容はレジ
スタ190の内容と共に加算器194に入力されスケー
ルされた商を生じる。丸めは加算器200において行な
われ、これはレジスタ196内のスケールされた商の第
15番目”のビットを取り出してそしてこれを、レジス
タ196の内容を右に15の2進位置だけシフトした値
に加算する。加算器200の出力はレジスタ202に入
れられる。前述のように、この曲線座標値は線205を
介して描線回路204に与えられる。次いで、描線回路
は全座標軸に対するこれら曲線座標値を組合わせて曲線
座標点及びこれらの点を結ぶ線を発生する。これらのデ
ータは、画素情報としてバッファ・メモリ206に送ら
れ、そしてこれはイメージ・データを線92を介して表
示回路96(第4図)に供給する。
本発明を、前述の特定な実施例を参照して説明したがこ
れに本発明が限定されるものではない。
れに本発明が限定されるものではない。
凡豆曵羞果
B−スプライン曲線の発生において、整数演算を用いる
ことにより計算の速度及び正確性を増大する。
ことにより計算の速度及び正確性を増大する。
逓ff1
3次元B−スプラインは、コンピューダグラフィックス
の断片的な多項式関数である。曲線を指定するには数多
くの方法があるが、有用な公式は、J 、[) 、 F
oley及びA 、 Van Damによる本“Fun
daa+entals of Interactiv
e Co+5puterGraphics”の第521
及び522頁に示されている。これは次のようなマトリ
クス式を生じる。
の断片的な多項式関数である。曲線を指定するには数多
くの方法があるが、有用な公式は、J 、[) 、 F
oley及びA 、 Van Damによる本“Fun
daa+entals of Interactiv
e Co+5puterGraphics”の第521
及び522頁に示されている。これは次のようなマトリ
クス式を生じる。
x (t)= [t3t”tll [1/6]変数t
はOから1の範囲のパラメトリック変数であり、そして
変数PはB−スプライン制御点のX軸座標を表わす。(
1/6)の値はスカシでありマトリクス表現のどの場所
へも動かし得る。さし当り(1/6)のスカラ項を無視
して、マトリクス乗算及び項を集めると次のような3次
式が得られる。
はOから1の範囲のパラメトリック変数であり、そして
変数PはB−スプライン制御点のX軸座標を表わす。(
1/6)の値はスカシでありマトリクス表現のどの場所
へも動かし得る。さし当り(1/6)のスカラ項を無視
して、マトリクス乗算及び項を集めると次のような3次
式が得られる。
(t3) (−P、 + 3P、−3P□+t+
P□+2)+ (t”) (3P、1−6Pi+3P
i+1)+(t) (−3P□−1+3□+1)+
(pニー1+4Pj十Pi+1)煎1」しど衷 3次元式の11準型は次の如くである。
P□+2)+ (t”) (3P、1−6Pi+3P
i+1)+(t) (−3P□−1+3□+1)+
(pニー1+4Pj十Pi+1)煎1」しど衷 3次元式の11準型は次の如くである。
a t”=b t”+c t+d=0
W、 M、 Nes++++an及びR,F、5rou
llによる本“Pr1ncipales of Int
eractive Computerにraphics
”第2版には、3次元多項式関数を前進差分するための
次の方法が検討されている。tの間隔(インターバル)
の寸法が等しいものとし、そして評価が1=0で開始す
るものとすると、その次の点はわずか3回の加算を伴な
うだけで求められることができる。このことは周知であ
るが、前進差分法が浮動小数点の計算を必要とするため
に余り用いられない、しかしながら、前進差分法は、ス
ケールされた整数に拡張されることができる。これは、
浮動小数点の前進差分法が累積的な丸めの誤差のために
数字的に不安定な計算を引き起こすという欠陥を除去す
る。前記New+oan及び5proallの本の第3
27及び328頁によると、初期条件は次の如くである
。
llによる本“Pr1ncipales of Int
eractive Computerにraphics
”第2版には、3次元多項式関数を前進差分するための
次の方法が検討されている。tの間隔(インターバル)
の寸法が等しいものとし、そして評価が1=0で開始す
るものとすると、その次の点はわずか3回の加算を伴な
うだけで求められることができる。このことは周知であ
るが、前進差分法が浮動小数点の計算を必要とするため
に余り用いられない、しかしながら、前進差分法は、ス
ケールされた整数に拡張されることができる。これは、
浮動小数点の前進差分法が累積的な丸めの誤差のために
数字的に不安定な計算を引き起こすという欠陥を除去す
る。前記New+oan及び5proallの本の第3
27及び328頁によると、初期条件は次の如くである
。
p=d
α1=aδ’+bδ”+cδ
αよ=6aδ’+2b5”
α、=6a83
反復関係は次の通りである。
p=p+α1
α□=α、+α2
α2=α2+α3
変数δは1 / nであり、ここでnはtにおける間隔
の数である。B−スプライン曲線上の点のX軸座標に対
する計算がなされ、そして次いで対応するX軸座標に対
してなされる。例えば、次の値が制御点のX軸座標に対
して選択される。
の数である。B−スプライン曲線上の点のX軸座標に対
する計算がなされ、そして次いで対応するX軸座標に対
してなされる。例えば、次の値が制御点のX軸座標に対
して選択される。
P i −1= 10 ; P i = 5、Pi+1
=9 ;Pi2=20 1=0の時、x (t ) = 39 / 6 = 6
、5t=o、lの時、X (t)=38.968/6
=:6.495 前進差分法において6で除算する計算は最後に行なわれ
、従って前進差分された多項式関数の結果値は6倍とな
り大きくなる。
=9 ;Pi2=20 1=0の時、x (t ) = 39 / 6 = 6
、5t=o、lの時、X (t)=38.968/6
=:6.495 前進差分法において6で除算する計算は最後に行なわれ
、従って前進差分された多項式関数の結果値は6倍とな
り大きくなる。
2動小数伝前進差 法
浮動小数点前進差分法を次式の多項式関数の結果に適用
すると、 P=39 実際の点はCP/6)即ち(39/6)=6.5α、=
= (−2)(,13)+ (27)(,1”)+ (
−3)(,1)=−0,032 α、= (6)(−2)(,1’)+ (2)(27)
(,1”)=0.528 α、=(6)(二2) (,13)=−0,012t
=0.1に対する反復関係は次を生じる。
すると、 P=39 実際の点はCP/6)即ち(39/6)=6.5α、=
= (−2)(,13)+ (27)(,1”)+ (
−3)(,1)=−0,032 α、= (6)(−2)(,1’)+ (2)(27)
(,1”)=0.528 α、=(6)(二2) (,13)=−0,012t
=0.1に対する反復関係は次を生じる。
P=39+(−0,032)=38.968実際の点は
(38,968/6)区6・、495α、= (−0,
032)+ (0,528)=0.496 αz= (0−528)+ (0,042)=0.51
6 多項式関数の次の点はt=0.2においてでありそして
結果は次の如くである。
(38,968/6)区6・、495α、= (−0,
032)+ (0,528)=0.496 αz= (0−528)+ (0,042)=0.51
6 多項式関数の次の点はt=0.2においてでありそして
結果は次の如くである。
P=38.968+(0,496)
=39.464
実際の点は(39,464/6)徨6.577α1=
(0,496)+ (0,516)=、1.012 α、= (0,516)+ (−0,012)=0.5
04 スケールされた綻゛差分法 スケールされた前進差分法式の適用は、浮動小数点前進
差分法への簡単な拡張である。スケールされた前進差分
は、下記のようにすると、e= [(0,1)(10)
] ”=1f= [(0,1)(10)]” (10)
=10g= [(0,1) (10) コ
(10)”=100次のようになる。
(0,496)+ (0,516)=、1.012 α、= (0,516)+ (−0,012)=0.5
04 スケールされた綻゛差分法 スケールされた前進差分法式の適用は、浮動小数点前進
差分法への簡単な拡張である。スケールされた前進差分
は、下記のようにすると、e= [(0,1)(10)
] ”=1f= [(0,1)(10)]” (10)
=10g= [(0,1) (10) コ
(10)”=100次のようになる。
p=[(39) (10’) コ/[(6)
(1o3) ]=6.5 al−(2)(e)+ (27)(f)+(−3)(g
)=−32 α、= (6)(−2)(e)+ (2)(27)(f
)=528 α3= (6)(2)(e)= 12e、f及びgの
値は、スケールされた整数前進差分に対するキーである
。もしもnが間隔の数であるならば次のようになる。
(1o3) ]=6.5 al−(2)(e)+ (27)(f)+(−3)(g
)=−32 α、= (6)(−2)(e)+ (2)(27)(f
)=528 α3= (6)(2)(e)= 12e、f及びgの
値は、スケールされた整数前進差分に対するキーである
。もしもnが間隔の数であるならば次のようになる。
e=1
f=n
g= nz
共通分数はn3である。
これは全体の表現に対する共通な分母を得る簡単な方法
であり、従って各点が計算されるにつれて、これは1つ
の値で除算することによりスケールを戻される。例示の
場合には、共通項は1000である。これは間隔の数即
ちnの3乗であり、そしてこの例の場合にはnの値は1
0である。6による除算は、元のマトリクス表現のスカ
シを説明し、そしてこの除算動作は、x (t)の正し
い値が計算されるように行なわれねばならない。
であり、従って各点が計算されるにつれて、これは1つ
の値で除算することによりスケールを戻される。例示の
場合には、共通項は1000である。これは間隔の数即
ちnの3乗であり、そしてこの例の場合にはnの値は1
0である。6による除算は、元のマトリクス表現のスカ
シを説明し、そしてこの除算動作は、x (t)の正し
い値が計算されるように行なわれねばならない。
t=0.1に対する反復関係は次を生じる。
p= (39000−32)=38968実際の点は(
38968/6000)凶6.495α、= (−32
)+ (528)=496α、= (528)+ (−
12)=516除算が最後の動作で行なわれるのでスカ
シはスケールされねばならないことに注目されたい。
38968/6000)凶6.495α、= (−32
)+ (528)=496α、= (528)+ (−
12)=516除算が最後の動作で行なわれるのでスカ
シはスケールされねばならないことに注目されたい。
多項式関数の次の点はt=0.2においてでありそして
次のスケールされた前進差分式を生じる。
次のスケールされた前進差分式を生じる。
P=[38968+(496)コニ39464実際の点
は(39464/6000) 6.577α1= (
496)+ (516)=1012α、= (516
)+ (−12)=504スケーリングに対して任意
の基数が選択されることができる。スケーリングが一連
のシフトにより行なわれるように2のべきが適切である
。6による最後の除算が遅らされるので、2のべきによ
るスケーリングは前進差分の前に行なわれる。各点Pが
計算されるにつれて、これは右にシフトされることによ
り収縮される0次いで、Pの小さな値に対して6による
除算が行なわれることができる。このようなセービング
はパーソナル・コンピュータの如きRISCアーキテク
チュの機械では魅力的である。実際、6による除算は補
足説明Bで示すように一連のシフト及び加算により近似
化されることがてきる。スケールされた場合における全
ての動作は整数動作である。
は(39464/6000) 6.577α1= (
496)+ (516)=1012α、= (516
)+ (−12)=504スケーリングに対して任意
の基数が選択されることができる。スケーリングが一連
のシフトにより行なわれるように2のべきが適切である
。6による最後の除算が遅らされるので、2のべきによ
るスケーリングは前進差分の前に行なわれる。各点Pが
計算されるにつれて、これは右にシフトされることによ
り収縮される0次いで、Pの小さな値に対して6による
除算が行なわれることができる。このようなセービング
はパーソナル・コンピュータの如きRISCアーキテク
チュの機械では魅力的である。実際、6による除算は補
足説明Bで示すように一連のシフト及び加算により近似
化されることがてきる。スケールされた場合における全
ての動作は整数動作である。
残りの疑問は、パラメータ空間tに対して幾つの間隔が
適切であるかである。これの答は、パラメータ空間tに
対する間隔の数及び制御点Pのサイズに依存する。
適切であるかである。これの答は、パラメータ空間tに
対する間隔の数及び制御点Pのサイズに依存する。
制御点の値Pのレンジを表わすビットの数をgとし、そ
してパラメトリック変数tが除算される間隔の数nを表
わすビットの数をrとすると、g = [log’ P
]そして r = [log” nコ 従ってg及びrはこれらの対数表現の限界である。
してパラメトリック変数tが除算される間隔の数nを表
わすビットの数をrとすると、g = [log’ P
]そして r = [log” nコ 従ってg及びrはこれらの対数表現の限界である。
正の値のレンジは次の中に含まれる。
(3)(r)+ (2+g)+1ビツトそして負の値の
レンジは次の中に含まれる。
レンジは次の中に含まれる。
(3)(r)+ (2+g)+2ビット従ってこれらの
値のレンジを表わす組合わされたビットの数は、次の如
くである。
値のレンジを表わす組合わされたビットの数は、次の如
くである。
(3)(r)+ (2+g)+2ビツト例として、もし
も制御点の座標が10ビツトで表わされ、そして整数は
32ビツトの整数であるならば、パラメトリック空間t
に最大64の間隔を有する。これは次に基づく。
も制御点の座標が10ビツトで表わされ、そして整数は
32ビツトの整数であるならば、パラメトリック空間t
に最大64の間隔を有する。これは次に基づく。
2”=64、従ってr=6及びg=10次いで、ビット
の数は (3) (6)+ (2+10)+2=32ビツト。
の数は (3) (6)+ (2+10)+2=32ビツト。
6による除算は、一連のシフト及び加算により近似され
る。説明する方法は、3172画素×3172画素のビ
ット・マツプに対して適切なものであるが、1024画
素X1024画素の場合にも同じ数のステップが必要と
なる。最小スケーリングファクタが213であることに
注目されたい。
る。説明する方法は、3172画素×3172画素のビ
ット・マツプに対して適切なものであるが、1024画
素X1024画素の場合にも同じ数のステップが必要と
なる。最小スケーリングファクタが213であることに
注目されたい。
曲線の描画の歩進の数に関してハードウェアは、セクシ
ョン当り描かれるべき間隔を少なくとも25即ち32必
要とする。6による除算は、次の級数により必要な精度
に近づけられる。
ョン当り描かれるべき間隔を少なくとも25即ち32必
要とする。6による除算は、次の級数により必要な精度
に近づけられる。
8 32 128 512 2.04gこの数はn3=
n”(これは他のシフト動作である)によりディスケー
ルされねばならない。この級数と1/6の実際の値の間
の近似誤差は約0゜00016276即ち6144では
約1である。
n”(これは他のシフト動作である)によりディスケー
ルされねばならない。この級数と1/6の実際の値の間
の近似誤差は約0゜00016276即ち6144では
約1である。
もしも誤りが1画素の半分を超えないようにされるとす
れば、これは3072画素X3072画素のビット・マ
ツプに対して十分である。
れば、これは3072画素X3072画素のビット・マ
ツプに対して十分である。
6による除 の
例として、177.5/6が曲線上の1点に対するスク
リーン座標であるとする0曲線の各セクション毎のライ
ン・セグメント間隔の数が32即ち25であるとする。
リーン座標であるとする0曲線の各セクション毎のライ
ン・セグメント間隔の数が32即ち25であるとする。
このことはスケーリング・ファクタが2 xs即ち32
768であることを意味する。以下において、16進数
は下側に記したheXで表わし、そして2進数はbin
aryで表わす。他の全ての数は基数10であり下側説
明文字を附していない、スケールされた前進差分法から
生じる数は次の如くである。
768であることを意味する。以下において、16進数
は下側に記したheXで表わし、そして2進数はbin
aryで表わす。他の全ての数は基数10であり下側説
明文字を附していない、スケールされた前進差分法から
生じる数は次の如くである。
(6) (177,5/6) (2” )=(177,
5) (32,768)=5,816,320=58C
OOOhex近似除算は2つのレジスタR0及びR1を
必要とする。スケールされる数をλで示すと、初期状態
は、次の通りである。
5) (32,768)=5,816,320=58C
OOOhex近似除算は2つのレジスタR0及びR1を
必要とする。スケールされる数をλで示すと、初期状態
は、次の通りである。
これらは元のスケールされる値λを右に3ビツトそして
5ビツト夫々シフトされている。この例における元の値
は次の通りである。
5ビツト夫々シフトされている。この例における元の値
は次の通りである。
58COOOhex、orolol 10001100
0000000000006による除算は次の5ステツ
プで近似されそして最後のディスケーリング及び丸めは
第6番目のステップで行なわれる。
0000000000006による除算は次の5ステツ
プで近似されそして最後のディスケーリング及び丸めは
第6番目のステップで行なわれる。
ステップI
R6の初期値は次の通りである。
これは上記2進値を右に3ビツトだけシフトしたのに等
しく、従って、 R11=10110001100000000000
binaryステップ2 R1の初期値は次の通りである。
しく、従って、 R11=10110001100000000000
binaryステップ2 R1の初期値は次の通りである。
58 C000hex
R,= =2C600hexこれは上
記2進値を右に5ビツトだけシフトしたのに等しく、従
って、 R,=QO101100011000000000bi
naryステップ2の最後とR1の内容はRoに加算さ
れ従ってステップ2の最後のレジスタの内容は次の如く
である。
記2進値を右に5ビツトだけシフトしたのに等しく、従
って、 R,=QO101100011000000000bi
naryステップ2の最後とR1の内容はRoに加算さ
れ従ってステップ2の最後のレジスタの内容は次の如く
である。
R0= B 1800hex+ 2 C600hex=
D D E 00hex、and R,= 2 C6
00hex ステツプ3 ステップ3において、R工の内容は2ビツトだけ右にシ
フトされる。R工の以前の値は(λ/32)なので、こ
のシフト後のR1の値は(λ/128)に等しい、この
例の場合は、値は次の通りである。
D D E 00hex、and R,= 2 C6
00hex ステツプ3 ステップ3において、R工の内容は2ビツトだけ右にシ
フトされる。R工の以前の値は(λ/32)なので、こ
のシフト後のR1の値は(λ/128)に等しい、この
例の場合は、値は次の通りである。
R、= 8180hex
次いでこの値はRoの値に加算され、従ってステップ3
の最後におけるレジスタの内容は次の通りである。
の最後におけるレジスタの内容は次の通りである。
R,=DDE00hex+B180hex=E8F80
hex、そしてRi= B 180hex ステツプ4 R1の内容は再び2ビツトだけ右にシフトされる。R工
の以前の値は(λ/128)であるので、シフト後のR
□の値は(R1512)に等しくこの例の場合、値は次
の通りである6 R,=2C60hex 次いでこの値はR1の値に加算され、従ってステップ4
の最後におけるレジスタの内容は次の通りである。
hex、そしてRi= B 180hex ステツプ4 R1の内容は再び2ビツトだけ右にシフトされる。R工
の以前の値は(λ/128)であるので、シフト後のR
□の値は(R1512)に等しくこの例の場合、値は次
の通りである6 R,=2C60hex 次いでこの値はR1の値に加算され、従ってステップ4
の最後におけるレジスタの内容は次の通りである。
R,= E8F80hex+2C60hex = E
B B EOhex、そしてR,=2C60hex ステップ5 R工の内容は再び2ビツトだけ右にシフトされる。R□
の以前の値は(R1512)であるので、シフト後のR
工の値は(λ/2048)に等しく。
B B EOhex、そしてR,=2C60hex ステップ5 R工の内容は再び2ビツトだけ右にシフトされる。R□
の以前の値は(R1512)であるので、シフト後のR
工の値は(λ/2048)に等しく。
そしてこの値の場合、値は次の通りである。
R,= 818hex
この値は次いでRoの値に加算さ九、従ってステップ5
の最後におけるレジスタの内容は次の通りである。
の最後におけるレジスタの内容は次の通りである。
R,= E B B EOhex+B 18hex=
E C6F8hex、そしてR,= B 18hex ステップに の最後のステップは値をディスケール及び丸める。これ
は、曲線上に存在するスクリーン座標の正しく丸めた値
を生じる。この例におけるスケーリングは21sである
ので、上記結果は同じ量だけディスケールされる。スケ
ーリングは2のべきだけなされたので、ディスケーリン
グは適切なビット数だけ右にシフトして行なわれる。ス
テップ5から生じる数はE C6F 8hex (R,
の値)であり、これを2進数で表わすと次の通りである
。
E C6F8hex、そしてR,= B 18hex ステップに の最後のステップは値をディスケール及び丸める。これ
は、曲線上に存在するスクリーン座標の正しく丸めた値
を生じる。この例におけるスケーリングは21sである
ので、上記結果は同じ量だけディスケールされる。スケ
ーリングは2のべきだけなされたので、ディスケーリン
グは適切なビット数だけ右にシフトして行なわれる。ス
テップ5から生じる数はE C6F 8hex (R,
の値)であり、これを2進数で表わすと次の通りである
。
この数は右に15ビツトだけシフトされ、そしてこのこ
とは2”=32768で除算したことに等しい。これは
、正しく切り捨てられた結果を生じるが、丸めは、切り
捨てられるべき最後のビットが1若しくは0であるかを
検出することにより行なわれることができる。もしもこ
れが0であるからば、切り捨てられた結果は正しく丸め
られる。
とは2”=32768で除算したことに等しい。これは
、正しく切り捨てられた結果を生じるが、丸めは、切り
捨てられるべき最後のビットが1若しくは0であるかを
検出することにより行なわれることができる。もしもこ
れが0であるからば、切り捨てられた結果は正しく丸め
られる。
もしもこれが1であるならば、切り捨ての結果に1が加
えられねばならない。16進で表わすと次の通りである
。
えられねばならない。16進で表わすと次の通りである
。
8000hex
シフトの後、次の2進値の端数が得られここで点は基数
点の結果を示す。基数点の左は整数であり、基数点の右
は端数である。
点の結果を示す。基数点の左は整数であり、基数点の右
は端数である。
1nary
切り捨てられるべき最後のビットは1であり、そして1
がIDhexの結果に加えられ、IEhexを生じる。
がIDhexの結果に加えられ、IEhexを生じる。
元の座標数の10進値は次の通りである。
正しく丸められた結果は30でありそして次に示すよう
にこれはこの高速で且つ効率的な方法の結果である。
にこれはこの高速で且つ効率的な方法の結果である。
L E hex = 30
第1図はコンピュータ・グラフィック・システムを示す
図、第2図はB−スプライン曲線及び制御点を示す図、
第3A図は曲線座標値を発生するフローチャートを示す
図、第3B図はB−スプライン・セグメント値を計算す
るのに用いられるフローチャートを示す図、第4図は本
発明の実施例を用いるコンピュータ・グラフィック・シ
ステムを示す図、第5図は曲線発生回路の第1の実施例
のブロックを示す図、第6A図及び第6B図は曲線発生
回路の第2の実施例のブロック図を示す図。 10.80・・・・入出力母線、12.82・・・・プ
ロセッサ、14.84・・・・メモリ、16.96・・
・・表示回路、18.86・・・・入力回路、90・・
・・曲線発生回路、100・・・・シーケンサ、104
.151・・・・ループ・カウンタ、108・・・・レ
ジスタ・ファイル、120・・・・シフト回路、125
・・・・加算回路、124・・・・ラッチ、130,2
04・・・・描線回路、132.206・・・・バッフ
ァ・メモリ、155・・・・制御論理回路。 出願人 インターナショナル・ビジネスマシーンズ・コ
ーポレーション 代理人 弁理士 岡 1) 次 生(外1名) FIG、 2
図、第2図はB−スプライン曲線及び制御点を示す図、
第3A図は曲線座標値を発生するフローチャートを示す
図、第3B図はB−スプライン・セグメント値を計算す
るのに用いられるフローチャートを示す図、第4図は本
発明の実施例を用いるコンピュータ・グラフィック・シ
ステムを示す図、第5図は曲線発生回路の第1の実施例
のブロックを示す図、第6A図及び第6B図は曲線発生
回路の第2の実施例のブロック図を示す図。 10.80・・・・入出力母線、12.82・・・・プ
ロセッサ、14.84・・・・メモリ、16.96・・
・・表示回路、18.86・・・・入力回路、90・・
・・曲線発生回路、100・・・・シーケンサ、104
.151・・・・ループ・カウンタ、108・・・・レ
ジスタ・ファイル、120・・・・シフト回路、125
・・・・加算回路、124・・・・ラッチ、130,2
04・・・・描線回路、132.206・・・・バッフ
ァ・メモリ、155・・・・制御論理回路。 出願人 インターナショナル・ビジネスマシーンズ・コ
ーポレーション 代理人 弁理士 岡 1) 次 生(外1名) FIG、 2
Claims (6)
- (1)曲線イメージを規定する複数個のデータ点及び上
記データ点相互間で行なわれるべき間隔の計算の数を受
けとる入力手段と、 各間隔毎の各次元に対する曲線座標値を複数値の間隔に
対して同時にパイプライン型で計算するディジタル処理
手段と、 各次元に対する上記計算された曲線座標値に従う曲線座
標点及び上記曲線座標点を連続的に接続する複数の直線
を発生することにより上記曲線イメージの可視表示を生
じる表示手段とを備える、曲線イメージの可視表示発生
装置。 - (2)上記ディジタル処理手段は、上記曲線座標値を計
算する整数演算手段を含むことを特徴とする特許請求の
範囲第(1)項記載の曲線イメージの可視表示発生装置
。 - (3)上記整数演算手段は、整数演算を行なう複数の演
算ステージ及び整数除算動作を行なう最終ステージを有
することを特徴とする特許請求の範囲第(2)項記載の
曲線イメージの可視表示発生装置。 - (4)上記整数演算手段の演算ステージは、2進シフト
及び加算動作により乗算動作を行うことを特徴とする特
許請求の範囲第(3)項記載の曲線イメージの可視表示
発生装置。 - (5)上記整数除算動作を行なう上記最終ステージは2
進シフト及び加算動作を行なうことを特徴とする特許請
求の範囲第(3)項記載の曲線イメージの可視表示発生
装置。 - (6)曲線を規定する複数の制御点及び該制御点相互間
の計算の回数を表わす間隔の数を受けとる入力手段と、 次元毎の一組のスケールされたベクトル係数の整数を、
次元毎に上記複数の制御点及びスケーリング・パラメー
タから計算し、間隔毎の且つ次元毎の前進差分間隔係数
の整数を、次元毎のスケールされたベクトル係数の整数
及び間隔の整数から計算し、次元毎の且つ間隔毎の曲線
座標値を、間隔毎の且つ次元毎の上記前進差分間隔係数
の整数及び上記スケーリング・パラメータから計算する
ディジタル処理手段と、 次元毎の上記計算された曲線座標値に従う曲線座標点及
び該曲線座標点を連続的に接続する複数の直線を表示す
ることにより上記曲線を表示する手段とを備える曲線イ
メージの可視表示発生装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/873,902 US4760548A (en) | 1986-06-13 | 1986-06-13 | Method and apparatus for producing a curve image |
US873902 | 1986-06-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS62297984A true JPS62297984A (ja) | 1987-12-25 |
JP2501580B2 JP2501580B2 (ja) | 1996-05-29 |
Family
ID=25362561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62114925A Expired - Lifetime JP2501580B2 (ja) | 1986-06-13 | 1987-05-13 | 曲線イメ−ジの可視表示発生装置 |
Country Status (9)
Country | Link |
---|---|
US (1) | US4760548A (ja) |
EP (1) | EP0249705B1 (ja) |
JP (1) | JP2501580B2 (ja) |
AT (1) | ATE127599T1 (ja) |
AU (2) | AU629173B2 (ja) |
BR (1) | BR8702847A (ja) |
CA (1) | CA1277787C (ja) |
DE (1) | DE3751505T2 (ja) |
MX (1) | MX169045B (ja) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4791581A (en) * | 1985-07-27 | 1988-12-13 | Sony Corporation | Method and apparatus of forming curved surfaces |
GB2204216B (en) * | 1987-04-30 | 1991-02-06 | Ibm | Curve generation in a display system |
GB2204767B (en) * | 1987-05-08 | 1991-11-13 | Sun Microsystems Inc | Method and apparatus for adaptive forward differencing in the rendering of curves and surfaces |
JP2588257B2 (ja) * | 1988-09-30 | 1997-03-05 | 沖電気工業株式会社 | 輪郭近似方式 |
US5054097A (en) * | 1988-11-23 | 1991-10-01 | Schlumberger Technologies, Inc. | Methods and apparatus for alignment of images |
US5179647A (en) * | 1989-01-09 | 1993-01-12 | Sun Microsystem, Inc. | Method and apparatus for implementing adaptive forward differencing using integer arithmetic |
JPH02184970A (ja) * | 1989-01-11 | 1990-07-19 | Ricoh Co Ltd | 3次式演算装置 |
JPH0766451B2 (ja) * | 1989-10-24 | 1995-07-19 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | コンピュータ・グラフィック装置 |
US5317682A (en) * | 1989-10-24 | 1994-05-31 | International Business Machines Corporation | Parametric curve evaluation method and apparatus for a computer graphics display system |
US5471573A (en) * | 1989-12-07 | 1995-11-28 | Apple Computer, Inc. | Optimized scan conversion of outlines for generating raster images |
EP0559714A1 (en) * | 1990-11-30 | 1993-09-15 | Cambridge Animation Systems Limited | Animation |
EP0488563A3 (en) * | 1990-11-30 | 1993-11-03 | Ibm | Method and apparatus for rendering trimmed parametric surfaces |
US5408598A (en) * | 1991-05-23 | 1995-04-18 | International Business Machines Corporation | Method for fast generation of parametric curves employing a pre-calculated number of line segments in accordance with a determined error threshold |
US5330477A (en) * | 1992-01-28 | 1994-07-19 | Amei Technologies Inc. | Apparatus and method for bone fixation and fusion stimulation |
DE69314688T2 (de) * | 1992-04-23 | 1998-02-19 | Heidenhain Gmbh Dr Johannes | Numerische Steuerungseinrichtung und Verfahren zur Steuerung der Bewegung eines Werkzeuges |
US5365996A (en) * | 1992-06-10 | 1994-11-22 | Amei Technologies Inc. | Method and apparatus for making customized fixation devices |
US5363479A (en) * | 1992-07-02 | 1994-11-08 | Microsoft Corporation | System and method for rendering bezier splines |
WO1998025143A1 (en) * | 1996-12-03 | 1998-06-11 | Erkki Soini | Biospecific, two photon excitation, fluorescence detection and device |
US6310354B1 (en) | 1996-12-03 | 2001-10-30 | Erkki Soini | Method and a device for monitoring nucleic acid amplification reactions |
US6111588A (en) * | 1996-12-05 | 2000-08-29 | Adobe Systems Incorporated | Creating and modifying curves on a computer display |
GB9920401D0 (en) * | 1999-08-27 | 1999-11-03 | Isis Innovation | Non-rigid motion image analysis |
GB0028491D0 (en) * | 2000-11-22 | 2001-01-10 | Isis Innovation | Detection of features in images |
EP1406214A4 (en) * | 2001-06-21 | 2009-01-14 | Hi Corp | INFORMATION PROCESSOR |
US7234899B2 (en) * | 2003-05-19 | 2007-06-26 | Tdy Industries, Inc. | Cutting tool having a wiper nose corner |
US7220083B2 (en) | 2003-10-15 | 2007-05-22 | Tdy Industries, Inc. | Cutting insert for high feed face milling |
US20050197860A1 (en) * | 2004-02-23 | 2005-09-08 | Rademr, Inc. | Data management system |
US7421139B2 (en) * | 2004-10-07 | 2008-09-02 | Infoprint Solutions Company, Llc | Reducing errors in performance sensitive transformations |
WO2007041523A2 (en) * | 2005-09-30 | 2007-04-12 | Sunfish Studio, Llc | System and method to compute narrow bounds on a modal interval polynomial function |
US7905687B2 (en) * | 2007-01-16 | 2011-03-15 | Tdy Industries, Inc. | Cutting insert, tool holder, and related method |
US9529778B2 (en) | 2008-03-27 | 2016-12-27 | Sunfish Studio, Llc | System and method to compute narrow bounds on a modal interval polynomial function |
US7905689B2 (en) * | 2008-05-07 | 2011-03-15 | Tdy Industries, Inc. | Cutting tool system, cutting insert, and tool holder |
US7976250B2 (en) * | 2009-02-12 | 2011-07-12 | Tdy Industries, Inc. | Double-sided cutting inserts for high feed milling |
US8491234B2 (en) * | 2009-02-12 | 2013-07-23 | TDY Industries, LLC | Double-sided cutting inserts for high feed milling |
US9586264B2 (en) * | 2009-04-28 | 2017-03-07 | Kennametal Inc. | Double-sided cutting insert for drilling tool |
US8807884B2 (en) * | 2009-12-18 | 2014-08-19 | Kennametal Inc. | Tool holder for multiple differently-shaped cutting inserts |
US9283626B2 (en) | 2012-09-25 | 2016-03-15 | Kennametal Inc. | Double-sided cutting inserts with anti-rotation features |
US9011049B2 (en) | 2012-09-25 | 2015-04-21 | Kennametal Inc. | Double-sided cutting inserts with anti-rotation features |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4272808A (en) * | 1979-05-21 | 1981-06-09 | Sperry Corporation | Digital graphics generation system |
US4484298A (en) * | 1981-04-30 | 1984-11-20 | Yokogawa Hokushin Electric Corporation | Method and device for generation of quadratic curve signal |
US4441104A (en) * | 1981-12-31 | 1984-04-03 | Mattel, Inc. | Graphic effects generator |
-
1986
- 1986-06-13 US US06/873,902 patent/US4760548A/en not_active Expired - Fee Related
-
1987
- 1987-04-10 EP EP87105368A patent/EP0249705B1/en not_active Expired - Lifetime
- 1987-04-10 AT AT87105368T patent/ATE127599T1/de active
- 1987-04-10 DE DE3751505T patent/DE3751505T2/de not_active Expired - Fee Related
- 1987-05-13 JP JP62114925A patent/JP2501580B2/ja not_active Expired - Lifetime
- 1987-05-27 CA CA000538163A patent/CA1277787C/en not_active Expired - Fee Related
- 1987-06-01 AU AU73701/87A patent/AU629173B2/en not_active Ceased
- 1987-06-04 BR BR8702847A patent/BR8702847A/pt unknown
- 1987-06-10 MX MX006851A patent/MX169045B/es unknown
-
1990
- 1990-11-07 AU AU65900/90A patent/AU6590090A/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
JP2501580B2 (ja) | 1996-05-29 |
BR8702847A (pt) | 1988-03-01 |
ATE127599T1 (de) | 1995-09-15 |
MX169045B (es) | 1993-06-18 |
EP0249705A3 (en) | 1990-06-27 |
AU7370187A (en) | 1987-12-17 |
AU629173B2 (en) | 1992-10-01 |
CA1277787C (en) | 1990-12-11 |
DE3751505T2 (de) | 1996-04-18 |
AU6590090A (en) | 1991-02-21 |
US4760548A (en) | 1988-07-26 |
EP0249705A2 (en) | 1987-12-23 |
DE3751505D1 (de) | 1995-10-12 |
EP0249705B1 (en) | 1995-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS62297984A (ja) | 曲線イメ−ジの可視表示発生装置 | |
US5042001A (en) | Method and apparatus for performing mathematical functions using polynomial approximation and a rectangular aspect ratio multiplier | |
US3789203A (en) | Function generation by approximation employing interative interpolation | |
US5046038A (en) | Method and apparatus for performing division using a rectangular aspect ratio multiplier | |
US5973705A (en) | Geometry pipeline implemented on a SIMD machine | |
JPH0612229A (ja) | 乗累算回路 | |
KR980010751A (ko) | 부동 소수점 하드웨어를 사용하여 마이크로프로세서 정수 나눗셈 연산을 실행하기 위한 방법 및 장치 | |
US6223197B1 (en) | Constant multiplier, method and device for automatically providing constant multiplier and storage medium storing constant multiplier automatic providing program | |
JP2585649B2 (ja) | 除算回路 | |
JP2734711B2 (ja) | 曲線発生装置 | |
JP2822399B2 (ja) | 対数関数演算装置 | |
JP2670875B2 (ja) | 適応前進差分および整数算術を用いてパラメトリツク関数を表示する装置および整数算術を用いて実現する方法 | |
US20040179006A1 (en) | Computer graphic system and method for efficiently encoding subdivision triangular surfaces of a triangular surface element and for recovering their coordinates | |
EP0349182B1 (en) | Method and apparatus for approximating polygonal line to curve | |
Bajard et al. | A new Euclidean division algorithm for residue number systems | |
KR100329914B1 (ko) | 제산장치 | |
Villalba et al. | Radix-4 vectoring cordic algorithm and architectures | |
Mandelbaum | A method for calculation of the square root using combinatorial logic | |
JP2737933B2 (ja) | 除算装置 | |
JP2748787B2 (ja) | 曲線発生装置 | |
KR20010067226A (ko) | 인터폴레이션 방법 및 장치 | |
US5751623A (en) | Digital computer for adding and subtracting | |
JP2508286B2 (ja) | 平方根演算装置 | |
JP3390599B2 (ja) | 除算装置 | |
JPH06105421B2 (ja) | 逆三角関数演算装置 |