/* GRAFICA LA FUNCION SENO DESDE UN ARCHIVO */
#include<graphics.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
FILE *Origen;
char X[10], Y[10];
int Conv_X(double Val)
{
int Xc = Val*500/(2*M_PI); // (Val)(500)/2PI
return Xc + 50;
}
int Conv_Y(double Val)
{
int Yc = -(Val * 200);
return 250 + Yc;
}
void Pos(char *CAD)
{
int k=0, Pos = 0;
while( CAD[Pos] != ',' )
{
X[Pos] = CAD[Pos];
Pos++;
}
Pos++;
while( CAD[Pos] != '\0' )
{
Y[k] = CAD[Pos];
k++;
Pos++;
}
//printf("%s\t%s", X, Y);
}
void Grafica( )
{
double k = 0, Yfun=0, Xval, Yval;
int Xpixel, Ypixel, Pos_Coma, Longitud;
int Px1, Px2, Py1, Py2, Flag;
Px1 = Px2 = Py1 = Py2 = Flag = 0;
char CAD[80];
Origen = fopen("VAL_SENO.txt","r");
if ( Origen==NULL )
{
printf( "Problemas con el archivo.\n" );
exit( 1 );
}
fgets(CAD, 30, Origen);
while ( feof(Origen) == 0 )
{
Pos(CAD);
Xval = atof(X);
Yval = atof(Y);
//printf("%s\t%s", X, Y);
Xpixel = Conv_X(Xval);
Ypixel = Conv_Y(Yval);
//printf("%d\t%d\n", Xpixel, Ypixel);
//circle(Xpixel, Ypixel, 1);
if ( Flag )
{
Px2 = Xpixel;
Py2 = Ypixel;
line(Px1, Py1, Px2, Py2);
Px1 = Px2;
Py1 = Py2;
} else
{
Px1 = Xpixel;
Py1 = Ypixel;
Flag = 1;
}
fgets(CAD, 30, Origen);
}
fclose(Origen);
}
void Ejes( )
{
setcolor(YELLOW);
line(50, 50, 50, 450); // eje y
line(25, 250, 550, 250); // eje x
}
int main()
{
int gd = DETECT,gm;
initgraph(&gd,&gm,NULL);
Ejes( );
Grafica( );
delay(60000);
closegraph();
return 0;
}