¡¡¡¡Por favor grafica de una funcion la que sea en C!!!

martin
24 de Noviembre del 2003
Se los suplico por favor necesito que alguien me ayude mandandome el codigo fuente de un programa que grafique cualquier funcion en C. ¡¡¡¡¡¡ES EL 70% de mi calificacion, si no lo entrego, no paso la materia por favor!!!!!!!!!!

jynx
24 de Noviembre del 2003
Hola, bueno yo siempre grafico en C a través de OpenGL... aquí te mando un programita que hice que implementa el algoritmo de Sierpinski. Sólo tienes que cambiar la línea dónde dice //función para colocar la función matemática que gustes... Suerte!

#include <windows.h>
#include <gl/Gl.h>
#include <gl/glut.h>
#include <math.h>

class GLintPoint{
public:
GLint x,y;
};

void myInit(void)
{
glClearColor(1.0,1.0,1.0,0.0);
glColor3f(0.0f, 0.0f, 0.0f);
glPointSize(4.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0, 640.0, 0.0, 480.0);
}

void drawDot(GLint x, GLint y)
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POINTS);
glVertex2f(x,y);
glEnd;
}

void Funcion(void) //Sierpinski
{
int A = 680 / 4.0;
int B = 0.0;
int C = 480 / 2.0;
int D = C;

GLintPoint T[1]={{0,0}};
GLintPoint point = T[0];
drawDot(point.x, point.y);
for(float i = 0; i < 4.0; i+=0.005)
{
point.x = i;
point.y = exp(-i)*cos(2 * 3.1459 * i); //FUNCION
drawDot(A * point.x + B , C * point.y + D);
}
glFlush();
}


void main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(640,480);
glutInitWindowPosition(100,100);
glutCreateWindow("Funcion");
glutDisplayFunc(Funcion);
myInit();
glutMainLoop();
}


martin
24 de Noviembre del 2003
Hola jynx no sabes en verdad cuanto te agrdesco tu ayuda, yo estudio el 1er. semestre Ingenieria en computacion, y mi profesor esta medio traumado. Lo que estamos viendo segun el programa de estudios lo tendriamos que ver a final de semestre; pero en fin, basicamente lo que nos pidio es un programa para el compilador BORLAND C, y al compilar el programa que tan amablemente me proporcionaste me marca 14 errores, la pregunta es si me podrias decir como ocupo o llamo las librerias que tiene G/GL.H, WINDOWS.H y GL/GLUT.H por favor.

jynx
24 de Noviembre del 2003
Mira, el header ".h" de windows sólo inclúyelo al inicio de tu código, lo más seguro es que tu compilador ya soporte opengl, así que también sólo incluye los headers de opengl, sobre glut, esa es una utilería que se "monta" sobre opengl y se encarga, entre otras cosas, de las funciones de manejo de ventanas y es independiente del sist. op. Esa la tienes que bajar e instalar. La guía para hacer eso y el link para el download lo puedes encontrar en:

http://www.xmission.com/~nate/glut.html

Sólo baja el archivo glut-3.7.6-bin.zip (117 KB). Allí vienen las instrucciones para poder utilizar Glut en tu compilador.

Suerte.