[..] La fonction [scl] expolygonescl

Code
int expolygone_xpl(){ scltracefa(§, ƒ, ); scltracefc("scl-%s (%s) : %s\n\n", sclver(), sclsec(), temps_char(0)); // Génération d'un polygone simple et ouvert (en aleatoire) int pn=36, pi; double *θ = newtablin(pn+1, 0, 2*π), cθ; double *ρ = rand(pn, 0, 1, 2), cρ; double *px=new double[pn], *py=new double[pn]; for(pi=0;pi<pn;pi++){ cθ=θ[pi]; cρ=ρ[pi]; px[pi]=cρ*cos(cθ); py[pi]=cρ*sin(cθ); } std::string legend="Polygone"; int epn_0_1; double r=-0.1; tic(); void **eplg = expolygone(pn, px, py, r, &epn_0_1); scltracefc("r=%lf %lf [ms]\n", r, tac()); double *epx_0_1=(double*)eplg[0], *epy_0_1=(double*)eplg[1]; legend += ";r="+num_str<double>(r); // int epn_0_2; r=-0.2; tic(); eplg=expolygone(pn, px, py, r, &epn_0_2); scltracefc("r=%lf %lf [ms]\n", r, tac()); double *epx_0_2=(double*)eplg[0], *epy_0_2=(double*)eplg[1]; legend += ";r="+num_str<double>(r); // int epn_0_3; r=-0.3; tic(); eplg=expolygone(pn, px, py, r, &epn_0_3); scltracefc("r=%lf %lf [ms]\n", r, tac()); double *epx_0_3=(double*)eplg[0], *epy_0_3=(double*)eplg[1]; legend += ";r="+num_str<double>(r); // int epn_0_4; r=0.4; tic(); eplg=expolygone(pn, px, py, r, &epn_0_4); scltracefc("r=%lf %lf [ms]\n", r, tac()); double *epx_0_4=(double*)eplg[0], *epy_0_4=(double*)eplg[1]; legend += ";r="+num_str<double>(r); // int epn_0_5; r=0.5; tic(); eplg=expolygone(pn, px, py, r, &epn_0_5); scltracefc("r=%lf %lf [ms]\n", r, tac()); double *epx_0_5=(double*)eplg[0], *epy_0_5=(double*)eplg[1]; legend += ";r="+num_str<double>(r); // int epn_0_6; r=0.6; tic(); eplg=expolygone(pn, px, py, r, &epn_0_6); scltracefc("r=%lf %lf [ms]\n", r, tac()); double *epx_0_6=(double*)eplg[0], *epy_0_6=(double*)eplg[1]; legend += ";r="+num_str<double>(r); // int epn_0_7; r=0.7; tic(); eplg=expolygone(pn, px, py, r, &epn_0_7); scltracefc("r=%lf %lf [ms]\n", r, tac()); double *epx_0_7=(double*)eplg[0], *epy_0_7=(double*)eplg[1]; legend += ";r="+num_str<double>(r); // int epn_0_8; r=0.8; tic(); eplg=expolygone(pn, px, py, r, &epn_0_8); scltracefc("r=%lf %lf [ms]\n", r, tac()); double *epx_0_8=(double*)eplg[0], *epy_0_8=(double*)eplg[1]; legend += ";r="+num_str<double>(r); // int epn_0_9; r=0.9; tic(); eplg=expolygone(pn, px, py, r, &epn_0_9); scltracefc("r=%lf %lf [ms]\n", r, tac()); double *epx_0_9=(double*)eplg[0], *epy_0_9=(double*)eplg[1]; legend += ";r="+num_str<double>(r); // int epn_1_0; r=1; tic(); eplg=expolygone(pn, px, py, r, &epn_1_0); scltracefc("r=%lf %lf [ms]\n", r, tac()); double *epx_1_0=(double*)eplg[0], *epy_1_0=(double*)eplg[1]; legend += ";r="+num_str<double>(r); // int epn_1_1; r=1.1; tic(); eplg=expolygone(pn, px, py, r, &epn_1_1); scltracefc("r=%lf %lf [ms]\n", r, tac()); double *epx_1_1=(double*)eplg[0], *epy_1_1=(double*)eplg[1]; legend += ";r="+num_str<double>(r); // int epn_1_2; r=1.2; tic(); eplg=expolygone(pn, px, py, r, &epn_1_2); scltracefc("r=%lf %lf [ms]\n", r, tac()); double *epx_1_2=(double*)eplg[0], *epy_1_2=(double*)eplg[1]; legend += ";r="+num_str<double>(r); // int epn_1_3; r=1.3; tic(); eplg=expolygone(pn, px, py, r, &epn_1_3); scltracefc("r=%lf %lf [ms]\n", r, tac()); double *epx_1_3=(double*)eplg[0], *epy_1_3=(double*)eplg[1]; legend += ";r="+num_str<double>(r); // int epn_1_4; r=1.4; tic(); eplg=expolygone(pn, px, py, r, &epn_1_4); scltracefc("r=%lf %lf [ms]\n", r, tac()); double *epx_1_4=(double*)eplg[0], *epy_1_4=(double*)eplg[1]; legend += ";r="+num_str<double>(r); // int epn_1_5; r=1.5; tic(); eplg=expolygone(pn, px, py, r, &epn_1_5); scltracefc("r=%lf %lf [ms]\n", r, tac()); double *epx_1_5=(double*)eplg[0], *epy_1_5=(double*)eplg[1]; legend += ";r="+num_str<double>(r); // int epn_1_6; r=1.6; tic(); eplg=expolygone(pn, px, py, r, &epn_1_6); scltracefc("r=%lf %lf [ms]\n", r, tac()); double *epx_1_6=(double*)eplg[0], *epy_1_6=(double*)eplg[1]; legend += ";r="+num_str<double>(r); std::string imgname=std::string(ƒ)+".svg", imgpath="./srt/"+imgname; graf_dis(imgpath.c_str(), pn, px, py, "curve", epn_0_1, epx_0_1, epy_0_1, "curve", epn_0_2, epx_0_2, epy_0_2, "curve", epn_0_3, epx_0_3, epy_0_3, "curve", epn_0_4, epx_0_4, epy_0_4, "curve", epn_0_5, epx_0_5, epy_0_5, "curve", epn_0_6, epx_0_6, epy_0_6, "curve", epn_0_7, epx_0_7, epy_0_7, "curve", epn_0_8, epx_0_8, epy_0_8, "curve", epn_0_9, epx_0_9, epy_0_9, "curve", epn_1_0, epx_1_0, epy_1_0, "curve", epn_1_1, epx_1_1, epy_1_1, "curve", epn_1_2, epx_1_2, epy_1_2, "curve", epn_1_3, epx_1_3, epy_1_3, "curve", epn_1_4, epx_1_4, epy_1_4, "curve", epn_1_5, epx_1_5, epy_1_5, "curve", epn_1_6, epx_1_6, epy_1_6, "grid", "on", "subtitlex", imgname.c_str(), "legend", legend.c_str(), "legcorn", "urp", "titlex", "Expansion de polygone", "linespeca", "-a", "axis", "equal", ); //--------------------------------------------------------------------- //[>LIBÈRE MÉMOIRE] //--------------------------------------------------------------------- free(epx_0_1); epx_0_1=; free(epy_0_1); epy_0_1=; free(epx_0_2); epx_0_2=; free(epy_0_2); epy_0_2=; free(epx_0_3); epx_0_3=; free(epy_0_3); epy_0_3=; free(epx_0_4); epx_0_4=; free(epy_0_4); epy_0_4=; free(epx_0_5); epx_0_5=; free(epy_0_5); epy_0_5=; free(epx_0_6); epx_0_6=; free(epy_0_6); epy_0_6=; free(epx_0_7); epx_0_7=; free(epy_0_7); epy_0_7=; free(epx_0_8); epx_0_8=; free(epy_0_8); epy_0_8=; free(epx_0_9); epx_0_9=; free(epy_0_9); epy_0_9=; free(epx_1_0); epx_1_0=; free(epy_1_0); epy_1_0=; free(epx_1_1); epx_1_1=; free(epy_1_1); epy_1_1=; free(epx_1_2); epx_1_2=; free(epy_1_2); epy_1_2=; free(epx_1_3); epx_1_3=; free(epy_1_3); epy_1_3=; free(epx_1_4); epx_1_4=; free(epy_1_4); epy_1_4=; free(epx_1_5); epx_1_5=; free(epy_1_5); epy_1_5=; free(epx_1_6); epx_1_6=; free(epy_1_6); epy_1_6=; //--------------------------------------------------------------------- //[<LIBÈRE MÉMOIRE] //--------------------------------------------------------------------- scltracefe(§, ƒ, ); return 0; } /* ƒ décorée par 🔬 le 21-03-2025 15:57:21 */
Sortie
[>..\xpl\src\sclgeom.xpl.cpp.expolygone_xpl] scl-25.03 (gwin64) : 21-03-2025 15:57:21 [<..\src\sclgeom.cpp.simpligone>] invalid intersection [36] r=-0.100000 436.611000 [ms] [<..\src\sclgeom.cpp.simpligone>] invalid intersection [52] r=-0.200000 423.812900 [ms] [<..\src\sclgeom.cpp.simpligone>] invalid intersection [64] r=-0.300000 405.976100 [ms] r=0.400000 499.990800 [ms] r=0.500000 561.059600 [ms] r=0.600000 536.392000 [ms] r=0.700000 528.315800 [ms] r=0.800000 524.200200 [ms] r=0.900000 529.021900 [ms] r=1.000000 556.978500 [ms] r=1.100000 550.682800 [ms] r=1.200000 544.798600 [ms] r=1.300000 517.033100 [ms] r=1.400000 534.995300 [ms] r=1.500000 533.604400 [ms] r=1.600000 527.758800 [ms] <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< << END OF DISLIN / VERSION 11.3.2 << << Date : 21.03.2025 Time : 15:57:29 Pageformat: DA4L << << Vectors : 19387 Warnings: 0 Fileformat: SVG << << Metafile: ./srt/expolygone_xpl.svg << <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< [<..\xpl\src\sclgeom.xpl.cpp.expolygone_xpl]