From e727faaccbb61bd2a1750d0cb645392b2b2e9e51 Mon Sep 17 00:00:00 2001 From: widcardw <55699713+widcardw@users.noreply.github.com> Date: Tue, 13 Apr 2021 17:40:48 +0800 Subject: [PATCH] Add a custom style to ArrowTip. --- manimlib/mobject/geometry.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/manimlib/mobject/geometry.py b/manimlib/mobject/geometry.py index f8f523b8..593a69db 100644 --- a/manimlib/mobject/geometry.py +++ b/manimlib/mobject/geometry.py @@ -49,6 +49,7 @@ class TipableVMobject(VMobject): "tip_config": { "fill_opacity": 1, "stroke_width": 0, + "tip_look": 1, # triangle=0, inner_smooth=1, dot=2 }, "normal_vector": OUT, } @@ -786,12 +787,20 @@ class ArrowTip(Triangle): "width": DEFAULT_ARROW_TIP_WIDTH, "length": DEFAULT_ARROW_TIP_LENGTH, "angle": 0, + "tip_look": 1, # triangle=0, inner_smooth=1, dot=2 } def __init__(self, **kwargs): Triangle.__init__(self, start_angle=0, **kwargs) self.set_height(self.width) self.set_width(self.length, stretch=True) + if self.tip_look == 1: + self.set_height(self.length * 0.9, stretch=True) + self.data["points"][4] += np.array([0.6 * self.length, 0, 0]) + elif self.tip_look == 2: + h = self.length / 2 + self.clear_points() + self.data["points"] = Dot().set_width(h).get_points() self.rotate(self.angle) def get_base(self):