34#include "ramCanvas.hpp"
37typedef mjr::ramCanvas3c8b::colorType ct;
38typedef ct::csIntType cit;
42 std::chrono::time_point<std::chrono::system_clock> startTime = std::chrono::system_clock::now();
43 const int NUMITR = 100;
44 const int CSIZE = 7680;
47 mjr::ramCanvas3c8b theRamCanvasA(CSIZE, CSIZE, -1.0, 1.4, -1.0, 1.4);
48 mjr::ramCanvas3c8b theRamCanvasE(CSIZE, CSIZE, -1.0, 1.4, -1.0, 1.4);
49 mjr::ramCanvas3c8b theRamCanvasK(CSIZE, CSIZE, -1.0, 1.4, -1.0, 1.4);
50 mjr::ramCanvas3c8b theRamCanvasL(CSIZE, CSIZE, -1.0, 1.4, -1.0, 1.4);
51 mjr::ramCanvas3c8b theRamCanvasN(CSIZE, CSIZE, -1.0, 1.4, -1.0, 1.4);
53 for(
int y=0;y<theRamCanvasA.getNumPixY();y++) {
55 std::cout <<
" LINE: " << y <<
"/" << CSIZE << std::endl;
56 for(
int x=0;x<theRamCanvasA.getNumPixX();x++) {
57 std::complex<double> z(theRamCanvasA.int2realX(x), theRamCanvasA.int2realY(y));
59 while( ((std::abs(std::real(z))<LIM) || (std::abs(std::imag(z))<LIM)) && (count<NUMITR) ) {
60 z=std::sin(z)+std::complex<double>(1.0, 1.0);
65 theRamCanvasA.drawPoint(x, y, ct::csCColdeRainbow::c(
static_cast<cit
>(count*500)));
67 if(std::abs(std::real(z))<std::abs(std::imag(z)))
68 theRamCanvasE.drawPoint(x, y, ct(
"red"));
70 theRamCanvasE.drawPoint(x, y, ct(
"blue"));
72 theRamCanvasK.drawPoint(x, y, ct::csCColdeRainbow::c(
static_cast<cit
>((std::arg(z)+3.14)*255)));
74 if(std::abs(std::real(z))<std::abs(std::imag(z)))
75 theRamCanvasL.drawPoint(x, y, ct::csCCu0R::c(mjr::math::ivl::clamp(
static_cast<cit
>(std::abs(std::real(z))*15), ct::csCCu0R::numC-1)));
77 theRamCanvasL.drawPoint(x, y, ct::csCCu0B::c(mjr::math::ivl::clamp(
static_cast<cit
>(std::abs(std::imag(z))*15), ct::csCCu0B::numC-1)));
81 theRamCanvasA.writeTIFFfile(
"biomorph2A.tiff");
82 theRamCanvasE.writeTIFFfile(
"biomorph2E.tiff");
83 theRamCanvasK.writeTIFFfile(
"biomorph2K.tiff");
84 theRamCanvasL.writeTIFFfile(
"biomorph2L.tiff");
85 std::chrono::duration<double> runTime = std::chrono::system_clock::now() - startTime;
86 std::cout <<
"Total Runtime " << runTime.count() <<
" sec" << std::endl;
int main(int argc, char *argv[])