Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- *----------+
- | |
- +----------*
- */
- void draw_line(Point2 point0, Point2 point1, cv::Mat matrix)
- {
- int min_row = min(point0.y, point1.y);
- int max_row = max(point0.y, point1.y);
- int min_col = min(point0.x, point1.x);
- int max_col = max(point0.x, point1.x);
- for (int i = min_row; i <= max_row; i++) {
- for (int j = min_col; j <= max_col; j++) {
- if (distance_to_line(i, j, point0, point1) < 1) {
- unsigned char *r = matrix.ptr(i, j);
- r[0] = 255;
- r[1] = 255;
- r[2] = 255;
- }
- }
- }
- }
- const int N = 8;
- vector<Point2> points;
- // get the points
- for (int i = 0; i < N; ++i) {
- Point2 point;
- point.x = r * cos(theta * i);
- point.y = r * sin(theta * i);
- points.push_back(point);
- }
- for (int i = 0; i < points.size(); ++i) {
- Point2 point0 = points[i];
- Point2 point1 = points[(i + 1) % points.size()];
- draw_line(point0, point2, matrix);
- }
- for (int i = 0; i < points.size(); ++i) {
- int x_offset = rand() % 10;
- points[i].x += x_offset;
- }
- for (int i = 0; i < 8; i) {
- // i = 7;
- Point2 point0 = points[i]; // 7
- Point2 point1 = points[(i + 1) % 8]; // 0
- draw_line(point0, point2, matrix);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement