View difference between Paste ID: BmXsX4WF and dSXQV1SR
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 green_fn(int,int);
13
unsigned short blue_fn(int,int);
14
15
unsigned short red_fn(int i,int j){
16
    // YOUR CODE HERE
17
}
18
unsigned short green_fn(int i,int j){
19
    // YOUR CODE HERE
20
}
21
unsigned short blue_fn(int i,int j){
22
    // YOUR CODE HERE
23
}
24
25
void pixel_write(int,int);
26
FILE *fp;
27
int main(){
28
    fp = fopen("MathPic","wb");
29
    fprintf(fp, "P6\n%d %d\n1023\n", DIM, DIM);
30
    for(int j=0;j<DIM;j++)
31
        for(int i=0;i<DIM;i++)
32
            pixel_write(i,j);
33
    fclose(fp);
34
    return 0;
35
}
36
void pixel_write(int i, int j){
37
    static unsigned short color[3];
38
    color[0] =   red_fn(i,j)&DM1;
39
    color[1] = green_fn(i,j)&DM1;
40
    color[2] =  blue_fn(i,j)&DM1;
41
    fwrite(color, 2, 3, fp);
42
}