Türkiye Online Medya Araştırması
Profili Göster

Adobe After Effects Expressions 5 Basit Aritmetik İşlemler

adem Kılıc Tarih: 27/07/2008 Yorum: 5 adet

Okunma : 1866 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.

aç-kapa İçeriğin rss beslemesi kullanımda değil Yorumlar

Profili Göster
Emre Telci 28/07/2008

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.


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

"+=", "-=", "*=", "/=", "%=", "++" 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.



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.

İyi günler.

Profili Göster
adem Kılıc 28/07/2008

Ş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.

Profili Göster
Emre Telci 28/07/2008

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ı...

Profili Göster
adem Kılıc 28/07/2008

Ö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.

Profili Göster
Adnan ER 31/07/2008

Hastasıyım bu dersin. Delice faydalı. ; )

yeni üyelik | şifremi unuttum

aç-kapa Toplantı Özgür Yazılım ve Linux Günleri '10

Özgür Yazılım ve Linux Günleri '10

İstanbul Bilgi Üniversitesi Bilgisayar Bilimleri Bölümü ve Linux Kullanıcıları Derneği'nin 9 yıldır düzenlemekte oldukları etkinlikler bu yıl `Özgür Y...
Kategori: Toplantı

aç-kapa Yarışma 3. Uluslararası Ekslibris Yarışması: İstanbul 2010

3. Uluslararası Ekslibris Yarışması: İstanbul 2010

İstanbul Ekslibris Dernegi, Feyziye Mektepleri Vakfı ve Işık Üniversitesi, kitaplar için mülkiyet işareti olarak kabul edilen ve üzerinde estetik dege...
Kategori: Yarışma

aç-kapa Konferans Yeni Medya ve Etkileşim Konferansı 2010 - Marmara Üniversitesi

Yeni Medya ve Etkileşim Konferansı 2010 - Marmara Üniversitesi

Generally speaking, the term "New" brought about debates. We try to open up and elucidate the term "New" along with "Interact...
Kategori: Konferans

aç-kapa Konferans 3. Uluslararası Gelecek İçin Öğrenme Alanında Yenilikler Konferansı 2010: e-Öğrenme

3. Uluslararası Gelecek İçin Öğrenme Alanında Yenilikler Konferansı 2010: e-Öğrenme

Konferans ile ilgili ayrıntılı bilgiye aşağıdaki bağlantıdan ulaşabilirsiniz: http://www.futurelearning.org.tr/katilim_cagrisitr.pdf ...
Kategori: Konferans

üyeler Son Kahramanlar...

stats Kimler Burada? web stats

Son 1 dakika içinde MMIstanbul' da 52 (50 kayıtlı, 2 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:

...

Blog Bölümü Blogevi.com'a Taşınıyor

Selam arkadaşlar MMIstanbul'da , tasarımcı ve programcıların blog yazılarını "feedleyerek" MMIstanbul okurlarını MMIstanbul dışın ...

7.500'üncü üyemiz Cem Koç!

Neler Yapılabilir?

500 Hatası Hakkında!

Reklam, MMIstanbul ve Yeni Projeler (Durumumuz Bu Tarzında)

coldfusion mysql ubuntu
 
sponsor adobe istanbul