GAMBAR SEGITIGA ROTASI (MATAHARI)

Bahasa Pemograman Yang digunakan:
  1. Python 3.8.2
  2. Apk Editor : Visual Code (Vs Code)
Modul yang Python yang dipakai:

  1. PyOpenGL-3.1.5-cp38-cp38-win32.whl
  2. 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.00.00.00.0)
    gluOrtho2D(-500.0500.0, -500.0500.0)

  1. fungsi def init(): untuk menginilisasi window.
  2. glClearColor(): memberi warna latar belakan pada kanvas, sebagai contoh (0.0, 0.0, 0.0, 0.0) adalah warna hitam.
  3. 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.00.0,1.0)
        segitiga()        

     # Note: jika ingin membuat looping sebanyak 18 atau 0-18 maka harus dilebihi satu jadi hasilnya 19
     
    glFlush()



  1. fungsi def plotpoints(): untuk membuat sebuah gambar.
  2. glColor3f(1.5,1.5,0.0) : untuk memberi warna pada objek dengan kode warna RGB.
  3.  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
  4. s adalah sudut yang di gunakan.
  5. glRotatef() : merupakan bentuk transformasi yang di gunakan untuk memutar posisi suatu benda
  6. 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()



  1. def segitiga(): fungsi ini digunakan untuk menggambar bentuk segitiga.
  2. glBegin(): untuk membuat dan mengatur sebuah pola pada gambar.
  3. glVertex2f(): untuk menentukan koordinat gambar yaitu X, dan y.
  4. 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()
  1. fungsi def main(): untuk mendeklarsikan fungsi window.
  2. glutInit(): untuk membuat sebuah tampilan window.
  3. glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB): untuk menginisialisasi layar grafis menggunakan OpenGL.
  4. glutInitWindowSize(500,500) : untuk mengatur ukuran sebuah kanvas, dicontohkan perintah atas posisi kiri atas di titik (500, 500).
  5. glutInitWindowPosition(100,100): perintah ini untuk menginisialisasi posisi kiri atas kanvas/ window.
  6. glutCreateWindow("Gambar Matahari_WIWIT FARIANTO_17102072"): pernyataan di atas untuk membuat judu pada kanvas.
  7. glutDisplayFunc(ploting): pernyataan ini digunakan untuk menampilkan semua perintah grafis yang ada di fungsi.  
  8. 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.00.00.00.0)
    gluOrtho2D(-500.0500.0, -500.0500.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.00.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

Postingan populer dari blog ini

Menggambar Objek Spiral Berbentuk Hati (Heart)

Gambar Rumah OPEN GL

MEMBUAT GAMBAR LOKOMOTIF