Bresenham Doğru Çizim Algoritması (Bresenham’s Algorithm)
Yazan: Şadi Evren ŞEKER
Bilgisayar grafiği konusunda kullanılan bir doğru çizme algoritmasıdır. İki veya üç boyutlu ortamlarda kullanılabilir. Buna göre başlangıç ve bitiş noktalarının koordinatları belirli bir doğruyu çizmek için nasıl bir yol izleneceğini belirler ve bu doğrunun geçtiği imgeciklerin (pixel) hesaplanmasında kullanılır.
Örneğin yukarıdaki tasvirde bir doğrunun geçtiği imgeciklerin belirlenmesinde nasıl bir yol izlendiği gösterilmiştir. Buna göre bir doğrunun hangi imgeciklerden geçtiğini bulmak için öncelikle doğrunun eğimi hesaplanır. Ardından bu eğim miktarı başlangıç imgeciğinin koordinatlarına eklenerek sonuç imgeciğine kadar olan yolda bulunan bütün imgeciklerin koordinatları hesaplanır. Burada dikkat edilecek olan nokta eğim miktarının tam sayı olmaması ve imgeciklerin küsurat değerlerini göstermemesidir. Bu sorunun çözümü olarak değer en yakın tam sayıya yuvarlanır. Bu tam sayıların imgeciklerin merkez noktaları olduğu düşünülürse, aslında brehensam algoritması doğrunun geçtiği yoldaki imgeciklerin merkezlerine en yakınlarını işaretlemiş olur.
Yukarıda anlatılan bu hesaplama yöntemi için öncelikle eğim bulunmalıdır. Eğim için
m = (yson – ybaşla ) / (xson – xbaşla)
Formülü kullanılabilir.
Şimdi hesaplamak istediğimiz ve doğru üzerinde olan herhangi bir imgeciğin x ve y koordinatlarını bulalım. Bu imgeciğin aşağıdaki formülü sağlaması gerektiği açıktır:
y- ybaşla = ( (yson – ybaşla ) / (xson -ybaşla ) ( x – ybaşla)
Bu formülden örneğin imgeciğin y değeri çekilirse :
y = ( (yson – ybaşla ) / (xson -ybaşla ) ( x – ybaşla) + ybaşla
olarak hesaplanır. İşte bu yöntem kullanılarak imgecik koordinatları hesaplanmakta ve nihayetinde bir doğrunun çizilmesi mümkün olmaktadır.
« Doğrudan Çizim Algoritması (Direct Draw Algorithm , DDA) | Pisagor Yöntemi İle Çember (Pythagorean Theorem in Circle Drawing) »
Yorumlar
Bilgisayar Kavramları üzerinde şu anda okumakta olduğunuz 'Bresenham Doğru Çizim Algoritması (Bresenham’s Algorithm)' isimli yazı 28 Aug 2008 tarihinde, saat: 17:19 'de Şadi Evren ŞEKER tarafından gönderilmiş, toplam 1208 defa okunmuştur.
Benzer yazıları Bilgisayar Grafiği (Computer Graphics) kategorilerinden okuyabilirsiniz. Yazar ile irtibat kurmak için email gönderebilirsiniz. Yazıya yorum yapabilir ya da yapılan yorumları RSS 2.0 ile takibe alabilirsiniz.
Yazarın Kitabı
Bu yazının yazarı Şadi Evren ŞEKER'in son çıkan kitabı "Programlama ve Veri Yapılarına giriş (C, C++ ve JAVA ile)" hakkında bilgi almak için Buraya tıklayabilirsiniz.
Eklenen Son Yazılar
- Visual Basic ile Gösterici (Pointer) Kullanımı
- Hasse Çizgeleri (Hasse Diagrams)
- Zeki Vekiller (Akıllı Ajanlar, Intelligent Agents, Zeki Etmenler )
- Integral Kriptoanalizi ( Toplam Tecessüsü , Integral Cryptoanalysis)
- Diferansiyel Kriptoanalizi ( Fark Tecessüsü , Differential Cryptoanalysis)
- Sierpinski Üçgeni (Sierpinski Triangle)
- C ile programlamaya giriş final sınavı çözümleri
- Çok Seviyeli Sıralar (Multi Level Queues)
- Çift Özetleme (Double Hashing)
- İkinci Dereceden Sondalama (Quadratic Probing)
Yapılan Son Yorumlar
- Şadi Evren ŞEKER: Sıralama işleminiz poligonu...
- Şadi Evren ŞEKER: bahsettiğiniz sıralama algoritması...
- Abdurrahman ulusoy: merhaba hocam. gelişigüzel...
- Oguz Okutan: Merhaba hocam.. Fonksiyonlarda degere göre...
- Şadi Evren ŞEKER: Null, NULL, nil veya null olarak...
- Fatih Kabakci: hocam merhabalar,...
- kara: Çok güzel anlatılmış gerçekten teşekkürler...
- Şadi Evren ŞEKER: Bahsettiğiniz şekil dönüşümü...
- Caner: Kullanıcıdan açı girdisi almıyorsanız...
- Furkan Yediyildiz: Algoritmanin mantigi cok güzel...
- havva: çok sağolun çok güzel açıklamalar var tşk...
- Şadi Evren ŞEKER: typedef komutu, bir yapıdan yeni bir...
- fatih kabakci: hocam ben structures ile ilgili bir sorum...
- Şadi Evren ŞEKER: evet, yukarıda açıklanan, herhangi...
- Abdurrahman ulusoy: fi açısından teta kadar döndürme...
- Şadi Evren ŞEKER: Hayır yok, bir noktanın, herhangi...
- Abdurrahman ulusoy: Bu durumda yukarıdaki formüllerin...
- Abdurrahman ulusoy: Merhaba hocam Üstteki mesajımda...
- mustafa ekmekcioğlu: merhaba şadi bey ben hacettepe...
- Şadi Evren ŞEKER: Talebiniz üzerine...
Yakın Yazılar
Bağlantılar
