[..] La fonction [scl] karaezscl
Code
int karaez_xpl(){
scltracefa(§, ƒ, ∅);
scltracefc("scl-%s (%s) : %s\n", sclver(), sclsec(), temps_char(0));
int en=17, ei;
double *f=newtablin(en, 0, 1); //[0..1]
double c=1, d;
// Facteur de finesse
double a = 2/(√(2)-1), e;
int xn = 1001;
double **x=newmat<double>(en, xn+1), **y=newmat<double>(en, xn+1);
int *mn = newtab<int>(en, xn);
for(ei=0;ei<en;ei++){
e = c*f[ei]/a;
d = c + 2*e;
karaez(d, f[ei], &mn[ei], x[ei], y[ei]);
/*scltracefc("mn[%d]=%d\n", ei, mn[ei]);*/ //🔬
// On ferme le carré
x[ei][mn[ei]]=x[ei][0]; y[ei][mn[ei]]=y[ei][0];
mn[ei]++;
}
std::string imgname=std::string(ƒ)+".svg",
imgpath="./srt/"+imgname;
std::string legend = "f=" + num_str<double>(round(f[0]*103)/10) + "[%]";
for(ei=1;ei<en;ei++){
legend += ";f=" + num_str<double>(round(f[ei]*103)/10) + "[%]";
}
graf_dis(imgpath.c_str(), 0, ∅, ∅,
"curvex", en, mn, x, y,
"subtitlex", imgname.c_str(), "axis", "equal",
"grid", "on", "legend", legend.c_str(),
"legcorn", "urp", "linespeca", "-a", ∅);
// Libr. mémoire
delete[] f; f=∅;
deletemat(en, &x); deletemat(en, &y);
delete[] mn; mn=∅;
scltracefe(§, ƒ, ∅);
return 0;
}
/* ƒ décorée par le 01-04-2024 17:15:52 */
Sortie
[>..\xpl\src\sclgraf.xpl.cpp.karaez_xpl]
scl-24.04 (gwin64) : 01-04-2024 17:15:52
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<< END OF DISLIN / VERSION 11.3.2 <<
<< Date : 01.04.2024 Time : 17:15:52 Pageformat: DA4L <<
<< Vectors : 17019 Warnings: 0 Fileformat: SVG <<
<< Metafile: ./srt/karaez_xpl.svg <<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
[<..\xpl\src\sclgraf.xpl.cpp.karaez_xpl]