Halo semua, di postingan pertama ini, saya akan menjelaskan tentang bagaimana membuat gambar Rumah Sederhana menggunakan Python OpenGL. Disini perangkat yang digunakan adalah Python versi 3.7.1 dan Visual Studio Code.
Berikut codenya :
1. Import Modul OpenGL
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *
2. Menyiapkan Lembar Kerja
def init():
glClearColor(0.0, 0.0, 0.0, 0.0)
gluOrtho2D(-100.0, 100.0, -100.0, 100.0)
3. Menuliskan Titik Koordinat Gambar
def ploting():
glClear(GL_COLOR_BUFFER_BIT)
# jendela 1
glColor3f(1, 0.7, 0.2)
glBegin(GL_LINE_LOOP)
glVertex(60, 10)
glVertex(45, 10)
glVertex(45, 40)
glVertex(60, 40)
glEnd()
glFlush()
glColor3f(1, 0.7, 0.2)
glBegin(GL_LINE_LOOP)
glVertex(61, 10)
glVertex(44, 10)
glVertex(44, 41)
glVertex(61, 41)
glEnd()
glFlush()
# jendela 2
glColor3f(1, 0.7, 0.2)
glBegin(GL_LINE_LOOP)
glVertex(-30, 20)
glVertex(-20, 20)
glVertex(-20, 35)
glVertex(-30, 35)
glEnd()
glFlush()
glColor3f(1, 0.7, 0.2)
glBegin(GL_LINE_LOOP)
glVertex(-31, 20)
glVertex(-19, 20)
glVertex(-19, 36)
glVertex(-31, 36)
glEnd()
glFlush()
glColor3f(1, 0.7, 0.2)
glBegin(GL_LINES)
glVertex(-25.0, 20.0)
glVertex(-25.0, 35)
glVertex(-20.0, 27.5)
glVertex(-30, 27.5)
glEnd()
glFlush()
# Kotak Rumah
glColor3f(1, 0.7, 0.2)
glBegin(GL_LINE_LOOP)
glVertex(-50, 0)
glVertex(70, 0)
glVertex(70, 50)
glVertex(-50, 50)
glEnd()
glFlush()
# pintu
glColor3f(1, 0.7, 0.2)
glBegin(GL_LINE_LOOP)
glVertex(0, 2)
glVertex(15, 2)
glVertex(15, 40)
glVertex(0, 40)
glEnd()
glFlush()
# modif
glColor3f(1, 0.7, 0.2)
glBegin(GL_LINE_LOOP)
glVertex(2, 12)
glVertex(13, 12)
glVertex(13, 38)
glVertex(2, 38)
glEnd()
glFlush()
glColor3f(1, 0.7, 0.2)
glBegin(GL_LINE_LOOP)
glVertex(2, 4)
glVertex(6, 4)
glVertex(6, 10)
glVertex(2, 10)
glEnd()
glFlush()
glColor3f(1, 0.7, 0.2)
glBegin(GL_LINE_LOOP)
glVertex(9, 4)
glVertex(13, 4)
glVertex(13, 10)
glVertex(9, 10)
glEnd()
glFlush()
# samping rumah
glColor3f(1, 0.7, 0.2)
glBegin(GL_POLYGON)
glVertex(-60, 10)
glVertex(-50, 0)
glVertex(-50, 50)
glVertex(-60, 50)
glEnd()
glFlush()
# Atap
glColor3f(1, 0, 0)
glBegin(GL_POLYGON)
glVertex(-65, 50)
glVertex(75, 50)
glVertex(30, 80)
glVertex(-20, 80)
glEnd()
glFlush()
# tangga
glColor3f(1, 0.7, 0.2)
glBegin(GL_LINES)
glVertex(-50.0, 2)
glVertex(0, 2)
glEnd()
glFlush()
glColor3f(1, 0.7, 0.2)
glBegin(GL_LINES)
glVertex(15, 2)
glVertex(70, 2)
glEnd()
glFlush()
def main():
glutInit(sys.argv)
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB)
glutInitWindowSize(800,800)
glutInitWindowPosition(10,10)
glutCreateWindow("Rumah")
glutDisplayFunc(ploting)
Ket :
def rumah() berisikan syntax untuk menggambar bagian-bagian rumah.
glClear() = digunakan untuk membersihkan layar.
glColor3f() = digunakan untuk memberi warna pada objek.
glBegin() = digunakan untuk memulai menggambar sebuah objek seperti persegi, titik, garis, poligon, dll.
glVertex() = digunakan untuk menunjukkan di titik koordinat yang mana objek dalam gambar.
glEnd() = digunakan untuk mengakhiri gambar sebuah objek.
4. Deklarasi Syntax
def main():
glutInit(sys.argv)
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB)
glutInitWindowSize(800,800)
glutInitWindowPosition(10,10)
glutCreateWindow("Rumah fadlan")
glutDisplayFunc(ploting)
init()
glutMainLoop()
main()
Ket :
glutInit() = untuk membuat windows
glutInitDisplayMode() = untuk inisalisasi window OpenGL
glutInitWindowSize() = untuk mengatur ukuran window
glutInitWindowPosition() = untuk mengatur posisi window muncul
glutCreateWindow() = untuk memberi nama pada window
glutDisplayFunc(rumah) = untuk memanggil perintah yang sudah kita buat yaitu rumah
glutMainLoop() = untuk melakukan Looping
Dan berikut adalah tampilan output dari code-code diatas :
Sekian dan Terima Kasih.
Komentar
Posting Komentar