Manejo de archivos
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