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
|
#include <cini.h>
#define WIDTH 1000
#define HEIGHT 1000
int rotate(int v1, int v2) {
return (5*v2+95*v1)/100; // version avec plus de détails, normalement c'est (v2+9*v1)/10
}
void triangles(int height, int width, int eps){
int x_a, x_b, x_c;
int y_a, y_b, y_c;
x_a = 0; y_a = height-1;
x_b = width-1; y_b = height-1;
x_c = (width-1) >> 1; y_c = 0;
while ( (x_a-x_b)*(x_a-x_b) + (y_a-y_b)*(y_a-y_b) > eps*eps ){
CINI_draw_line(x_a, y_a, x_b, y_b, "red");
CINI_draw_line(x_a, y_a, x_c, y_c, "blue");
CINI_draw_line(x_c, y_c, x_b, y_b, "green");
int old_x[] = {x_a, x_b, x_c};
int old_y[] = {y_a, y_b, y_c};
x_a = rotate(old_x[0], old_x[1]); y_a = rotate(old_y[0], old_y[1]);
x_b = rotate(old_x[1], old_x[2]); y_b = rotate(old_y[1], old_y[2]);
x_c = rotate(old_x[2], old_x[0]); y_c = rotate(old_y[2], old_y[0]);
}
}
int main(){
CINI_open_window(WIDTH, HEIGHT, "Hello");
CINI_fill_window("white");
triangles(HEIGHT, WIDTH, 2);
CINI_loop();
return 0;
}
|