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.

void floodFill4 (int x, int y, int fillColor, int interiorColor)

{

int color;

/* Set current color to fillColor, then perform following operations. */

getPixel (x, y, color);

if (color = interiorColor) {

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

floodFill4 (x + 1, y, fillColor, interiorColor);

floodFill4 (x – 1, y, fillColor, interiorColor);

floodFill4 (x, y + 1, fillColor, interiorColor);

floodFill4 (x, y – 1, fillColor, interiorColor)

}

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.

Bu algoritmanın kenar doldurma (boundary filling) algoritmasından en belirgin farkı, bu algoritmada herhangi bir kenar rengi bulunmamasıdır. Dolayısıyla bu algoritma ile doldurulan çokgenlerin kenarları da dolgu renginde olmaktadır.

Bir cevap yazın

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