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