Langsung ke konten utama

Membuat Gambar Matahari dengan PyOpenGL

Hai teman-teman, saya kembali lagi nih. Kali ini, saya akan memberikan contoh bagaimana cara membuat sebuah gambar matahari  menggunakan PyOpenGL. Berikut contoh source code beserta pembahasannya.


Source Code :
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.,1.0,0.)
    for i in range(0,19):
        s = 20
        glRotatef(s, 0.0, 0.0,1.0)
        segitiga()        

    glFlush()

def segitiga():
    glBegin(GL_LINE_LOOP)
    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("Matahari")
    glutDisplayFunc(plotpoints)

    init()
    glutMainLoop()
    
main()
Untuk membuat matahari, kita akan menggunakan bentuk segitiga yang dirotasi sebanyak 18 kali dengan jarak sudut tiap rotasi sebanyak 20 derajat.
Langkah-langkah :
1. Buat fungsi untuk membuat bentuk segitiga
def segitiga():
    glBegin(GL_LINE_LOOP)
    glVertex2f(-50.0,0.0)
    glVertex2f(50.0,0.0)
    glVertex2f(0.0,200.0)
    glEnd()
Output segitiga :
Jika ingin bentuk segitiga bergaris biasa, gunakan GL_LINE_LOOP. Dan jika ingin bentuk segitiga yang terisi full, maka gunakan GL_TRIANGLES.

2. Setelah itu, rotasikan bentuk segitiga tersebut dengan fungsi glRotatef() dengan jarak sudut  sebanyak 20 derajat dan lakukan perulangan sebanyak 18 kali. Maka akan terbentuk segitiga sebanyak 18 buah yang berotasi dengan jarak sudut antar segitiga sebanyak 20 derajat.
def plotpoints():
    glColor3f(1.,1.0,0.)
    for i in range(0,19):
        s = 20
        glRotatef(s, 0.0, 0.0,1.0)
        segitiga()        

    glFlush()
Output untuk bentuk matahari dengan segitiga menggunakan GL_LINE_LOOP :
Output untuk gambar matahari dengan segitiga menggunakan GL_TRIANGLES :
Sekian dan terima kasih.

Komentar

Postingan populer dari blog ini

Membuat Piramida 3D Menggunakan PyOpenGL

Bagaimana sih cara membuat piramida 3 dimensi? Langsung saja ya kita bahas. Sebuah piramida terdiri dari :  1 alas,  4 sisi, dan  5 sudut. Berikut langkah-langkahnya : 1. B uat fungsi rgb() untuk memudahkan konversi format dari warna rgb ke format warna PyOpenGL . # Fungsi konversi rgb def rgb(n): return n / 255.0 2.  Buat fungsi pivot() untuk tampilan garis pivot x,y,z untuk mempermudah dalam membuat bentuk 3D. # Fungsi Pivot def pivot(): glBegin(GL_LINES) glColor3f(1,0,0) #merah x glVertex3f(10,0,0) glVertex3f(-10,0,0) glColor3f(0,1,0) #hijau y glVertex3f(0,10,0) glVertex3f(0,-10,0) glColor3f(0,0,1) #biru x glVertex3f(0,0,10) glVertex3f(0,-0,-10) glEnd() 3. B uat fungsi piramida() untuk membuat bentuk piramida 3D. # Bentuk Piramida 3D def piramida(): # Depan glBegin(GL_LINE_STRIP) glColor3f(rgb(231),rgb(1),rgb(10)) glVertex3f(-1.0, -1.0, 1.0) glVertex3f(1.0, -1.0, 1.0) glV...

Membuat Lingkaran Menggunakan Algoritma Bresenham

Hai semua, kembali lagi dengan saya, kali ini saya akan memberitahu tentang bagaimana cara membuat lingkaran menggunakan algoritma Bresenham. Nah disini saya beri langkah-langkah beserta contoh source code. Langkah-langkah : 1. Menetapkan titik tengah (x_center, y_center) 2. Menetapkan jari-jari r 3. Menetapkan nilai x = 0, y = r 4. Menetepkan nilai parameter keputusan d = 3 – (2 * r) 5. Gambar titik awal dengan koordinat (x_center+x, y_center+y) 6. x = x+1 7. Jika d < 0, maka nilai d baru d = d + (4*x) + 6, jika tidak nilai d baru d =     d + 4 * (x – y) + 10 dan y = y-1 8. Gambar titik berikutnya dengan koordinat (x_center+x, y_center+y) 9. Jika x < = y ulangi langkah 6 sampai 8 Contoh Source Code : from OpenGL.GL import * from OpenGL.GLU import * from OpenGL.GLUT import * def init(): glClearColor(0.0, 0.0, 0.0, 0.0) gluOrtho2D(-100.0, 100.0, -100.0, 100.0) glBegin(GL_POINTS) glPointSize(5) def plot(x, y): glV...

Menggambar Rumah Menggunakan Python OpenGL

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) g...