ManimCommunity/manim

opacity of Vector() and DashedVMobject(Vector) (Manim 0.17.3)

Open

#3220 opened on Apr 21, 2023

View on GitHub
 (3 comments) (0 reactions) (1 assignee)Python (17,820 stars) (1,378 forks)batch import
good first issueissue:bug

Description

Description of bug / unexpected behavior

The set stroke opacity and fill opacity is not obeyed for arrow heads - especially not when used within a DashedVMobject

Expected behavior

The opacity of the fill of the arrowhead is kept at 1.0 and not affected by setting the opacity value.

How to reproduce the issue

class arrowTransp(Scene):
    def construct(self):
        arr1 = Arrow(ORIGIN,[2,2,0], color=GREEN).shift(2*LEFT+UP)
        arr2 = arr1.copy().shift(DOWN).set_fill(opacity=0.4).set_stroke(opacity=0.4)
        arr3 = VGroup(DashedVMobject(arr2.copy().shift(DOWN))).set_fill(opacity=0.4, family=True).set_stroke(opacity=0.4, family=True)
        self.add(arr1,arr2,arr3)
        arr4 = Arrow(ORIGIN,[2,2,0], color=RED, tip_shape=StealthTip).shift(RIGHT+UP)
        arr5 = arr4.copy().shift(DOWN).set_fill(opacity=0.4).set_stroke(opacity=0.4)
        arr6 = VGroup(DashedVMobject(arr5.copy().shift(DOWN))).set_fill(opacity=0.4, family=True).set_stroke(opacity=0.4, family=True)
        self.add(arr4,arr5,arr6)  

Additional media files

image

System specifications

Contributor guide