Transcript Document

Dari : http://www.cs.sjsu.edu/~teoh/teaching/previous/cs116a_fa09/lectures/lecture09b_polyhedra_curved.ppt
Objek 3D biasanya dibentuk dengan
polyhedra
 Polyhedra dibentuk dari sekumpulan
poligon yang disambung-sambung
 Di OpenGL, polyhedra dapat dibuat
dengan objek 2D dasar, seperti
GL_QUADS, GL_POLYGON, atau
GL_TRIANGLES

Polyhedra beraturan semua sisinya mirip
 Contoh:

› Tetrahedron beraturan : 4 sisi
› Hexahedron beraturan (kubus) : 6 sisi
› Octahedron beraturan : 8 sisi
› Dodecahedron beraturan : 12 sisi
› Icosahedron beraturan : 20 sisi
 GLUT
menyediakan fungsi siap pakai
untuk 5 jenis polyhedra beraturan
Solid
Wireframe
glutSolidTetrahedron();
glutWireTetrahedron();
glutSolidCube(panjang_sisi);
glutWireCube(panjang_sisi);
glutSolidOctahedron();
glutWireOctahedron();
glutSolidDodecahedron();
glutWireDodecahedron();
glutSolidIcosahedron();
glutWireIcosahedron();
Semua objek akan digambar secara default di titik 0,0
Permukaan yang lengkung
 Biasanya didekati dengan segiempatsegiempat

Bola
 Kerucut
 Torus

Bentuk
Fungsi
Bola
glutSolidSphere(radius, slices, stacks);
glutWireSphere(radius, slices, stacks);
Kerucut
glutSolidCone(radius, tinggi, slices, stacks);
glutWireCone(radius, tinggi, slices, stacks);
Torus
glutSolidTorus(r_luar, r_dalam, slices, stacks);
glutWireTorus(r_luar, r_dalam, slices, stacks);
dan stacks menyatakan
seberapa detail objek akan dibuat
 Slices
Slices
Stacks
slices
stacks
r_dalam
r_luar
axis
GLUquadricObj *optr;
optr = gluNewQuadric();
gluQuadricDrawStyle(optr,GLU_FILL);
// GLU_LINE atau GLU_FILL
gluCylinder(optr,1.0,1.0,2.0,10.0,2.0);
// ptr, rbase, rtop, height, slices, stacks
// alas berada pada sumbu z
gluDisk(optr, 0.0,1.0,10.0,2.0);
// ptr, rInner, rOuter, nRadii, nRings
// pada bidang (x,y)
Disk dengan nRadii = 8 dan nRings = 2
 Utah
teapot(dibuat oleh Martin
Newell pada 1975)
glutSolidTeapot(ukuran);
glutWireTeapot(ukuran);

Ambil dari http://pastie.org/2895031