View difference between Paste ID: uQkCQGhz and NR7G09dA
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);
12+
unsigned short GR(int,int);
13-
unsigned short blue_fn(int,int);
13+
unsigned short BL(int,int);
14
15-
unsigned short red_fn(int i,int j){
15+
unsigned short RD(int i,int j){
16
    // YOUR CODE HERE
17
}
18-
unsigned short green_fn(int i,int j){
18+
unsigned short GR(int i,int j){
19
    // YOUR CODE HERE
20
}
21-
unsigned short blue_fn(int i,int j){
21+
unsigned short BL(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;
38+
    color[0] = RD(i,j)&DM1;
39-
    color[1] = green_fn(i,j)&DM1;
39+
    color[1] = GR(i,j)&DM1;
40-
    color[2] =  blue_fn(i,j)&DM1;
40+
    color[2] = BL(i,j)&DM1;
41
    fwrite(color, 2, 3, fp);
42
}