Yazan : Şadi Evren ŞEKER Bilgisayar grafiği konusunda bir doğru çizmek için kullanılan algoritmalardandır. Algoritma 2 veya 3 boyutlu olarak uygulanabilir. Algoritma basitçe bir doğrunun geçeceği yatay hatları işaretleyerek çalışır. Örneğin aşağıdaki tasvirde bir doğru gösterilmiş ve bu doğrunun hangi imgecikleri (pixel) işaretleyeceği gösterilmiştir.

Yukarıda da görüldüğü üzere bir doğru, yatay eksene paralel veya yatay eksene yakın bir eğimdeyse net olarak görülebilmektedir. Ancak dikey eksene paralel bir doğru ancak iki noktadan (başlangıç ve bitiş noktaları) oluşmaktadır. Bu durumda DDA algoritması çok başarılı olamamaktadır. Bu durumun iyileştirmesi için de doğrunun eğimi hesaplanmakta ve eğim 45 dereceden yüksekse bu defa işaretlenen imgecikler dikey eksene paralel olarak alınmaktadır.

Bu algoritmanın çalışmasını matematiksel olarak şöyle anlatabiliriz. Basitçe bir doğruyu veren formül iki boyutlu düzlem için aşağıdaki şekildedir:

y = m x + b

Buradaki y ve x değerleri koordinat sistemindeki değişken eksenler, m eğim ve b ise kayma miktarıdır. Örneğin eğim için:

m = (yson – ybaşla ) / (xson – xbaşla)

şeklinde hesaplanabilir. Dolayısıyla eğimin aslında yatay eksenle yapılan açının tanjantı olduğunu hatırlayalım. DDA algoritması bu eğim değerini işaretleyeceği imgecikleri (pixel) belirlerken kullanır.

Şayet eğim 1’den küçükse yani |m| < 1 ise:

xk+1 = xk + 1

yk+1 = yk + m

Şayet eğim 1’den büyükse yani |m| > 1 ise:

yk+1 = yk +1

xk+1 = xk + 1/m

olarak bir sonraki imgeciğin (piksel) hesaplanması mümkün olmaktadır. Buna göre DDA algoritmasına başlangıç ve bitiş koordinatları verilen iki nokta arasında doğru çizmesi istendiğinde bu iki nokta arasındaki eğimi ve bu eğime göre doğrunun geçtiği her imgeciğing (pixel) koordinatlarını hesaplayarak çizmektedir.

Yorumlar

Erhan için bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir