diff --git a/geometry/geometry.py b/geometry/geometry.py index a0be8eb3befc..6ea7b94d171c 100644 --- a/geometry/geometry.py +++ b/geometry/geometry.py @@ -103,9 +103,11 @@ def area(self) -> float: def perimeter(self) -> float: """ >>> Ellipse(5, 10).perimeter - 47.12388980384689 + 48.44222344723793 """ - return math.pi * (self.major_radius + self.minor_radius) + a, b = self.major_radius, self.minor_radius + #uses ramanujans approximation + return math.pi * (3*(a + b) - ((3*a + b)*(a + 3*b))**0.5) class Circle(Ellipse):