Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void my_line(int x0, int y0, int x1, int y1) {
- int linecolor = makecol(255, 255, 255);
- if(x1 == x0) {
- for(int y = min(y0, y1); y <= max(y0,y1); ++y) {
- putpixel(screen, x0, y, linecolor);
- };
- return;
- };
- if(y1 == y0) {
- for(int x = min(x0, x1); x <= max(x0,x1); ++x) {
- putpixel(screen, x, y0, linecolor);
- };
- return;
- }
- double m = (y1 - y0) / (double) (x1 - x0);
- cout << "Wspolczynnik nachylenia m = " << m << endl;
- if(abs(m) <= 1) {
- int x = x0;
- double y = y0;
- while( min(x0, x1) <= x && x <= max(x0, x1)) {
- putpixel(screen, x, floor(y), linecolor);
- x = (x0 <= x1) ? x + 1 : x - 1;
- y = (x0 <= x1) ? y + m : y - m;
- };
- } else {
- double x = x0;
- int y = y0;
- m = (x1 - x0) / (double) (y1 - y0);
- while( min(y0, y1) <= y && y <= max(y0, y1)) {
- putpixel(screen, floor(x), y, linecolor);
- y = (y0 <= y1) ? y + 1 : y - 1;
- x = (y0 <= y1) ? x + m : x - m;
- };
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement