0 if not parallel, 1 if parallel, 2 if collinear
| 164 | } |
| 165 | // 0 if not parallel, 1 if parallel, 2 if collinear |
| 166 | int is_parallel(PT a, PT b, PT c, PT d) { |
| 167 | double k = fabs(cross(b - a, d - c)); |
| 168 | if (k < eps){ |
| 169 | if (fabs(cross(a - b, a - c)) < eps && fabs(cross(c - d, c - a)) < eps) return 2; |
| 170 | else return 1; |
| 171 | } |
| 172 | else return 0; |
| 173 | } |
| 174 | // check if two lines are same |
| 175 | bool are_lines_same(PT a, PT b, PT c, PT d) { |
| 176 | if (fabs(cross(a - c, c - d)) < eps && fabs(cross(b - c, c - d)) < eps) return true; |