Advertisement
Guest User

ppm1024(2).cpp

a guest
Aug 2nd, 2014
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // NOTE: compile with g++ filename.cpp -std=c++11
  2. //    also, if this doesn't work for you, try the alternate char-based version
  3.  
  4. #include <iostream>
  5. #include <cmath>
  6. #define DIM 1024
  7. #define DM1 (DIM-1)
  8. #define _sq(x) ((x)*(x))                           // square
  9. #define _cb(x) abs((x)*(x)*(x))                    // absolute value of cube
  10. #define _cr(x) (unsigned short)(pow((x),1.0/3.0))  // cube root
  11.  
  12. unsigned short red_fn(int i,int j){
  13.     // YOUR CODE HERE
  14. }
  15. unsigned short green_fn(int i,int j){
  16.     // YOUR CODE HERE
  17. }
  18. unsigned short blue_fn(int i,int j){
  19.     // YOUR CODE HERE
  20. }
  21.  
  22. void pixel_write(int,int);
  23. FILE *fp;
  24. int main(){
  25.     fp = fopen("MathPic","wb");
  26.     fprintf(fp, "P6\n%d %d\n1023\n", DIM, DIM);
  27.     for(int j=0;j<DIM;j++)
  28.         for(int i=0;i<DIM;i++)
  29.             pixel_write(i,j);
  30.     fclose(fp);
  31.     return 0;
  32. }
  33. void pixel_write(int i, int j){
  34.     static unsigned short color[3];
  35.     color[0] =   red_fn(i,j)&DM1;
  36.     color[1] = green_fn(i,j)&DM1;
  37.     color[2] =  blue_fn(i,j)&DM1;
  38.     fwrite(color, 2, 3, fp);
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement