Necesito un buen programador...
Hola!
Estoy desarrollando un proyecto de investigacion en matematicas y necesito un programa sencillo que analice el comportamiento de funciones en un determinado espacio. Se trataria de representar en 2D o 3D, la evolucion de puntos (iterativos) mediante funciones introducidas por teclado.
Hace tiempo que abandoné la programación y ando un poco verde. SI alguien puede ayudarme u orientarme en como puedo desarrollar mi programa le agradeceria que me enviase un correo a
[email protected].
Muchas gracias.
Sirius.
Estoy desarrollando un proyecto de investigacion en matematicas y necesito un programa sencillo que analice el comportamiento de funciones en un determinado espacio. Se trataria de representar en 2D o 3D, la evolucion de puntos (iterativos) mediante funciones introducidas por teclado.
Hace tiempo que abandoné la programación y ando un poco verde. SI alguien puede ayudarme u orientarme en como puedo desarrollar mi programa le agradeceria que me enviase un correo a
[email protected].
Muchas gracias.
Sirius.
Lo lamento, pero no pude encontrar ningun buen programador en este barrio. A cambio, te mendo un programa en grafica, como ejemplo, para que veas como empezar a trabajar.
// program k13_8.CPP - page 261
// written in Borland CPP ver 3.1
// for graphics programs set options windows:
// options -> linker -> libraries -> [x] graphics library
#include <conio.h>
#include <iostream.h>
#include <math.h>
#include <dos.h>
#include <graphics.h>
#define WIDTH 640
#define EIGTH 480
#define MIN_X -3.5
#define MAX_X 3.5
#define MIN_Y -1.5
#define MAX_Y 1.5
#define Kx WIDTH/(MAX_X - MIN_X) // number of pixel for one x unit
#define Ky EIGTH/(MAX_Y - MIN_Y) // number of pixel for one y unit
#define Kz 0.707 // coeficient for 45ø
#define dx (MAX_X - MIN_X)/WIDTH // x value for one pixel
#define xo fabs(MIN_X)*Kx // axes origin x = 0
#define yo fabs(MAX_Y)*Ky // axes origin y = 0
void Init()
{
int driver,mode;
detectgraph(&driver,&mode);
initgraph(&driver,&mode,"d:\borlandc\bgi");
} // INIT
inline int XtoCol(float x)
{
return xo + x*Kx;
} // X TO COL
inline int YtoRow(float y)
{
return yo - y*Ky;
} // Y TO ROW
inline float F(float x,float z)
{
float a = x*x + z*z;
return sin(x)*cos(z) - cos(a)*exp(-a);
} // MATHEMATICAL FUNCTION
void InitArrays(float *max,float *min)
{
for(int i = 0;i < WIDTH;i++)
{
max[i] = -9999;
min[i] = 9999;
}
} // INIT ARRAYS
void Process()
{
float max[WIDTH],min[WIDTH];
InitArrays(max,min);
for(float z = 0;z > -5;z-=0.05)
{
float x = MIN_X;
for(int i = 0;i < WIDTH;i++)
{
int sw = 0;
float y = F(x,z);
if(y > max[i])
{
max[i] = y;
sw = 1;
}
if(y < min[i])
{
min[i] = y;
sw = 1;
}
if(sw)
putpixel(XtoCol(x),YtoRow(y),LIGHTGRAY);
x += dx;
} // FOR i
} // FOR z
} // PROCESS
void main()
{
Init();
Process();
getch();
closegraph();
} // MAIN
// program k13_8.CPP - page 261
// written in Borland CPP ver 3.1
// for graphics programs set options windows:
// options -> linker -> libraries -> [x] graphics library
#include <conio.h>
#include <iostream.h>
#include <math.h>
#include <dos.h>
#include <graphics.h>
#define WIDTH 640
#define EIGTH 480
#define MIN_X -3.5
#define MAX_X 3.5
#define MIN_Y -1.5
#define MAX_Y 1.5
#define Kx WIDTH/(MAX_X - MIN_X) // number of pixel for one x unit
#define Ky EIGTH/(MAX_Y - MIN_Y) // number of pixel for one y unit
#define Kz 0.707 // coeficient for 45ø
#define dx (MAX_X - MIN_X)/WIDTH // x value for one pixel
#define xo fabs(MIN_X)*Kx // axes origin x = 0
#define yo fabs(MAX_Y)*Ky // axes origin y = 0
void Init()
{
int driver,mode;
detectgraph(&driver,&mode);
initgraph(&driver,&mode,"d:\borlandc\bgi");
} // INIT
inline int XtoCol(float x)
{
return xo + x*Kx;
} // X TO COL
inline int YtoRow(float y)
{
return yo - y*Ky;
} // Y TO ROW
inline float F(float x,float z)
{
float a = x*x + z*z;
return sin(x)*cos(z) - cos(a)*exp(-a);
} // MATHEMATICAL FUNCTION
void InitArrays(float *max,float *min)
{
for(int i = 0;i < WIDTH;i++)
{
max[i] = -9999;
min[i] = 9999;
}
} // INIT ARRAYS
void Process()
{
float max[WIDTH],min[WIDTH];
InitArrays(max,min);
for(float z = 0;z > -5;z-=0.05)
{
float x = MIN_X;
for(int i = 0;i < WIDTH;i++)
{
int sw = 0;
float y = F(x,z);
if(y > max[i])
{
max[i] = y;
sw = 1;
}
if(y < min[i])
{
min[i] = y;
sw = 1;
}
if(sw)
putpixel(XtoCol(x),YtoRow(y),LIGHTGRAY);
x += dx;
} // FOR i
} // FOR z
} // PROCESS
void main()
{
Init();
Process();
getch();
closegraph();
} // MAIN
