1/* -*-ePiX-*- */ 2#include "epix.h" 3using namespace ePiX; 4 5// re cos(u+iv) 6P f(double u, double v) 7{ 8 return P(u, v, 2*cosh(u)*Cos(v)); 9} 10 11domain R(P(-1,-1), P(1,1), mesh(16,16)); 12 13// RGB densities 14P color(double x, double y, double z) 15{ 16 return P(Sin(x), -Sin(y), -Sin(x)); 17} 18 19int main() 20{ 21 picture(P(0,0), P(5,1), "5x1in"); 22 23 begin(); 24 25 camera.filter(CMYK_Neutral()); // convert colors to CMYK in output 26 grid(5,1); 27 camera.at(4,3,1); 28 29 plain(Red(1.6)); 30 31 // Original 32 screen all(P(-1.5,0.5), P(1.5,3.5)); 33 activate(all); 34 set_crop(); 35 36 surface(f, R, color); 37 inset(all, P(0,0), P(1,1)); 38 39 // Cyan 40 screen cyn(P(-1.5,0.5), P(1.5,3.5)); 41 activate(cyn); 42 set_crop(); 43 camera.filter(C_Process()); // get cyan layer 44 45 surface(f, R, color); 46 inset(cyn, P(1,0), P(2,1)); 47 48 // Magenta 49 screen mgn(P(-1.5,0.5), P(1.5,3.5)); 50 activate(mgn); 51 set_crop(); 52 camera.filter(M_Process()); 53 54 surface(f, R, color); 55 inset(mgn, P(2,0), P(3,1)); 56 57 // Yellow 58 screen ylw(P(-1.5,0.5), P(1.5,3.5)); 59 activate(ylw); 60 set_crop(); 61 camera.filter(Y_Process()); 62 63 surface(f, R, color); 64 inset(ylw, P(3,0), P(4,1)); 65 66 // Black 67 screen blk(P(-1.5,0.5), P(1.5,3.5)); 68 activate(blk); 69 set_crop(); 70 camera.filter(K_Process()); 71 72 surface(f, R, color); 73 inset(blk, P(4,0), P(5,1)); 74 75 end(); 76} 77