28.02.2009

Bilgi Görselleştirmesi Nedir?

Her yıl bir önceki yıla göre daha çok bilgi ortaya çıkıyor. Bilişim teknolojilerinin gelişimi ile bu bilgileri toparlamak, depolamak, ve işlemek giderek kolaylaşıyor ve yaygınlaşıyor. Bilgi görselleştirmesi bu karmaşayı anlamlandıracak tekniklerin çalışması olarak bilgisayar bilimleri ve grafik tasarımı alanlarının birleşiminden oluşuyor.

Bilgi görselleştirmesi alanında doktora yapmış ender tasarımcılardan Ben Fry MIT’de “İşlemsel Bilgi Görselleştirmesi” başlığıyla tezini tamamladı 2006 yazında (PDF).  Başındaki işlemsel eki klasik sayıları gösteren chart, graph, veya Tufte benzeri ele emeği vb. grafik işlerden yolunu ayırıyor. Bu konulardan tarih ve altyapı kısmında bahsediyor ve sadece bilgisayar programlayarak bilgi görselleştirme işine odaklanıyor. Fry bilgi görselleştirme işini belli adımlara böler ve bu adımlar arasındaki ilişkileri anlatır:

  1. topla (“acquire”)
  2. ayrıştır (“parse”)
  3. süz (“filter”)
  4. incele (“mine”)
  5. göster (“represent”)
  6. düzelt (“refine”)
  7. etkileş (“interact”)

benfry-visualizing-data-bookBilgi görselleştirmesi yaparken sık sık bu adımlar arasında gidip geliniyor, yemek yapar gibi belli bir lezzete anlayışa kıvama ulaşmaya çalışıyoruz. Bilgi görselleştirmesi sonucunda bir anda anlaşılamaycak kadar karmaşık sistemler görünür ve dolayısıyla tartışılabilir hale geliyor.

Bu kısa yazıyı da yaklaşık iki yıl sonra taslaklarda buldum ve tekrar düzenledim. Bu arada Fry’ın tezi O’Reilly’den “Visualizating Data” adıyla kitap olarak yayınlandı.

20.11.2008

Open Sound Control ile Processing – Pure Data Haberleşmesi

Yeni Formlar: Reaktif Müzik yazısında konu Pure Data‘dan (PD) açılmışken, işlemsel ses ve müzik konusunda oldukça kuvvetli olan bu gerçek-zamanlı grafiksel programlama ortamını, şahsen grafik ve video işleme konusunda daha doğrudan kontrol sağladığını düşündüğüm Processing ile haberleştirmenin ve bu iki alemin güçlerini birleştirmenin yolunu gösteren bir yazı yazmaya karar verdim. Burada vereceğim örneği elbette sadece Processing veya sadece Pure Data (pd-extended paketinin içinde gelen veya PD’ye ayrıca ekleyebileceğiniz OSCx ve GEM kütüphanelerini kullanmak suretiyle) ile yapmak da mümkün ama daha karmaşık uygulamalar için (mesela ağ üzerinden, değişik platformlarda yazılmış programların entegrasyonu) bir örnek olma amacı taşıyor.

Hem PD hem de Processing (Python, Ruby, Java, Microsoft.Net, vvvvMaxMSPLiveAPI, OSCulator vb. sayısız ortam gibi) Open Sound Control – OSC protokolünü destekliyor. OSC, bilgisayarlar, synthesizer’lar ve bilimum çeşit multimedya cihazını birbirine bağlamayı kolaylaştırmak için geliştirilmiş, modern ağ teknolojileri ile hatasız, birlikte çalışan, esnek sistemler kurmak için birebir bir protokol. Bunun yanında ağlar üzerinde çalıştığı icin MIDI’nin sunamadığı yeni türden etkileşimlere de (İnternet üzerinden gerçek-zamanlı etkileşim, değişik veri tiplerini ve donanımları birbirine bağlamak gibi) imkan sağlıyor.

İşin Processing ayağından başlayalım:

Önce oscP5 kütüphanesini indirmek gerekiyor. Normalde yapılanın aksine, sıkıştırılmış dosyaları açtıktan sonra libraries klasörüne değil, sketches klasörü içine atıyoruz. Bu kütüphane birçok örnekle gelse de, buradaki amacımız için aşağıdaki gibi sade bir kod yazabiliriz:

import oscP5.*;
import netP5.*;

OscP5 oscP5;
NetAddress myRemoteLocation;

void setup() {
size(400,200);
frameRate(25);
stroke(255);
oscP5 = new OscP5(this,12000);
myRemoteLocation = new NetAddress("127.0.0.1",9999);
}

void draw() {
background(0);
}

void mouseDragged() {
line(mouseX, 0, mouseX, height);

OscMessage msg1 = new OscMessage("/msg1");
OscMessage msg2 = new OscMessage("/msg2");

msg1.add(map(mouseX, 0, width, 69, 100));
msg2.add(50);

oscP5.send(msg2, myRemoteLocation);
oscP5.send(msg1, myRemoteLocation);
}

void mouseReleased(){
OscMessage msg2 = new OscMessage("/msg2");
msg2.add(0);
oscP5.send(msg2, myRemoteLocation);
}

Bu örnek tek bilgisayarda lokal olarak çalışıyor ama IP adresini değiştirerek ağ üzerinde çalışır hale getirmek de olası. Burada 9999 numaralı porta iki mesaj yolluyoruz. Birincisi mouse’un x koordinatını okuyarak 69 ile 100 arasında bir değer ile eşleştiriyor. Daha sonra PD, bu değerleri MIDI girişi olarak alıp frekansa çevirecek.

Bu program çalışırken PD’yi açıp oynamaya başlayabiliriz. Herşeyin düzgün çalışabilmesi için PD_extended–>Preferences–>Startup içinde “oscx”in olması gerekiyor. Pure Data ile haşır neşir olmamış ama bu vesileyle girişmeye niyetlenmiş olan varsa buradan ve buradan başlayabilirler. Temel nesneler dışında dumpOSC ve OSCroute nesnelerini kullanıyoruz ve 9999 no’lu portu dinleyip Processing’den gelen mouse değerine göre frekansı değişen bir kosinüs dalgası yaratıyoruz:

PD kodunu da aşağıya ekleyip ilk eğitsel-öğretsel yazımı burada noktalıyorum:

Diğer yönde, PD’den Processing’e mesaj göndererek, Processing ekranına daire veya kare çizdiren örnek kod:

Düğümküme’de yayımlanan ilgili yazılar:

28.09.2007

Dörtyüzsaniye Geri Döndü

dortyuzsaniye4_web.jpg

Difüzyon farklı tasarım alanlarını bir araya getirmeye devam ediyor. 4 Ekim 2007 Perşembe Akşamı Studio Live’da gerçekleştirilecek olan tasarım etkinliği DÖRTYÜZSANİYE’ de mimarlık, moda, grafik, ilüstrasyon, pasta, müzik ve gibi farklı yaratım alanlarından tasarımcılar bir araya gelecek.

27.09.2007, İstanbul – Hızlı sunum formatıyla İstanbul tasarım çevresine yeni bir soluk getiren ve ilk üçü yoğun ilgi gören DÖRTYÜZSANİYE, 4 Ekim Perşembe Akşamı Studio Live’da gerçekleşecek.

Farklı alanlardan yaratıcı çalışmaların ortak bir platformda sergileneceği DÖRTYÜZSANİYE ‘ de, her bir tasarımcı kendi seçtiği bir çalışmasını, 400 saniye boyunca, projeksiyon eşliğinde izleyicilere sunacak. Etkinlikte sunum yapacak olan tasarımcılar, amatör ve profesyonel ayrımı gözetilmeden proje bazında değerlendirilerek seçildi. Studio Live’daki etkinlikte Erdem Helvacıoğlu, Frederik de Smedt*, Koray Kantarcıoğlu, SHRWR*, Sadi Güran-Deniz Cuylan-Senem Akçay, Mahir M.Yavuz&Ebru Kurbak, Coccolat, 389g, 8artı ve Erkin Gören sunum yapacak. İzleyicilerle birlikte interaktif bir ortamda gerçekleşecek olan sunumlar, aynı zamanda farklı tasarım disiplinlerinin de birbirleriyle etkileşime geçmesi açısından da ayrı bir anlam taşıyor.

Difüzyon profesyonel ve amatör tasarımcıların bir araya geldiği bir tasarım grubudur. Tüm grup üyeleri kentsel sanat formları, dijital dünya ve İstanbul kent yaşantısıyla yakından ilgilidir. Mimarlık, grafik, moda, endüstriyel tasarım, fotoğraf ve video gibi yaratıcı düşün alanlarını tek bir platformda toplayarak birbirleriyle daha yakından etkileşime geçmesini amaçlar.

*Sunum İngilizce olacaktır

28.06.2007

Pentagram'ın Sırrı ve Kabulü

pentagram9hm1

Bahsettiğimiz pentagram, rock grubu Pentagram veya New York’lu tasarım ajansı Pentagram değil. Renk çemberi üzerinde merkeze eşit uzaklıkta(yarıçap) ve aynı zamanda birbirlerine eşit uzaklıkta 5 tane nokta saptayın. Bu bahsettiğimiz matematiksel ilişkiyi koruyarak oluşturduğunuz herhangi bir renk kümesine(paletine) pentagram denir. Renk teorisi ile ilgilenenler bu metod ile bulunmuş renkleri, uyumlu renkler(armonik renkler) olarak adlandırırlar.

pne

Adobe CS3 Illustrator, yeni versiyonunda ‘Renk rehberi(Color guide)’ isimli yeni bir araç ile paketleniyor. Yukardaki bahsedilen matematiksel ilişkileri deneyebileceğiniz bu araç sadece pentagram değil, noktalar arasındaki daha birçok açısal ilişkiyi kendi seçtiğiniz başlangıç noktasından yola çıkarak hesaplıyor ve tasarımda kullanılmak üzere hazır hale getiriyor.

Kriz yaratan olimpiyat logosuna bakıp renklerini ‘iğrenç’ bularak yorum yapanlar oldu. Haklı olabilirler. Renkler gerçekten iğrenç olabilir. Ayrıca zevkler ve renkler tartışılmaz. Ben ise logonun renklerine bakar bakmaz güzel veya çirkin diye düşünmeye bile fırsatım olmadan ağzımdan ‘Pentagram’ kelimesi çıkıverdi. Siz de benim gibi Adobe CS3 öncesi renk araçlarından birine sahip olduysanız, bir renk tekerleğine uzun dakikalar baktıysanız veya Munsell sistemini incelediyseniz, renkler arasındaki bu basit matematisel ilişkiden doğan uyuma aşina oldunuz demektir.

Peki pentagram’in değeri nedir? Tasarımdaki yeri nedir? Ve ne işimize yarar?

Teorideki bu uyumdan ne kadar bahsedersek bahsedelim, yine de bu metodoloji günü kurtarmaya yetmiyor. Tüketicilerden biri çıkıp “renkler iğrenç olmuş” gibi bir yorum yapabiliyor. Şöyle düşünün: grafik tasarımda nasıl dörtgenlerin arasındaki X’in katları gibi oransal bağıntılara önem veriliyorsa, renk de biçime ait bir özellik olarak kabul edildiğinden pentagram da aslında en az onun kadar önemli sayılabilir.

Tasarım normalde tasarlayan kimsenin(tasarımcının) estetik, fonksiyonel ve objeye ait veya sürece dair araştırma, düşünme ve modelleme süreçlerini içinde barındırır. Tasarımcının etkileşimli müdahalesi ve döngüsel olarak yeniden tasarlama süreçlerini de kapsar. Ama tasarım süreci bizi her zaman estetik bir sonuca götürmeyebilir. Mesela grafik tasarımda en önemli olan şeylerin başında mesaj ve iletişim arasındaki ilişki gelir diye kabul edilir. Bu kadar kesin konuşabilmemizin sebebi ise artık grafik tasarımın iyice anlaşılmış olmasındandır. Bu yüzden göze ne kadar güzel gözükürse gözüksün, alakasız bir tasarım iyi bir tasarım değildir diye kabul edilir.

Fonksiyonel tasarımda bazen estetik ilişkisinin öneminin tamamen ortadan kalktığı durumlar oluşur. X’in katlarını kullanmak yerine 1x, 2.13x, 3.57x gibi rastgele ve karmaşık oranlar kullanarak daha anlamlı sonuçlar elde etmemiz mümkündür. Göze güzel gelsin veya gelmesin bir noktaya eşit uzaklıktaki 5 nokta ve bu noktaların arasındaki eşit mesafeden bahsediliyorsa burada aslında matematiksel formülde bir sadelikten bahsediliyordur. Bu da bizi basite ve anlaşılır olana götürür. Renkler günlük hayatta genellikle fiziksel özelliklerinden ve frekans ilişkilerinden çok psikolojik etkileri veya görsel algılamamıza özellikleri dahilinde yoğunca kullanıldıklarından, değerlendirme yaparken yukarda saydığımız matematiksel-soyut ilişkinin önemini anlamayız. Ama bu yanlış değildir.

Yukarda saydığımız tasarım süreçlerinin ‘araştırma’ adımına yeterince önem vermeyen tembel bir tasarımcı veya renklerin psikolojik anlamlarını dert etmek yerine probleme doğrudan fonksiyonel bir çözüm getirmek için yaklaşan bir tasarımcı için, ör: kareografik bir tasarımda aktörlerin birbirlerine karışmadan kolayca seçilebilmeleri için aralarında fark yaratmak gerektiğinde, farklı renkleri kullanmak en mantıklı tercihlerden biri olabilir. Enformasyon tasarımı alanında bunun sonsuz örnekleri mevcuttur.

Bir tabloda Adana’ya düşen yağmur miktarı yeşil puantiyeli alanlar, İstanbul’a düşen yağmur miktarı ise sarı üzerine siyah diagonal taramalı alanlar ile gösteriliyorsa bu tam tersine çevrilse bile aradaki kontrast değişmeyeceğinden görsel okumada bir değişiklik olmaz.

dogs.jpg

Rezervuar Köpeklerinde Mr. Pink (Steve Buscemi) takma isminden duyduğu hoşnutsuzluğunu dile getirmişti

Psikolojide renklerin yeri ayrıdır. Sarı dikkat çekici bir renktir ama küçük alanlarda etkisi daha iyi sonuç verir diye düşünülür. Zenginliğin rengi mor olarak kabul edilir, kırmızı enerjik ve güçlü olanı temsil eder, yeşil doğaldır, mavi derinliği ve sabitliği dolayısı ile güvenli olanı sembolize eder. Sayısal metodolojiler perspektifinden bakıldığında renkler yukarda sayılan psikolojik anlamlarını bırakırlar. Ve frekans düzleminde soyut ilişkiler içersine girerler.

Bu aslında garip bir durum değildir. Fibonacci serilerini veya ( a + b ) / a = a / b denklemi ile elde edilen altın oranı düşünün, basitçe 1x‘e 1.44x veya 1x‘e 1.6180339887x insan gözüne hoş gelen oranlar olarak kabul edilir. Tabii yine bunun tasarımdan tasarıma ve bağlamlar dahilinde bazen çalışmayabileceğini tekrar etmeğe gerek yok. Şimdi tasarımcının elinde artık bu basit ve aynı zamanda karmaşık olabilen hesaplamaları yapabilecek bir alet olduğuna göre kullanıldıkçca Olimpiyat Logo Krizine yol açan renk uyumsuzluğunun altında yatan gizli uyum, beğeni filtrelerimizden geçmeyi başararak daha kolay kabul görecektir. İster sevin, ister iğrenç bulun gözümüz buna alışmaya başlayacak. Hesaplayabildikçe anlayacağız, anladıkça da kabul edeceğiz.