Lingkaran adalah
himpunan semua titik pada bidang dalam jarak tertentu, yang disebut jari-jari,
dari suatu titik tertentu, yang disebut pusat. Lingkaran adalah
contoh dari kurva tertutup sederhana, membagi bidang menjadi bagian dalam dan bagian
luar. Salah satu cara membuat lingkaran dengan menggunakan openGL kita dapat
membuat fungsi sendiri, contohnya sebagai berikut :
void lingkaran(int jari2, int jumlah_titik, int
x_tengah, int y_tengah) {
glBegin(GL_POLYGON);
for (i=0;i<=360;i++){
float sudut=i*(2*PI/jumlah_titik);
float x=x_tengah+jari2*cos(sudut);
float y=y_tengah+jari2*sin(sudut);
glVertex2f(x,y);
}
glEnd();
}
Terdapat 4 parameter
pada fungsi tersebut, yaitu:
jari2 : untuk
menentukan jari-jari lingkaran
jumlah_titik : untuk menentukan
jumlah titik yang akan dihubungkan pada lingkaran. Semakin banyak titik, maka
akan menjadi lingkaran sempurna. Apabila jumlah titiknya 5, maka akan menjadi
segilima.
x_tengah dan y_tengah :
untuk menentukan titik tengah lingkaran
Pada dasarnya penentuan titik koordinat x,y pada lingkaran dapat dilihat melalui ilustrasi gambar di bawah ini :
Namun pada penerapan
program proses penentuan titik koordinat pada lingkaran dapat kita kembangkan
seperti kode program di bawah ini :
float x=x_tengah+jari2*cos(sudut);
float y=y_tengah+jari2*sin(sudut);
di mana letak posisi
koordinat lingkaran berasal dari penambahan titik tengah lingkaran yang telah
ditentukan sebelumnya.
contoh sederhana kode
program untuk membuat lingkaran :
#include <stdlib.h>
#include <glut.h>
#include <math.h>
const double PI =
3.141592653589793;
int i;
void lingkaran(int jari2, int jumlah_titik, int
x_tengah, int y_tengah) {
glBegin(GL_POLYGON);
for (i=0;i<=360;i++){
float sudut=i*(2*PI/jumlah_titik);
float x=x_tengah+jari2*cos(sudut);
float y=y_tengah+jari2*sin(sudut);
glVertex2f(x,y);
}
glEnd();
}
void renderScene(void) {
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0,
0.0, 0.0); //merah
lingkaran(30,70,-200,0);
glColor3f(0.0,
1.0, 0.0); //hijau
lingkaran(30,70,200,0);
glColor3f(0.0,
0.0, 1.0); //biru
lingkaran(100,100,0,0);
glFlush();
}
void main(int argc, char **argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH
| GLUT_SINGLE | GLUT_RGBA);
glutInitWindowSize(640, 480);
glutInitWindowPosition(100, 100);
glutCreateWindow("Lingkaran");
gluOrtho2D(-320.,
320., -240., 240.);
glutDisplayFunc(renderScene);
glutMainLoop();
}
Hasil
program dari contoh kode program di atas adalah
1 komentar:
cara membuat lingkran bergerak gimana>???
Posting Komentar