fftrig      Saya ingat ketika dulu saya belajar trigonometri ketika masih di Madrasah Aliyah beberapa tahun lalu. Mungkin karena saya tidak mencerna dengan baik, atau masih belum mengetahui bagaimana penerapan dari apa yang saya pelajari di Madrasah pada saat itu, saya seperti ogah-ogahan dalam belajar, bahkan mungkin saya cenderung untuk ‘mencontek’ dibandingkan belajar sendiri.

      Saya baru menyadari ketika saya mengambil sampel mengenai cara membuat misil dalam game atau cara menggerakkan latar belakang saat berada di bawah air atau di lingkungan lahar gunung berapi, semuanya sarat dengan trigonometri. Dan hal yang sering dipakai jika tidak sinus, ya kosinus.

     Karenanya, saya membuat sendiri movie interaktif sederhana dari flash mengenai bagaimana trigonometri itu bekerja dalam sebuah pergerakan benda. Silakan agar dicek di sini :

Kita telah mengetahui bahwa :

Sin2 A + CosA = 1

     Di mana pergerakan sinus dan kosinus dalam garis kordinat yang berbeda dapat menghasilkan sebuah lingkaran. Hal ini dapat dibuktikan pada contoh di atas dengan mencoba untuk menyetel posisi X dalam gerakan sinus dan posisi Y dalam gerakan kosinus juga boleh sebaliknya.

     Satu hal yang mungkin penting untuk diketahui adalah di mana gerakan sinus dan kosinus terlihat sama. Pada kenyataannya memang demikian, namun jika diperhatikan dengan seksama, posisi awal mulai benda itu bergerak tentu sangat berbeda. Hal ini dikarenakan Sin 0 adalah 0, dan Cos 0 adalah 1.

     Trigonometri sangat penting dan sangat dibutuhkan terutama untuk pergerakan halus, penentuan sudut, atau segala sesuatu yang berhubungan dengan lingkaran, entah itu lingkaran sempurna, ataupun tidak.

      Jika ada yang ingin belajar bagaimana menerapkan trigonometri dalam bahasa pemrograman, cobalah agar membuat yang sederhana dahulu, dalam kasus ini saya menggunakan bahasa Action Script 3.0, di mana algoritmanya sangat-sangat sederhana :

  • Cukup buat sebuah objek yang diberi nama apa saja, misalnya “Objek”.
  • Buat sebuah variabel float (Number) apa saja, misalnya “i”.
  • Masukkan syntax berikut dalam event Enter Frame, agar perintah dapat dijalankan selama jalannya permainan.
Objek.x = Math.sin(i);
i += 0.1 // Perhatikan bahwa trigonometri harus dijalankan secara kontinu (nilainya jangan statik).

      Apakah terlihat sebuah gerakan? Mungkin iya, namun masih sangat sedikit, cobalah agar memperbesarnya dengan mengalikan sang trigonometri dengan angka yang cukup besar :

Objek.x = Math.sin(i) * 100;
i += 0.1 // Perhatikan bahwa trigonometri harus dijalankan secara kontinu (nilainya jangan statik).

      Lalu kenapa posisinya berpindah dan tidak relatif dari posisi awal (mulainya selalu dari pojok padahal sudah buat objeknya di tengah) ? Itu karena nilai X objek adalah hasil dari nilai sinus dalam algoritmanya. Jika memang ingin relatif dengan posisi awal objek, cukup ditambahkan dengan nilai posisi awalnya, usahakan dengan menggunakan variabel dan tidak mengisi nilainya manual untuk mencegah pemberian ulang nilai ketika objek dipindahposisikan.

Objek.x = Math.sin(i) * 100 + posisiXawal;
// Ingat bahwa posisiXawal adalah variabel dan harus dideklarasi terlebih dahulu.
// Atau, bisa langsung diisi angka secara manual dari posisi X awal objek tersebut.

i += 0.1 // Perhatikan bahwa trigonometri harus dijalankan secara kontinu (nilainya jangan statik).

 

Semoga Bermanfaat

 

Suka
Komentar
pos ke FB
pos ke X
🤗 Selesai! 🤗
Punya uneg-uneg atau saran artikel untuk Anandastoon?
Yuk isi formulir berikut. Gak sampe 5 menit kok ~

  • Sebelumnya
    Dari Mana Memulai Bahasa Pemrograman?

    Berikutnya
    Mendesain Tingkat Permainan yang Baik


  • 2 Jejak Manis yang Ditinggalkan

    1. Terimakasih atas programnya 🙂 sangat bermanfaat sekali 🙂

    Minta Komentarnya Dong...

    Silakan tulis komentar kalian di sini, yang ada bintangnya wajib diisi ya...
    Dan jangan khawatir, email kalian tetap dirahasiakan. 😉

    Kembali
    Ke Atas