Minggu, 11 Oktober 2026
01:22 WIB
TERKINI
Lampung Anak Krakatau Naik Status Siaga Level III: Potensi Bahaya, Jauhi Radius 5 KM Lampung Gunung Anak Krakatau Kembali Erupsi, Status Siaga Ditetapkan, Radius Bahaya 5 Km Teknologi Sega Siapkan DLC Penutup dan Final Kejuaraan Dunia Sonic Racing: CrossWorlds Otomotif Bengkel Mini di Rumah: 6 Alat Penting untuk Perbaikan Ringan Kendaraan Teknologi School Party Craft: Rasakan Sensasi Unik Simulasi Kehidupan di Dunia Terbuka Hukum Polemik Dokumen Pencalonan Gibran: KPU Didesak Transparan Pasca Putusan MK Hiburan Syahrini Kembali Guncang Panggung Musik: Rilis Lagu Baru dan Gebrak Pestapora 2026 Regional LPS Periksa Aset Debitur BPR Tripanca Setiadana di Lampung untuk Pemulihan Regional Bandar Lampung Meriahkan Acara Bersholawat, Eratkan Persaudaraan Umat Lampung Pesisir Lampung Waspada Banjir Rob, BMKG Ingatkan Pasang Maksimum 12-15 Oktober Lampung Anak Krakatau Naik Status Siaga Level III: Potensi Bahaya, Jauhi Radius 5 KM Lampung Gunung Anak Krakatau Kembali Erupsi, Status Siaga Ditetapkan, Radius Bahaya 5 Km Teknologi Sega Siapkan DLC Penutup dan Final Kejuaraan Dunia Sonic Racing: CrossWorlds Otomotif Bengkel Mini di Rumah: 6 Alat Penting untuk Perbaikan Ringan Kendaraan Teknologi School Party Craft: Rasakan Sensasi Unik Simulasi Kehidupan di Dunia Terbuka Hukum Polemik Dokumen Pencalonan Gibran: KPU Didesak Transparan Pasca Putusan MK Hiburan Syahrini Kembali Guncang Panggung Musik: Rilis Lagu Baru dan Gebrak Pestapora 2026 Regional LPS Periksa Aset Debitur BPR Tripanca Setiadana di Lampung untuk Pemulihan Regional Bandar Lampung Meriahkan Acara Bersholawat, Eratkan Persaudaraan Umat Lampung Pesisir Lampung Waspada Banjir Rob, BMKG Ingatkan Pasang Maksimum 12-15 Oktober
Grafika komputer 3D

Grafika komputer 3D

grafik yang menggunakan data geometri tiga dimensi

Bagikan:
250px-Glasses_800_edit.png?utm_source=id.wikipedia.org&utm_campaign=parser&utm_content=thumbnail
Contoh grafika komputer 3D

Grafika komputer 3D (Inggris: 3D Computer graphics) adalah representasi data geometrik 3D sebagai hasil pemrosesan dan pemberian efek cahaya terhadap grafika komputer 2D. Hasil ini kadang kala ditampilkan dalam waktu nyata (real time) untuk keperluan simulasi. Secara umum prinsip yang dipakai mirip dengan grafika komputer 2D, dalam hal: penggunaan algoritme, grafika vektor, model rangka (wire frame model), dan grafika rasternya.

Grafika komputer 3D sering disebut sebagai model 3D. Namun, model 3D lebih menekankan pada representasi matematis untuk objek 3D. Data matematis ini belum bisa dikatakan sebagai gambar grafis sampai ditampilkan secara visual pada layar komputer atau printer. Proses penampilan suatu model matematis ke bentuk citra 2D biasanya dikenal dengan proses perenderan 3D.

Transformasi Matriks

Grafika komputer 3D menggunakan matriks 4x4 untuk mengubah dan menayangkan model 3D dalam bentuk citra 2D. Grafika komputer 3D memiliki 5 jenis dasar matriks transformasi:

  • Matriks model (Model matrix): Menyimpan orientasi dan posisi model relatif terhadap suatu posisi.
  • Matriks pandangan (View matrix): Menyimpan transformasi pandangan relatif terhadap posisi asal (yang bernilai (0,0,0)).
  • Matriks proyeksi (Projection matrix): Menyimpan transformasi untuk mengubah ruang 3D menjadi citra 2D, dan sebaliknya.
  • Matriks dunia (World matrix): Menyimpan orientasi dan posisi suatu posisi relatif terhadap posisi asal.
  • Matriks lokal (Local matrix): Menyimpan orientasi dan posisi suatu posisi relatif terhadap suatu posisi lain.

Saat penayangan citra, kamera pandangan digunakan sebagai kerangka acuan ruang maya. Apabila kamera harus berpindah (translate) sejarak +10 unit di Poros-Z, maka seluruh model di ruang maya harus berpindah -10 di Poros-Z. Jadi, kamera sebenarnya tidak berpindah, melainkan ruang maya yang berpindah. Setiap benda (termasuk kamera) grafika komputer mempunyai matriks model yang menyimpan posisi dan orientasi model. Sementara, kamera juga memiliki matriks pandangan dan proyeksi. Matriks dunia dan matriks lokal tidak wajib diperlukan, dan bisa dianggap bernilai identitas.

Berikut adalah contoh transformasi matriks dengan kode palsu OpenGL:

voidDraw(void)
{
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glViewport(0,0,1024,768);
gluPerspective(45.0f,(GLFloat)(1024)/(GLFloat)(768),0.125f,1024.0f);/* Kode viewport di sini, transformasi matriks proyeksi di sini*/
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

gluLookAt(0.0f,0.0f,0.0f,0.0f,0.0f,-1.0f,0.0f,1.0f,0.0f);/* Kode kamera, transformasi matriks pandangan */

glTranslatef(1.0f,2.0f,3.0f);/* Kode perpindahan, transformasi matriks dunia */

glPushMatrix();
{
glTranslatef(4.0f,5.0f,6.0f);/* Kode perpindahan, transformasi matriks lokal */
glPushMatrix();
{
glTranslatef(7.0f,8.0f,9.0f);/* Kode perpindahan, transformasi matriks model */
DrawModel();/* Menggambarkan model nomor 1 */
}
glPopMatrix();
glPushMatrix();
{
glTranslatef(7.0f,8.0f,9.0f);/* Kode perpindahan, transformasi matriks model */
DrawModel();/* Menggambarkan model nomor 2 */
}
glPopMatrix();
}
glPopMatrix();
glPushMatrix();
{
glTranslatef(10.0f,11.0f,12.0f);/* Kode perpindahan, transformasi matriks lokal */
glPushMatrix();
{
glTranslatef(13.0f,14.0f,15.0f);/* Kode perpindahan, transformasi matriks model */
DrawModel();/* Menggambarkan model nomor 3 */
}
glPopMatrix();
glPushMatrix();
{
glTranslatef(16.0f,17.0f,18.0f);/* Kode perpindahan, transformasi matriks model */
DrawModel();/* Menggambarkan model nomor 4 */
}
glPopMatrix();
}
glPopMatrix();
}

Selain kelima matriks dasar tersebut, juga terdapat matriks-matriks yang merupakan hasil perkalian matriks dasar, contohnya:

  • Matriks model-pandangan (Model-view matrix)
  • Matriks model-pandangan-proyeksi (Model-view-projection matrix): Digunakan untuk algoritma perpisahan frustum matriks (Matrix frustum culling).
  • Matriks dunia-pandangan-proyeksi (World-view-projection matrix): Digunakan di dalam algoritma penayangan citra oleh perangkat lunak shader seperti FX Composer dan RenderMonkey.

Perpindahan

Matriks transformasi untuk perpindahan (translation) adalah sebagai berikut:[1]

[ x ′ y ′ z ′ 1 ] = [ 1 0 0 t x 0 1 0 t y 0 0 1 t z 0 0 0 1 ] [ x y z 1 ] {\displaystyle {\begin{bmatrix}x'\\y'\\z'\\1\end{bmatrix}}={\begin{bmatrix}1&0&0&t_{x}\\0&1&0&t_{y}\\0&0&1&t_{z}\\0&0&0&1\end{bmatrix}}{\begin{bmatrix}x\\y\\z\\1\end{bmatrix}}} {\displaystyle {\begin{bmatrix}x'\\y'\\z'\\1\end{bmatrix}}={\begin{bmatrix}1&0&0&t_{x}\\0&1&0&t_{y}\\0&0&1&t_{z}\\0&0&0&1\end{bmatrix}}{\begin{bmatrix}x\\y\\z\\1\end{bmatrix}}}

Rotasi

Matriks transformasi untuk rotasi Poros-X adalah sebagai berikut:[1]

[ x ′ y ′ z ′ 1 ] = [ 1 0 0 0 0 cos ⁡ θ − sin ⁡ θ 0 0 sin ⁡ θ cos ⁡ θ 0 0 0 0 1 ] [ x y z 1 ] {\displaystyle {\begin{bmatrix}x'\\y'\\z'\\1\end{bmatrix}}={\begin{bmatrix}1&0&0&0\\0&\cos \theta &-\sin \theta &0\\0&\sin \theta &\cos \theta &0\\0&0&0&1\end{bmatrix}}{\begin{bmatrix}x\\y\\z\\1\end{bmatrix}}} {\displaystyle {\begin{bmatrix}x'\\y'\\z'\\1\end{bmatrix}}={\begin{bmatrix}1&0&0&0\\0&\cos \theta &-\sin \theta &0\\0&\sin \theta &\cos \theta &0\\0&0&0&1\end{bmatrix}}{\begin{bmatrix}x\\y\\z\\1\end{bmatrix}}}

Matriks transformasi untuk rotasi Poros-Y adalah sebagai berikut:[1]

[ x ′ y ′ z ′ 1 ] = [ cos ⁡ θ 0 sin ⁡ θ 0 0 1 0 0 − sin ⁡ θ 0 cos ⁡ θ 0 0 0 0 1 ] [ x y z 1 ] {\displaystyle {\begin{bmatrix}x'\\y'\\z'\\1\end{bmatrix}}={\begin{bmatrix}\cos \theta &0&\sin \theta &0\\0&1&0&0\\-\sin \theta &0&\cos \theta &0\\0&0&0&1\end{bmatrix}}{\begin{bmatrix}x\\y\\z\\1\end{bmatrix}}} {\displaystyle {\begin{bmatrix}x'\\y'\\z'\\1\end{bmatrix}}={\begin{bmatrix}\cos \theta &0&\sin \theta &0\\0&1&0&0\\-\sin \theta &0&\cos \theta &0\\0&0&0&1\end{bmatrix}}{\begin{bmatrix}x\\y\\z\\1\end{bmatrix}}}

Matriks transformasi untuk rotasi Poros-Z adalah sebagai berikut:[1]

[ x ′ y ′ z ′ 1 ] = [ cos ⁡ θ − sin ⁡ θ 0 0 sin ⁡ θ cos ⁡ θ 0 0 0 0 1 0 0 0 0 1 ] [ x y z 1 ] {\displaystyle {\begin{bmatrix}x'\\y'\\z'\\1\end{bmatrix}}={\begin{bmatrix}\cos \theta &-\sin \theta &0&0\\\sin \theta &\cos \theta &0&0\\0&0&1&0\\0&0&0&1\end{bmatrix}}{\begin{bmatrix}x\\y\\z\\1\end{bmatrix}}} {\displaystyle {\begin{bmatrix}x'\\y'\\z'\\1\end{bmatrix}}={\begin{bmatrix}\cos \theta &-\sin \theta &0&0\\\sin \theta &\cos \theta &0&0\\0&0&1&0\\0&0&0&1\end{bmatrix}}{\begin{bmatrix}x\\y\\z\\1\end{bmatrix}}}

Matriks transformasi untuk rotasi poros vektor (u,v,w) adalah sebagai berikut:

[ x ′ y ′ z ′ 1 ] = [ u 2 + ( v 2 + w 2 ) cos ⁡ θ u v ( 1 − cos ⁡ θ ) − w sin ⁡ θ u w ( 1 − cos ⁡ θ ) + v sin ⁡ θ 0 u v ( 1 − cos ⁡ θ ) + w sin ⁡ θ v 2 + ( u 2 + w 2 ) cos ⁡ θ v w ( 1 − cos ⁡ θ ) − u sin ⁡ θ 0 u w ( 1 − cos ⁡ θ ) − v sin ⁡ θ v w ( 1 − cos ⁡ θ ) + u sin ⁡ θ w 2 + ( u 2 + v 2 ) cos ⁡ θ 0 0 0 0 1 ] [ x y z 1 ] {\displaystyle {\begin{bmatrix}x'\\y'\\z'\\1\end{bmatrix}}={\begin{bmatrix}u^{2}+(v^{2}+w^{2})\cos \theta &uv(1-\cos \theta )-w\sin \theta &uw(1-\cos \theta )+v\sin \theta &0\\uv(1-\cos \theta )+w\sin \theta &v^{2}+(u^{2}+w^{2})\cos \theta &vw(1-\cos \theta )-u\sin \theta &0\\uw(1-\cos \theta )-v\sin \theta &vw(1-\cos \theta )+u\sin \theta &w^{2}+(u^{2}+v^{2})\cos \theta &0\\0&0&0&1\end{bmatrix}}{\begin{bmatrix}x\\y\\z\\1\end{bmatrix}}} {\displaystyle {\begin{bmatrix}x'\\y'\\z'\\1\end{bmatrix}}={\begin{bmatrix}u^{2}+(v^{2}+w^{2})\cos \theta &uv(1-\cos \theta )-w\sin \theta &uw(1-\cos \theta )+v\sin \theta &0\\uv(1-\cos \theta )+w\sin \theta &v^{2}+(u^{2}+w^{2})\cos \theta &vw(1-\cos \theta )-u\sin \theta &0\\uw(1-\cos \theta )-v\sin \theta &vw(1-\cos \theta )+u\sin \theta &w^{2}+(u^{2}+v^{2})\cos \theta &0\\0&0&0&1\end{bmatrix}}{\begin{bmatrix}x\\y\\z\\1\end{bmatrix}}}

Jika vektor memiliki posisi asal (a,b,c), jadi:

[ x ′ y ′ z ′ 1 ] = [ u 2 + ( v 2 + w 2 ) cos ⁡ θ u v ( 1 − cos ⁡ θ ) − w sin ⁡ θ u w ( 1 − cos ⁡ θ ) + v sin ⁡ θ ( a ( v 2 + w 2 ) − u ( b v + c w ) ) ( 1 − cos ⁡ θ ) + ( b w − c v ) sin ⁡ θ u v ( 1 − cos ⁡ θ ) + w sin ⁡ θ v 2 + ( u 2 + w 2 ) cos ⁡ θ v w ( 1 − cos ⁡ θ ) − u sin ⁡ θ ( b ( u 2 + w 2 ) − v ( a u + c w ) ) ( 1 − cos ⁡ θ ) + ( c u − a w ) sin ⁡ θ u w ( 1 − cos ⁡ θ ) − v sin ⁡ θ v w ( 1 − cos ⁡ θ ) + u sin ⁡ θ w 2 + ( u 2 + v 2 ) cos ⁡ θ ( c ( u 2 + v 2 ) − w ( a u + b v ) ) ( 1 − cos ⁡ θ ) + ( a v − b u ) sin ⁡ θ 0 0 0 1 ] [ x y z 1 ] {\displaystyle {\begin{bmatrix}x'\\y'\\z'\\1\end{bmatrix}}={\begin{bmatrix}u^{2}+(v^{2}+w^{2})\cos \theta &uv(1-\cos \theta )-w\sin \theta &uw(1-\cos \theta )+v\sin \theta &(a(v^{2}+w^{2})-u(bv+cw))(1-\cos \theta )+(bw-cv)\sin \theta \\uv(1-\cos \theta )+w\sin \theta &v^{2}+(u^{2}+w^{2})\cos \theta &vw(1-\cos \theta )-u\sin \theta &(b(u^{2}+w^{2})-v(au+cw))(1-\cos \theta )+(cu-aw)\sin \theta \\uw(1-\cos \theta )-v\sin \theta &vw(1-\cos \theta )+u\sin \theta &w^{2}+(u^{2}+v^{2})\cos \theta &(c(u^{2}+v^{2})-w(au+bv))(1-\cos \theta )+(av-bu)\sin \theta \\0&0&0&1\end{bmatrix}}{\begin{bmatrix}x\\y\\z\\1\end{bmatrix}}} {\displaystyle {\begin{bmatrix}x'\\y'\\z'\\1\end{bmatrix}}={\begin{bmatrix}u^{2}+(v^{2}+w^{2})\cos \theta &uv(1-\cos \theta )-w\sin \theta &uw(1-\cos \theta )+v\sin \theta &(a(v^{2}+w^{2})-u(bv+cw))(1-\cos \theta )+(bw-cv)\sin \theta \\uv(1-\cos \theta )+w\sin \theta &v^{2}+(u^{2}+w^{2})\cos \theta &vw(1-\cos \theta )-u\sin \theta &(b(u^{2}+w^{2})-v(au+cw))(1-\cos \theta )+(cu-aw)\sin \theta \\uw(1-\cos \theta )-v\sin \theta &vw(1-\cos \theta )+u\sin \theta &w^{2}+(u^{2}+v^{2})\cos \theta &(c(u^{2}+v^{2})-w(au+bv))(1-\cos \theta )+(av-bu)\sin \theta \\0&0&0&1\end{bmatrix}}{\begin{bmatrix}x\\y\\z\\1\end{bmatrix}}}

Skala

Matriks transformasi skala adalah sebagai berikut:[1]

[ x ′ y ′ z ′ 1 ] = [ s x 0 0 0 0 s y 0 0 0 0 s z 0 0 0 0 1 ] [ x y z 1 ] {\displaystyle {\begin{bmatrix}x'\\y'\\z'\\1\end{bmatrix}}={\begin{bmatrix}s_{x}&0&0&0\\0&s_{y}&0&0\\0&0&s_{z}&0\\0&0&0&1\end{bmatrix}}{\begin{bmatrix}x\\y\\z\\1\end{bmatrix}}} {\displaystyle {\begin{bmatrix}x'\\y'\\z'\\1\end{bmatrix}}={\begin{bmatrix}s_{x}&0&0&0\\0&s_{y}&0&0\\0&0&s_{z}&0\\0&0&0&1\end{bmatrix}}{\begin{bmatrix}x\\y\\z\\1\end{bmatrix}}}

Referensi

  1. 1 2 3 4 5 "NeHe Productions: Matrices - Tutorial penggunaan matriks transformasi dalam penciptaan grafika komputer 3D di permainan video". Diarsipkan dari versi aslinya tanggal 2023-03-29. Diakses tanggal 2012-04-21.

Pranala luar

Konten disalin dari Wikipedia Bahasa Indonesia (lisensi CC BY-SA) Lihat versi asli di Wikipedia

Rekomendasi Pilihan