Rotate points around for similar triangle predicates.
(
a: gm.Point, b: gm.Point, c: gm.Point, x: gm.Point, y: gm.Point, z: gm.Point
)
| 444 | |
| 445 | |
| 446 | def rotate_simtri( |
| 447 | a: gm.Point, b: gm.Point, c: gm.Point, x: gm.Point, y: gm.Point, z: gm.Point |
| 448 | ) -> Generator[tuple[gm.Point, ...], None, None]: |
| 449 | """Rotate points around for similar triangle predicates.""" |
| 450 | yield (z, y, x, c, b, a) |
| 451 | for p in [ |
| 452 | (b, c, a, y, z, x), |
| 453 | (c, a, b, z, x, y), |
| 454 | (x, y, z, a, b, c), |
| 455 | (y, z, x, b, c, a), |
| 456 | (z, x, y, c, a, b), |
| 457 | ]: |
| 458 | yield p |
| 459 | yield p[::-1] |
| 460 | |
| 461 | |
| 462 | def match_cong_cong_cong_cyclic( |
no outgoing calls
no test coverage detected