Advertisement
Guest User

Untitled

a guest
May 21st, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.17 KB | None | 0 0
  1.  
  2.  
  3.  
  4. /*
  5.   *----------+
  6.   |          |
  7.   +----------*
  8. */
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17. void draw_line(Point2 point0, Point2 point1, cv::Mat matrix)
  18. {
  19.     int min_row = min(point0.y, point1.y);
  20.     int max_row = max(point0.y, point1.y);
  21.     int min_col = min(point0.x, point1.x);
  22.     int max_col = max(point0.x, point1.x);
  23.     for (int i = min_row; i <= max_row; i++) {
  24.         for (int j = min_col; j <= max_col; j++) {
  25.             if (distance_to_line(i, j, point0, point1) < 1) {
  26.                 unsigned char *r = matrix.ptr(i, j);
  27.                 r[0] = 255;
  28.                 r[1] = 255;
  29.                 r[2] = 255;
  30.             }
  31.         }
  32.     }
  33. }
  34.  
  35. const int N = 8;
  36. vector<Point2> points;
  37.  
  38. // get the points
  39. for (int i = 0; i < N; ++i) {
  40.     Point2 point;
  41.     point.x = r * cos(theta * i);
  42.     point.y = r * sin(theta * i);
  43.     points.push_back(point);
  44. }
  45.  
  46. for (int i = 0; i < points.size(); ++i) {
  47.     Point2 point0 = points[i];
  48.     Point2 point1 = points[(i + 1) % points.size()];
  49.     draw_line(point0, point2, matrix);
  50. }
  51.  
  52. for (int i = 0; i < points.size(); ++i) {
  53.     int x_offset = rand() % 10;
  54.     points[i].x += x_offset;
  55. }
  56.  
  57. for (int i = 0; i < 8; i) {
  58.     // i = 7;
  59.     Point2 point0 = points[i]; // 7
  60.     Point2 point1 = points[(i + 1) % 8]; // 0
  61.     draw_line(point0, point2, matrix);
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement