Graficador de ecuaciones 3D en Delphi
En las descargas hay un archivo de nombre Utils3D.pas en donde se encuentran la librerí necesaria para nuestro programa.
El programa no tiene analizador sint&actico; ni nada por el estilo, el objetivo de este humilde programa es mostrarles como se hace la transformacion 3D para poder visualizarse en la pantalla. En ese sentido los puntos los agrego en forma artesanal. Como se ve en la ventanita de la figura.
- Code: Seleccionar todo
procedure TForm1.FormCreate(Sender: TObject);
var
i,j : integer;
x,y,z,r:double;
begin
Engine := T3DEngine.Create; // crear el Engine
// inicializar la matriz de transformación
Engine.LoadIdentity;
// activar matriz de rotación
Engine.Rotate (0,yAngle,zAngle);
// Activar el punto de vista
Engine.LookAt (6,0,0);
x:=-3;
y:=-3;
i:=0;
while x<=3 do
begin
setlength(FunPts3D,i+1);
j:=0;
y:=-3;
while y<=3 do
begin
setlength(FunPts3D[i],j+1);
//funcion a calcular
z:=(sin(x*x+y*y))/3;
// las lineas comentario de abajo
// tratan coordenadas polares
{r:=3
FunPts3D[i,j].x:=r*cos(x)*sin(y);
FunPts3D[i,j].y:=r*sin(x)*sin(y);
FunPts3D[i,j].z:=r*cos(y);
}
FunPts3D[i,j].x:=x;
FunPts3D[i,j].y:=y;
FunPts3D[i,j].z:=z;
y:=y+0.1;
inc(j);
end;
x:=x+0.1;
inc(i);
end;
end;
Otros Artículos en esta sección
-
Código fuente de un chat desarrollado en Delphi, utiliza Sockets y el protocolo TCP/IP que es con el que trabajan las clases TClientSocket y TServerSocket
¿Alguna duda?
Sientete libre de hacer tus pruntas en nuestro:
foro deProgramación »
foro deProgramación »