View difference between Paste ID: dSXQV1SR and t0g5UEeZ
SHOW: | | - or go back to the newest paste.
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
}