Jumat, 26 Juni 2015

Matematika Vektor R3



Pagi hari di bulan ramadhan, bulan yang penuh dengan berkat untuk kita semua...

Selamat Pagi semua...senang sekali setelah beberapa waktu tidak bisa menulis...sekarang bisa kembali menulis. Pada kesempatan kali ini aku akan menulis tentang vektor R3 yang sangat bermanfaat untuk pemrograman grafik dan game, berbagai efek dan trik dapat dipecahkan dengan perhitungan vektor R3 (contoh program yang memakai vektor klik disini), untuk itu ogut sarankan agar rekan-rekan membaca artikel ini dengan seksama untuk memudahkan rekan sekalian melangkah ke tahap selanjutnya.

Membuat Vektor
Vektor jika diartikan secara sederhana adalah sebuah lintasan yang mempunyai arah dan panjang tertentu.

Vektor tidak sama dengan titik koordinat walaupun cara penulisannya kadang sama. Perbedaan dasar vektor dengan titik koordinat adalah vektor tidak mempunyai lokasi tetapi mempunyai panjang dan arah, sedangkan titik koordinat adalah sebuah lokasi.

Vektor dapat dibuat dengan dua buah titik koordinat, sebagai contoh titik A(1,1,1) dan B(2,3,1) maka vektor dari A ke B dapat dicari dengan rumus:

ci = Xb  – Xa
cj = Yb  – Ya
ck = Zb  – Za

ci = 2  – 1
cj = 3  – 1
ck = 1  – 1

sehingga i=1, j=2, k=0, atau c(1,2,0).

Kesimpulan yang dapat ditarik adalah, jika dibuat sebuah lintasan dari titik A ke titik B maka lintasan tersebut adalah sebuah vektor c dengan nilai(1,2,0).


Panjang Vektor
Untuk menghitung panjang vektor dapat dipakai rumus Pythagoras.

Contoh:
Hitunglah panjang vektor c(1,2,0).

Jawab:

│c│ = √( i2 + j2 + k2 )
    = √( 12 + 22 + 02 )
    = √( 1 + 4 + 0 )
    = √5

Skala
Vektor dapat dikalikan dengan sebuah skala untuk menambah panjang lintasannya.

Contoh:
Hitunglah panjang vektor c(1,2,0) yang dikalikan dengan skala 2.

Jawab:

c    = (1i, 2j, 0k)
2c   = (1i*2, 2j*2, 0k*2)
     = (2i, 4j, 0k)

│2c│ = √( 22 + 42 + 02 )
     = √( 4 + 16 + 0 )
     = √20
     = 2√5


Invers Vektor
Arah sebuah vektor dapat dibalik dengan menggunakan skala=-1.

Arah lintasan dari titik A ke titik B adalah c(1,2,0), jika dibuat terbalik arah atau lintasan dari titik B ke titik A, vektor c tinggal dikalikan dengan skala=-1.

       c = (1i, 2j, 0k)
invers c = (1i*-1, 2j*-1, 0k*-1)
         = (-1i, -2j, 0k)


Normalisasi
Normalisasi adalah membuat panjang sebuah vektor menjadi satu.

Proses normalisasi berhubungan erat dengan skala vektor, normalisasi dapat dihitung dengan membagi setiap elemen vektor dengan panjang vektor itu sendiri.

Contoh:
Normalisasikan vektor c(1,2,0).

Jawab:

      c = (1i, 2j, 0k)
    │c│ = √5
norm. c = (1i/√5, 2j/√5, 0k/√5)
        = (0.44i, 0.89j, 0.0k)

Jika vektor hasil normalisasi dihitung panjangnya maka akan menghasilkan nilai 1(satu). Normalisasi juga digunakan untuk menentukan panjang sebuah vektor.

Contoh:
Hitunglah vektor d yang mempunyai arah yang berlawanan dengan vektor c tetapi mempunyai panjang=5.

             c = (1i, 2j, 0k)
      invers c = (-1i, -2j, 0k)
norm. invers c = (-1i/√5, -2j/√5, 0k/√5)
               = (-0.44i, -0.89j, 0.0k)

             d = 5 * norm. invers c
               = (-0.44i*5, -0.89j*5, 0.0k*5)
               = (-2.23i, -4.47j, 0.0k)

Dot Product
Dot product atau perkalian titik dua buah vektor.

Rumus dot product untuk vektor a dan vektor b adalah:

a.b = ai.bi + aj.bj + ak.bk

Contoh:
Jika vektor a(2,1,3) dan vektor b(2,3,1) hitunglah nilai dot product dari kedua vektor di atas.

Jawab:

a.b = 2.2 + 1.3 + 3.1 
    = 4 + 3 + 3
    = 10

Sudut Dua Vektor
Sudut yang dibentuk oleh dua buah vektor dapat dihitung dengan bantuan dot product.

a.b = │a││b│ cos Ө˚

Rumus di atas bisa dipakai untuk menghitung sudut antara vektor a dan vektor b.

Sudut hasil perhitungan dengan rumus di atas adalah sudut terkecil yang dibentuk oleh dua buah vektor.


Dengan menggunakan rumus yang telah diterangkan sebelumnya maka sudut yang dibentuk vektor a dan vektor b pada gambar di atas adalah sudut Ө1˚ bukan Ө2˚.

Contoh:
Carilah sudut antara vektor a(2,1,3) dan vektor b(2,3,1).

Jawab:

   a.b = 10       
   │a│ = √( 22 + 12 + 32 )
       = √14
       
   │b│ = √( 22 + 32 + 12 )
       = √14
       
cos Ө˚ = a.b / │a││b│
       = 10 / √14 √14
       = 10 / 14
       = 0.714
    Ө˚ = 44.415˚

Cross Product
Cross product atau perkalian silang dua buah vektor.

Perkalian silang dua buah vektor menghasilkan sebuah vektor yang tegak lurus terhadap dua buah vektor tersebut.


Pada gambar di atas Anda dapat melihat vektor c yang tegak lurus terhadap vektor a dan vektor b, vektor c adalah vektor normal yang dapat dicari dengan perhitungan cross product:

a x b = (aj.bk – ak.bj)i
        (ak.bi – ai.bk)j
        (ai.bj – aj.bi)k

Contoh:
Tentukan vektor normal c untuk vektor a(2,1,3) dan vektor b(2,3,1).

Jawab:

a x b = (1.1 – 3.3)i
        (3.2 – 2.1)j
        (2.3 – 1.2)k

a x b = (1 – 9)i
        (6 – 2)j
        (6 – 2)k

a x b = -8i
        4j
        4k

    c = (-8i, 4j, 4k)

Tuntas sudah cerita tentang vektor R3, vektor yang ogut tampilkan pada artikel ini akan sangat berguna untuk program animasi yang akan ogut bahas di lain waktu, jadi alangkah baiknya jika rekan-rekan mengerti tentang vektor ini, emang sih kelihatannya ruwet bannggeetttt, tapi jika ingin masuk ke dalam pemrograman grafik atau game ya mau ngak mau harus belajar tentang vektor. Ok rekan-rekan sampai jumpa ya.

Update 16 Jan 2016

Dengan vektor R3 ogut bisa buat program seperti di bawah ini....







Gimana keren-keren......hohohoho...selamat belajar rekan-rekan

Salam Sukses Selalu


Heriady
heriady.yoh@gmail.com


Artikel terkait
Animasi 3D dengan Objek MD2

Membuat Bayangan Objek 3D OpenGL

Membuat Terrain untuk Hely 3D

Program Animasi Game MoTer 3D dengan OpenGL