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