Forum Sains Indonesia




*
Selamat datang, Pengunjung. Silahkan masuk atau mendaftar. Apakah anda lupa aktivasi email?
Mei 25, 2012, 02:18:23 PM

Masuk dengan nama pengguna, kata sandi dan lama sesi

Artikel Sains

Aku Cinta ForSa

  ForSa on FB  ForSa on Twitter

Pranala Luar

ShoutBox!

Last 10 Shouts:

 

fajri

Kemarin jam 09:40:03 PM
numpang liat_liat dulu,, kexnya menarik bnget sama masalah mikon.. ! :D
 

haman11

Kemarin jam 08:11:34 AM
ada yg tauproses daur ulang urin pada cicak gk ? ;)
 

GhostInMachine

Mei 23, 2012, 03:52:17 PM
kk mau tanya cara upload Tulisan dong??
 

army.fice

Mei 23, 2012, 12:22:47 AM
sepi banget sih :(
 

lustforscience

Mei 22, 2012, 08:26:02 PM
amin
 

exile_rstd

Mei 22, 2012, 08:24:55 PM
offline....
good night all  ;)
 

exile_rstd

Mei 22, 2012, 08:23:08 PM
iyaaaa jumat saya mau ujian kenaikan kelas. doain ya om Farabi, semoga ujiannya lancar dan dpt nilai memuaskan  :D
 

Farabi

Mei 22, 2012, 08:20:37 PM
KMana aja non? Sibuk belajar?
 

exile_rstd

Mei 22, 2012, 07:44:23 PM
argh lama ga buka forsa, comment di beberapa thread jd membingungkan saya. apa karena udh lama ga asah ya...
 

N E R R O

Mei 20, 2012, 07:41:57 PM
udah lama gak mampi ke forsa, sdh banyak berubah

Show 50 latest

Penulis Topik: Trigonometri 3D  (Dibaca 898 kali)

0 Anggota dan 1 Pengunjung sedang melihat topik ini.

Offline Farabi

  • Profesor
  • *****
  • Tulisan: 2584
  • IQ: 167
  • Gender: Pria
  • Self-Proclaim Judge. All hail safirot.
    • Lihat Profil
Trigonometri 3D
« pada: November 06, 2011, 08:50:39 PM »
Kalau hubungan antara Sin dan Cos telah diketahui hanyalah distribusi angka 1. Dan diketahui bahwa, Jika a=Sin(x) dan Cos=1-a, tergantung diregion mana dia berada, maka bagaimana hubungan antara X dan Y dengan Z?

Sebuah Garis tegak Lurus ke X. Maka kita akan mendefiniskan distribusinya sebagai (1,0,0)
Jika Z diabaiskan, dan untuk membuat lingkaran maka diketahui bahwa Rotasi A adalah (Sin(A),Cos(A),0)

Bagaimana dengan distribusi terhadap Z?

Ga akan saya kasih tahu, biar meledak kepala kalian saya tanya gini ;D Jangan dijawab, sengaja cuma bikin pening aja.

Berarti Rotasinya ada 3 kan? Rotasi A, B, C atau RotX, RotY, RotZ

;D
Informasi yang aku anggap menarik
http://farabinewsnow.blogspot.com/

Saya Indonesia ASLI.

Offline Farabi

  • Profesor
  • *****
  • Tulisan: 2584
  • IQ: 167
  • Gender: Pria
  • Self-Proclaim Judge. All hail safirot.
    • Lihat Profil
Re: Trigonometri 3D
« Jawab #1 pada: November 10, 2011, 08:02:38 AM »
Sebenernya gampang kok.

x y z n
-------
1 0 0 0 X
0 1 0 0 Y
0 0 1 0 Z
0 0 0 1 W

Nah matrix ini adalah posisi default anda.  Menggunakan matrix 3x3 sebetulnya juga bisa, tapi karena dikomputer intel kelipatan 2 lebih cepat, makanya dipaskan jadi 4. Tapi yang perlu anda perhatikan hanya 3x3 saja, sisanya abaikan.

Nah kalau anda punya misalkan sebuah VERTEX (Posisi dalam ruang 3 Dimensi) dengan anggota, X, Y, Z dan W. Ingat, W hanya supaya pas, nilainya harus, 1 karena perkalian matrix, jumlah baris harus sama dengan kolom.
Maka posisinya menjadi begini

x y z n
-------
1 0 0 0 X  VX
0 1 0 0 Y  VY
0 0 1 0 Z  VZ
0 0 0 1 W VW

Supaya mudah, saya kasih nomer ya


Mengurutnya sebetulnya bukan kebawah, tapi kekanan, tapi sama saja, asal anda tahu mana dengan mana yang harus dikalikan. Urutan begini biasanya digunakan dalam Standard Idustri, OpenGL, yaitu sebuah de facto penyebutan langkah langkah atau prosedur dalam pembuatan gambar 3D.

Matrix diatas adalah matrix dasar, dimana belum terjadi perputaran sama sekali. Ingat, trigonometri hanyalah pendistribusian angka 1 sedemikian rupa, sehingga sebuah benda berputar dengan jarak tetap, sehingga meninggalkan jejak lingkaran.


x y z n
-------
1*VX 0*VX 0*VY 0 X  VX
0       1       0       0 Y  VY
0       0       1       0 Z  VZ
0       0       0       1 W VW

X=m0*VX+m4*VY+m8*VZ
Y=m1*VX+m5*VY+m9*VZ
Z=m2*VX+m6*VY+m10*VZ

dst...

Perkalian baris kesatu, akan menghasilkan nilai X, akan tetapi, pada prakteknya, perhitungan ini, biasanya terjadi, setelah anda memutar mutar benda, sedemikian rupa, sehingga hasil akhirnya adalah, nilai yang telah diputar, akan tetapi, karena belum diputar, maka nilai yang dikalikan masih tetap sama.
« Edit Terakhir: November 10, 2011, 08:16:04 AM oleh Farabi »

Offline Farabi

  • Profesor
  • *****
  • Tulisan: 2584
  • IQ: 167
  • Gender: Pria
  • Self-Proclaim Judge. All hail safirot.
    • Lihat Profil
Re: Trigonometri 3D
« Jawab #2 pada: November 10, 2011, 08:14:18 AM »
Nah biar asik, langsung aja rumus lengkap nya? Pilih deh, mau tangan kanan, mau tangan kiri.


http://www.cprogramming.com/tutorial/3d/rotationMatrices.html

Offline Farabi

  • Profesor
  • *****
  • Tulisan: 2584
  • IQ: 167
  • Gender: Pria
  • Self-Proclaim Judge. All hail safirot.
    • Lihat Profil
Re: Trigonometri 3D
« Jawab #3 pada: November 10, 2011, 01:59:27 PM »
Ada yang mau ditanyakan ga? Saya butuh banyak orang yang ngerti masalah ini. Udah mepet waktunya ;D

Offline Farabi

  • Profesor
  • *****
  • Tulisan: 2584
  • IQ: 167
  • Gender: Pria
  • Self-Proclaim Judge. All hail safirot.
    • Lihat Profil
Re: Trigonometri 3D
« Jawab #4 pada: November 12, 2011, 08:29:10 AM »
Karena Dunia 3D adalah dunia yang relatif, maka hitungan yang ada didalam dunia 3D tidak bisa atomic, dalam artian tidak bisa dibagi lagi, melainkan hitungan relatif. Saat anda menggambar 10 pixel pada ruang 2D, 10 pixel ini bisa menjadi 100 pixel dalam koordinat 3D, karena adanya hukum, semakin dekat benda semakin besar. Hal ini jelas membuktikan bahwa anda membutuhkan sebuah unit pengolah (prosessor) dan unit penghapal (memory) yang sangat besar.

Seringkali sebuah texture saat diperbesar menjadi jelek, sebaliknya, tekstur yang terlalu besar saat dijadikan kecil, membuak komputasi menjadi berat, itulah sebabnya, sebetulnya didalam GPU atau Graphic card anda, dibutuhkan memori yang besar. Saat anda memasukkan sebuah tekstur dengan dimensi misalkan 1024x1024, saat texture anda diload ke Graphic Card, GP akan membuat gambar tersebut menjadi beberapa versi yang lebih kecil, sehingga, saat terjadi pembesaran atau pengecilan, komputasi yang terjadi tidak terlalu mahal, mahal disini dalam artian terlalu banyak memakan sumber daya.

Membuat sebuah piranti lunak 3D dengan bilangan bulat memang bisa, tapi akan terlihat aneh saat terjadi pergerakan, dimana gerakan awal sangat cepat, tapi setelah itu menjadi sangat lambat sekali, karena presisi yang banyak terlewat. Itu sebabnya sebuah bilangan pecahan, atau "Floating-point" nilai mengambang, atau kalau istilah saya, nilai antara sangat memegang peranan penting.

Dibandingkan dengan instruksi perkalian bilangan bulat, bilangan antara ini lebih lambat 100 kali, bisa sampai 100 detak setiap operasinya. Jika prosesor anda 1 miliar deta perdetik, tinggal anda bagikan saja berapa kali bisa menghitung bilangan antara atau pecahan ini. Sedangkan perkalian bulat, hanya memakan 10 sampai 20 detak saja, perbedaan yang sangat jauh. Akan tetapi, fungsi bilangan bulat pada komputer Intel tidak mempunyai hitungan akar quadrat dari bilangan cacah. Konon SSE2 yang adalah instruksi tambahan dari komputer intel bisa menghitung 4 buah bilangan bulat akar quadrat sekaligus, tapi sayangnya, menurut saya, selain rumit, kecepatannya masih sama saja dengan bilangan cacah.

Beberapa prosesor AMD katanya memiliki kemampuan antara bilangan bulat dan cacah yang sama, tapi entah sama cepat atau sama lambat, tapi dari beberapa pengguna AMD, mereka puas dengan performa komputer AMD untuk bermain game. Tapi saya belum pernah coba.

Jadi inti dari tulisan saya, anda harus memahami bahwa dalam 3D sebuah koordinat adalah relatif, dan harus menggunakan pecahan.

Offline Farabi

  • Profesor
  • *****
  • Tulisan: 2584
  • IQ: 167
  • Gender: Pria
  • Self-Proclaim Judge. All hail safirot.
    • Lihat Profil
Re: Trigonometri 3D
« Jawab #5 pada: November 12, 2011, 11:07:20 AM »
Yang lama dan berat dari 3D itu adalah floodfill, alias pengarsiran sebuah bidang, juga penskalaan gambar dan mapping gambar. Semisal, sebuah gambar dengan ukuran 1024x1024 dimasukkan ke sebuah kotak dengan ukuran 50x50 unit relative dalam koordinat 3D. Disini langkah yang harus dibuat adalah, pertama anda menskalakan gambar, kemudian menghitung luas dari kotak tersebut, baru kemudian gambar diisi sesuai dengan yang telah diarsir, proses ini sangat lambat dan memakan banyak waktu. Harus menggunakan prosesor khusus, dengan bandwith memory yang besar. Dan dengan kemampuan hitung yang banyak, kalau bisa, 1024 pixel itu ditangani oleh 1024 chip juga, dengan sebuah arsitektur chipset yang telah dioptimasi sedemikian rupa, sehingga bisa dengan cepat melakukan pengarsiran texture, sebenarnya, dalam hal inilah CPU kalah dibandingkan GPU. Karena CPU berpusat pada bilangan bulat, sedangkan GPU pada bilangan Cacah.

Offline Farabi

  • Profesor
  • *****
  • Tulisan: 2584
  • IQ: 167
  • Gender: Pria
  • Self-Proclaim Judge. All hail safirot.
    • Lihat Profil
Re: Trigonometri 3D
« Jawab #6 pada: November 13, 2011, 03:04:22 AM »
http://ompldr.org/vYjh3Zw/OGLE.zip

Contoh implementasi. Untuk kalkulasi kamera menjadi lebih cepat, tapi sayangnya, saya tidak punya model manusia lagi, jadinya ya saya pakai ini sehingga pada komputer saya CPU usagenya 30%. Ukuran tekxture memang luar biasa, 2048x2048 32bit RGBA, beberapa komputer jadul mungkin tidak akan sanggup, atau hanya sanggup meload 1 texture itu sama. ;D Model yang terakhir hilang, padahal itu yang paling efisien.

Offline Farabi

  • Profesor
  • *****
  • Tulisan: 2584
  • IQ: 167
  • Gender: Pria
  • Self-Proclaim Judge. All hail safirot.
    • Lihat Profil
Re: Trigonometri 3D
« Jawab #7 pada: November 16, 2011, 08:01:58 AM »
Pada contoh sebelumnya saya salah melihat, ternyata Matrix OpenGL entah bagaimana salah menghitung jika anda mentranslasikan sebuah vektor misalkan dengan panjang lurus ke Z, sehingga pada contoh diatas kameranya berantakan. Ini adalah versi kamera yang telah diperbaiki, artinya, pada tiap tiap Matrix, Vektor harus anda kalikan sendiri menggunakan FPU di CPU anda


Sebetulnya Trigonometri 3D ini sangat mudah, kadang yang membuat rumit adalah istilah istilah dan logika yang nyaris susah untukdipahami.
Sayangnya, mau dibagaimanapun, ternyata setelah menggunakan cahaya dan texture, biarpun hanya beberapa VRTEX saja, tetap saja dikomputer saya minimal 25% CPU Usage, tampaknya itu adalah minimal dari kemampuan GPU saya. Sedangkan untuk membaca VRAM, yang biasanya menggunakan syslinux cepat, kalau menggunakan OpenGL sangat lambat sekali, bisa mencapai CPU Usage 100%

Ini adalah contoh implementasi kamera yang telah diperbaiki.
http://ompldr.org/vYmFyaQ/OGLE.zip (5 MBytes, ouch)

Offline Farabi

  • Profesor
  • *****
  • Tulisan: 2584
  • IQ: 167
  • Gender: Pria
  • Self-Proclaim Judge. All hail safirot.
    • Lihat Profil
Re: Trigonometri 3D
« Jawab #8 pada: November 19, 2011, 11:15:25 AM »
Gimana nih? Pada ngerti ga? ????

Offline Farabi

  • Profesor
  • *****
  • Tulisan: 2584
  • IQ: 167
  • Gender: Pria
  • Self-Proclaim Judge. All hail safirot.
    • Lihat Profil
Re: Trigonometri 3D
« Jawab #9 pada: November 20, 2011, 08:04:04 AM »
Simpel kok. Hubungannya cuma Sin Cos, -Sin Cos untuk yang lainnya. Cuma itu saja.

Offline Farabi

  • Profesor
  • *****
  • Tulisan: 2584
  • IQ: 167
  • Gender: Pria
  • Self-Proclaim Judge. All hail safirot.
    • Lihat Profil
Re: Trigonometri 3D
« Jawab #10 pada: November 20, 2011, 08:13:31 AM »
Luas sebuah Object.

 Coba anda hitung berapa luasnya?


Anda tidak akan mampu. Tapi bukan berarti tidak bisa. Sebuah objek 3D dibentuk oleh minimal 3 buah VERTEX yang biasa disebut TRI Mesh, atau 4 buah VERTEX yang biasa disebut Quad Mesh. Sebetulnya gambar diatas terdiri dari titik titik yang terbentuk dari 1 TRI Mesh atau 3 buah VERTEX.



Sehingga memungkinkan bagi anda untuk menghitung jika kurang kerjaan ;D

 

Copyright © 2006-2011 Forum Sains Indonesia