Skip to main content

Membuat Objek Spiral Berbentuk Love Menggunakan OpenGL







Software yang diperlukan :
1. IDLE Pyhton 3.7  (IDLE)

Dibawah ini Import Library Pada Python 3.7  :
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *


Pilih Library Pyhton Yang Di bawah ini :
1. PyOpenGL_accelerate-3.1.5-cp38-cp38-win32.whl
2. PyOpenGL-3.1.5-cp38-cp38-win32.whl

(Jika Pyhton yang digunakan adalah pyhton 32 bit, maka Download library yang sesuai dengan bit python pada perangkat masing- masing. Begitu juga sebaliknya jika Pyhton 64 bit). 

Berikut adalah Full Source Code nya :

from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *

import numpy as np


def init():
    glClearColor(0.0, 0.0, 0.0, 0.0)
    gluOrtho2D(-2.0, 2.0, -2.0, 2.0)


def plotpoints():
    glClear(GL_COLOR_BUFFER_BIT)
    glColor3f(1, 1.0, 1.0)
    glPointSize(13)
    glBegin(GL_LINES)
    glVertex2f(-500, 0)
    glVertex2f(500, 0)

    glVertex2f(0, -500)
    glVertex2f(0, 500)
    glEnd()
    heart_shape()
    glFlush()

def heart_shape():
    glBegin(GL_LINE_STRIP)
    glColor3f(0.0, 0.5, 0.5)
    x = -1.140

    while(x <= 1.140):
        delta = np.cbrt(x*x) * np.sqrt(x*x) - 4*x*x + 4
        y1 = (np.cbrt(x*x) + np.sqrt(delta)) / 2
        y2 = (np.cbrt(x*x) - np.sqrt(delta)) / 2
         
        glVertex2f(x, y1)
        glVertex2f(x, y2)

        x += 0.001
    glEnd()


def main():
    glutInit(sys.argv)
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB)
    glutInitWindowSize(500, 500)
    glutInitWindowPosition(100, 100)
    glutCreateWindow("Gambar Hati  Pertemuan 5")
    glutDisplayFunc(plotpoints)

    init()
    glutMainLoop()



main()

HASIL PROGRAM JIKA DIRUN:




Selamat mengerjakan 😊

Comments

Popular posts from this blog

Membuat bentuk Matahari dengan PyOpenGL

Software yang digunakan: IDLE Pyhton 3.8.2 (IDLE) 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) # untuk membuat matahari kita akan gunakan bentuk segitiga yang di rotaasi sebanyak 18 kali dengan jarak sudut tiap rotasi 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() # fungsi untuk membuat bentuk segitiga def segitiga():     glBegin(GL_TRIANGLES)     glVertex2f(-50.0,0.0)     glVertex2f(50.0,0.0)     glVertex2f(0.0,200.0)     glEnd() NOTE: Jika ingin bentuk segitiga bergaris gunakan GL_LINE_LOOP Jika ingin bentuk segitiga yang ada isi...

Membuat Lingkaran Dengan Algoritma Bresenham

                      Lingkaran adalah kumpulan dari titik-titik yang memiliki jarak dari titik  pusat yang sama untuk semua titik.   Lingkaran dibuat dengan  menggambarkan seperempat lingkaran, karena bagian lain dapat dibuat  sebagai bagian yang simetris. Penambahan x dapat dilakukan dari 0 ke r  sebesar unit step, yaitu menambahkan ± y untuk setiap step.  Pada dasarnya, mirip dengan penggambaran garis, algoritma  penggambaran lingkaran pun berusaha mencari solusi optimal sedemikian  rupa sehingga lingkaran yang dibentuk adalah sesempurna mungkin. Software yang diperlukan : 1. IDLE Pyhton 3.7  (IDLE) Dibawah ini Import Library Pada Python 3.7  : from OpenGL.GL import * from OpenGL.GLU import * from OpenGL.GLUT import * Link Download Library Python : https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyopengl Pilih Library Pyhton Yang Di bawah ini : 1. PyOpe...

Event Handling dan Font Text PyOpenGL

S etelah kemarin mencoba Event Handling Mouse & Keyboard. sekarang akan mencoba menggabungkan antara Event Handling & Font Text pada PyOpenGL. Library yang digunakan 1. PyOpenGL_accelerate-3.1.5 2. OpenGLContext 2.3.0 SOURCE CODE from OpenGLContext import testingcontext from OpenGL.GL import * from OpenGL.GLU import * from OpenGL.GLUT import * # Koordinat x dan y untuk posisi kotak pos_x = 0 pos_y = 0 # Warna Kotak merah = 0 hijau = 0 biru = 0 # Warna Teks teks_merah = 1 teks_hijau = 1 teks_biru = 1 # Teks Warna Objek warna_objek = "Hitam" # Teks Warna Background warna_background = "Hitam" def init():     glClearColor(0.0, 0.0, 0.0, 1.0)     gluOrtho2D(-500.0, 500.0, -500.0, 500.0) def drawBitmapText(string,x,y,z) :     glRasterPos3f(x,y,z)     for c in string :         glutBitmapCharacter(GLUT_BITMAP_TIMES_ROMAN_24,ord(c)) def reshape(w, h):     glViewport(0,0...