Iklan Header

projects.co.id

Membuat Animasi Revolusi Bumi Terhadap Matahari Dengan OpenGL Menggunakan CodeBlocks

Beberapa waktu yang lalu, dunia dihebohkan dengan teori konspirasi bumi datar. Banyak sekali tokoh yang angkat bicara dan berdebat mengenai bentuk bumi yang kita tinggali ini, mulai dari professor, doktor, ilmuwan, peneliti, ulama, bahkan orang awam.

Nah, kalau menurut temen-temen bagaimana? Bumi itu bulat apa datar? hahaha ...

Bagi saya sendiri, permasalahan apakah bumi itu bulat atau datar adalah permasalahan yang tidak perlu dipermasalahkan. Karena masalah tidak akan jadi masalah kalau tidak dipermasalahkan hehehe ...

Maksudnya gimana mas?

Maksudnya begini, permasalahan apakah bumi itu bulat atau datar bukanlah permasalahan aqidah(dibaca: Akidah Islam). Artinya tidak akan menjadi kafir apabila kita meyakini kalau bumi itu berbentuk bulat atau datar.

Maka dari itu, tidak layak bagi kaum muslimin berpecah belah dalam hal ini, saling mencela, menyindir, dan bermusuhan dalam rangka mendukung pendapatnya.

Apakah bumi itu bulat atau datar, maka kembalikan kepada hasil penelitian dan fakta ilmiah yang dijabarkan oleh para ahlinya dalam masalah ini. Allah SWT berfirman,

فَاسْأَلُوا أَهْلَ الذِّكْرِ إِنْ كُنْتُمْ لَا تَعْلَمُونَ


“Maka bertanyalah kepada orang yang mempunyai ilmu jika kamu tidak mengetahui” (Q.S An-Nahl:43).

Yang lebih penting daripada "bumi itu bulat atau datar" adalah kita hidup diatas bumi, dan kita pasti akan meninggalkan kehidupan dibumi menuju kampung akhirat yang kekal. Tidak peduli bagaimanapun bentuk bumi, jadikanlah bumi ini sebagai tempat mencari bekal untuk pulang ke kampung akhirat yaitu bekal iman, takwa, dan amal kebaikan yang bermanfaat bagi manusia dan makhluk dimuka bumi ini.

Oke, saya rasa cukup intermezzo dan sedikit tausiyahnya wkwkwk ... 

Kembali pada topik utama dari postingan ini yaitu tentang cara membuat animasi revolusi bumi terhadap matahari dengan opengl menggunakan codeblocks.

Apa itu revolusi bumi?
Revolusi bumi adalah peredaran bumi mengelilingi matahari. Bumi mengelilingi matahari pada orbitnya dalam sekali tempuh selama 365¼ hari.

Btw, semua sepakat kan kalau bumi berevolusi terhadap matahari? atau ada yang punya pendapat lain? hahaha ...

Kalau semua telah sepakat, maka berikut saya bagikan source code untuk membuat animasi revolusi bumi terhadap matahari dengan opengl menggunakan codeblocks.

#include <windows.h>
#include <GL/glut.h>
#include <stdlib.h>
#include <Math.h>

float rot=0;
void rotation( float x){
if(rot<360){
rot+=x;
}else{
rot-=360;
}
}

/* GLUT callback Handlers */
void myinit()
{
glClearColor(0.0, 0.0, 0.0, 1.0);
glColor3f(1.0, 0.0, 0.0);
gluOrtho2D(-120.0, 120.0, -120.0, 120.0);
}

void lingkaran(char GL, float o, float x, float y, float R, float G, float B)
{
glBegin(GL);
for(float i=0.0; i<=6.28; i+=0.01){
glColor3f(R,G,B);
glVertex3f(sin(i)*o+x, cos(i)*o+y, 0);
}
glEnd();
}

void light()
{
glColor3f(1.0,1.0,0.0);
glBegin(GL_POLYGON);
glVertex2f(0.0,30.0);
glVertex2f(5.0,18.0);
glVertex2f(-5.0,18.0);
glEnd();
}

void sunlight()
{
glPushMatrix();
glRotated(rot,0,0,1);
for(float r=-45; r>=-315; r-=45){
glPushMatrix();
light();
glRotated(r,0,0,1);
light();
glPopMatrix();
}
glPopMatrix();
}

void satellite()
{
// Orbit Moon
lingkaran(GL_LINE_LOOP,25,65.0,-45.0,1.0,1.0,1.0);
// Moon
glPushMatrix();
glTranslated(sin(rot*0.07)*24,cos(rot*0.07)*24,0);
lingkaran(GL_POLYGON,5,65.0,-45.0,1.0,1.0,0.0);
glPopMatrix();
}

void display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
rotation(0.1);
//Sun
lingkaran(GL_POLYGON,15,0.0,0.0,1.0,1.0,0.0);
//sunLight
sunlight();
//Orbit Earth
lingkaran(GL_POINTS,79,0.0,0.0,1.0,1.0,1.0);
//Earth
glPushMatrix();
glRotated(rot,0,0,1);
lingkaran(GL_POLYGON,10,65.0,-45.0,0.0,1.0,0.0);
glPopMatrix();
//Satellite
glPushMatrix();
glRotated(rot,0,0,1);
satellite();
glPopMatrix();
glFlush ();
}

void mouse(int button, int state, int x, int y)
{
switch (button)
{
case GLUT_LEFT_BUTTON:
if (state == GLUT_DOWN)
glutIdleFunc(display);
break;
case GLUT_MIDDLE_BUTTON:
case GLUT_RIGHT_BUTTON:
if (state == GLUT_DOWN)
glutIdleFunc(NULL);
break;
default:
break;
}
}

int main(int argc, char *argv[])
{
glutInitWindowSize(600,600);
glutInitWindowPosition(400,50);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutCreateWindow("Revolusi Bumi | Programmer Bojonegoro");
glutDisplayFunc(display);
glutMouseFunc(mouse);
myinit();
glutMainLoop();
}

Berikut screenshoot hasil running program animasi revolusi bumi terhadap matahari.

Membuat Animasi Revolusi Bumi Terhadap Matahari Dengan OpenGL Menggunakan CodeBlocks

Note: klik kiri untuk menjalankan animasi, dan klik kanan untuk menghentikan animasi.

Alhamdulillah, itulah source code untuk membuat animasi revolusi bumi terhadap matahari dengan opengl di codeblocks.

Semoga bermanfaat dan menambah wawasan teman-teman semua

Terimakasih


Berlangganan update artikel terbaru via email:

0 Response to "Membuat Animasi Revolusi Bumi Terhadap Matahari Dengan OpenGL Menggunakan CodeBlocks"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel