Dixième Exemple: Les équations f(x,y,z)=0

Script Equation Grapher inclut les équations de type f(x,y,z)=0 à compter de la version 2.0.1.0 . Cet ajout est dû à la pression de plusieurs utilisateurs qui nous ont contacté sur Internet.

Malheureusement SEG n'est pas capable de comprendre une équation de type f(x,y,z) = 0 et il nous a fallu ruser un petit peu....

Une variable Surface a été créée pour recevoir le résultat de f(x,y,z), et c'est le moteur qui calculera les facettes pour lesquelles Surface prend la valeur 0... On écrira donc dans le script des lignes du type Surface = f(x,y,z)...

 

Sphère : le retour ...

[Init]
{
  XYStep=30;
  SetminmaxX(-1,1);
  SetminmaxY(-1,1);
  SetminmaxZ(-1,1);
  Fill3D(1);
  WireFrame(1);
}
[Body]
{
  Surface=x^2+y^2+z^2-1;
  SetHLS((z+1)*180,0.5,1);
}

x²+y²+z² = 1 est l'equation d'une shère de rayon 1, centrée sur l'origine... Son équation sous SEG se traduit par x^2+y^2+z^2-1 (sous entendu =0) ...

  XYStep=30; a défini la tesselation sur chacun des axes... Le nombres de cubes divisant l'espace d'étude est ici de 30*30*30 soit 27000 cubes... et 29791 points...
  SetminmaxX(-1,1);   SetminmaxY(-1,1);   SetminmaxZ(-1,1); délimitent sur chacun des trois axes l'espace d'étude.

[Init]
{
  XYStep=25;
  SetminmaxX(-3,3);
  SetminmaxY(-3,3);
  SetminmaxZ(0,6);
  Fill3D(1);
  WireFrame(1);
  t0=GetTime();
  e=exp(1);
}
[Body]
{
  Surface=(x+sin(z+sin(time)))^2 + (y+sin(z+time*e))^2 -(z/3)^2;
  SetHLS((z+3)*60,0.5,1);
}
[end]
{
  time=(GetTime()-t0)/400;
 
redraw();
}

 

 

 

Les tracés point par point