From 46c898977a843321ab48e3bce6e441fa4d11fb66 Mon Sep 17 00:00:00 2001 From: Grant Sanderson Date: Fri, 7 Feb 2025 10:17:02 -0600 Subject: [PATCH] Have density of anchor points on arcs depend on arc length --- manimlib/mobject/geometry.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/manimlib/mobject/geometry.py b/manimlib/mobject/geometry.py index ae54ed7e..7a55ec2d 100644 --- a/manimlib/mobject/geometry.py +++ b/manimlib/mobject/geometry.py @@ -208,12 +208,16 @@ class Arc(TipableVMobject): start_angle: float = 0, angle: float = TAU / 4, radius: float = 1.0, - n_components: int = 8, + n_components: Optional[int] = None, arc_center: Vect3 = ORIGIN, **kwargs ): super().__init__(**kwargs) + if n_components is None: + # 16 components for a full circle + n_components = int(15 * (abs(angle) / TAU)) + 1 + self.set_points(quadratic_bezier_points_for_arc(angle, n_components)) self.rotate(start_angle, about_point=ORIGIN) self.scale(radius, about_point=ORIGIN)