Ortanokta Çember Çizimi (Circle Drawing with Midpoint Algorithm)
Yazan: Şadi Evren ŞEKER
Bilgisayar grafiği konusunda çember çizmek için pisagor yöntemi ve kutup koordinat yöntemi ile birlikte kullanılan yöntemlerden birisidir. Buna göre merkezi ve yarı çapı belirli bir çemberi çizmek için hangi koordinatlardaki imgeciklerin (pixel) işaretleneceği (veya imgeciklerin hangi koordinatlara konulacağını) belirler.
Yukarıda bir çember ve bu çemberin geçtiği imgecikler tasvir edilmiştir. Bu algoritma biir çember çizilirken hangi imgeciklerin işaretleneceğini aşağıdaki matematiksel yöntem ile belirler:
Öncelikle çemberdeki (x,y) değerlerini veren fonksiyonu hatırlayalım:
f(x,y) = x2 + y2 – r2
Bu fonksiyonun değeri aşağıdaki 3 ihtimalden birisi olabilir ve anlamı da yanında verilmiştir:
- Şayet f(x,y) <0 ise değer çemberin içindedir
- Şayet f(x,y) = 0 ise nokta çemberin üzerindedir
- Şayet f(x,y) > 0 ise nokta çemberin dışındadır.
Bu denklemde x > y durumu söz konusuysa simetriden faydalanılabilir.
Bu durumda çember çizilmesi sırasında yukarıdaki denkleme göre bir imgecik hesaplandıktan sonra bu imgeciğin x,y değerinin yakınındaki imgeciklerin merkezine olan mesafesine bakılır ve şayet yakınsa bu imgecik çember üzerinde olarak işaretlenir.
« Kutup Koordintaları ile Çember Çizimi (Circle Drawing with Polar Coordinates) | Yumuşatma (Antialiasing) »
Yorumlar
Bilgisayar Kavramları üzerinde şu anda okumakta olduğunuz 'Ortanokta Çember Çizimi (Circle Drawing with Midpoint Algorithm)' isimli yazı 29 Aug 2008 tarihinde, saat: 22:58 'de Şadi Evren ŞEKER tarafından gönderilmiş, toplam 1345 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
Ortanokta Çember Çizimi (Circle Drawing with Midpoint Algorithm)
Pisagor Yöntemi İle Çember (Pythagorean Theorem in Circle Drawing)
Kutup Koordintaları ile Çember Çizimi (Circle Drawing with Polar Coordinates)
ERD ( Unsur İlişki Çizimi, Entity Relationship Diagram )
Sonlu Durum Makinası (Finite State Machine, Finite State Automaton)
Çokgenlerin Doldurulması (Filling Polygons)
Ekrana Trafik Işıkları Çizen Kod
Arama Algoritmaları (Search Algorithms)
Edmonds Karp Algoritması (Edmonds Karp Algorithm)
Genişletilmiş Ufak Şifreleme Algoritması (Extended Tiny Encryption Algorithm (XTEA))
Brent Algoritması (Brent's Algorithm)
Cohen-Sutherland Doğru Kesme Algoritması (Line Clipping Algorithm)
Binaen Burhan (İnşâa ile İspat , Proof by Construction, Binaenaleyh)
Mesaj Özetleri (Message Digests)
Feistel Şifreleme (Feistel Cipher, Fesitel Ağı, Feistel Network)
Bağlantılar
