From a8af428941288e4a88ba608dcc897270b291715b Mon Sep 17 00:00:00 2001 From: Florian Festi Date: Wed, 2 Nov 2016 21:50:44 +0100 Subject: [PATCH] Manually use multiple arcs to get more precise curves --- boxes/__init__.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/boxes/__init__.py b/boxes/__init__.py index 0485d79..dfd7eb3 100755 --- a/boxes/__init__.py +++ b/boxes/__init__.py @@ -499,6 +499,14 @@ class Boxes: :param radius: (Default value = 0) """ + if radius > 0.5* self.thickness: + while degrees > 100: + self.corner(90, radius) + degrees -= 90 + while degrees < -100: + self.corner(-90, radius) + degrees -= -90 + rad = degrees * math.pi / 180 if degrees > 0: self.ctx.arc(0, radius + self.burn, radius + self.burn, @@ -788,7 +796,12 @@ class Boxes: if r < 0: r = 1E-9 self.moveTo(x + r, y) - self.ctx.arc(-r, 0, r, 0, 2 * math.pi) + a = 0 + n = 10 + da = 2 * math.pi / n + for i in range(n): + self.ctx.arc(-r, 0, r, a, a+da) + a += da @restore @holeCol