Member baru? Bingung? Perlu bantuan? Silakan baca panduan singkat untuk ikut berdiskusi.

Welcome to Forum Sains Indonesia. Please login or sign up.

April 20, 2024, 02:15:48 PM

Login with username, password and session length

Topik Baru

Artikel Sains

Anggota
Stats
  • Total Tulisan: 139,653
  • Total Topik: 10,405
  • Online today: 231
  • Online ever: 1,582
  • (Desember 22, 2022, 06:39:12 AM)
Pengguna Online
Users: 0
Guests: 184
Total: 184

Aku Cinta ForSa

ForSa on FB ForSa on Twitter

Arah jatuh bayangan

Dimulai oleh Farabi, Juni 02, 2012, 07:29:44 AM

« sebelumnya - berikutnya »

0 Anggota dan 1 Pengunjung sedang melihat topik ini.

mhyworld

Kemiringan bidang tempat jatuhnya bayangan juga berpengaruh, meskipun bidang tsb rata/flat, sehingga nilai y dari plane/bidang berbeda-beda, tergantung koordinat x dan z. Oleh karena itu koordinat bayangan harus dihitung dengan metode perpotongan garis (diwakili oleh koordinat dari 2 titik pada garis tsb) dan bidang (diwakili oleh koordinat dari 3 titik pada bidang tsb) seperti disebutkan di atas.
once we have eternity, everything else can wait

Farabi

Kutip dari: mhyworld pada Juni 14, 2012, 05:09:09 PM
Kemiringan bidang tempat jatuhnya bayangan juga berpengaruh, meskipun bidang tsb rata/flat, sehingga nilai y dari plane/bidang berbeda-beda, tergantung koordinat x dan z. Oleh karena itu koordinat bayangan harus dihitung dengan metode perpotongan garis (diwakili oleh koordinat dari 2 titik pada garis tsb) dan bidang (diwakili oleh koordinat dari 3 titik pada bidang tsb) seperti disebutkan di atas.

Sama saja, daripada kita mencari titik potong terhadap 2 buah garis, masih lebih cepat untuk mendapatkan nilai Y nya kemudian dicari titik potongnya, daripada menghitung titik potong 2 buah garis, karena dalam dunia nyata, kadang nilai Y nya itu acak. Jadi lebih cepat mencari titik potong berdasarkan nilai Y.
Raffaaaaael, raffaaaaael, fiiii dunya la tadzikro. Rafaael. Fi dunya latadzikro bil hikmah, wa bil qiyad

Maa lahi bi robbi. Taaqi ilaa robbi. La taaqwa, in anfusakum minallaaahi.

mhyworld

Kutip dari: Farabi pada Juni 18, 2012, 12:48:49 PM
Sama saja, daripada kita mencari titik potong terhadap 2 buah garis, masih lebih cepat untuk mendapatkan nilai Y nya kemudian dicari titik potongnya, daripada menghitung titik potong 2 buah garis, karena dalam dunia nyata, kadang nilai Y nya itu acak. Jadi lebih cepat mencari titik potong berdasarkan nilai Y.
Menarik, kalau memang bisa dipraktekkan, bisa menghemat beban komputasi. Bisa anda beri contoh pemakaiannya?
misal garis L memotong titik-titik (0,0,0) dan (1,1,2).
bidang P merupakan perluasan dari segitiga yang titik sudutnya masing-masing (0,0,7), (1,2,3), dan (2,1,2).
Pertanyaannya, apakah garis L berpotongan dengan bidang P?
Kalau ya, berapa koordinat titik potong tersebut?
once we have eternity, everything else can wait

Farabi

Pertama hitung dulu normalnya.

D=(1,1,2)
N=(1/Hyp,1/Hyp,2/Hyp) = (1/2.44,1/2.44,2/2.44) = (0.409,0.409,0.819)

Selanjutnya setelah diketahui normalnya, tentukan nilai Y yang diinginkan. Untuk hal ini, dalam perthingan komputer, lebih baik langsung mengambil nilai Y dari memory daripada menghitung dengan menggunakan bidang P. Dan ini tidak ada rumusnya.

Setelah kita mengetahui nilai Y nya semisal ternyta Y=0. Tinggal cari titik potong, yang rumusnya adalah bagikan nilai Y bidang P dengan normal Y. Jika hasilnya adalah plus, maka Garis L memang memotong bidang P, dan jika minus, maka Garis L tidak memotong bidang P.
Raffaaaaael, raffaaaaael, fiiii dunya la tadzikro. Rafaael. Fi dunya latadzikro bil hikmah, wa bil qiyad

Maa lahi bi robbi. Taaqi ilaa robbi. La taaqwa, in anfusakum minallaaahi.

mhyworld

Jadi, berapa hasilnya, menurut metode yg anda pakai?
once we have eternity, everything else can wait

Farabi

Kutip dari: mhyworld pada Juni 23, 2012, 08:41:04 PM
Jadi, berapa hasilnya, menurut metode yg anda pakai?
(D.y-P.y)/N.y

(1-0)/0.409 = 1.87

sekitar segitu. maaf saya jawab lwt Hp jadi tidak bisa menghitung presisi. karena hasilnya plus maka kita mengetahui, mereka akan saling memotong sumbu y.
Raffaaaaael, raffaaaaael, fiiii dunya la tadzikro. Rafaael. Fi dunya latadzikro bil hikmah, wa bil qiyad

Maa lahi bi robbi. Taaqi ilaa robbi. La taaqwa, in anfusakum minallaaahi.

Farabi

Harap diingat A(0,0,0) B (1,3,4) beda dengan A(1,3,4) B (0,0,0) karena jika dibalikan, maka nilai normalsnya pun terbalik. Maksudnya, jika nilai arah atau normalnya terbalik, ya penentuan apa suatu bidang memotong bidang lain akan terbalik pula. Dalam kasus ini  A (0,0,0) dan B (1,1,2) harusnya tidak memotong bidang P karena arah normalnya adalah negatif, akan tetapi untuk memberikan contoh, saya menjadikannya sebagi positif untuk memperlihatkan bahwa rumus tersebut benar berfungsi dan bisa dijadikan acuan untuk menentukan perpotongan suatu garis.
Raffaaaaael, raffaaaaael, fiiii dunya la tadzikro. Rafaael. Fi dunya latadzikro bil hikmah, wa bil qiyad

Maa lahi bi robbi. Taaqi ilaa robbi. La taaqwa, in anfusakum minallaaahi.

mhyworld

           A     B     0     1     2
______________________
x         0     1     0     1     2
y         0     1     0     2     1
z         0     2     7     3     2

| t |                 |  -1    1     2 |      |  0  |                     | -6    -3    -3  |      |  0  |                     |  21   |
| u | =  invers  | -1    2      1 |  x  |  0  |      =   1/15  | -7     9    -1  |  x   |  0  |     =   1/15   |    7   |         
| v |                 | -2   -4     -5 |     |  7  |                     |  8    -6    -1  |       |  7  |                    |    7   |

[pranala luar disembunyikan, sila masuk atau daftar.]

t=21/15=7/5=1.4

masukkan nilai t ke dalam persamaan garis
diperoleh koordinat titik potong antara garis l dan bidang p, yaitu
(0, 0, 0) + 1.4(1, 1, 2) = ( 1.4, 1.4, 2.8 )
once we have eternity, everything else can wait

Farabi

Kutip dari: mhyworld pada Juni 27, 2012, 02:04:02 PM
           A     B     0     1     2
______________________
x         0     1     0     1     2
y         0     1     0     2     1
z         0     2     7     3     2

| t |                 |  -1    1     2 |      |  0  |                     | -6    -3    -3  |      |  0  |                     |  21   |
| u | =  invers  | -1    2      1 |  x  |  0  |      =   1/15  | -7     9    -1  |  x   |  0  |     =   1/15   |    7   |         
| v |                 | -2   -4     -5 |     |  7  |                     |  8    -6    -1  |       |  7  |                    |    7   |

[pranala luar disembunyikan, sila masuk atau daftar.]

t=21/15=7/5=1.4

masukkan nilai t ke dalam persamaan garis
diperoleh koordinat titik potong antara garis l dan bidang p, yaitu
(0, 0, 0) + 1.4(1, 1, 2) = ( 1.4, 1.4, 2.8 )

Saya tidak mengerti bagaimana cara hitungan diatas di terapkan pada grafik komputer, cara saya menghitung titik potong lebih mudah diterapkan pada komputer.
Raffaaaaael, raffaaaaael, fiiii dunya la tadzikro. Rafaael. Fi dunya latadzikro bil hikmah, wa bil qiyad

Maa lahi bi robbi. Taaqi ilaa robbi. La taaqwa, in anfusakum minallaaahi.

mhyworld

Kutip dari: Farabi pada Juni 30, 2012, 09:18:50 PM
Saya tidak mengerti bagaimana cara hitungan diatas di terapkan pada grafik komputer, cara saya menghitung titik potong lebih mudah diterapkan pada komputer.
Apakah hasilnya sama dengan metode saya di atas?
once we have eternity, everything else can wait

Farabi

Hasilnya beda karena mungkin rumus anda untuk menghitung exact titik potong, sedangkan cara saya hanya mensyaratkan nilai Y yang harus sama.
Raffaaaaael, raffaaaaael, fiiii dunya la tadzikro. Rafaael. Fi dunya latadzikro bil hikmah, wa bil qiyad

Maa lahi bi robbi. Taaqi ilaa robbi. La taaqwa, in anfusakum minallaaahi.

Farabi

Ini hasil jadi dari penerapan rumus matematika yang sedang kita bahas.

[pranala luar disembunyikan, sila masuk atau daftar.]

Silahkan didownload dan di coba. Tekan "V" untuk membuat model tank terbang, dan tekan Y-H-G-J untuk mengubah posisi sumber cahaya.
Raffaaaaael, raffaaaaael, fiiii dunya la tadzikro. Rafaael. Fi dunya latadzikro bil hikmah, wa bil qiyad

Maa lahi bi robbi. Taaqi ilaa robbi. La taaqwa, in anfusakum minallaaahi.

Farabi

Kalau tidak jalan atauhanya menampilkan warna putih saja, coba download yang ini [pranala luar disembunyikan, sila masuk atau daftar.]
Ini adalah implementasi dari rumus diatas.
Raffaaaaael, raffaaaaael, fiiii dunya la tadzikro. Rafaael. Fi dunya latadzikro bil hikmah, wa bil qiyad

Maa lahi bi robbi. Taaqi ilaa robbi. La taaqwa, in anfusakum minallaaahi.

Farabi

#28
Yak, sekarang implementasi bayangannya jauh lebih sempurna, bisa berada di bidang apa saja, dan akan memberikan bayangan kepada benda apapun.

[pranala luar disembunyikan, sila masuk atau daftar.] (30 MBytes)






Jadi untuk rumusnya sebetulnya mudah. Pertama, dapatkan nilai normals dari tiap tiap titik, kemudian skalakan berdasarkan jarak antar benda atau basanya kalau programmer lain dikalikan berdasarkan INFINITY, atau garis terjauh sejauh mungkin. Setelah itu tandai antara permukaan yang menghadap sumber cahaya dan tidak, jika menghadap sumber cahaya tambahkan nilainya satu, dan jika membelakangi sumber cahaya kurangi nilainya 1, nanti yang tersisa adalah bayangannya saja disetiap permukaan yang dia lewati.

Simpel. Tapi sangat boros resources, terutama fill rate.
Raffaaaaael, raffaaaaael, fiiii dunya la tadzikro. Rafaael. Fi dunya latadzikro bil hikmah, wa bil qiyad

Maa lahi bi robbi. Taaqi ilaa robbi. La taaqwa, in anfusakum minallaaahi.

Farabi

Raffaaaaael, raffaaaaael, fiiii dunya la tadzikro. Rafaael. Fi dunya latadzikro bil hikmah, wa bil qiyad

Maa lahi bi robbi. Taaqi ilaa robbi. La taaqwa, in anfusakum minallaaahi.