Processing Dili Nedir? |
ElektrikPort Akademi
Basit bir programlama dili olan Processing, programlama öğrenmeye başlamak, Arduino ile etkileşimli çalışabilecek basit programlar yazmak için iyi bir seçenek veya eğlenceli bir hobi olabilir. Bu yazımızda sizlerle birlikte Processing dilini inceleyeceğiz.
15.06.2015 tarihli yazı 55711 kez okunmuştur.
Processing Dili Nedir?
Processing dili 2001 yılından bu yana görsel odaklı geliştirilen basit seviyede bir programlama dili ve ortamıdır. Hızlı prototip çıkarma ve eskiz çalışması yapabilme için geliştirilse de zaman içinde programlama temellerini anlayabilmek ve anlatabilmek için programlamaya giriş aşamasında eğitim aracı olarak kullanılmaya başlanmıştır. Processing, programlamaya yeni başlamış insanların kullanabileceği bir tümleşik geliştirme ortamıdır. Bu tümleşik ortam kolay bir şekilde programlamayı öğretirken aynı kolaylıkla zengin görsellikler yaratmaya yardımcı oluyor.
►İlginizi Çekebilir: Processing Programlama - 1. Bölüm
Türkiye'de çok fazla yaygın olmasa da yurtdışında özellikle görsel sanatçıların çok sıklıkla kullandıkları bir programlama dili olan Processing, 100'den fazla kütüphane içermektedir. Çoklu ortam türleriyle (video, resim, ses gibi) sorunsuz ve kolay bir şekilde çalışılabilmesi, çok kolay öğrenilebilir olması, programlama prensiplerini anlamaya olanak sağlaması nedeniyle birçok araştırmacı, öğrenci, tasarımcı ve sanatçı tarafından kullanılmaktadır.
Processing dilinde prototip amaçlı oluşturulduğu için klasik programlama dillerindeki yapı ikinci planda kalıyor. Ekstra hiç bir komut kullanmadan sadece hazır fonksiyon ve nesneleri kullanarak program yazabiliyorsunuz. Bu da öğrenme sürecini hızlandırıyor ve bilgisayar mimarisine girmeden temel programlamayı kavrayabilmenizi sağlıyor.
Şekil 1: Processing Programlama Dili için Örnekler
Şekil 1: Processing Programlama Dili için Örnekler
Ayrıca bu yapı kullanıcıya esneklik sağlıyor. Kağıt üzerinde çizdiğiniz bir karakteri kolayca programa aktararak onu hareketlendirebiliyor ya da zengin kütüphaneleri kullanıp profesyonel programlar yazabiliyorsunuz.
Processing dilini incelediğimizde Java'ya olan benzerliği fark ediliyor. Fakat Java'dan en önemli farkı grafikler ve iletişim metodları üzerine özel nitelikleri olması. Geliştirme arayüzü Processing Development Envirioment (PDE), Processing için özel tasarlandığı için çok basit ve sade, bir o kadarda kolay bir arabirim. Yazdığınız programları çalışmaya hazır hale getirebilmek için sadece PDE deki "export" butonunu kullanmak yeterli.
İlk Program
void setup() {
size(400, 400);
stroke(255);
background(192, 64, 0);
}
void draw() {
void draw() {
line(150, 25, mouseX, mouseY);
}
void mousePressed() {
saveFrame("output-####.png");
saveFrame("output-####.png");
background(192, 64, 0);
}
Şekil 2: Yazılan Programın Ön İzlemesi
►İlginizi Çekebilir: Yazılıma Başlarken Programlama Dili Seçimi
Şimdi kodları birlikte inceleyelim;
►void setup(); Program ilk başlatıldığında atanacak özellikleri belirler. Bu bloktaki kodlar program ilk çalıştırıldığında işletilir ve program yeniden çalıştırılana kadar tekrar işletilmez.
►size(x,y); Program çalıştığında açılacak pencerenin boyutunu piksel cinsinden belirler. Burada x genişlik y ise yüksekliktir. Bu pikseller arasında bir koordinat sisteminde olduğu gibi koordinat belirterek çalışabiliriz.
►stroke(r,g,b); Burada ekrana yazdırılacak ya da çizdirilecek nesnelerin rengi belirlenir. Renk yoğunlukları 0-255 arasında verilecek sayıyla belirlenir. "r" kırmızı yoğunluğunu, "g" yeşil yoğunluğunu "b" mavi yoğunluğunu belirtir.
►stroke(r,g,b,t) şeklinde kullanıldığında t ye girilen değer (0-255 aralığında) transparanlığı ayarlar.
►stroke(w) şeklinde de kullanılabilir w yerine web renkleri cinsinden değer yazılabilir.
►stroke(128, 100,0,128) // kırmızı yoğunluğu %50, yeşil %40, mavi %0, transparanlık %50
►stroke(#FF8000); // parlak turuncu
Ayrıca renk seçimi için "Tools" menüsü altındaki "Color Selector" ü kullanabilirsiniz.
►background(r,g,b); Bu kod arka plan rengini belirtir. Çalışma şekli stroke ile aynıdır.
►void draw(); Bu blok programa bir şey çizmesi gerektiğini bildirir. Blok içine yazılacak kodlar çizilecek nesnenin özelliklerini belirler program akışı esnasında bu bloğun sonuna gelindiğinde tekrar bloğun başına döner ve program kapatılana kadar döngü şeklinde çalıştırılır.
Draw bloğu içerisindeki;
►line(x,y,z,t); Bu fonksiyon adından da anlaşılacağı gibi çizgi çizme fonksiyonudur. X ve Y çizginin başlangıç koordinatlarını Z, T ise bitiş koordinatlarını belirtir. Burada "150, 25" çizilecek çizgilerin başlangıç noktasıdır, mouseX ve mouseY ise o anda mouse imlecinin bulunduğu noktanın koordinatlarıdır. Yani draw bloğu her çalıştığında başlangıç noktasıyla mouse imlecinin bulunduğu nokta arasına bir çizgi çizer.
Şekil 3: Line (x,y,z,t) Fonksiyonunun Düzlem Üzerinde Gösterilmesi
►İlginizi Çekebilir: Swift Programlama | 1. Bölüm
Başlangıç noktasını açılan ekranın ortasındaki nokta olarak belirlemek için başlangıç noktası değerlerini width ve height ile belirleyebiliriz;
line(width/2 , height/2 , mauseX , mauseY) ; bu durumda başlangıç noktası açılan pencerenin ortasındaki nokta olacaktır.
Ayrıca;
rect(x,y,z,t); ile kare
ellipse(x,y,z,t); ile elips çizebilirsiniz
Draw bloğundan sonraki;
►void mousePressed(); Bu fonksiyon mouse butonuna tıklanma olayı durumunda bu bloğun içine yazılan kodlar işletir. Sadece mouse butonuna tıklandığında bir kere çalıştırılır.
►saveFrame("output-####.png"); bu fonksiyon her çalıştırıldığında işletim sisteminizin kurulu olduğu sürücünüze "output-####.png " adında pencerenizin ekran görüntüsünü kaydeder. "####" kısmına her defasında farklı bir sayı vererek ekran görüntülerinin üst üste yazılmasını önleyecektir.
►void mousePressed(); Bu fonksiyon mouse butonuna tıklanma olayı durumunda bu bloğun içine yazılan kodlar işletir. Sadece mouse butonuna tıklandığında bir kere çalıştırılır.
►saveFrame("output-####.png"); bu fonksiyon her çalıştırıldığında işletim sisteminizin kurulu olduğu sürücünüze "output-####.png " adında pencerenizin ekran görüntüsünü kaydeder. "####" kısmına her defasında farklı bir sayı vererek ekran görüntülerinin üst üste yazılmasını önleyecektir.
►background(192,64,0); Bu fonksiyona girilen değerler setup bloğundaki background fonksiyonuna girilen değerlerle aynı olacağı için Mouse tıklandığında arka planı ilk durumuna getirir ve o ana kadar ekranda beliren tüm nesneler silinmiş olur.
Böylece mouse butonuna her tıkladığınızda önce pencerenin son halini ekran görüntüsü olarak kaydedecek, daha sonra pencerenizi temizleyerek tekrar çizmeye hazır hale getirecektir.
Processing open-source (açık kaynaklı) bir yazılımdır. Ücretsiz olarak buradan indirebilirsiniz. Yine aynı sitenin tutorial kısmıda sizin Processing adına kafanızda bir şeyler oluşturmak yeterli olacaktır. Bununla yeterli kalmamınızı ve File>>Examples menüsünde tek tek her örneğe bakmanızı tavsiye ederiz. Eminiz ki ilgi alanınıza uygun birçok şey bulacaksınız.
Kaynak:
►Processing.org
YORUMLAR
Aktif etkinlik bulunmamaktadır.
- Dünyanın En Görkemli 10 Güneş Tarlası
- Dünyanın En Büyük 10 Makinesi
- 2020’nin En İyi 10 Kişisel Robotu
- Programlamaya Erken Yaşta Başlayan 7 Ünlü Bilgisayar Programcısı
- Üretimin Geleceğinde Etkili Olacak 10 Beceri
- Olağan Üstü Tasarıma Sahip 5 Köprü
- Dünyanın En İyi Bilim ve Teknoloji Müzeleri
- En İyi 5 Tıbbi Robot
- Dünyanın En Zengin 10 Mühendisi
- Üretim için 6 Fabrikasyon İşlemi
- DrivePro Yaşam Döngüsü Hizmetleri
- Batarya Testinin Temelleri
- Enerji Yönetiminde Ölçümün Rolü: Verimliliğe Giden Yol
- HVAC Sistemlerinde Kullanılan EC Fan, Sürücü ve EC+ Fan Teknolojisi
- Su İşleme, Dağıtım ve Atık Su Yönetim Tesislerinde Sürücü Kullanımı
- Röle ve Trafo Merkezi Testlerinin Temelleri | Webinar
- Chint Elektrik Temel DIN Ray Ürünleri Tanıtımı
- Sigma Termik Manyetik Şalterler ile Elektrik Devrelerinde Koruma
- Elektrik Panoları ve Üretim Teknikleri
- Teknik Servis | Megger Türkiye
ANKET