-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdisp_mat.cpp
64 lines (52 loc) · 973 Bytes
/
disp_mat.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <CImg.h>
#include <vector>
#include <iostream>
struct Quad
{
int a,b,c,d;
Quad(int a_, int b_, int c_, int d_):a(a_),b(b_),c(c_),d(d_){}
};
struct Hide
{
cimg_library::CImg<unsigned char> image;
cimg_library::CImgDisplay display;
Hide(int h):image(h,h,1,1),display(640,640)
{
}
};
class Hide;
struct Disp
{
Hide *hide;
Disp(int size);
void add(int i, int j);
bool is_closed() const;
};
Disp::Disp(int size)
{
hide = new Hide(size);
}
void Disp::add(int i, int j)
{
hide->image(i,j) += 255/6;
hide->display = hide->image;
}
bool Disp::is_closed() const
{
return hide->display.is_closed();
}
int main()
{
Disp disp(200);
std::vector<Quad> v;
for(size_t j = 0 ; j < 200 ; ++j)
for(size_t k = j ; k < 200 ; ++k)
if ((double)random()/(double)RAND_MAX < 0.8)
v.push_back(Quad(k,j,0,0));
size_t cpt = 0;
while(!disp.is_closed())
{
disp.add(v[cpt].a,v[cpt].b);
cpt ++;
}
}