Halo kawan-kawan sekalian, pada kesempatan kali ini saya akan membagikan pada kalian Membuat lingkaran dengan menggunakan Algoritma Bressenham. Algoritma Bressenham adalah algoritma
konversi penambahan nilai integer yang juga dapat diadaptasi untuk menggambar sebuah lingkaran. Berikut adalah source code programnya
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)
glPointSize(5)
def plot(x, y):
glBegin(GL_POINTS)
glVertex2f(x, y)
glEnd()
def bresenham_circle_drawing(r):
# fungsi untuk membuat lingksran
x_position = 1
y_position = 1
r = 40 #adalah jari-jari yang ada pada lingkaran
x = 0
y = r
# parameter keputusan
d = 3 - 2 * r
plot(x + x_position, y + y_position) #membuat koordinat titik
while y > x:
if d < 0:
x += 1
d += 4 * x + 6
else:
x += 1
y -= 1
d += (4 * (x - y)) + 10
# Tidak perlu mencari semua nilai koordinat
# cukup dapatkan nilai (x, y) saja
# lalu balik menjadi (y, x)
# Untuk pixel (x, y)
# Quadrant 1
plot(x + x_position, y + y_position)
# Quadrant 2
plot(x + x_position, -y + y_position)
# Quadrant 3
plot(-x + x_position, -y + y_position)
# Quadrant 4
plot(-x + x_position, y + y_position)
# Untuk pixel (y, x)
# Quadrant 1
plot(y + x_position, x + y_position)
# Quadrant 2
plot(-y + x_position, x + y_position)
# Quadrant 3
plot(-y + x_position, -x + y_position)
# Quadrant 4
plot(y + x_position, -x + y_position)
def plotpoints():
glClear(GL_COLOR_BUFFER_BIT)
glColor3f(0.75, 0.6, 1.0) #UNTUK MENENTUKAN WARNA GARIS
glBegin(GL_LINES)
#koordinat diagram x, y
glVertex2f(-100, 0)
glVertex2f(100, 0)
glVertex2f(0, -100)
glVertex2f(0, 100)
glEnd()
bresenham_circle_drawing(40)
glFlush()
def main():
glutInit(sys.argv)
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB)
glutInitWindowSize(500, 500)
glutInitWindowPosition(100, 100)
glutCreateWindow("Bresenham Circle Drawing Algoritm")
glutDisplayFunc(plotpoints)
init()
glutMainLoop()
main()
dalam program diatas sudah terdapat penjelasan dari program tersebut. Dan Output dari program tersebut adalah
Demikian sedikt ilmu dari saya terimakasih atas kunjungan teman-teman sampai jumpa
Tuesday, March 24, 2020
Home »
» Membuat lingkaran dengan menggunakan Algoritma Bressenham






0 comments:
Post a Comment