Yazan : Şadi Evren ŞEKER

Bilgisayar grafiklerinde kullanılan ve çokgenlerin içlerinin doldurulması için kullanılan algoritmadır. Basitçe bir çokgenin (polygon) içinin belirli bir renge boyanacağını düşünelim. Bu durumda çokgenin içerisinin belirlenmesi ve belirlenen bu alanın daha önceden seçilmiş renk ile doldurulması gerekir.

Örneğin yukarıda verilen çokgenin bir alanına bu algoritma uygulanmıştır. Bu algoritmanın kodu aşağıdaki şekildedir:

void boundaryFill4 (int x, int y, int fillColor, int borderColor)

{

int interiorColor;

/* Doldurulacak olan renk olarak ayarlama yapılıyor */

getPixel (x, y, interiorColor);

if ((interiorColor != borderColor) &&

(interiorColor != fillColor)) {

setPixel (x, y); // Set pixel color to fillColor

boundaryFill4 (x + 1, y , fillColor, borderColor);

boundaryFill4 (x – 1, y , fillColor, borderColor);

boundaryFill4 (x , y + 1, fillColor, borderColor);

boundaryFill4 (x , y – 1, fillColor, borderColor)

}

Yukarıdaki koddan da anlaşılacağı üzere algoritma, çokgenin içerisindeki rastgele bir noktadan başlayarak, bu başlangıç noktasının komşusu olan noktaları (4 yöne doğru) teker teker boyamaya çalışmaktadır. Bu işlem sırasında boyanacak olan piksellerin renk kodları kontrol edilerek, zaten boyanmış veya kenar olup olmadığına bakılmaktadır.

Bir cevap yazın

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