69#include "ramCanvas.hpp"
70#include "MRMathSTR.hpp"
71#include "MRMathIVL.hpp"
75 std::chrono::time_point<std::chrono::system_clock> startTime = std::chrono::system_clock::now();
76 const int NUMFRM = 40;
77 const int IMXSIZ = 7680/4;
78 const int IMYSIZ = 7680/4;
89 mjr::ramCanvas1c64F xcanvas(IMXSIZ, IMYSIZ);
90 mjr::ramCanvas1c64F ycanvas(IMXSIZ, IMYSIZ);
93mjr::ramCanvas3c8b pcolorCanvas(IMXSIZ, IMYSIZ, -2.2, 0.8, -1.5, 1.5);
95 pcolorCanvas.clrCanvasToBlack();
97 for(
int frame=0; frame<NUMFRM; frame++) {
98# pragma omp parallel for schedule(static,1)
99 for(
int yi=0;yi<pcolorCanvas.getNumPixY();yi++) {
100 for(
int xi=0;xi<pcolorCanvas.getNumPixX();xi++) {
103 x = pcolorCanvas.int2realX(xi);
104 y = pcolorCanvas.int2realY(yi);
106 x = xcanvas.getPxColorRefNC(xi, yi).getC0();
107 y = ycanvas.getPxColorRefNC(xi, yi).getC0();
115 auto z = std::pow(std::complex<double>(x, y), 2) + std::complex<double>(pcolorCanvas.int2realX(xi), pcolorCanvas.int2realY(yi));
116 double xNew = std::real(z);
117 double yNew = std::imag(z);
125 xcanvas.drawPoint(xi, yi, x);
126 ycanvas.drawPoint(xi, yi, y);
127 double r = mjr::math::ivl::wrapCO((x+2)/4, 1.0);
129 double b = mjr::math::ivl::wrapCO((y+2)/4, 1.0);
130 pcolorCanvas.getPxColorRefNC(xi, yi).setChansRGB_dbl(r, g, b);
133 pcolorCanvas.writeTIFFfile(
"peterdejongEAAO_" + mjr::math::str::fmt_int(frame, 4,
'0') +
".tiff");
135 std::cout <<
"FRAME(" << frame <<
"): " <<
"DONE" << std::endl;
137 std::chrono::duration<double> runTime = std::chrono::system_clock::now() - startTime;
138 std::cout <<
"Total Runtime " << runTime.count() <<
" sec" << std::endl;
int main(int argc, char *argv[])