8 Haziran 2015 Pazartesi

Kısa Kısa: Elektrik Şebekesi Nedir ?

Elektrik enerjisinin elektrik üretim merkezlerinden (barajlar, termik ve doğal gaz santralleri, güneş ve rüzgar enerjisi santralleri, jeotermal santraller vs) bu enerjinin kullanıldığı şehirlere kadar dağıtılıp evler, sanayi merkezleri ve fabrikalara kadar iletildiği havai ve yer altı hatlarından oluşan enerji ağına elektrik şebekesi denir. Şebeke elektrik üretim, iletim ve dağıtım olarak 3 ana kısımdan meydana gelir.


Üretilen düşük gerilimli (400 V – 1000 V) elektrik güç trafoları ile yüksek gerilim seviyesine (50,000 V - 300,000 V) çıkarılır. Bu sayede uzak mesafelere iletimden kaynaklanan kayıplar en aza indirilmiş olur. Bu yüksek gerilim iletim hatlarıyla kilometrelerce taşındıktan sonra şehir merkezlerindeki dağıtım trafolarında orta gerilim seviyesine (4,000 V – 36,000 V) indirilir. Bu gerilim orta gerilim iletim hatlarından direk tipi trafolarda düşük gerilim seviyesine (400 V) indirilerek evlerimize ulaştırılır.


Üretim jenaretörleri, iletim hatları ve trafo merkezlerinden oluşan elektrik şebekesinin sağlıklı bir şekilde işlemesi, ani yük artışlarına ve yük düşümlerine karşı gerilim ve frekans seviyesinin sabit tutulması ve talep edilen enerjinin kesintisiz sağlanması elektrik güç sistemleri mühendisliğin çalışma alanlarıdır. Yeni kurulan şehirlerin yük profillerinin çıkarılması, gelecek enerji ihtiyacı tahminlerinin yapılması ve eğer gerekiyorsa yeni üretim merkezlerinin ne büyüklükte ve nereye kurulacağının belirlenmesi ve tüm bunların var olan şebeke sistemine nasıl entegre edileceği de bu alandaki mühendislik çalışmalarını kapsar.



Kısa Kısa: Kapalı Döngü Kontrol Nedir ?

Kapalı döngü kontrol, bir sistemin çıkış değerlerinin istenilen (referans) değerde olup olmadığını çıkışı ölçüp girişle karşılaştırarak karar veren ve eğer aynı değilse giriş ve çıkışı aynı seviye getirmeyi amaçlayan yönteme verilen isimdir. Çıkışı tekrar girişe götürerek bir geri besleme döngüsü oluşturduğu için bu ismi almıştır. Açık döngü kontrole göre sistemlerin sürekli kararlı ve istenilen noktada çalışmasını sağladığı için kontrol mühendisliğinde oldukça popülerdir.


Çevremizdeki çoğu sistem bu kontrol yöntemi ile çalışır. Klimaların ve kombilerin sıcaklık sabitleme üniteleri, arabalardaki hız sabitleme (cruise control) sistemleri, füze ve roketlerdeki hedefe kitlenme mekanizmaları ve çok daha karmaşık çoğu sistemde kapalı döngü kontrol kullanılır. Değişen tek şey ölçülen ve karşılaştırılan verilerin türüdür. Sıcaklık, hız, kimyasal miktar, ışık, basınç, kuvvet gibi fiziksel büyüklükler genelde elektriksel büyüklüklere çevrilerek döngü içerisinde gerekli işlemleri yapmak için bir mikro denetleyici (controller) ile işlenir. İşlenmiş verilerse tekrar fiziksel dönüştürücülerle (actuators) dış ortalama verilerek döngünün tamamlanması sağlanır.


Kapalı döngü elle yapılan manuel kontrolün bilgisayarlarla otomatik bir şekilde yapılmasıyla da açıklanabilir. Bu durum işlem odasının sıcaklığını gözlemleyip ısı üretecinin vanasını gerektiğinde açıp kapayarak sıcaklığı bir seviyede tutmaya çalışan bir operatöre benzetilebilir. Burada operatör hem çıkıştan(oda sıcaklığı) veri alan hem de bu veriyi işleyip kontrol eden(vana açıp kapama işlemi) bilgisayar olarak düşünülebilir.




Kısa Kısa: Örnekleme(Sampling) Nedir ?

Örnekleme, bir sürekli sinyal olan analog işaretin belli aralıklarda kaydedilerek sayısal sinyale dönüştürülme işlemidir. Analog işaretin kaydedilme sıklığı örnekleme frekansını gösterir. Sinyalin kayıpsız bir şekilde analog dünyaya tekrar dönüştürülmesi için örnekleme hızının sinyalin değişim hızından iki kat yüksek olması gerekir. Buna Nyquist oranı denir.

Örnekleme zaman ekseninde bir niceleme (quantization) olarak düşünülebilir. Bir akustik dalga olan ses, mikrofonda elektik gerilimi varyasyonlarına dönüştürüldükten sonra arayüz cihazları (ses kartları vs) tarafından örneklenir. Örneğin CD’lerde kullanılan örnekleme, insanın duyma ses frekansı sınırı olan 20,000 Hz’ün yaklaşık  iki katı 44,100 örnek/saniyede ve 16 bit kelime uzunluğunda yapılır. Bu değer analog sinyalden saniye 44,100 örnek alınması ve her örneğin dijital ortamda 16 bit ile gösterilmesi anlamına gelir.


Örnekleme, yapılan dijital kaydın kalitesini belirler. Daha yüksek frekansta yapılan örneklemeler analogtan dijitale daha kaliteli bir dönüşüm sunarken veri boyutu bakımından ise oldukça fazla yer kaplayacaklardır. Ayrıca bir sinyal tekrar analog ortama verilerin (D/A) yine örneklendiği frekanstan verilmelidir. Aksi takdirde kendi frekansından daha düşük bir frekansta çalınırsa (ses için) yavaşlama, yüksek bir frekansta çalınırsa seste hızlanma görülür.




7 Haziran 2015 Pazar

Kısa Kısa: CSS Nedir ?

Cascading Style Sheets (Basamaklı Stil Şablonları), HTML sayfalarının toplu ve organize bir şekilde stillendirilmesi için geliştirilmiş bir web teknolojisidir. CSS sayesinden web sayfaları için toplu stil şablonları oluşturmak veya bağımsız olarak nesnelerin font, renk, boyut vs gibi özelliklerini html kodundan ayrı  ve bağımsız düzenleyebilmek mümkün hale gelmiştir.


CSS, web tasarımının HTML ile birlikte kullanılan önemli bir ögesidir. Üçüncü sürümü ile birlikte eskiden web tasarımcılarının flash ve photoshop kullanarak hazırladıkları çoğu grafik, stil, animasyon, hareket ve dinamizmi Javascript ve Jquery diğer gibi web teknolojileri ile birlikte kolay ve çok daha hızlı bir şekilde sadece kod ile hazırlanmasına imkan sağlamıştır.

CSS, HTML taglarını genel ve özel tanımlamalarla stillendirerek web tasarımcılarına istenilen zamanda web sayfasının içeriğinden bağımsız olarak tasarımını değiştirme imkanı sunar. Böylece aynı şablonun binlerce farklı tasarımla kullanılmasını sağlayarak daha hızlı, ekonomik ve göze hoş gelen web sayfalarının oluşturulmasını kolaylaştırmıştır.




Kısa Kısa: HTML Nedir ?

HTML, web sayfalarındaki içeriklerin (yazı, resim, link, form vs) sayfa açıldığında nasıl gösterileceğini düzenleyen bir biçimlendirme dilidir.  Bir html sayfası, “tag” denilen ve sayfa içerisindeki nesneler ve sayfa özellikleri için belirlenmiş özel etiketlerden oluşur. HTML, bir programlama dili değildir, istemci tarafında web tarayıcı tarafından yorumlanır. Bu nedenle web tasarımdan kastedilen web programlamadan farklı olarak genelde sayfanın HTML içeriğidir.


İlk web sunucusu 1989 yılında World Wide Web’in yaratıcısı Tim Berners Lee tarafından CERN’de NeXT marka bir bilgisayarda kurulmuştur. İnternetteki ilk web sayfası olarak bilinen site ise şu an da http://info.cern.ch/hypertext/WWW/TheProject.html adresinden tekrar görülebilir.


Günümüzde HTML standartları W3C tarafından belirlenmektedir. İstemci ve sunucu tabanlı diğer web teknolojileriyle daha uyumlu çalışması ve daha dinamik web sayfalarının oluşturulması için sürekli geliştirilen HTML’in son sürümü ise HTML5’tir.




30 Mart 2015 Pazartesi

Bilgisayar Grafikleri ve Rendering

İlk bilgisayarlardan günümüze şüphesiz gözle görülebilen en büyük değişim bilgisayar grafiklerinde yaşanmıştır. Görüntülerin, ilk yıllarda sadece hesap yapma ve veri yönetimi gibi görevler için geliştirilen basit metin tabanlı grafiklerden zamanla göz dolduran ve çoğu zaman gerçekle ayırt edilemeyen 3 boyutlu grafiklere evrilmesi benim gibi çoğu kişinin de merakını cezbetmiş bir süreçtir. Bu sürecin arkasında her yıl giderek artan bilgisayar hızları ve işlemci kabiliyetleri yanında görüntü motorlarının beyni olan matematik modellerinin de büyük payı vardır. Gerçekçi, kaliteli ve ayrıntılı görüntülerin hızlı bir şekilde üretilmesi (bilgisayar oyunları, animasyonlar ve görsel efektler) için bu modellere ait denklemlerin hızlı bir şekilde çözülmesi ve uygun verilerle işlenmesi gerekir. Sanıldığının aksine bir tek görüntü için bile birçok hesap (ışık kaynağına göre parlaklık, gölgeleme, yansıma, iz düşüm vs) yapılır ki bu da birçok görüntünün iç içe girdiği ve anlık üretilmesi gereken uygulamalarda çok yüksek bir işlem gücüne ihtiyaç olduğunun kanıtıdır.



Peki nedir bu grafik işlemleri ? Tabi ki hepsinden bahsetmek imkansız (eğer ilginiz varsa "Bilgisayar Grafikleri" ile ilgili dersler almanızı veya "Fundamentals of Computer Graphics - P. Shirley, S. Marschner" kitabını okumanızı tavsiye ederim), bu yüzden bu yazıda sadece rendering'den bahsedeceğim.

Rendering, bilgisayar litaretüründe 3D bir modelin 2D görüntüsünün (resminin) elde edilmesine denir. 3D bir modeli niye 2D'ye çeviriyoruz diyebilirsiniz, dikkat edin 3D bir görüntüyü değil bir modeli görüntüye çeviriyoruz. Bunu bir ressamın veya sanatçının gördüğü bir nesneyi tuvaline resmetmesi gibi düşünebilirsiniz. Nesneler 3 boyutludurlar ama görüntüleri her zaman (hologramlar istisna) 2 boyutlu düzlemlerde veya yüzeylerde görüntülenir. Aynı şey bilgisayarlarda da gerçekleşir. Nesneler 3 boyutlu uzayda matematik vektörleri ve yüzeyleri ile ifade edilerek modellenir. Pekala bu nesnenin herhangi bir gözlem noktasından bakıldığında gözde oluşacak 2 boyutlu görüntüsü nasıl oluşur ? İşte rendering böyle bir soruya cevap veren bilgisayar algoritmasıdır.



Eğer rendering'i bir fonksiyon gibi düşünürsek belki de şu şekilde tasvir edebiliriz;

"Uzaydaki herhangi bir nokta ve o noktadan çıkan bir yön vektörünü, bir görüntü matrisine (resim) götüren işleme denir."

Bu tanım benim tamamen kendi kafamda basitleştirdiğim bir anlama karşılık gelir. Gerçekte böyle bir işlem için yukarıda da bahsettiğim gibi ışık, yansıma, konum, hareket gibi bir çok parametrenin de dahil olduğu daha karmaşık fonksiyonlarla icra edilir.



Uzayda kırmızı renkli bir küp düşünün. Tabi bu küpü görebilmek için ise bir ışık kaynağı hayal edin, bu kaynağı dilediğiniz yere yerleştirebilirsiniz. Bu küpü zihniniz hemen iki boyutlu bir görüntüye çevirecektir. Çünkü tüm yönlerini bir anda görmeniz imkansızdır. Şimdi küpe farklı açılardan, yerlerden ve uzaklıklardan bakın. Her hareketinizde görüntünün değiştiğini görürsünüz. Bazı yerlerde tek kenarını, bazen iki, bezense üç kenarını birden göreceksiniz. Yine bulunduğunuz yere ve küpün ışık kaynağına göre konumundan dolayı farklı kenarlar farklı derecelerde gölgeli görünecektir. Ayrıca radyal hareketlerde görüntünün boyutu sabit kalırken küpten uzaklaşırken veya ona yaklaşırken yapacağınız doğrusal hareketler gözünüzde oluşan küpün boyutunu da değiştirecektir. Şimdi aynı uzaya bir de küre ekleyelim. Kürenin kendine has geometrisi, yüzeyi, ışık tepkisi gibi bir çok farklı parametresinden dolayı tüm bu hareketlerde farklı görüntüler elde edeceksiniz. Mesela kenarları olmadığı için uzaydan hep daire şeklinde görülecek veya ışığa maruz kaldığında bir yarı küresi karanlıkta kalacaktır. İşin zor tarafı ise bundan sonra başlayacaktır. Uzaya koyduğunuz her nesne diğer tüm nesnelerin görüntülerini etkileyecek, bazen yansımalarla bir ışık kaynağı gibi davranırken bazen de ışığı önleyen bir engel görevi görecektir. Ayrıca bu nesnelerin olası hareketleri de yine tüm değer kümesinin elemanlarını değiştirecek, görüntülerin tekrar hesaplanıp üretilmesine neden olacaktır. Zihninizin anlık yaptığı tüm bu işlemleri bilgisayarlara yaptırmak ise azim, tecrübe, akıl ve kurursuz bir mühendislik gerektirir.



Gördüğünüz gibi sadece iki nesneli ve bir ışık kaynağı olan uzay modelinin farklı noktalardan 2 boyutlu resmedilmesinin altında bile çok ince, hassas ve ileri seviyede hesaplama ve işlem gücü yatar. Bu durum bilgisayar oyunları gibi (ki bu oyunlarda değişen, hareket eden, ortaya çıkan/kaybolan binlerce nesne vardır), bu türden işlemlerin her saniye başına 30-40 (fps) kere yapılması gereken uygulamalarda özelleşmiş grafik işlemcilerin (ekran kartları) kullanılmasını gerektirmiştir. Böylece tüm bu işlemler merkezi işlem birimini meşgul etmeden, bu iş için özel tasarlanıp üretilmiş, çok çekirdekli matematik işlemcilerinde paralel bir biçimde icra edilirler.



Rendering, 3 boyutlu modellemelerin kullanıldığı hemen hemen her program tarafından yapılan bir işlemdir. Bilgisayar oyunları ve bilgisayar destekli çizim programları, özel film efektleri, animasyon filmler ve daha nice uygulamarlarda tasarlanan her 3D model ekrana bir takım rendering işlemlerinden geçirilerek (bkz:perspektif) 2 boyutlu olarak yansıtılır. Yani her zaman dediğim gibi işin mutfağında büyük bir emek vardır.

Bu konuda araştırma yaparsanız özellikle animasyon şirketlerinin, oyun ve film üreticilerinin oldukça keyif alarak izleyebileceğiniz videolarına rastlayabilirsiniz. Çoğu film için "sahne arkası" çekimleri, oyun motoru tasarımları, animasyon hazırlama kursları ilginizi çekebilir. Ayrıca bu iş için matematik bilginizi de canlı tutmanız ve doğrusal cebir ve analitik geometri gibi konulardan da keyif almanız gerekebilir.




Eğer programlama kısmına kendinizi yakın hissediyorsanız, OpenGL öğrenmeniz ve kendi 2 boyutlu oyunlarınızı kodlamanız oldukça eğleneceğiniz ve tecrübe kazanacağınız aktiviteler olacaktır.

Aşağıda fikir edinmek ve motivasyon kazanmak için izleyebileceğiniz videoları paylaşıyorum.

Hepinize iyi eğlenceler ve iyi çalışmalar.

@Emin_Ucer