Skip to main content

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 *


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 :

# Kelompok 2 Grafika Komputer MM-3


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


def init():
    glClearColor(0.0, 0.0, 0.0, 0.0)
    gluOrtho2D(-50.0, 50.0, -50.0, 50.0)
    glPointSize(5)


def plot(x, y):
    glBegin(GL_POINTS)
    glVertex2f(x, y)
    glEnd()


def bresenham_drawing_circle(r):

    # contoh soal jika nilai center circle (3,3) dan r = 9
    x_center = 3
    y_center = 3

    r = 9
    x = 0
    y = r

    # parameter keputusan bresenham
    d = 3 - 2 * r

    # membuat titik pada koordinat yang ditentukan
    plot(x + x_center, y + y_center)

    while y > x:

        if d < 0:
            x += 1
            d += 4 * x + 6
        else:
            x += 1
            y -= 1
            d += (4 * (x - y)) + 10 

        # Jika x <= y sudah terpenuhi, maka perulangan di hentikan.
        # jika nilai (x,y)sudah didapatkan, lalu membalikan nilai (y, x)

        # Untuk pixel (x, y)

        # Quadrant 1
        plot(x + x_center, y + y_center)

        # Quadrant 2
        plot(x + x_center, -y + y_center)

        # Quadrant 3
        plot(-x + x_center, -y + y_center)

        # Quadrant 4
        plot(-x + x_center, y + y_center)

        # Untuk pixel (y, x)

        # Quadrant 1
        plot(y + x_center, x + y_center)

        # Quadrant 2
        plot(-y + x_center, x + y_center)

        # Quadrant 3
        plot(-y + x_center, -x + y_center)

        # Quadrant 4
        plot(y + x_center, -x + y_center)


def plotpoints():

    glClear(GL_COLOR_BUFFER_BIT)
    glColor3f(0.0, 0.5, 0.5)

    glBegin(GL_LINES)

    glVertex2f(-50, 0)
    glVertex2f(50, 0)

    glVertex2f(0, -50)
    glVertex2f(0, 50)

    glEnd()

    bresenham_drawing_circle(40)

    glFlush()

def main():
    glutInit(sys.argv)
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB)
    glutInitWindowSize(500, 500)
    glutInitWindowPosition(100, 100)
    glutCreateWindow("Bresenham Cricle TUGAS 4 Kel 2 MM3")
    glutDisplayFunc(plotpoints)

    init()
    glutMainLoop()

main()

HASIL PROGRAM JIKA DIRUN :





Comments

Popular posts from this blog

Membuat Obyek Rumah

Tugas Grafika Komputer kali ini adalah membuat gambar rumah menggunakan OpenGL di python. Gambarnya seperti berikut: Disini saya akan menjelaskan sedikit tentang apasih Grafika Komputer itu. Grafika Komputer adalah bagian ilmu komputer yang berkaita dengan pembuatan dan manipulasi gambar (visual) secara digital. Bentuk sederhana dari grafika komputer adalah grafika komputer 2D yang kemudian berkembang menjadi grafika komputer 3D, pemrosesan citra(image processing), dan pengenalan pola dengan istilah visualisasi data. OpenGL(Open Graphics Library) adalah spesifikasi standar yang mendefinisikan sebuah lintas-bahasa, lintas platform API untuk mengembangkan aplikasi yang menghasilkan grafis komputer 2D maupun 3D.Dalam meletakkan suatu objek pada layer diperlukan pengetahuan tentang sistem koordinat. Software yang diperlukan: 1. IDLE Python 3.8.2(IDLE) Download Library Phyton: https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyopengl Library Pyhton Yang Digunakan : 1. ...

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 * Link Download Library Python : https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyopengl 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...