Mathc initiation/a128
Installer ce fichier dans votre répertoire de travail.
kg_curv3d.h |
---|
/* --------------------------------- */
/* save as kg_curv3d.h */
/* --------------------------------- */
void G_Curve_3d(
double (*P_f)(double t),
double (*P_g)(double t),
double (*P_h)(double t),
tvalue t
)
{
FILE *fp = fopen("a_main.plt","w");
fprintf(fp," reset\n"
" set zeroaxis lt 8\n"
" set grid\n\n"
" splot \"draw_axe\" with line lt 9,\\\n"
" \"a_curve\" with linespoints lt 6,\\\n"
" \"a_vector\" with linespoints lt 16 lw 4,\\\n"
" \"a_velocity\" with linespoints lt 7 lw 4,\\\n"
" \"accelerator\" with linespoints lt 9 lw 4");
fclose(fp);
fp = fopen("a_vector","w");
fprintf(fp," 0 0 0 \n %6.5f %6.5f %6.5f \n",
(*P_f)(t.value),
(*P_g)(t.value),
(*P_h)(t.value));
fclose(fp);
fp = fopen("a_velocity","w");
fprintf(fp," %6.5f %6.5f %6.5f \n %6.5f %6.5f %6.5f \n",
(*P_f)(t.value),
(*P_g)(t.value),
(*P_h)(t.value),
(*P_f)(t.value)+fx_x((*P_f),t.value,H),
(*P_g)(t.value)+fx_x((*P_g),t.value,H),
(*P_h)(t.value)+fx_x((*P_h),t.value,H) );
fclose(fp);
fp = fopen("accelerator","w");
fprintf(fp," %6.5f %6.5f %6.5f \n %6.5f %6.5f %6.5f \n",
(*P_f)(t.value),
(*P_g)(t.value),
(*P_h)(t.value),
(*P_f)(t.value)+fx_xx((*P_f),t.value,H),
(*P_g)(t.value)+fx_xx((*P_g),t.value,H),
(*P_h)(t.value)+fx_xx((*P_h),t.value,H) );
fclose(fp);
fp = fopen("a_curve","w");
for(t.value=t.min; t.value<=t.max+t.step; t.value+=t.step)
fprintf(fp," %6.3f %6.3f %6.3f\n",
(*P_f)(t.value),
(*P_g)(t.value),
(*P_h)(t.value));
fclose(fp);
}
/* --------------------------------- */
/* --------------------------------- */