[Ellipse / Arc] improve bounds calculation
This commit is contained in:
parent
f34b9b2f5c
commit
c303a0c114
3 changed files with 53 additions and 66 deletions
|
|
@ -97,6 +97,18 @@ def test_arc_edge_cases() -> None:
|
|||
assert_allclose(bounds, [[-11, -11], [11, 11]], atol=1e-10)
|
||||
|
||||
|
||||
def test_rotated_ellipse_bounds_match_polygonized_geometry() -> None:
|
||||
ellipse = Ellipse(radii=(10, 20), rotation=pi / 4, offset=(100, 200))
|
||||
bounds = ellipse.get_bounds_single()
|
||||
poly_bounds = ellipse.to_polygons(num_vertices=8192)[0].get_bounds_single()
|
||||
assert_allclose(bounds, poly_bounds, atol=1e-3)
|
||||
|
||||
|
||||
def test_rotated_arc_bounds_match_polygonized_geometry() -> None:
|
||||
arc = Arc(radii=(10, 20), angles=(0, pi), width=2, rotation=pi / 4, offset=(100, 200))
|
||||
bounds = arc.get_bounds_single()
|
||||
poly_bounds = arc.to_polygons(num_vertices=8192)[0].get_bounds_single()
|
||||
assert_allclose(bounds, poly_bounds, atol=1e-3)
|
||||
def test_path_edge_cases() -> None:
|
||||
# Zero-length segments
|
||||
p = MPath(vertices=[[0, 0], [0, 0], [10, 0]], width=2)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue