Maafkan saya jika ini tidak dianggap sebagai pertanyaan nyata, tetapi itu adalah sesuatu yang saya benar-benar bingung.
Saya terus-menerus mendengar pengembang game lain berbicara tentang bagaimana menggunakan vektor sangat berguna, tetapi juga bagaimana semua orang diintimidasi oleh matematika vektor dan vektor bisa tampak menakutkan. Saya tidak pernah sempat belajar tentang mereka.
Jadi, akhirnya saya melihat Vector di Wikipedia, dan saya terkejut. Kecuali saya entah bagaimana salah, vektor (demi kesederhanaan, katakan itu 2D), hanya koordinat x dan y. Jika saya salah paham, tolong perbaiki saya.
Jadi, inilah pertanyaan saya: bukankah itu berarti bahwa representasi dua (atau tiga) koordinat dimensi adalah vektor? Jika demikian, maka vektor dan koordinat adalah hal yang sama. Dan sangat tidak mungkin membuat game tanpa menggunakan koordinat, jadi bagaimana vektor membingungkan atau baru bagi seseorang yang telah melakukan sejumlah pemrograman game?
Ini adalah sesuatu yang bisa saya gunakan klarifikasi. Bantuan apa pun dihargai.
sumber
Jawaban:
Jangan biarkan mata pelajaran matematika mendengar Anda memanggil titik atau koordinat Vektor!
Vektor A 2D memiliki x dan y komponen , tidak berkoordinasi. Vektor tidak menentukan posisi, mereka menentukan arah dan besarnya.
Saya tidak dapat memberi tahu Anda mengapa orang diintimidasi oleh mereka, kemungkinan alasan yang sama orang diintimidasi oleh matematika secara umum, karena semua orang mengatakan itu sulit sebelum mereka tahu apa-apa tentang itu!
Vektor dan koordinat bukan hal yang sama. Mereka memang terlihat mirip, tetapi cara mereka digunakan sangat berbeda.
Koordinat menentukan posisi di dunia. Vektor menentukan arah dan besarnya. Keduanya sering digunakan bersama. Sebagai contoh:
Seorang karakter memiliki posisi dan kecepatan. Posisi adalah koordinat dan kecepatannya adalah vektor. Menambahkan kecepatan ke posisi akan memindahkan karakter ke arah vektor pada jarak yang ditentukan oleh besarnya vektor (perhatikan bahwa besarnya vektor adalah kecepatan, jadi ini memberi kita arah dan kecepatan).
Atau dalam contoh ini:
Dua karakter memiliki posisi dan tembakan laser adalah vektor. Vektor antara dua posisi adalah (3,1). Itu artinya bergerak +3 sepanjang sumbu X dan +1 sepanjang sumbu Y. Di mana besarnya dapat ditemukan dengan Sqrt ((X X) + (Y Y)).
Gambaran umum vektor matematika yang baik dapat ditemukan di blog Wolfire
sumber
Saya pikir faktor intimidasi mungkin muncul ketika Anda mulai berurusan dengan operasi yang lebih rumit seperti normalisasi, titik dan lintas produk, dan menggunakan beberapa sistem koordinat dengan matriks untuk mentransformasikannya. Ini tidak selalu mudah dipahami pada awalnya, bahkan jika Anda memiliki latar belakang geometri dan aljabar yang kuat.
Juga, setidaknya di AS, orang-orang yang telah melalui urutan matematika SMA yang biasa terbiasa berpikir tentang geometri dalam hal garis, lereng, sudut, dll. Mereka harus melupakan hal-hal itu sampai batas tertentu, dan belajar untuk pikirkanlah dalam hal vektor dan matriks. Bukannya konsep aljabar linier begitu meluas, tetapi bahwa konsep-konsep itu agak berbeda dari konsep yang digunakan dalam geometri klasik, yang kemungkinan besar orang telah pelajari di sekolah.
BTW, perbedaan antara vektor dan titik terletak pada operasi yang dapat Anda lakukan pada mereka. Meskipun keduanya diwakili (dalam sistem koordinat tertentu) oleh daftar komponen, dan karena itu terlihat "sama", operasi yang diizinkan tidak sama. Misalnya, Anda dapat menambahkan dua vektor, atau mengalikan vektor dengan skalar. Anda tidak dapat melakukannya dengan poin - atau setidaknya, tidak masuk akal untuk melakukannya. Tetapi Anda dapat mengurangi dua titik, dan hasilnya adalah vektor dari satu titik ke titik lainnya. Anda juga dapat menambahkan titik ke vektor untuk mendapatkan titik baru.
Poin dan vektor juga berperilaku berbeda sehubungan dengan transformasi. Yaitu, poin dapat diterjemahkan, sedangkan vektor tidak. Perhatikan contoh objek yang bergerak dengan posisi (titik) dan kecepatan (vektor); jika Anda menerjemahkan objek ke tempat yang berbeda, Anda mengubah posisinya, tetapi bukan kecepatannya.
Bahkan, lebih lanjut dari garis penalaran ini, tidak hanya vektor; ada entitas lain seperti covectors dan bivectors , yang juga dapat "terlihat seperti" vektor dalam hal memiliki daftar komponen dalam sistem koordinat, tetapi yang berperilaku berbeda dalam hal operasi yang tersedia dan cara mereka bereaksi terhadap transformasi. Ini semua milik bidang matematika yang disebut aljabar Grassmann . Di luar itu, seseorang dapat menjadi lebih umum dan mempertimbangkan aljabar tensor . Ini adalah hal yang canggih sekalipun.
sumber
Vektor sebenarnya tidak terlalu buruk. Hanya ada sedikit matematika yang orang tidak terbiasa dengannya.
Pertama dan terpenting, sebuah Vector tidak mewakili posisi dalam ruang. Ini secara konseptual sangat penting. Vektor mewakili arah, seperti 'Utara', dan besarnya. Pada peta dengan koordinat Matematika XY normal, 'Utara' akan menjadi vektor (0,1) (di atas sumbu Y). Ini tidak harus bingung dengan posisi (0,1), yang merupakan satu unit di atas di mana pun Anda meletakkan asal. Vektor adalah arah dan besarnya .
Perpindahan (gerakan) adalah vektor (seperti memindahkan dua unit ke atas dan satu unit ke kanan), Posisi tidak.
Vektor, dalam dan dari diri mereka sendiri, bukanlah masalah yang dihadapi orang. Biasanya matriks dan operasi pada vektor.
Misalnya, jika Anda mengalikan vektor dengan matriks khusus yang disebut 'Matriks Rotasi', maka vektor tersebut diputar dengan jumlah yang ditentukan oleh matriks. Selain itu, beberapa orang memiliki masalah dengan perkalian Matrix. Lihatlah jika Anda tidak terbiasa dengannya.
Selanjutnya, Anda dapat 'menumpuk' matriks ini (atau operasi) bersama-sama. Seperti Putar 90 derajat di sekitar sumbu X, lalu Putar 90 derajat di sekitar sumbu Y. Jika kita memanggil yang pertama Matriks M dan yang kedua matriks N, maka operasi akan menjadi v * M * N. Namun, perkalian Matriks tidak bersifat komutatif, sehingga tidak sama dengan v * N * M.
Dalam pemrograman Grafik, Anda melakukan operasi yang jauh lebih rumit pada vektor dan matriks lainnya secara teratur. Transformasi untuk FoV dan untuk menempatkan koordinat Anda di ruang layar, dll. Ini sebenarnya tidak terlalu buruk, tetapi dapat mengintimidasi orang baru.
sumber