[..] La fonction [scl] airepolygonescl

Code
int airepolygone_xpl(){ scltracefa(§, ƒ, ); scltracefc("scl-%s (%s) : %s\n\n", sclver(), sclsec(), temps_char(0)); int vna=3, vne=60; double dvna=(double)vna, dvne=(double)vne; int vnx = vne - vna + 1, vni; double *vn=newtablin(vnx,dvna,dvne), dvn, dvi; int cvn, vo, vi; int *mn = new int[vnx]; double **vx=new double*[vnx], **vy=new double*[vnx]; double *aire=new double[vnx]; double depi = scl2pi(), bx, by; for(vni=0;vni<vnx;vni++){ cvn=(int)vn[vni]; vo=cvn+1; dvn=(double)cvn; vx[vni]=new double[vo]; vy[vni]=new double[vo]; mn[vni] = vo; for(vi=0;vi<cvn;vi++){ dvi=(double)vi; vx[vni][vi]=cos(depi/dvn*dvi); vy[vni][vi]=sin(depi/dvn*dvi); } aire[vni] = airepolygone(cvn, vx[vni], vy[vni], &bx, &by); scltracefc("vn[%d]=%d: %e, %e\n", vni, cvn, bx, by); // On ferme le polygone pour l'affichage vx[vni][cvn]=vx[vni][0]; vy[vni][cvn]=vy[vni][0]; } scl::string_c imgname=scl::string_c(ƒ)+"-plgn.svg", imgpath="./srt/"+imgname; // le trait plein occupe moins de place en svg et emf std::string linespec="-"; for(vni=1;vni<vnx;vni++){ linespec+=";-"; } graf_dis(imgpath.c_str(), mn[0], vx[0], vy[0], "curvex", vnx-1, &mn[1], &vx[1], &vy[1], "axis", "equal", "subtitlex", imgname.c_str(), "title", "Regular polygon", "linespec", linespec.c_str(), "linespeca", "-a", ); imgname.clear(); imgname=scl::string_c(ƒ)+".svg"; imgpath.clear(); imgpath="./srt/"+imgname; graf_dis(imgpath.c_str(), vnx, vn, aire, "subtitlex", imgname.c_str(), "xlabel", "Vertice number [N]", "title", "Geometric approximation of π", "grid", "on", "linespec", "-l", "linespeca", "-a", ); //--------------------------------------------------------------------- //[>LIBÈRE MÉMOIRE] //--------------------------------------------------------------------- imgpath.clear(); imgname.clear(); delete[] aire; aire=; for(vni=0;vni<vnx;vni++){ delete[] vy[vni]; vy[vni]=; delete[] vx[vni]; vx[vni]=; } delete[] vy; vy=; delete[] vx; vx=; delete[] mn; mn=; delete[] vn; vn=; //--------------------------------------------------------------------- //[<LIBÈRE MÉMOIRE] //--------------------------------------------------------------------- scltracefe(§, ƒ, ); return 0; } /* ƒ décorée par 🔬 le 23-03-2025 22:21:41 */
Sortie
[>..\xpl\src\sclgeom.xpl.cpp.airepolygone_xpl] scl-25.03 (gwin64) : 23-03-2025 22:21:41 vn[0]=3: -9.258709e-017, 1.139533e-016 vn[1]=4: -1.850372e-017, 0.000000e+000 vn[2]=5: -1.556477e-017, -7.782384e-018 vn[3]=6: -2.848834e-017, -4.273250e-017 vn[4]=7: 0.000000e+000, -2.704816e-017 vn[5]=8: -3.925231e-017, -1.308410e-017 vn[6]=9: -2.558815e-017, -2.558815e-017 vn[7]=10: -1.259216e-017, -3.148040e-018 vn[8]=11: 0.000000e+000, 0.000000e+000 vn[9]=12: 6.167906e-018, 1.850372e-017 vn[10]=13: 0.000000e+000, -4.594228e-018 vn[11]=14: 6.092388e-018, -3.046194e-017 vn[12]=15: -6.065749e-018, -1.516437e-017 vn[13]=16: 6.044068e-018, 0.000000e+000 vn[14]=17: 1.807854e-017, 0.000000e+000 vn[15]=18: 1.202250e-017, -7.514062e-018 vn[16]=19: -2.999327e-017, -6.223603e-017 vn[17]=20: 1.796379e-017, -2.844266e-017 vn[18]=21: 1.793616e-017, -1.718882e-017 vn[19]=22: 5.970755e-018, -2.239033e-018 vn[20]=23: 0.000000e+000, 2.907361e-017 vn[21]=24: 1.191548e-017, 2.234152e-017 vn[22]=25: -4.166668e-017, -2.604167e-017 vn[23]=26: -8.921456e-018, -8.847111e-017 vn[24]=27: -3.566049e-017, -3.863219e-017 vn[25]=28: -2.078874e-017, -1.670524e-017 vn[26]=29: -2.968125e-018, 4.600594e-017 vn[27]=30: 0.000000e+000, -5.710703e-017 vn[28]=31: 0.000000e+000, -6.301089e-017 vn[29]=32: -3.853156e-017, -2.889867e-017 vn[30]=33: -2.962827e-018, -1.629555e-017 vn[31]=34: -8.885362e-018, -6.367843e-017 vn[32]=35: 0.000000e+000, 6.291776e-018 vn[33]=36: 3.847952e-017, 5.216934e-017 vn[34]=37: -2.071412e-017, -7.490374e-017 vn[35]=38: 1.479210e-017, -1.996933e-017 vn[36]=39: 2.070415e-017, -1.441896e-017 vn[37]=40: 2.957104e-017, -3.585488e-017 vn[38]=41: 2.069562e-017, 1.330433e-017 vn[39]=42: -5.911943e-018, -3.011396e-017 vn[40]=43: 2.955464e-018, 2.345900e-017 vn[41]=44: -1.181996e-017, 1.865338e-017 vn[42]=45: -2.954549e-018, -6.278416e-018 vn[43]=46: -5.908271e-018, 1.532458e-017 vn[44]=47: 3.839873e-017, -4.430622e-017 vn[45]=48: -1.476693e-017, 1.605903e-017 vn[46]=49: -1.476522e-017, -7.474893e-017 vn[47]=50: -1.476362e-018, 1.974634e-017 vn[48]=51: -2.657179e-017, -4.530121e-017 vn[49]=52: 0.000000e+000, -6.716110e-017 vn[50]=53: -3.099461e-017, -3.569915e-017 vn[51]=54: 2.951614e-018, 4.418197e-017 vn[52]=55: 3.836785e-017, -5.533825e-019 vn[53]=56: 1.918245e-017, 6.086739e-018 vn[54]=57: -1.475465e-018, 2.333079e-017 vn[55]=58: 1.622899e-017, -3.651523e-017 vn[56]=59: 5.015904e-017, 1.936287e-018 vn[57]=60: 3.982969e-017, 4.148926e-018 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< << END OF DISLIN / VERSION 11.3.2 << << Date : 23.03.2025 Time : 22:21:42 Pageformat: DA4L << << Vectors : 1883 Warnings: 0 Fileformat: SVG << << Metafile: ./srt/airepolygone_xpl-plgn.svg << <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< << END OF DISLIN / VERSION 11.3.2 << << Date : 23.03.2025 Time : 22:21:42 Pageformat: DA4L << << Vectors : 1390 Warnings: 0 Fileformat: SVG << << Metafile: ./srt/airepolygone_xpl.svg << <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< [<..\xpl\src\sclgeom.xpl.cpp.airepolygone_xpl]