Math Nesnesi


Bu nesneye Built-in Classes--> Core yoluyla ulaşabilirsiniz. 18 metod içerir.Önemli olanlar tanımlanacaktır

Math nesnesi Flash`ın matematiksel işlemlerini yürütür. Yöntemlerine geçmeden evvel lise bilgilerimizi tazelemek için logaritma ve trigonometri` den bahsetmemiz gerekecektir.

a üzeri b=x logaritma işleminde b sayısının değeri; x sayısının a tabanına göre logaritmasına eşittir.

2 üzeri 4 =16 ifadesinin logaritmik yazılımı log2(16)=4 şeklindedir. İki tür logaritma sistemi vardır. 10`luk tabana göre olanlara bayağı logaritma adı verilir. Diğeri e tabanına göre(Euler sabiti=2,718281828) olan hiperbolik logaritma sistemidir. Flash`ta logaritmal hesaplamalar bu sisteme göre yapılır.

a=Math.log(350);
trace(a);

Yukardaki kodları 1.kareye ekleyip CTRL+Enter`a bastığınızda e sabit değerine göre yapılan hesaplamada sonuç 5,85793315448346 olacaktır.

Flash`ta açı ve kenar hesaplamaları trigonometrik yöntemlerle yapılır.


Kenar hesaplamalarında ilk kural:

Bir diküçgende heriki kenarı karelerinin toplamı hipotenüsün karesinin toplamına eşit olduğudur. Yukardaki üçgende a2+b2=c2 `dir. Flash`ta bir sayının karesi Math.pow, karekökü ise Math.sqrt yöntemiyle alınır. Bu konuya daha sonra da değinilecektir.

Açı hesaplamarında ise:

Sinüs,kosinüs ve tanjant işlemlerinden yararlanılır. Yukardaki üçgende x açısının sinüsü karşı kenarın hipotenüse bölümüdür. sinx=b/c`dir.Kosinüsü a/c, tanjantı ise b/a`dır. Bunlar değişmez trigonometrik kurallardır.

Fakat Flash açı hesaplamalrında yetersiz bir yöntem olan radyan değerini kullanır. Bu nedenle dereceye çevirmek için 180 ile çarpılıp pi sayısına bölünmelidir.Bu işlemi Flash ile 180/Math.PI sonucu ile çarparak elde ederiz.

Bunlar ne işe yarayacak demeden evvel aşağıdaki yöntem ve sabitleri dikkatle inceleyin.Aslında işlemlerin hiçde karışık olmadığını göreceksiniz.

Math nesnesinin 18 yöntemi ve 8 sabiti vardır. Sabitler Math ifadesinden sonra büyük harfle yöntemler ise küçük harfle yazılır. Burada daha çok kullanılacak yöntemler üzerinde durulacaktır. Örnekler bölümümüze geçmeden evvel bahsedilecek konuları iyice kavramak gereklidir.

 

Math Nesnesinin Metodları

Math.abs:

Argüman olarak verilen sayı veya işlem grubunun mutlak değerini hesaplar. Sonuç negatif olsa dahi pozitif değer verir.

deger1=Math.abs(-250);
trace(deger1);

//sonuç 250 olacaktır.

Math.acos:

Argüman olarak verilen sayının ters kosinüsünü radyan olarak verir. Verilecek değerler daima 0,1 ile 1,0 arasındadır. Kenarları 6,8 ve 10cm. olan üçgenin açısını bulmak için komşu kenar hipotenüse bölünür.

x.acos=8/10=0,8 dir.

aci=Math.acos(0.8);
trace(aci);

//sonuç 0.643501108793284 olacaktır. Bu radyan değerdir.Dereceye çevirmek için:

aci=Math.acos(0.8);
sonuc=aci*180/Math.PI;
trace(sonuc);

//Bu kodları 1.kareye ekleyip CTRL+Enter`a bastığınızda çıktı bölümünde 36,8... derece sonucunu alacaksınız.

Math.asin:

Argüman olarak verilen bir sayının ters sinüsünü radyan olarak verir.Yukardaki örneğe göre 6/10=0.6 dır

aci=Math.asin(0.6);
sonuc=aci*180/Math.PI;
trace(sonuc);

//Elde edilen değer derece cinsinden olur.

Math.atan:

Argüman olarak verilen bir sayının ters tanjantını radyan olarak verir. Yukardaki örnekte xatan=6/8=0.75 dir.

aci=Math.atan(0.75);
sonuc=aci*180/Math.PI;
trace(sonuc);

//sonuç x açısının derece cinsinden ters tanjantıdır.

Math.atan2:

Argüman olarak x ve y değerleri verilen bir noktanın x eksenine göre açısını radyan olarak verir. Aşağıdaki swf dosyası üzerinde mouse imlecini dolaştıralım:

İmlecin her hareketinde imleçin mavi daire ile x eksenine göre yaptığı açı dinamaik metin kutusunda gözlenecektir. Bu dosyayı hazırlamak için Flash programını açın ve sahnenin sol üst kenarına bir daire çizin. F8`e basarak klip davranışını seçin. Örnek adı olarak daire yazın. Sahneye bir dinamik metin kutusu ekleyin sonuc olarak adlandırın. F8 e basarak onu da klip şekline dönüştürün. Dinamik metin kutusunu içeren klibinizi seçin ve şu kodları ekleyin.

onClipEvent (mouseMove) {
aci=Math.atan2 (_root.daire._xmouse, _root.daire._ymouse );
sonuc=aci*180/Math.PI;
}

CTRL+F12`ye basarak filminizi test edin.Yukardaki komutlarla farenin x ve y değerleri alınarak bir nokta tesbit edilir ve bu noktanın daire klibi ile x ekseni boyunca yaptığı açı hesaplanır.

Math.ceil:

Verilen veya elde edilen bir değeri yukarıya doğru yuvarlayarak tamsayıya çevirir.

x=Math.ceil(2.13);
trace(x);

//sonuç 3 olarak geri döner.

Math.cos:

Argüman olarak verilen bir sayının kosinüsünü radyan olarak verir. Örnekler bölümünü inceleyiniz.

Math.exp:

Matematikte kullanılan doğal logaritmanın tabanı olan euler sabitinin argüman olarak verilen sayı kadar üstünü alır.

x=Math.exp(2);
trace(x);

//sonuç(2.71828) üstü 2=7.38905609893065 olacaktır.

Math.floor:

Verilen sayıyı en yakın küçük tam sayıya çevirir. Örneğin;3,14 sayısı 3 olarak geri döner

Math.log:

Doğal logaritma işlemlerini yapar. Logaritmanın tabanı euler sabitidir.

x=Math.log(10);
trace(x);

//sonuç 2.30258509299405 olacaktır.

Math.max:

Argüman olarak verilen 2 sayıdan büyük olanını verir.

sayi_1=350;
sayi_2=400;
buyuk_sayi=Math.max(sayi_1,sayi_2);
trace(buyuk_sayi);

//sonuç 400 olur.

Math.min:

Yukardaki yöntemin tersine küçük sayı değerini verir.

Math.pow:

Argüman olarak verilen ilk sayının üzerine ikinci sayıyı koyarak üstünü alır.

sayi_1=4;
sayi_2=2;
x=Math.pow(sayi_1,sayi_2);
trace(x);

//sonuç 4 üzeri 2=16 olacaktır.

Math.random:

0,0 ile 1,0 arasında rastgele bir tamsayı oluşturur. Genelde virgüllü işlemlerden kurtulmak için 10 sayısı ile çarpılır. Oldukça güzel efektler oluşturacağınız bir komuttur. Örnekler bölümünü inceleyiniz.

on(press){
x=Math.random()*10;
trace(x);

//sonuç butona her basışınızda farklı sayılar üretilecektir.

Math.round:

Argüman olarak verilen bir sayıyı en yakın tam sayıya yuvarlar.

Math.sin:

Verilen bir sayının sinüsünü radyan olarak bulur. Örnekler bölümüne bakınız.

Math.sqrt:

Verilen bir sayının karekökünü bulur.

x=Math.sqrt(144);
trace(x);

//sonuç 12 olarak geri döner.

Math.tan:

Verilen bir sayının tanjantını radyan olarak bulur. Örnekler bölümüne bakınız.

 

Math Nesnesinin Sabitleri

Math.E:

Euler sabiti ve doğal logaritmanın taban değeridir. Yaklaşık değeri 2.71828182845905 dir

math.LN2:

2 nin doğal logaritmasını verir. Yaklaşık değeri 0.693147180559945 dir.

Math.LOG2E:

Euler sabitinin 2 tabanına göre logaritmik değerini verir.

Math.LN10:

Logaritmanın E tabanına göre 10 sayısının değerini verir. Değeri 2.30258509299405 dir.

Math.LOG10E:

Logaritmanın 10 tabanına göre euler sabiti değerini verir. Değeri 0.434294481903252 dir.

Math.PI:

Pi sayısını(3.14159265358979) verir.

Math.SQRT1_2:

1/2 sayısının karekök değerini (0.707106781186548) verir.

Math.SQRT2:

2 sayısının karekök değerini(1.4142135623731) verir.

 

   Örnek 1
                     Download

Sürüklenebilen bir film klibinin x eksenine göre oluşturduğu açının hesaplanmasına ait bir örnek.

   Örnek 2
                     Download

Sürüklenebilen bir film klibinin belirlenmiş bir noktaya göre(bu örneğimizde bir film klibidir) açısının hesaplanmasına ait bir örnek.

   Örnek 3
                     Download

Bir film klibini yönsel olarak taşımak için sinüs ve kosinüs değerlerini kullanmaya ait güzel bir örnek. Swf dosyasını açtığınızda klavye tetiklenmesini sağlamak için önce sahneye bir kez tıklayın sonra sadece sağ ve sol yön tuşlarını kullanarak araba klibini idare edin.

   Örnek 4
                     Download

Rastgele sayı üretmek için hazırlanan basit bir örnek. Oluşan sayılar daima 0 ile 1 arasında olacaktır.