35#include "ramCanvas.hpp"
36#include "MRMathSTR.hpp"
40 std::chrono::time_point<std::chrono::system_clock> startTime = std::chrono::system_clock::now();
43 const int NUMITR = 1024;
44 const int IMXSIZ = 7680/2;
45 const int IMYSIZ = 4320/2;
47 mjr::ramCanvas3c8b theRamCanvas(IMXSIZ, IMYSIZ, -2.75, 2.75, -1.55, 1.55);
49 for(
int p=MINPOW;p<=MAXPOW;p++) {
50 std::chrono::time_point<std::chrono::system_clock> frameStartTime = std::chrono::system_clock::now();
51 theRamCanvas.clrCanvasToBlack();
52 for(
int y=0;y<theRamCanvas.getNumPixY();y++) {
53 for(
int x=0;x<theRamCanvas.getNumPixX();x++) {
54 std::complex<double> c(theRamCanvas.int2realX(x), theRamCanvas.int2realY(y));
55 std::complex<double> z(0.0, 0.0);
57 while((std::norm(z)<4) && (count<=NUMITR)) {
62 theRamCanvas.drawPoint(x, y, mjr::ramCanvas3c8b::colorType::csCColdeFireRamp::c(
static_cast<mjr::ramCanvas3c8b::csIntType
>(count*20*log(p))));
66 theRamCanvas.writeTIFFfile(
"multibrotSnaps_" + mjr::math::str::fmt_int(p, 3,
'0') +
".tiff");
67 std::chrono::duration<double> frameRunTime = std::chrono::system_clock::now() - frameStartTime;
68 std::cout <<
"Frame " << p <<
" Runtime " << frameRunTime.count() <<
" sec" << std::endl;
70 std::chrono::duration<double> runTime = std::chrono::system_clock::now() - startTime;
71 std::cout <<
"Total Runtime " << runTime.count() <<
" sec" << std::endl;
int main(int argc, char *argv[])