• Bağış
  • 2008 August

    Yumuşatma (Antialiasing)

    Yazan : Şadi Evren ŞEKER Bilgisayar grafiği ve görüntü işleme konularında sıkça kullanılan ve görüntünün daha yumuşak hatlar ile görülmesini sağlayan yöntemdir. Aslında basit bir interpolasyon yöntemidir ve  işlem yapılan ortamdanki renk farklılıkarını yumuşatmak için renk geçişi çok yüksek olan imgecikler (pixel) arasında orta noktalara orta renkleri koyarak yumuşatma işlemi yapar. Aşağıdaki iki resimde bu [...]

    Şadi Evren ŞEKER tarafından, 31/08/2008 tarihinde yazıldı. | Bilgisayar Grafiği (Computer Graphics) | A yorum var

    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 [...]

    Şadi Evren ŞEKER tarafından, 29/08/2008 tarihinde yazıldı. | Bilgisayar Grafiği (Computer Graphics) | A yorum var

    Kutup Koordintaları ile Çember Çizimi (Circle Drawing with Polar Coordinates)

    Yazan : Şadi Evren ŞEKER Bilgisayar grafikleri konusunda çember çizmek için kulllanılan pisagor yöntemi ve orta nokta yöntemi  ile birlikte alternatif algoritmalardan birisidir. Bu algoritmaya göre verilen bir merkez koordinatlarında verilen yarıçapta bir çember çizmek için yapılması gereken yöntem incelenmektedir. Bilgisayar garfiği konusunda bir şekli çizmek için veya verilen bir noktanın bu şekil üzerinde olduğunu [...]

    Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Bilgisayar Grafiği (Computer Graphics) | 1 yorum var

    Pisagor Yöntemi İle Çember (Pythagorean Theorem in Circle Drawing)

    Yazan : Şadi Evren ŞEKER Bilgisayar grafiklerinde çember çizmek için kullanılan yöntemlerden birisidir. Diğer çok kullanılan yöntemlerden birisi de kutup koordinatları (polar coordinates) kullanmaktır. Bu yöntemde, bir çemberin formülü alındıktan sonra bu çember üzerindeki imgeciklerin (pixel) nasıl bulunacağı çözüme ulaştırılmıştır. Örneğin aşağıdaki gibi bir çemberi ele alalım: Yukarıdaki bu resimde merkezi belirli olan (xc,yc) ve [...]

    Şadi Evren ŞEKER tarafından, 28/08/2008 tarihinde yazıldı. | Bilgisayar Grafiği (Computer Graphics) | A yorum var

    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 [...]

    Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Bilgisayar Grafiği (Computer Graphics) | A yorum var

    Doğrudan Çizim Algoritması (Direct Draw Algorithm , DDA)

    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 [...]

    Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Bilgisayar Grafiği (Computer Graphics) | 1 yorum var

    Seyyar Tüccar Problemi (Traveling Salesman Problem)

    Yazan : Şadi Evren ŞEKER Bu problemin amacı pekçok farklı yer gezen bir tüccarın en az yol katederek bütün gezeceği yerleri nasıl tamamlayacağının hesaplanmasıdır. (gezgin satıcı problemi) Örneğin aşağıda verilen türkiye haritasında farklı iller ve bu illerin coğrafi konumları işaretlenmiştir. Kolaylık olsun diye iller arasındaki mesafeleri kuş uçuşu gitmek istersek bu durumda bütün illeri dolaşan [...]

    Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Bilgisayar Matematiği, algoritma analizi (teory of algorithms) | A yorum var

    Dikişli Ağaçlar (Threaded Tree)

    Yazan : Şadi Evren ŞEKER Dikişli ağaçlar, ikili ağaçların özel bir halidir. Bilindiği üzere ikili ağaçların son elamanı olan yapraklarda (leaf) bulunan üyeleri sol ve sağ çocuğu olarak boş (null) değer gösterirler. Dikişli ağaçlar ise bunun aksine ağaç içerisinde kimin yerine ikame edecekse bu düğümü gösterir. Örneğin aşağıdaki ağacı ele alalım: Yukarıdaki ikili ağaçta sonda [...]

    Şadi Evren ŞEKER tarafından, 27/08/2008 tarihinde yazıldı. | graf teorisi (graph theory, çizge kuramı), veri yapıları | A yorum var

    Devamsal Geçiş Tarzı (Continuation-passing style, CPS)

    Yazan: Şadi Evren ŞEKER Fonksiyonel programlamada kullanılan fonksiyon tarzlarından birisidir. Buna göre bu tarzda yazılmış olan bir fonksiyon doğrudan değer döndürmek yerine, ilave bir parametre ile fonksiyondaki hesaplamaları taşır. Devamsal geçiş tarzında yazılan bir fonksiyon çağrıldığı zaman ilave olarak bir prosedür verilerek bu fonksiyonun dönüş değerine yazılır. Doğrudan çağırmada dahili olark yapılan bazı işlemler devamsal [...]

    Şadi Evren ŞEKER tarafından, 13/08/2008 tarihinde yazıldı. | Programlama Dilleri, Scheme (lisp), algoritma analizi (teory of algorithms) | A yorum var

    Kuyruk Özyinelemesi (Tail Recursion, Birikimsel Tarz, Accumulation Style)

    Yazan : Şadi Evren ŞEKER Fonksiyonel programlamada kullanılan bir fonksiyon tipidir. Buna göre bir özyinelemeli (recursive) fonksiyon kendisini her çağırmada mevcut işlenmiş değeri geçirir. Bu sayede derleyici (compiler) özyineleme yığınını (recursion stack) hafızada tutmak yerine basit bir parametre değiştirme işlemi ile sonucu hesaplayabilir. Örneğin aşağıda iki farklı faktöriyel hesabı yapan fonksiyon verilmiştir: Klasik özyineleme fonksiyonu [...]

    Şadi Evren ŞEKER tarafından, 12/08/2008 tarihinde yazıldı. | Programlama Dilleri, algoritma analizi (teory of algorithms) | 1 yorum var

    Sıralama Algoritmaları (Sorting Algorithms)

    Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde verilmiş olan bir grup sayının küçükten büyüğe (veya tersi) sıralanması işlemini yapan algoritmalara verilen isimdir. Örneğin aşağıdaki düzensiz sayıları ele alalım: 5 9 2 3 7 11 -4 6 Bu sayıların sıralanmış hali -4 2 3 5 6 7 11 olacaktır. Bu sıralama işlemini yapmanın çok farklı yolları [...]

    Seçerek Sıralama (Selection Sort)

    Yazan : Şadi Evren ŞEKER Verinin hafızada sıralı tutulması için geliştirilen sıralama algoritmalarından (sorting algorithms) bir tanesidir. Basitçe her adımda dizideki en küçük sayının nerede olduğu bulunur. Bu sayı ile dizinin başındaki sayı yer değiştirilerek en küçük sayılar seçilerek başa atılmış olur. Sıralanmak istenen verimiz: 5,7,2,9,6,1,3,7 olsun. Bu verilerin bir oluşumun(composition) belirleyici alanları olduğunu düşünebiliriz. [...]

    Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | JAVA, algoritma analizi (teory of algorithms), veri yapıları | A yorum var

    Hızlı Sıralama Algoritması (Quick Sort Algorithm)

    Yazan : Şadi Evren ŞEKER Verinin hafızada sıralı tutulması için geliştirilen sıralama algoritmalarından (sorting algorithms) bir tanesidir. Basitçe sıralanacak olan dizideki orta noktada (mean) bulunan bir sayıyı seçerek diğer bütün sayıları bu orta sayıdan büyük veya küçük diye sınıflayarak sıralama yapmayı hedeflemektedir. Bu açıdan bir parçala fethet (divide and conquere) yaklaşımıdır. Ayrıca bu seçilen orta [...]

    Birleştirme Sıralaması (Merge Sort)

    Yazan : Şadi Evren ŞEKER Verinin hafızada sıralı tutulması için geliştirilen sıralama algoritmalarından (sorting algorithms) bir tanesidir. Basitçe sıralanacak olan diziyi ikişer elemanı kalan parçalara inene kadar sürekli olarak ikiye böler. Sonra bu parçaları kendi içlerinde sıralayarak birleştirir. Sonuçta elde edilen dizi sıralı dizinin kendisidir. Bu açıdan bir parçala fethet (divide and conquere) yaklaşımıdır. Get [...]

    Yığınlama Sıralaması (Heap Sort)

    Yazan : Şadi Evren ŞEKER Verinin hafızada sıralı tutulması için geliştirilen sıralama algoritmalarından (sorting algorithms) bir tanesidir. Yıpınlama sıralaması, arka planda bir yığın ağacı(heap) oluşturur ve bu ağacın en üstündeki sayıyı alarak sıralama işlemi yapar. (Lütfen yığın ağacındaki en büyük sayının her zaman en üstte duracağını hatırlayınız. ) Sıralanmak istenen verimiz: 5,12,20,18,4,3 olsun. Bu verilerin [...]

    Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | JAVA, algoritma analizi (teory of algorithms), veri yapıları | 4 yorum var

    Yığın Ağacı (Heap)

    Yazan : Şadi Evren ŞEKER Yığın ağacı bilgisayar bilimlerinde özellikle sıralama amacıyla çokca kullanılan bir veri yapısıdır. Bu veri yapısı üst düğümün (atasının) alt düğümlerden (çocuklarından) her zaman büyük olduğu bir ikili ağaç (binary tree) şeklinde düşünülebilir. Aşağıda örnek bir yığın ağacı verilmiştir: Yukarıdaki ikili ağaçta dikkat edilirse ağaç dengeli bir şekilde sırayla doldurulmuştur. Buna [...]

    Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Bilgisayar Matematiği, JAVA, algoritma analizi (teory of algorithms), veri yapıları | 1 yorum var

    Dizi üzerinde ağaç kodlaması

    Yazan: Şadi Evren ŞEKER Ağaçlar bilindiği üzere gösterici kullanan veri yapılarıdır. Ancak verinin dizi(array) üzerinde saklanması durumunda ağacın bu gösterici özelliğinin kullanılması ne yazık ki mümkün olamamaktadır. Bunun yerine dizinin indis numaralarını kullanan bir matematiksel fonksiyon ile benzer bir yapı elde edilebilir. Yukarıda verilen ikili ağacı ve her düğümün köşesinde yazan düğüm numarasını dikkate alırsak [...]

    Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Bilgisayar Matematiği, algoritma analizi (teory of algorithms), veri yapıları | A yorum var

    Nöbetçi (Sentinel)

    Yazan : Şadi Evren ŞEKER Veri işlenmesi sırasında çeşitli durumlarda işlemin istenmeyen yerlere gitmesini engelleyen veri tipidir. Örneğin boyutu bilinmeyen bir dizi işlenirken dizinin sonuna gelindiğini anlamak için dizinin sonunda programın algılamasını sağlayan ve dizideki sayılardan ayırt edilen bir değer girmek gibi. Mesela sadece pozitif tam sayılardan oluşan bir dizide bitişi belirtmek için -1 yazılması [...]

    Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Automata (otomatlar, özdevinirler), veri yapıları | A yorum var

    Sayarak Sıralama (Counting Sort)

    ,Yazan : Şadi Evren ŞEKER Verinin hafızada sıralı tutulması için geliştirilen sıralama algoritmalarından (sorting algorithms) bir tanesidir. Basitçe sıralanacak olan dizideki her sayının kaç tane olduğunu farklı bir dizide sayar. Daha sonra bu sayıların bulunduğu dizinin üzerinde bir işlemle sıralanmış olan diziyi elde eder. Sıralanmak istenen verimiz: 5,7,2,9,6,1,3,7 olsun. Bu verilerin bir oluşumun(composition) belirleyici alanları [...]

    Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | C/C++, JAVA, algoritma analizi (teory of algorithms), veri yapıları | A yorum var

    Kabarcık Sıralaması (Baloncuk sıralaması, Bubble Sort)

    Yazan : Şadi Evren ŞEKER Verinin hafızada sıralı tutulması için geliştirilen sıralama algoritmalarından (sorting algorithms) bir tanesidir. Basitçe ardışık duran iki hafıza bloğunun birbirine nispetle sıralanması ve bu işlemin sürekli tekrarlanması sayesinde sıralar. Ardışık iki hafıza bloğuna bakmasından dolayı baloncuk ismini almıştır. Çünkü bu bakma işlemi bir baloncuğun (buble) hareket etmesi gibi sayıların üzerinde hareket [...]

    Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | C/C++, JAVA, algoritma analizi (teory of algorithms), veri yapıları | 1 yorum var

    Ramanujan Sayıları (Ramanujan Numbers)

    Yazan: Şadi Evren ŞEKER Ramanujan sayıları, sayıların küplerinin toplamı eşit olan sayılardır. 1729 sayısı da denilen seri basitçe iki farklı sayın çiftinin küplerinin toplamı olarak yazılabilen sayılardır. 1729 = 13 + 123 = 93 + 103 Aşağıda sayılar ve sayıların küpleri ve bu küplerin toplamları verilmiştir. J 1 2 3 4 5 6 7 8 [...]

    Şadi Evren ŞEKER tarafından, 05/08/2008 tarihinde yazıldı. | Bilgisayar Matematiği | A yorum var

    Mersenne Sayıları (Mersenne Numbers)

    Yazan : Şadi Evren ŞEKER Mersenne sayıları 2n-1 formülünden çıkan sayılar serisidir (sequence). Buna göre Mersenne sayıları : 1 3 7 15 31 63 … şeklinde devam edip giden sayılardır. Ayrıca asal mersenne sayıları (mersenne prime numbers) adı verilen sayılar ise 2n-1 formülünün sonucu asal olan sayılardır. Bu sayı serisi ise 3 7 31 … [...]

    Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Bilgisayar Matematiği | A yorum var

    Gerekircilik (Nedensellik, Determinism)

    Yazan: Şadi Evren ŞEKER Bir olayın başka bir olayı gerektirmesi durumudur. Basitçe neden-sonuç ilişkisine dayanlı felsefi yaklaşımdır. Buna göre bütün olaylara nesnel bir yaklaşımda bulunulur ve bu yaklaşım her zaman aynı sonucu verir. gerekircilik yaklaşımı aynı zamanda bir düşünce yapısının incelenmesinde de kullanılabilir. Örneğin ekonomik nedesellik (economic determinism) altında bir tarihi olayı incelemek bu tarihi [...]

    Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | bilgisayar felsefesi | A yorum var

    Matris Mod (Masfuf Hali,Matrix Mod)

    Yazan : Şadi Evren ŞEKER Bir matriksin modulosunu alma işlemidir. Basitçe bir dizide bulunan sayılardan en fazla tekrarlı olanını döndürür. Şayet sayılardan hiçbirisi tekrar etmiyorsa o zaman bu matriksin mod’u yoktur. Şayet aynı sayıda tekrar eden iki farklı sayı bulunuyorsa o zaman matriksin mod’u bu sayıların tamamını içeren bir dizidir. Örnekler: int[] a = {4,5,7,3,2,5,6,8} [...]

    Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Bilgisayar Matematiği, algoritma analizi (teory of algorithms) | A yorum var

    Hamming Mesafesi (Hamming Distance)

    Yazan : Şadi Evren ŞEKER Hamming mesafesi bilgisayar bilimlerinde aynı uzunluktaki iki dizgi (string) arasında, birbirine dönüşmesi için gerekli olan yer değiştirme sayısını verir. Yani basitçe bir dizginin diğer dizgiden ne kadar farklı olduğunu gösterir. Örneğin aşağıda bazı dizgiler arasındaki hamming mesafesi verilmiştir: 100011101 100101101 = 2 düğün düşün = 1 Bu durum bir küp [...]

    Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Bilgisayar Matematiği, algoritma analizi (teory of algorithms) | A yorum var