GAMBAR SEGITIGA ROTASI (MATAHARI)
Bahasa Pemograman Yang digunakan:
- Python 3.8.2
- Apk Editor : Visual Code (Vs Code)
Modul yang Python yang dipakai:
- PyOpenGL-3.1.5-cp38-cp38-win32.whl
- PyOpenGL_accelerate-3.1.5-cp38-cp38-win32.whl
Pertama Input Modul PyOpen GL:
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)
- fungsi def init(): untuk menginilisasi window.
- glClearColor(): memberi warna latar belakan pada kanvas, sebagai contoh (0.0, 0.0, 0.0, 0.0) adalah warna hitam.
- gluOurtho2D(): pernyataan ini digunakan untuk menyatakan ukuran system koordinat dengan struktur(X min, X max, Y min, Y max).
# fungsi dibawah ini digunakan untuk membuat perulangan dari 0 - 18
def plotpoints():
glColor3f(1.5,1.5,0.0)
# maka dari itu segitiga akan terbentuk sebanyak 18 kali
# dengan rotasi sudut berkelipatan 20
for i in range(0,19):
s = 20
glRotatef(s, 0.0, 0.0,1.0)
segitiga()
# Note: jika ingin membuat looping sebanyak 18 atau 0-18 maka harus dilebihi satu jadi hasilnya 19
glFlush()
- fungsi def plotpoints(): untuk membuat sebuah gambar.
- glColor3f(1.5,1.5,0.0) : untuk memberi warna pada objek dengan kode warna RGB.
- for i in range(0,19):
s = 20
glRotatef(s, 0.0, 0.0,1.0)
segitiga()
for ini adalah perulangan atau looping untuk membuat jumlah segitiga sebanyak 18 kali - s adalah sudut yang di gunakan.
- glRotatef() : merupakan bentuk transformasi yang di gunakan untuk memutar posisi suatu benda
- segitiga (): untuk memangil fungsi segitiga.
# Fungsi dibawah ini digunakan untuk menggambar bentuk segitiga
def segitiga():
# Jika ingin membuat ke bentuk segitiga garis maka ganti dengan glBegin(GL_LINE_LOOP)
# jika ingin membuat berbentuk segitiga dengan warna maka pakai glBegin(GL_TRIANGLES)
glBegin(GL_TRIANGLES)
glVertex2f(-50.0,0.0)
glVertex2f(50.0,0.0)
glVertex2f(0.0,200.0)
glEnd()
- def segitiga(): fungsi ini digunakan untuk menggambar bentuk segitiga.
- glBegin(): untuk membuat dan mengatur sebuah pola pada gambar.
- glVertex2f(): untuk menentukan koordinat gambar yaitu X, dan y.
- glend(): untuk mengakhiri sebuah program.
def main():
glutInit(sys.argv)
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB)
glutInitWindowSize(500,500)
glutInitWindowPosition(100,100)
glutCreateWindow("Gambar Matahari_WIWIT FARIANTO_17102072")
glutDisplayFunc(plotpoints)
init()
glutMainLoop()
main()
fungsi def main(): untuk mendeklarsikan fungsi window.- glutInit(): untuk membuat sebuah tampilan window.
- glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB): untuk menginisialisasi layar grafis menggunakan OpenGL.
- glutInitWindowSize(500,500) : untuk mengatur ukuran sebuah kanvas, dicontohkan perintah atas posisi kiri atas di titik (500, 500).
- glutInitWindowPosition(100,100): perintah ini untuk menginisialisasi posisi kiri atas kanvas/ window.
- glutCreateWindow("Gambar Matahari_WIWIT FARIANTO_17102072"): pernyataan di atas untuk membuat judu pada kanvas.
- glutDisplayFunc(ploting): pernyataan ini digunakan untuk menampilkan semua perintah grafis yang ada di fungsi.
- glutMainLoop() : fungsi untuk event perulangan, display pada callback akan terus di tampilkan selama aplikasi itu tidak di tutup.
Source Code Keseluruhan;
# WIWIT FARIANTO
# 17102072
# MM3
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)
# fungsi dibawah ini digunakan untuk membuat perulangan dari 0 - 18
def plotpoints():
glColor3f(1.5,1.5,0.0)
# maka dari itu segitiga akan terbentuk sebanyak 18 kali
# dengan rotasi sudut berkelipatan 20
for i in range(0,19):
s = 20
glRotatef(s, 0.0, 0.0,1.0)
segitiga()
# Note: jika ingin membuat looping sebanyak 18 atau 0-18 maka harus dilebihi satu jadi hasilnya 19
glFlush()
# Fungsi dibawah ini digunakan untuk menggambar bentuk segitiga
def segitiga():
# Jika ingin membuat ke bentuk segitiga garis maka ganti dengan glBegin(GL_LINE_LOOP)
# jika ingin membuat berbentuk segitiga dengan warna maka pakai glBegin(GL_TRIANGLES)
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 Matahari_WIWIT FARIANTO_17102072")
glutDisplayFunc(plotpoints)
init()
glutMainLoop()
main()
Hasil Gambar Setelah Di RUN:
Komentar
Posting Komentar