線形を生成する第1、基本的な考え方
光スポットパターンのイメージは、画面上の異なる色(画素)の異なる明るさです。ラスタディスプレイの画面上のオブジェクト、バッファレジスタ単位データを埋めるために実質的に対応するフレームを生成します。
そう:画素のセットのみ線形ラスタライズのペアが、ディスプレイの画素の有限数を所定の格子に直線に最良の近似を決定する場合、直線は、これらのピクセルによって表されます。
そう:メインラインが生成される:迅速画素が表さ直線の格子点に対応して、直線から最も近い格子点を特定します。
私たちは、直線を表現するためにスロープインターセプトの式を使用している場合は、時間がかかり、だから何を改善することができるされているコンピュータの底に1回の乗算と1回の加算、乗算を使用するのでしょうか?
乗算は、ほかになります!
ピクセルの線形集合であり、アルゴリズムを生成する究極の目標は、ラインの画素点のより正確な近似を見つけることです。
出発点XS、XS + 1、+ XSから、M <1:したがって、ように、ライン上の各点に対して決定する 2、XS + 3 ...(XI、YI)の各点XEに、必要対応する画素の値を決定します。
丸め-したがって、(XI、YI)すなわち、正確な値の各々は、その対応する画素値(XI、YI、r)を見つける必要があり、即ち、それは整数値、最も簡単なの正確な値に最も近いです。
(XI、YI)は、次の規則は次の点(XI + 1、YI + 1を決定する、すなわちを見つけるだろう、それに対応する整数ピクセル点を決定したと仮定する ) 対応する画素のドットを。
場合に相当するM <ケース1、XI + 1 = XI + 1 、 すなわち、YI + 1が決定され、即ち決定基準は上記述べ、式を決定することによって選択YI + 1を決定するために決意式を与えています。
計算式を容易にするために計算するためのより便利な方法であると判定されます。式も再帰式によって決定することができると判断されます。
第二に、基本的な増分アルゴリズム(DDA)
基本的なアルゴリズムは、デジタル差分増分アルゴリズム(デジタル微分解析機)と呼ばれています
1、基本的な考え方:
各点の座標は前回の座標からゲイン結果を変更することができるという考えに差動の使用、最良の近似を解決するための方法を丸めます。
2、行が表します。
提供線出発座標(XS、YS)、終点座標(XE、がた)
そのように、△X = XE XS、YS-YE = Ayの、線形方程式のパラメータは、その後
区間[0,1]のパラメータは、n個のアリコート、Tのすなわち各増分に分割される Δtの= 1 / N
図3に示すように、速度を改善するための方法
各点の座標は、座標の前の増分変化により得ることができます。
セット工程で得られた直線上の点を(XI、YI)はiが、第1の直線は、ポイントは、I + 1(+ XI。1、李+ 1)は、前記
ときのΔx>Δyの> 0、すなわち、傾きが1未満であり、X方向はY方向の増加まで、1ずつインクリメントされるべきで、時間帯、△T = 1 / [デルタ]× ;
Δyの>量Δx> 0の場合は同様に、傾きは1よりも大きいです、取る、△T = 1 / Ayを、
4、線形DDAアルゴリズムプログラム
無効 DDA(Gグラフィック、int型の X1、INT X2、INT Y1、INT Y2) { int型 Kを; //は、手順を取るべき フロート X、Y、DX、Dyのを; // 変更の増分 K = Math.abs(X2 - X1); IF(Math.abs(Y2-Y1)> K) K = Math.abs(Y2 - Y1); DX =(フロート)(X1-X2)/ K; のDy =(フロート)(Y1-Y2 )/ K; X =(フロート)X1、 Y =(フロート)Y1; のための(INTI = 0; I <K。私は++ ) { g.drawLine((INT)(X + .5f)、(INT)(Y + .5f)、(INT)(X + .5f)、(INT)(Y + .5f))。 X = X + DX。 Y = Y + DY。 } }