Advertisement
eyitsmerubi

drawline_3d

Apr 23rd, 2019
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.02 KB | None | 0 0
  1. void DrawLine(int x1, int y1, int x2, int y2, short c = 0x2588, short col = 0x000F)
  2. {
  3. int x, y, dx, dy, dx1, dy1, px, py, xe, ye, i;
  4. dx = x2 - x1; dy = y2 - y1;
  5. dx1 = abs(dx); dy1 = abs(dy);
  6. px = 2 * dy1 - dx1; py = 2 * dx1 - dy1;
  7. if (dy1 <= dx1)
  8. {
  9. if (dx >= 0)
  10. { x = x1; y = y1; xe = x2; }
  11. else
  12. { x = x2; y = y2; xe = x1;}
  13.  
  14. Draw(x, y, c, col);
  15.  
  16. for (i = 0; x<xe; i++)
  17. {
  18. x = x + 1;
  19. if (px<0)
  20. px = px + 2 * dy1;
  21. else
  22. {
  23. if ((dx<0 && dy<0) || (dx>0 && dy>0)) y = y + 1; else y = y - 1;
  24. px = px + 2 * (dy1 - dx1);
  25. }
  26. Draw(x, y, c, col);
  27. }
  28. }
  29. else
  30. {
  31. if (dy >= 0)
  32. { x = x1; y = y1; ye = y2; }
  33. else
  34. { x = x2; y = y2; ye = y1; }
  35.  
  36. Draw(x, y, c, col);
  37.  
  38. for (i = 0; y<ye; i++)
  39. {
  40. y = y + 1;
  41. if (py <= 0)
  42. py = py + 2 * dx1;
  43. else
  44. {
  45. if ((dx<0 && dy<0) || (dx>0 && dy>0)) x = x + 1; else x = x - 1;
  46. py = py + 2 * (dx1 - dy1);
  47. }
  48. Draw(x, y, c, col);
  49. }
  50. }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement