Mathc initiation/Fichiers h : c43a2


Sommaire


Installer ce fichier dans votre répertoire de travail.

kg_3dty.h
/* --------------------------------- */
/* save as kg_3dty.h                 */
/* --------------------------------- */
void G_3d_ty(
CTRL_splot p,
  char feq[],
double (*P_f)(double x, double y),
pt2d Q,
double h
)
{
FILE   *fp;
double a,b;

        fp = fopen("a_main.plt","w");
fprintf(fp,"reset\n");
fprintf(fp,"set    samples 40\n");
fprintf(fp,"set isosamples 40\n");
//fprintf(fp,"set hidden3d\n");
fprintf(fp,"set view %0.3f, %0.3f, %0.3f, %0.3f \n",
                    p.rot_x,p.rot_z,p.scale,p.scale_z);
fprintf(fp,"set xrange [%0.3f:%0.3f]\n",p.xmin,p.xmax);
fprintf(fp,"set yrange [%0.3f:%0.3f]\n",p.ymin,p.ymax);
fprintf(fp,"set zrange [%0.3f:%0.3f]\n",p.zmin,p.zmax);
fprintf(fp,"splot ");
fprintf(fp," \"a_tan\" with linesp lt 1 pt 3,\\\n");
fprintf(fp," \"a_ka\" pt 20,\\\n");
fprintf(fp,"%s \n\n",feq);
 fclose(fp);

 fp = fopen("a_ka","w");
         fprintf(fp," %6.3f   %6.3f   %6.3f\n", 
              Q.x, Q.y, ((*P_f)(Q.x,Q.y)) );
 fclose(fp);

  a=fxy_y((*P_f),h,Q);
  b=((*P_f)(Q.x,Q.y)-fxy_y((*P_f),h,Q)*Q.y);
  
  fp = fopen("a_tan","w");
    for(Q.y=p.ymin; Q.y<p.ymax;Q.y+=0.1)
      fprintf(fp," %6.3f   %6.3f   %6.3f\n",
              Q.x,Q.y,a*Q.y+b);
 fclose(fp);
}
/* --------------------------------- */
/* --------------------------------- */


Déclaration des fichiers h.