Graficador de ecuaciones 3D en Delphi

Por:yalmar, enviado 09 jul 2004
Éste es un programa que grafica ecuaciones en 3D, tiene algunas deficiencias, ya que yo mismo lo implementé, pero funciona perfectamente.

En las descargas hay un archivo de nombre Utils3D.pas en donde se encuentran la librerí necesaria para nuestro programa.

3d.gif
Vista del graficador en delphi


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;

Archivos Adjuntos

  • demo3d.zip 159,43 KiB
    Código fuente del proyecto en Delphi

Otros Artículos en esta sección

  • Chat - Version Delphi
    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
    Por: MicroLogic©Software, 2011-08-31
¿Alguna duda? Sientete libre de hacer tus pruntas en nuestro:
foro de Programación »