BUNGA MATAHARI PADA PYTHON
Pada tugas kali
ini kita diminta untuk membuat gambar bunga Matahari dengan Bahasa Python. Kita
diminta untuk membuat bunga Matahari dengan kelopak berbentuk segitiga sebanyak
18 buah dan berwarna kuning. Langsung saja penjelasannya pada program berikut
ini :
Pertama import OpenGL :
from
OpenGL.GL import *
from
OpenGL.GLU import *
from
OpenGL.GLUT import *
Selanjutnya mendefinisikan
window dimana didalamnya terdapat glClearColor dan gluOrtho2D. pada
glClearColor kita harus menentukan warna background pada layar, disini kita
gunakan warna hitam sebagai background (0.0, 0.0, 0.0, 0.0) dan gluOrtho2D
adalah untuk penempatan koordinat objek.
def
init():
glClearColor(0.0, 0.0, 0.0, 0.0)
gluOrtho2D(-500.0, 500.0, -500.0, 500.0)
Pada tahap ini kita
buat fungsi plotpoints untuk membuat gambar. Lalu tentukan warna yang akan
digunakan pada objek dengan glColor3f, buat perulangan untuk kelopak bunga
matahari sebanyak 18 kali dengan menggunakan for dan gunakan glRotatef() untuk
melakukan rotasi pada objek.
def
plotpoints():
glColor3f(1.5, 1.5, 0.0)
for i in range(0, 19):
s = 20
glRotatef(s, 0.0, 0.0,1.0)
bunga_matahari()
glFlush()
Setelah itu buat fungsi
bunga_matahari untuk membuat gambar bunga matahari. Buat object segitiga dengan
menggunakan GL_TRIANGLES. Setelah itu tentukan titik awal dan akhir menggunakan
glVertex2f sebanyak 3 kali karena segitiga mempunyai tiga sisi.
def
bunga_matahari():
glBegin(GL_TRIANGLES)
glVertex2f(-50.0, 0.0)
glVertex2f(50.0, 0.0)
glVertex2f(0.0, 200.0)
glEnd()
Lalu pada langkah terakhir,
definisikan fungsi main() :
·
glutInit(sys.argv) untuk
mengatur pembuatan window.
·
glutInitDisplayMode(GLUT_SINGLE
| GLUT_RGB) untuk meminta window yang bersifat double buffered, dengan warna
RGB.
·
glutInitWindowSize untuk
membuat window dengan ukuran sesuai dengan parameter yang dituliskan.
·
glutInitWindowPosition
untuk membuat window dengan letak sesuai dengan parameter yang dituliskan.
·
glutCreateWindow("Gambar
Hati (Alma Alfiatul Inayah)") untuk membuat dan mengatur jendela dengan
judul “Gambar Hati (Alma Alfiatul Inayah)”.
·
glutDisplayFunc(plotpoints)
untuk pemanggilan display.
·
glutMainLoop() untuk
perulangan display agar program tidak berhenti
def main():
glutInit(sys.argv)
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB)
glutInitWindowSize(500, 500)
glutInitWindowPosition(100, 100)
glutCreateWindow("Gambar Bunga Matahari || Alma Alfiatul Inayah
17102050")
glutDisplayFunc(plotpoints)
init()
glutMainLoop()
Berikut adalah program lengkapnya :
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *
def init():
glClearColor(0.0, 0.0, 0.0, 0.0)
gluOrtho2D(-500.0, 500.0, -500.0, 500.0)
def plotpoints():
glColor3f(1.5, 1.5, 0.0)
for i in range(0, 19):
s = 20
glRotatef(s, 0.0, 0.0,1.0)
bunga_matahari()
glFlush()
def bunga_matahari():
glBegin(GL_TRIANGLES)
glVertex2f(-50.0, 0.0)
glVertex2f(50.0, 0.0)
glVertex2f(0.0, 200.0)
glEnd()
def main():
glutInit(sys.argv)
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB)
glutInitWindowSize(500, 500)
glutInitWindowPosition(100, 100)
glutCreateWindow("Gambar Bunga Matahari || Alma Alfiatul Inayah
17102050")
glutDisplayFunc(plotpoints)
init()
glutMainLoop()
main()
Output :
Tidak ada komentar:
Posting Komentar