Soyez le premier à donner votre avis sur cette source.
Snippet vu 7 041 fois - Téléchargée 37 fois
#include <stdio.h> #include <stdlib.h> #include <math.h> #include <GL/glut.h> #define drand48 1.0/RAND_MAX*rand #define srand48 srand #define max 30000 /* nombre d'iterations */ #define seed 68111 void display(); void keyboard(unsigned char key, int x, int y); int main(int argc, char** argv) { /* initialisation GLUT */ glutInit(&argc,argv); /* ModeRGB */ glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB); /* Taille de la fenêtre */ glutInitWindowSize(300,300); /* Position fenêtre */ glutInitWindowPosition(0,0); /* Titre fenêtre */ glutCreateWindow("Tree Fractale"); /* Enregistrements des callbacks */ glutDisplayFunc(display); glutKeyboardFunc(keyboard); /* Couleurs de fond noir */ glClearColor(0.0, 0.0, 0.0, 0.0); /* Tracé en vert */ glColor3f(0.0, 1.0, 0.0); /* activation de la matrice de projection */ glMatrixMode(GL_PROJECTION); /* Réinitialisation de la matrice de transformation */ glLoadIdentity(); /* Rotation autour de l'axe x */ glRotatef(0.0,0.1,0.0,0.0); /* visualisation de la matrice */ gluOrtho2D(-1.0, 1.0, 0.0, 2.5); glMatrixMode(GL_MODELVIEW); /* Boucle principale */ glutMainLoop(); return 0; } void display( void ) { int i; GLfloat x,y,r,xn,yn; /* Efface la fenêtre */ glClear(GL_COLOR_BUFFER_BIT); srand48(seed); x = 0.5f; /*position initiale */ y = 0.0f; for(i=1 ; i<=max; i++) { r = drand48(); if (r<=0.1) { xn = 0.05*x; yn = 0.6*y; } else if((r>0.1) && (r<0.2)) { xn = 0.05*x; yn = -0.5*y+1.0; } else if ((r>0.2) && (r<0.4)) { xn = 0.46*x-0.32*y; yn = 0.39*x+0.38*y+0.6; } else if((r>0.4) && (r<0.6)) { xn = 0.47*x-0.15*y; yn = 0.17*x+0.42*y+1.1; } else if ((r>0.6) && (r<0.8)) { xn = 0.43*x+0.28*y; yn = -0.25*x+0.45*y+1.0; } else { xn = 0.42*x+0.26*y; yn = -0.35*x+0.31*y+0.7; } glBegin(GL_POINTS); glVertex2f(xn,yn); x = xn; y = yn; glEnd(); } glFlush(); /* Efface les buffers */ } void keyboard(unsigned char key, int x, int y) { exit(0); /* Appuyer sur une touche pour sortir */ }
Gabriel_JM essais d'aller jeter un coup d'oeil sur ce site:
http://www.dil.univ-mrs.fr/~garreta/generique/autres/OGL/
Tu pourras télécharger la même version de Glut que moi. Normalement il n'y aura plus de problèmes de compilation.
Ne pas oublier de faire projet=>Options du Projets=>Paramètres=>éditeur de liens:
-lopengl32
-lglut32
-lglu32
avant de compiler.
en fait j'ai essayé de faire marcher ce code chez moi, mais devcpp ne reconnait pas les fonctions glut, alors que dois je faire?
merci
http://serhum.epsylon.org/arbres14.png
par contre je sais pas comment tu peux faire le tiens en si peu de lignes, le miens en fait 1000.
:)
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.