Download - Makalah Komputer Grafik
-
8/19/2019 Makalah Komputer Grafik
1/26
MAKALAH KOMPUTER GRAFIK
“TRANSFORMASI 2D & TRANSFORMASI 3D”
DOSEN : NAHOT FRASTIAN M. KOM
DISUSUN OLEH :
1. 201143501231 MEIKA HARMANI
2. 201143501260 MAULANA ISHAQ
3. 201143501220 AHMAD LUTFHI
UNIVERSITAS INDRAPRASTA PGRI
FAKULTAS TEKNIK MATEMATIKA DAN IPA
TEKNIK INFORMATIKA
2014
-
8/19/2019 Makalah Komputer Grafik
2/26
DAFTAR ISI
Bab I Alasan Pemilihan Judul……………………………1
Bab II Latar Belakang…………………………………….2
Bab III Pembahasan……………………………………...4
Translasi …………………………………………………4
Skala……………………………………………………….6
Rotasi……………………………………………………...8
Kesimpulan……………………………………………….22
-
8/19/2019 Makalah Komputer Grafik
3/26
BAB I
ALASAN PEMILIHAN JUDUL
Dengan adanya mata kuliah computer grafik, penulis sangat terbantu
dalam upaya penyempurnaan visual / penggambaran atas program yang
akan dibuat nantinya oleh penulis. Penulis berpendapat bahwa hal
mendasar dalam mempelajari computer grafik yakni mengerti dan
memahami konsep transformasi komposisi 2D maupun 3D. Atas dasar hal
tersebut, penulis memilih tema Transformasi Komposisi 2D dan
Transformasi 3D ini.
-
8/19/2019 Makalah Komputer Grafik
4/26
BAB II LATAR BELAKANG
P er ke mb an ga n i lm u p en ge ta hu an d an t ek no lo gi s aa t i ni s an ga tl ah
p esa t. D im an a s et ia p g er ak- ge ri k d an l iku -l iku k eh id up an i ni sa ng at
d ip en ga ru hi o le h a da nn ya i nf or ma si y an g k em ud ia n i nf or ma si i tu d ap at
diperoleh melalui ilmu pengetahuan dan teknologi.
Komputer merupakan salah satu teknologi yang paling pesat
pe rkemba nga nnya. Pa da sa at p ertama kali ditemukan , kompu te r
d ig u na ka n t er ut am a s eb a ga i a la t b a nt u u nt uk m em pe r ce p at p r os es h it un g
menghitung. Komputer dari generasi ke generasi mengalami
pe rkemba nga n d alam hal pen gola han data ba ik kapa sitas maup un
k ec ep a ta n ny a. D at a y an g d io l ah t id ak h an ya b e ru p a t ek s a ta u a n gk a, t ap i
k in i k om pu te r d a pa t m e ng o la h g am b ar /g r af ik a. K om p ut er y an g m e mi li ki
piranti grafis untuk mengolah gambar atau grafika disebut grafis komputer.
G ra fi ka k om p ut er p a da d a sa r ny a a d al a h s ua tu b id a ng k om pu te r y an g
m e mp e l aj a r i c a ra - ca r a u n t uk m e n in g ka t ka n d a n m e m ud a h ka n k o mu n ik a si
a n ta r a m an u si a d en g an m es in ( ko mp u te r) d e ng a n j al a n m em b an g ki tk an ,
m en yi mp a n d a n m em a ni pu la si g a mb a r m od e l s ua tu o bj e k m e ng g un a ka n
-
8/19/2019 Makalah Komputer Grafik
5/26
k o mp u te r . G r a fi k a k o mp u t er m e mu n g ki n ka n k i ta u n tu k b e r ko m un i ka s i l e wa t
gambar-gambar, bagan-bagan dan diagram.
G ra fi ka k om pu te r ( in gg ri s: c om pu te r g ra ph ic s) a da la h b ag ia n d ar i y a ng b e r ka i ta n d e n ga n p e m bu a t an d a n m a ni p u la s i g a mb a r ( v is u a l) s e ca r a
d ig i ta l . B en tu k s ed er h an a d ar i g r af ik a k om p ut er a da l ah g r af ik a k om pu te r
2 D y a ng k e mu d ia n b e r ke m b an g m e n ja d i g r a fi k a k o mp u te r 3 D , p e mr o s es a n
c i tr a ( i ma g e p r o ce s si n g ) d a n p e n ge n a la n p o l a ( p a tt e r n r e co g n it i on ) . G r a fi k a
komputer sering dikenal juga dengan istilah visualisasi data.
G rafis komp uter ada lah su atu b idan g ilmu ya ng mempe lajar i bagaimana membangun grafik (gambar) baik 2D maupun 3D yang
k e li h a ta n n y at a d e n ga n m e ng g u na k an k o mp u te r . S a la h s a tu b i da n g g r a fi k a
k om pu te r y an g s an g at t er ke na l a da l ah d es ai n g ra fi s ( Na na R am ad ij a nt i) .
K om pu te r g ra fi s 2 D a da la h g en er as i k om pu te r b er ba si s g am ba r d ig it al .
K o mp u t er g r a fi s 2 D t e r ut a ma d i g un a ka n d a l am a p l ik a si y a n g p a d a a w a ln y a
dikembangkan pada saat pencetakan tradisional dan teknologi m en g ga m ba r s ep e rt i k ar to g ra fi , g a mb a r t ek ni k, i kl an d a n l ai n- la i n. D al am
a pl ika si , g amb ar 2 D b uk an h an ya d ar i o bj ek d un ia n ya ta t et ap i a rt ef ak
i nd e pe n de n d en g an n il ai t am ba h p e mb u at ny a. K om p ut er g r af is 3 D a d al ah
r e pr e se n ta si d a ri d at a g e om et ri k 3 d im e ns i s eb a ga i h a si l d a ri p e mr os es an
da n pe mber ian efek ca haya ter had ap gra fika komp uter 2D. Hasil ini
k ad an g k al a d it am pi lk an s ec ar a w ak tu n ya ta ( re al t im e) u nt uk k ep er lu an animasi.
-
8/19/2019 Makalah Komputer Grafik
6/26
BAB III
PEMBAHASAN
TRANSFORMASI TRANSLASI , SKALA & ROTASI PADA APLIKASIPROCESSING
1. TRANSLASI
Translasi Adalah memindahkan suatu objek sepanjang garis lurus dari
suatu lokasi koordinat tertentu ke lokasi yang lain. Pada proses translasiKoordinat baru titik yang ditranslasi dapat diperoleh dengan menggunakan
rumus :
x’ = x + tx
y’ = y + ty
Dimana
(x, y) = koordinat asal suatu objek
(x’, y’) =koordinat baru objek setelah ditranslasi.
Tx = translasi vector sumbu x
Ty = translasi vector sumbu y
Berikut aialah contoh penggunaan translasi pada aplikasi processing:
Untuk menggambarkan translasi suatu objek yang berupa segitiga dengankoordinat A(10,10), B(30,10), dan C(10,30) dengan translation vector
(10,20).
-
8/19/2019 Makalah Komputer Grafik
7/26
Titik A(10,10)
X’= x+tx = 10+10= 20
Y’= y+ty = 10+20=30 kordinat baru A’= (20,30)
Titik B(30,10)
X’=x+tx=30+10=40
Y’=y+ty=10+20=30 koordinat baru B’=(40,30)
Titik C(10,30)
X’=x+tx=10+10=20
Y’=y+ty=30+20=50 koordinat baru B’=(20,50)
Coding untuk translasi pada aplikasi processing=
void setup()
{
size(300,200);
background (125);
noStroke();
fill(230);
triangle(10, 10, 30, 10, 10,
30);
fill(0,0,115,125);
pushMatrix();
translate(10,20);
-
8/19/2019 Makalah Komputer Grafik
8/26
triangle(20, 30, 40, 30, 20, 50);
popMatrix();
}
Adapun hasilnya ialah
2. Skala
Transformasi skala adalah perubahan ukuran suatu objek. Koordinat baru
diperoleh dengan melakukan perkalian nilai koordinat dengan skala factor,
yaitu (sx,sy) dimana
sx = skala factor untuk sumbu x
sy = skala factor untuk sumbu y.
Koordinat baru titik yang diskala dapat
diperoleh dengan
x’ = x . sx
y’ = y . sy
Berikut aialah contoh penggunaan transformasi skala pada aplikasiprocessing:
Untuk menggambarkan skala suatu objek yang merupakan segi empat
dengan koordinat A(10,10),
http://lh3.ggpht.com/-m9aDpP8K8Pk/T40Kff8ch-I/AAAAAAAAACY/FY_QV7rLRhs/s1600-h/clip_image004%255B3%255D.jpghttp://lh3.ggpht.com/-m9aDpP8K8Pk/T40Kff8ch-I/AAAAAAAAACY/FY_QV7rLRhs/s1600-h/clip_image004%255B3%255D.jpg
-
8/19/2019 Makalah Komputer Grafik
9/26
B(30,10), C(30,20), D(10,20) diskala dengan skala factor (3,2).
Koordinat A(10,10)
X’= x.sx=10.3=30
Y’= y.sy=10.2=20 A’(30,20)
Koordinat B(30,10)
X’= x.sx=30.3=90
Y’= y.sy=10.2=20 B’(90,20)
Koordinat C(30,20)
X’= x.sx=30.3=90
Y’= y.sy=20.2=40 B’(90,40)
Koordinat D(10,20)
X’= x.sx=10.3=30
Y’= y.sy=20.2=40 B’(30,40)
Coding pada aplikasi processing:
void setup()
{
size (400,200);
background (125);
stroke(100);
fill(230);
-
8/19/2019 Makalah Komputer Grafik
10/26
quad(10, 10, 30, 10, 30, 20, 10, 20);
stroke(1);
pushMatrix();
scale(3.2);
fill(12);
quad(30, 20, 90, 20, 90, 40, 30, 40);
popMatrix();
}
Berikut Ialah Hasilnya:
:
3. ROTASI
Rotasi dua dimensi pada suatu objek akan memindahkan objek tersebut
menurut garis melingkar. Untuk melakukan rotasi diperlukan sudut rotasi 6
dan pivot point(xp,yp). Nilai positif dari sudut rotasi menentukan arah rotasiberlawanan dengan arah jarum jam. Sedangkan sudut rotasi negative
memutar objek searah dengan jarum jam.
Rotasi suatu titik terhadap pivot point (xp, yp) menggunakan bentuktrigonemetri, sebagai berikut :
x’ = x + (x – xy ) cos θ – (y – yp ) sinθ
y’ = yp + (x – xp) sin θ + (y – yp) cos θ
http://lh3.ggpht.com/-RTAlolUrxAI/T40KkhkrZ_I/AAAAAAAAAC0/LwaTa5rap54/s1600-h/clip_image008%255B3%255D.jpghttp://lh3.ggpht.com/-RTAlolUrxAI/T40KkhkrZ_I/AAAAAAAAAC0/LwaTa5rap54/s1600-h/clip_image008%255B3%255D.jpg
-
8/19/2019 Makalah Komputer Grafik
11/26
Berikut ini ialah contoh rotasi pada aplikasi processing:
Untuk menggambarkan rotasi suatu objek yang berupa segitiga dengan
koordinat A(10,10), B(30,10), dan C(10,30) dengan sudut rotasi30 0 terhadap titik pusat koordinat Cartesian (10,10).
Titik A (10, 10)
X’= Xp + (X - Xp) cos(30 0) - (Y-Yp) sin(30 0)
= 10 + (10 – 10) 0,9 – (10 – 10) 0,5
= 10 + 0 – 0 = 10
Y’= Yp + (X-Xp) sin(30
0
) + (Y-Yp) cos(30
0
)
= 10 + (10 – 10) 0,5 + (10 – 10) 0,9
= 10 + 0 – 0 = 10
Hasil rotasi titik A’ (10, 10)
Titik B (30, 10)
X’= Xp + (X - Xp) cos(30
0
) - (Y-Yp) sin(30
0
)
= 10 + (30 – 10) 0,9 – (10 – 10) 0,5
= 10 + 18 – 0 = 28
Y’= Yp + (X-Xp) sin(30 0) + (Y-Yp) cos(30 0)
= 10 + (30 – 10) 0,5 + (10 – 10) 0,9
= 10 + 10 – 0 = 20
Hasil rotasi titik B’ (28, 20)
Titik C (10, 30)
X’= Xp + (X - Xp) cos(30 0) - (Y-Yp) sin(30 0)
-
8/19/2019 Makalah Komputer Grafik
12/26
= 10 + (10 – 10) 0,9 – (30 – 10) 0,5
= 10 + 0 +10 = 20
Y’= Yp + (X-Xp) sin(30 0) + (Y-Yp) cos(30 0)
= 10 + (10 – 10) 0,5 + (30 – 10) 0,9
= 10 + 0 + 18 = 28
Hasil rotasi titik C’ (20, 28)
Coding untuk rotasi pada processing :
void setup()
{
size(100,100);
background (125);
noStroke();
fill(230);
triangle(10, 10, 30, 10, 10,
30);
fill(0,0,115,125);
pushMatrix();
rotate(radians(30));
triangle(10, 10, 28, 20, 20,
28);
popMatrix();
}
-
8/19/2019 Makalah Komputer Grafik
13/26
Hasil tampilan gambar.
Grafik 2D
Grafik 2 dimensi adalah sekumpulan titik yang dihubungkan dengan garislurus, baik berupa polyline, polygon atau kurva. Definisinya adalah
kumpulan titik titik yang secara komputasi di nyatakan sebagai array 1D,
atau linkedlist sesuai dengan struktur data yang digunakan dalam
menyatakan kumpulan titik 2D. 2D ini hanya mempunyai 2 sumbu titik yaitu
X dan Y.
Beberapa bentuk model pada objek 2D, Yaitu :
● Line (Garis)
Pengertian garis menurut Leksikon Grafika adalah benda dua dimensi tipis
memanjang. Sedangkan Lillian Gareth mendefinisikan garis sebagai
sekumpulan titik yang bila dideretkan maka dimensi panjangnya akan
tampak menonjol dan sosoknya disebut dengan garis. Terbentuknya garis
merupakan gerakan dari suatu titik yang membekaskan jejaknya sehingga
http://doniavira.wordpress.com/2012/12/03/design-permodelan-grafik-objek-2dlinecirclearc-polygon/images-5/#mainhttp://doniavira.wordpress.com/2012/12/03/design-permodelan-grafik-objek-2dlinecirclearc-polygon/images-5/#mainhttp://lh6.ggpht.com/-ru2A1uypa8k/T40KqheW9-I/AAAAAAAAADY/bl-WDDCQXQ0/s1600-h/clip_image010%255B3%255D.jpghttp://lh6.ggpht.com/-ru2A1uypa8k/T40KqheW9-I/AAAAAAAAADY/bl-WDDCQXQ0/s1600-h/clip_image010%255B3%255D.jpg
-
8/19/2019 Makalah Komputer Grafik
14/26
terbentuk suatu goresan. Untuk menimbulkan bekas, biasa
mempergunakan pensil, pena, kuas dan lain-lain. Bagi senirupa garis
memiliki fungsi yang fundamental, sehingga diibaratkan jantungnya
senirupa. Garis sering pula disebut dengan kontur, sebuah kata yang
samar dan jarang dipergunakan.
Pentingnya garis sebagai objek/elemen senirupa, sudah terlihat sejak
dahulu kala. Nenek moyang manusia jaman dulu, menggunakan garis ini
sebagai media ekspresi senirupa di gua-gua. Mereka menggunakan garis
ini untuk membentuk obyek-obyek ritual mereka. Sebagai contoh adalah
lukisan di dinding gua Lascaux di Prancis, Leang-leang di Sulawesi,
Altamira di Spanyol dan masih banyak lainnya.
Grafik Adegan Model Pemrograman 3D
Adegan grafik berbasis Java 3D yang menyediakan model
pemrogramansederhana dan fleksibel
mekanisme untuk mewakili dan rendering adegan. Grafik adegan berisi
deskripsi lengkap seluruh adegan, atau jagad maya. Ini mencakup
geometrik data, informasi atribut, dan informasi yang diperlukan
untuk melihat
membuat adegan dari sudut pandang tertentu. Bab 3, “Grafik Adegan
Dasar-dasar, “memberikan informasi lebih lanjut
tentang pemrograman grafik3D adegan Java
model.
Java 3D API API meningkatkan pada grafik sebelumnya
dengan menghilangkan banyak
pembukuan dan pemrograman API tugas
yang mereka memaksakan. Java 3D
memungkinkan programmer untuk berpikir tentang objek
geometris daripadatentang segitiga-
-
8/19/2019 Makalah Komputer Grafik
15/26
tentang adegan dan komposisinya bukan tentang bagaimana
menulis rendering
kode untuk menampilkan adegan efisien.
1.Rendering mode
Java 3D mencakup tiga mode rendering yang berbeda: modus langsung,
mempertahankan modus, dan menyusun-retained mode (lihat Bab 13,
“eksekusi dan Rendering Model”). Mode rendering yang berturut-turut
setiap memungkinkan Java 3D lebih banyak kebebasan dalam
mengoptimalkaneksekusi aplikasi. Sebagian besar aplikasi Java 3D
akan diambil. keuntungan dari kenyamanan dan kinerja manfaat yang tetap
dan disusun-mempertahankan mode memberikan.
2 Immediate Mode
Immediate modemeninggalkan sedikit ruang untuk pengoptimalan global
pada grafik adegan tingkat. Meskipun demikian, Java 3D telah menaikkan
tingkat abstraksi dan mempercepat segera modus render secara per objek. Aplikasi harus memberikan Metode menarik 3D Java dengan lengkap dari
poin, lines, atau segitiga, yang kemudian diterjemahkan oleh renderer 3D
Java berkecepatan tinggi. Tentu saja, aplikasi dapat membangun daftar ini
dari poin, lines, atau segitiga dengan cara itu memilih.
3 Retained Mode
Retained mode Modus saldo memerlukan aplikasi untuk membangun
sebuah adegan grafik dan menentukan elemen mana grafik adegan yang
dapat berubah selama rendering. AdeganGrafik menggambarkan objek divirtual alam semesta, susunan mereka benda, dan bagaimana aplikasi
menjiwai objek tersebut.
4 Compiled-Retained Mode
Compiled-retained mode, seperti mempertahankan modus, membutuhkan
aplikasi untuk membangun adegan grafik dan menentukan unsur-unsur
-
8/19/2019 Makalah Komputer Grafik
16/26
yang adegan grafik dapat berubah selama rendering. Selain itu, aplikasi
dapat menyusun beberapa atau semua subgraphs membuat grafik adegan
lengkap. Mengkompilasi Java 3D grafik ini ke internal format. Representasi
dikompilasi grafik adegan mungkin beruang mirip dengan struktur pohon
asli yang disediakan oleh aplikasi, namun, ini fungsional setara.
Disusun-retained mode menyediakan tertinggi kinerja.
5 Extensibility
Kebanyakan Java 3D kelas mengekspos hanya metode aksesor dan
mutator. Metode-metodehanya beroperasi pada objek bahwa keadaaninternal, membuatnya tidak berarti untuk aplikasi untuk mengganti mereka.
Oleh karena itu, Java 3D tidak menyediakan kemampuan
untuk menimpa perilaku Java 3D atribut. Untuk membuat Java 3D bekerja
dengan benar, aplikasi harus memanggil “super.setXxxxx” untuk negara
atribut menetapkan metode akan ditimpa. Aplikasi dapat memperpanjang
kelas Java 3D dan menambahkan metode mereka sendiri. Namun,mereka
mungkin tidak menimpa Java 3D adegan grafik traversal semantik
karena Node tidak berisi traversal eksplisit dan menarik metode. Java 3Drenderer mempertahankan semantik tersebut secara internal. Java 3D
menyediakan kait untuk mencampur Java 3D–controlled adegan grafik
render dan dikendalikan oleh pengguna render menggunakan Java 3D
segera modus konstruksi (lihat bagian 14.1.2, “Campuran-Mode
Rendering”). Atau, aplikasi dapat menghentikan renderer Java 3D dan
melakukan semua yang menarik dalam modus langsung (lihat Bagian
14.1.1, “Murni segera-Mode Rendering”). Perilaku memerlukan aplikasi
untuk memperluas objek perilaku dan untuk menimpa yang metode dengankode Java ditulis pengguna. Ini diperpanjang objek harus berisi
referensi untuk adegan grafik objek tersebut yang akan mereka
memanipulasi pada jangka waktu. Bab 10, “Perilaku dan Interpolators,”
menggambarkan perilaku Java 3D model.
-
8/19/2019 Makalah Komputer Grafik
17/26
6 High Performance
Model pemrograman java 3D memungkinkan 3D Java API untuk
melakukan tugas-tugas yang biasa, seperti adegan grafik traversal,
mengelola perubahan negara atribut, dan sebagainya, dengan demikian
menyederhanakan aplikasi pekerjaan. Java 3D melakukan ini tanpa
mengorbankan kinerja. Pada pandangan pertama, mungkin tampak bahwa
pendekatan ini akan membuatlebih banyak pekerjaan untuk API; Namun,
itu benar-benar memiliki efek sebaliknya. Java 3D tingkat yang lebih tinggi
dari abstraksi perubahan tidak hanya jumlah tetapi, yang lebih penting,
juga jenis pekerjaan API harus melakukan. Java 3D tidak perlu
memaksakan jenis yang sama kendala seperti api dengan tingkat yang
lebih rendah dari abstraksi, sehingga memungkinkanJava 3D untuk
memperkenalkan optimasi tidak mungkin dengan api tingkat rendah
ini. Selain itu, meninggalkan rincian render ke Java 3D memungkinkan
untuk tune render untuk hardware yang mendasarinya. Sebagai contoh,
santai render ketat urutan yang dipaksakan oleh api lain memungkinkan
traversal paralel serta rendering paralel. Mengetahui bagian mana dari
adegan grafik tidak diubah saat menjalankan memungkinkan Java 3Duntuk meratakan pohon, geometri pretransform, atau mewakili
geometri dalam format hardware asli tanpa perlu untuk menyimpan data
asli.
7 Layered Implementation
Selain optimasi di tingkat grafik adegan, salah satu faktor yang lebih
pentingyang menentukan kinerja Java 3D adalah waktu yang dibutuhkan
untuk membuat terlihat geometri. Java 3D implementasi berlapis untukmengambil keuntungan dari asli, tingkat-rendah API yang tersedia pada
sistem tertentu. Secara khusus, Java 3D implementasi yang menggunakan
Direct3D dan OpenGL tersedia. Ini berarti bahwa Java 3D rendering akan
dipercepat di berbagai sama sistem yang didukung oleh api tingkat rendah
ini.
-
8/19/2019 Makalah Komputer Grafik
18/26
8 Menargetkan Hardware Platforms
Java 3D ditujukan pada berbagai mampu 3D hardware dan software
platform,dari kartu permainan PC berbiaya rendah dan lunak renderers
pada akhir rendah, melalui midrange workstation, sepanjang jalan untuk
kinerja yang sangat tinggi khusus Gambar 3D generator.
Java 3D implementasi diharapkan untuk memberikan tingkat render
berguna pada sebagian besar
PC modern, khususnya dengan kartu akselerator grafis 3D. Pada
midrangeworkstation, Java 3D diharapkan untuk memberikan aplikasi
dengan kecepatan yang hampir penuh kinerja perangkat keras. Akhirnya,
Java 3D dirancang untuk skala sebagai platform perangkat keras yang
mendasari peningkatan kecepatan dari waktu ke waktu. Besok 3D
akselerator permainan PC akan mendukungdunia maya yang lebih
kompleks daripada harga tinggi workstation beberapa tahun yang
lalu. Java 3D dipersiapkan untuk memenuhi peningkatan kinerja perangkat
keras.
9 Support for Building Applications and Applets
Java 3D mengantisipasi maupun langsung mendukung setiap
kemungkinan membutuhkan 3D. Sebaliknya menyediakan dukungan untuk
menambahkan fitur tersebut melalui kode Java. Objek didefinisikan dengan
menggunakan sistem CAD (CAD) atau animasi sistem dapat dimasukkan
dalam aplikasi berbasis 3D Java. Kebanyakan model paket memiliki format
eksternal (kadang-kadang berpemilik). Desainer dapatmengekspor geometri yang dirancang dengan menggunakan modeler
eksternal ke file. Java 3D dapat menggunakan itu geometris informasi,
tetapi hanya jika aplikasi menyediakan sarana untuk membaca
dan menerjemahkan modeler format file ke Java 3D primitif.Demikian pula,
VRML loader akan mengurai dan menerjemahkan VRML file dan
-
8/19/2019 Makalah Komputer Grafik
19/26
-
8/19/2019 Makalah Komputer Grafik
20/26
Java 3D mendefinisikan beberapa kelas dasar yang digunakan untuk
membangun dan memanipulasi adegan grafik dan untuk melihat dan
rendering. Gambar 1-1 menunjukkan secara keseluruhan Objek hirarki
yang digunakan oleh Java 3D. Bab-bab berikutnya memberikan lebih detail
untuk bagian-bagian tertentu dari hirarki.
12 Penataan Java 3D Program
Bagian ini menggambarkan bagaimana seorang pengembang mungkin
struktur 3D aplikasi Java.
Aplikasi sederhana dalam contoh ini menciptakan grafik adegan yang
menarik objek di tengah dari jendela dan berputar obyek tentang titik pusat.
13 Java 3D Application Scene Graph
Grafik adegan untuk contoh aplikasi yang ditampilkan dalam gambar1-2.Grafik adegan terdiri dari superstruktur
komponen-VirtualUniverse objek dan objek lokal- dan satu set cabang
grafik. Setiap cabang grafik Graf bagian yang berakar oleh node
BranchGroup yang dilampirkan ke gedung. Untuk informasi lebih lanjut,
lihat Bab 3, “Adegan grafik dasar.”
javax.media.j3d
VirtualUniverse
Locale
View
-
8/19/2019 Makalah Komputer Grafik
21/26
PhysicalBody
PhysicalEnvironment
Screen3D
Canvas3D (extends awt.Canvas)
SceneGraphObject
Node
Group
Leaf
NodeComponent
Various component objects
Transform3D
javax.vecmath
Matrix classes
Tuple classes
Objek VirtualUniverse mendefinisikan bernama alam semesta. Java 3D
memungkinkan penciptaan alam semesta lebih dari satu, meskipun
sebagian besar aplikasi akan menggunakan hanya salah satu.VirtualUniverse obyek menyediakan landasan untuk adegan grafik. Semua
Java adegan 3D grafik harus tersambung ke objek VirtualUniverse untuk
ditampilkan. Untuk informasi lebih lanjut, lihat Bab 4, “Adegan grafik
superstruktur.”
Di bawah VirtualUniverse objek ini adalah objek lokal. Objek lokal
mendefinisikan asal, dalam resolusi tinggi koordinat, grafik cabang
terlampir. Virtual alam semesta mungkin berisi lokal sebanyak yangdiperlukan. Dalam contoh ini, satu Lokal objek didefinisikan dengan
asal-usulnya di (0,0 0,0, 0,0).Grafik adegan itu sendiri dimulai dengan node
BranchGroup (lihat bagian 5.2, "BranchGroup Node"). BranchGroup
berfungsi sebagai root Graf bagian, disebut cabang grafik, grafik adegan.
Hanya BranchGroup objek dapat melampirkan untuk Objek lokal.
-
8/19/2019 Makalah Komputer Grafik
22/26
Dalam contoh ini ada dua cabang grafik dan, dengan demikian, dua
BranchGroup node.Terlampir ke kiri BranchGroup adalah dua subgraphs.
Satu Graf bagian terdiri dari diperpanjang pengguna perilaku daun adalah
simpul. Perilaku node berisi kode Java untuk manipulasi matriks
transformasi yang terkait dengan objek geometri.
Graf-bagian lainnya di BranchGroup ini terdiri dari simpul TransformGroup
yang menentukan posisi (relatif terhadap lokal), orientasi dan skala
geometrisobjek di virtual alam semesta. Satu anak, Shape3D daun adalah
simpul, merujukuntuk dua komponen objek: objek geometri dan objek
penampilan. The Objek geometri menjelaskan bentuk geometris objek 3D
(cube dalam kami contoh sederhana). Objek penampilan menggambarkan
penampilan geometri (warna, tekstur, bahan refleksi karakteristik, dan
sebagainya).
Hak BranchGroup memiliki satu Graf bagian yang terdiri dari
TransformGroupnode dan ViewPlatform sebuah daun adalah simpul.
TransformGroup menentukan posisi (relatif terhadap lokal), orientasi, dan
skala dari ViewPlatform. Ini berubah ViewPlatform obyek mendefinisikanpengguna akhir melihat dalam virtual alam semesta.
Akhirnya, ViewPlatform direkomendasikan oleh tampilan objek yang
menentukan semua parameter yang diperlukan untuk membuat adegan
dari sudut pandang ViewPlatform. Juga dirujuk oleh tampilan objek adalah
benda-benda lain yang berisi informasi, seperti gambar kanvas yang
menjadikan Java 3D, layar yang berisi kanvas, dan informasi tentang
lingkungan fisik.
13 Resep untuk Java 3D Program
-
8/19/2019 Makalah Komputer Grafik
23/26
Langkah-langkah berikut diambil oleh contoh program untuk membuat
grafik adegan unsur-unsur dan menghubungkan mereka bersama-sama.
Java 3D akan kemudian membuat grafik adegan dan Menampilkan grafis
di jendela pada layar:
1. Buat objek Canvas3D dan menambahkannya ke Applet panel.
2. Buat BranchGroup sebagai root adegan cabang grafik.
3. Membangun sebuah node Shape3D dengan sebuah simpul
TransformGroup di atasnya.
4. Pasang perilaku RotationInterpolator ke TransformGroup.
5. Panggilan fungsi utilitas semesta sederhana untuk melakukan hal
berikut:
a. membangun virtual alam semesta dengan satu resolusi tinggi lokal (lihat
Bab 3, “Adegan grafik dasar”).
b. membuat PhysicalBody, PhysicalEnvironment, pandangan, dan
ViewPlatform
objek.
c. membuat BranchGroup sebagai akar dari tampilan platform cabang
grafik.
d. Masukkan cabang platform tampilan grafik ke lokal.
6. Masukkan adegan cabang grafik ke alam semesta sederhana lokal.
Java 3D renderer kemudian mulai berjalan dalam loop tak terbatas.
Renderer konseptual
melakukan operasi berikut:
while(true) { Process input
If (request to exit) break
Perform Behaviors
Traverse the scene graph and render visible objects
}
-
8/19/2019 Makalah Komputer Grafik
24/26
Cleanup and exit
14 HelloUniverse: Sampel 3D Program Java
Berikut adalah potongan-potongan kode dari program yang sederhana,
HelloUniverse.java,
yang menciptakan sebuah kubus dan RotationInterpolator perilaku objek
yang berputar
kubus dengan laju yang konstan p/2 radian per detik.
15 HelloUniverse kelas
Kelas HelloUniverse, pada halaman berikutnya, menciptakan grafik cabang
yang mencakup
kubus dan perilaku RotationInterpolator. Kemudian menambahkan grafik
cabang ini untuk
objek lokal yang dihasilkan oleh utilitas SimpleUniverse.
public class HelloUniverse extends Applet {
public BranchGroup createSceneGraph() {
// Create the root of the branch graph
BranchGroup objRoot = new BranchGroup();
// Create the TransformGroup node and initialize it to the
// identity. Enable the TRANSFORM_WRITE capability so that
// our behavior code can modify it at run time. Add it to // the root of the subgraph.
TransformGroup objTrans = new TransformGroup();
objTrans.setCapability(
TransformGroup.ALLOW_TRANSFORM_WRITE);
objRoot.addChild(objTrans);
-
8/19/2019 Makalah Komputer Grafik
25/26
// Create a simple Shape3D node; add it to the scene graph.
objTrans.addChild(new ColorCube(0.4));
// Create a new Behavior object that will perform the
// desired operation on the specified transform and add
// it into the scene graph.
Transform3D yAxis = new Transform3D();
Alpha rotationAlpha = new Alpha(-1, 4000);
RotationInterpolator rotator = new RotationInterpolator(
rotationAlpha, objTrans, yAxis,
0.0f, (float) Math.PI*2.0f);
BoundingSphere bounds =
new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
rotator.setSchedulingBounds(bounds);
objRoot.addChild(rotator);
// Have Java 3D perform optimizations on this scene graph.
objRoot.compile();
return objRoot;
}
public HelloUniverse() {
// Create the scene; attach it to the virtual universe
BranchGroup scene = createSceneGraph(); SimpleUniverse u = new SimpleUniverse(canvas3d);
u.getViewingPlatform().setNominalViewingTransform();
u.addBranchGraph(scene);
}
}
-
8/19/2019 Makalah Komputer Grafik
26/26
BAB IV
KESIMPULAN
Grafik komputer 3 dimensi biasa disebut 3D atau adalah bentuk dari benda
yang memiliki panjang, lebar, dan tinggi. Grafik 3 Dimensi merupakan
teknik penggambaran yg berpatokan pada titik koordinat sumbu x(datar),sumbu y(tegak), dan sumbu z(miring).Representasi dari data geometrik 3
dimensi sebagai hasil dari pemrosesan dan pemberian efek cahayaterhadap grafika komputer 2D. Tiga Dimensi, biasanya digunakan dalam
penanganan grafis. 3D secara umum merujuk pada kemampuan dari
sebuah video card (link). Saat ini video card menggunakan variasi dariinstruksi-instruksi yang ditanamkan dalam video card itu sendiri (bukan
berasal dari software) untuk mencapai hasil grafik yang lebih realistisdalam memainkan game komputer.
Istilah atau Pengertian Grafik 3D adalah sebuah
gambar,garis,lengkungan,dan sebagainya yang memiliki titik-titik yangmenghubungkan menjadi sebuah bentuk 3D
Di dalam dunia game, 3D secara umum merujuk pada kemampuan dari
sebuah video card (link). Saat ini video card menggunakan variasi dariinstruksi-instruksi yang ditanamkan dalam video card itu sendiri (bukan
berasal dari software) untuk mencapai hasil grafik yang lebih realistisdalam memainkan game komputer.