Adobe After Effects Expressions 5 Basit Aritmetik İşlemler
adem Kılıc Tarih: 27/07/2008 Yorum: 5 adet
Okunma : 725 Tutanlar: Bu yazıyı 3 kişi tuttu.
Adobe After Effects Expressions ‘ta basit aritmetik işlemler konulu bu dersimizde öncelikle matematiksel olarak Aritmetik İşlem İşaretleri ve Öncelik Sıralaması‘na değinmekte fayda var.
Matematiksel işlem ve işlem sırası bütün programlama dillerinde benzer şekildedir.
+ Toplama işlemini yapar.
sayi = 10 + 5 (Not: sayi=15 olur)
- Çıkartma işlemini yapar.
sayi= 10 - 5 (Not: sayi=5 olur)
* Çarpma işlemini yapar.
sayi = 10 * 3 (Not: sayi=30 olur)
/ Bölme işlemi yapar.
sayi= 10 / 3 (Not: sayi=3.3333333333333335 olur)
% Tamsayılı bölme işlemi yapar ve kalanı verir.
sayi=10 % 3 (Not: sayi=1 olur)
Günlük matematikte bir toplama işlemini 1 + 1 = 2 şeklinde yaparız. Bütün programlama dillerinde oldugu gibi java 1.2 de farklı bişey yoktur.
a = 1 + 1;
Java + işaretini gördüğü zaman hemen sağındaki ve solunda ki sayıları toplamaya çalışır. Yukarıdaki örnekteki gibi artı işaretinin sağındaki ve solundakini toplayıp (=) atama oparötörü ile a değişkenine atıyoruz.
Değişkenler ile ilgili daha fazla bilgi için Expressions Varibles(değişkenler) bu dersten faydalanabilirsiniz.
a nın değeri tabiki 2 dir.
a değişkenini değerini 3 arttırmak istersek a += 3; yazmamız yeterlidir. Bu işlem eger sadece 1 arttırmak istersek a++; yeterli olacaktır.
Java, bölü işaretinin solundaki sayıyı, sağındaki sayıya böler; yıldız (asterisk) işaretinin sağındaki ve solundaki sayıları birbiri ile çarpar
a = 2;
b = 4;
c = a * b;
d = c / a;
e = d - b;
sonuç sizinde hesapladıgınız gibi 0 dır.
Bu işlemlerde çarpma, bölme ve kalanlı bölme işlemlerinin toplama ve çıkarma işlemine göre önceliği vardır. Bir işlemde eğer hiç parantez yoksa, soldan sağa doğru sırasıyla çarpma ve bölme işlemleri yapılır. Bu prensip her bilgisayar dilinde ve hesap makinelerinde de geçerlidir. Aşağıdaki örneklere bakalım.
sayi = 5 * 6 - 10 / 5
Bu işlemde çarpma önceliği – işaretine göre daha fazla olan * ve / işlemleri yapılır. (* ve / işlemlerinin önceliği aynıdır.) Bu durumda sayi = 30 – 2 = 28 olur.
sayi = 5 * 6 / 10 * 2 + 4 * 3
Bu işlemde önceliği aynı olan çarpma ve bölme işlemleri birarada yer alıyor. Bu durumda işlemler sırayla yapılır. Önce 5 ile 6 çarpılır, çıkan sonuç 10’a bölünür ve çıkan sonuç 2 ile çarpılır. Ve sayi = 6 + 12 = 18 sonucuna ulaşılır.
sayi = ((5 * 6) / (10 * 2) + 4) * 3
Bu işlemde parantezler söz konusu. Ve her zaman parantezlerin önceliği vardır. İlk önce iki iç parantez içindeki işlemleri, sonra büyük parantez içindeki işlemleri yaparız. Böylece sayi = (30 / 20 + 4) * 3 = (5.5 + 4) * 3 = 9.5 * 3 = 28.5 sonucunu elde ederiz.
Değişken Değerini Taşıdığı Değere Göre Değiştirme
Bazen değişkenlerin değerini, kendisiyle işlem yaparak değiştirebiliriz. Örneğin:
sayi = 5
sayi = sayi + 1
Bu durumda sayi = 5 + 1 = 6 olur.
sayi = 4
sayi = sayi - 1
Bu durumda sayi = 4 - 1 = 3 olur.
sayi = 6
sayi = sayi * 5
Bu durumda sayi = 6 * 5 = 30 olur.
sayi = 10
sayi = sayi / 2
Bu durumda sayi = 10 / 2 = 5 olur.
sayi = 10
sayi = sayi % 4
Bu durumda sayi = 10 % 4 = 2 olur.
Bu işlemleri şu işaretlerle de yapabiliriz: "+=", "-=", "*=", "/=" ve "%=". Aşağıdaki işlemler birbiriyle aynı sonucu verir.
sayi += 5 eşittir sayi = sayi + 5
sayi -= 4 eşittir sayi = sayi - 4
sayi *= 6 eşittir sayi = sayi * 6
sayi /= 2 eşittir sayi = sayi / 5
sayi %= 4 eşittir sayi = sayi % 4
Bu aritmetik işlemler C ve Java’da da aynı şekilde kullanılmaktadır. Bu işaretlerin yanında, özelleşmiş iki işaret daha vardır: ++, —.
sayi++ eşittir sayi = sayi + 1
sayi-- eşittir sayi = sayi - 1
Bir sonraki dersin konusu "Expression kullanarak basit animasyon yapmak " olacaktır.
Şu kodu bir deneyin isterseniz.
a = 4;
b = 2;
a += 5;
a -= 3;
a*= 2;
a /=2;
a++;
a--;
[a,b]
a değişleninin sonucu 6 dır.
Bu değişkenlere hareketli nesnelerin konularınıda toplayıp atayabilirsiniz.
İyi günler.
Sevgili Adem, Evet, şimdi farkettim ki kullanabiliyormuşuz :) Daha öncesinde bununla ilgili bir işte çalışmamıştı ama sorunun benden kaynaklandığını şimdi anladım sanırım. Aslında basit gibi gözükse de derin bir konu var burada. AE’de kod yazan bir çok kişi ++ operatörü gibi şeylerin yüzünden yanılgıya düşüyor. ++’yı daha başka bir platformda kullanmış olan kişiler, bunu AE’de de aynı şekilde davranmasını bekliyorlar. Yani örneğin,
rotation = rotation + 15 ;
Şeklinde bir kod yazan birisi bunun çalışmasını ve her frame’de rotation değerinin 15 artarak gitmesini bekliyor. Ama bu şekilde olmuyor. Bunun bir nedeni de Global Variables (global değişkenler) in olmaması. Yani bir expression’un diğer bir expression ile iletişime geçmesi sadece tek yoldan oluyor o da expressionun uygulandığı parametreye bağlanması…
Öncelikle Amacımız Expressions ile ilgili insanları bilgilendirmek, düşüncenizde size hakveriyorum ama herkes programlama bilmiyor onun için bu kadar dipten başlamayı uygun gördüm.Birkaç ders daha müfredat niteliğinde olacak daha sonra daha kapsamlı uygulamalar geliştireceğizdir.
Hastasıyım bu dersin. Delice faydalı. ; )
Makale
İlişkili makale bulunamadı.
Haber
İlişkili haber bulunamadı.
Ders
Etkinlikler
Toplantı
Kahraman ve need4code.com Projesi Connect Toplantısı
Kahraman ve need4code.com Projesi Connect Toplantısı
Selam arkadaslar,
Programlama ile uğraşanların hayatlarını kolaylaştıracak desktop ve web tabanlı ortak iki proje ile ilgili 3. toplantımızı 3Aralık...
Kategori:
Toplantı
Kimler Burada? 
Son 1 dakika içinde MMIstanbul' da 374 (3 kayıtlı, 371 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:
MMIstanbul Blog'undan
Neler Yapılabilir?
Yeni bir portal, 30 civarında online / offline etkinlik, seminer vb rağmen MMIstanbul sanıyoruz ki halen hakettiği ilgiyi göremedi. " ...
500 Hatası Hakkında!
Reklam, MMIstanbul ve Yeni Projeler (Durumumuz Bu Tarzında)
Ne Nedir Kampanyası Başlıyor!
Çok Merak Edenler için; MMIstanbul Geliştirme Ekibi ve Çalışma Ortamımız









After Effects, hernekadar Java Script tabanlı bir kodlama sistemi kullansada, Java Script ile aynı değil. Aşağıda bahsettiğin özellikler AE’te desteklenmiyor.
"+=", "-=", "*=", "/=", "%=", "++" ve "—" operatörlerini After Effects Expressionlarda kullanamazsın..
Örneğin += operatörünü kullanırsan AE hata verir ve "invalid numeric result (divided by zero) sıfıra bölünmüş bir değer atayamazsınız" der. Çünkü matematik işlemi yaptığını düşünüp, +’dan sonra bir değer girmeni bekler toplamak için…
Yani aşağıda verdiğin örnek, After Effects’te Xpressions kullanarak yazılmak istenirse doğru olmaz.
İyi günler.