16. Creación de archivo dxf

/*
 * generación de un archivo dxf (autocad).
 * Se busca acomodar la mayor cantidad de agujeros dentro de un círculo
 * simulando las semillas de un girasol. Se utiliza el número áureo
 * 
 * <germán andrés xander 2021>
 */

#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;

int main(void){
    ofstream archivo("agujeros.dxf");
    long double PI = 3.14159;
    int agujero = 1000;
    long double radioAgu = 5.0;
    long double GoldenRatio =(1.0 + sqrt(5.0)) / 2.0;
    long double deltaAng = PI / GoldenRatio;
    long double r;
    archivo<<"0\nSECTION\n2\nENTITIES";
    int horario;
    for(horario = -1;horario <2; horario+=2){
        for(int ii = 0;ii <= agujero;ii ++){
            long double angulo = double(ii) * deltaAng;
            r = radioAgu*sqrt(double(ii)* PI);
            if(r>150){
                long double x = horario * r * cos(angulo);
                long double y = horario * r * sin(angulo);
                archivo<<"\n0\nCIRCLE\n8\nSunflower";
                archivo<<"\n10\n"<< x;
                archivo<<"\n20\n"<< y;
                archivo<<"\n40\n"<< radioAgu;
                archivo<<"\n0\nTEXT";
                archivo<<"\n1\n"<< ii;
                archivo<<"\n11\n"<< x;
                archivo<<"\n21\n"<< y;
                archivo<<"\n40\n"<< 3;
                archivo<<"\n72\n"<< 1;
                archivo<<"\n73\n"<< 2;
            }
        }
    }
    archivo<<"\n0\nCIRCLE\n8\nSunflower";
    archivo<<"\n10\n"<< 0;
    archivo<<"\n20\n"<< 0;
    archivo<<"\n40\n"<< r +5;
    archivo<<"\n0\nENDSEC\n0\nEOF\n";
    archivo.close();
    cout<<"\nFinished\n\n";
    return 0;
}

https://aulavirtual.fio.unam.edu.ar/mod/resource/view.php?id=63088