mirror of
https://github.com/ManimCommunity/manim.git
synced 2026-06-22 10:01:47 +00:00
85 lines
2 KiB
Python
85 lines
2 KiB
Python
from __future__ import annotations
|
|
|
|
from manim import *
|
|
from manim.utils.testing.frames_comparison import frames_comparison
|
|
|
|
__module_test__ = "mobjects"
|
|
|
|
|
|
@frames_comparison
|
|
def test_PointCloudDot(scene):
|
|
p = PointCloudDot()
|
|
scene.add(p)
|
|
|
|
|
|
@frames_comparison
|
|
def test_become(scene):
|
|
s = Rectangle(width=2, height=1, color=RED).shift(UP)
|
|
d = Dot()
|
|
|
|
s1 = s.copy().become(d, match_width=True).set_opacity(0.25).set_color(BLUE)
|
|
s2 = (
|
|
s.copy()
|
|
.become(d, match_height=True, match_center=True)
|
|
.set_opacity(0.25)
|
|
.set_color(GREEN)
|
|
)
|
|
s3 = s.copy().become(d, stretch=True).set_opacity(0.25).set_color(PURE_YELLOW)
|
|
|
|
scene.add(s, d, s1, s2, s3)
|
|
|
|
|
|
@frames_comparison
|
|
def test_become_no_color_linking(scene):
|
|
a = Circle()
|
|
b = Square()
|
|
scene.add(a)
|
|
scene.add(b)
|
|
b.become(a)
|
|
b.shift(1 * RIGHT)
|
|
b.set_stroke(PURE_YELLOW, opacity=1)
|
|
|
|
|
|
@frames_comparison
|
|
def test_match_style(scene):
|
|
square = Square(fill_color=[RED, GREEN], fill_opacity=1)
|
|
circle = Circle()
|
|
VGroup(square, circle).arrange()
|
|
circle.match_style(square)
|
|
scene.add(square, circle)
|
|
|
|
|
|
@frames_comparison
|
|
def test_vmobject_joint_types(scene):
|
|
angled_line = VMobject(stroke_width=20, color=GREEN).set_points_as_corners(
|
|
[
|
|
np.array([-2, 0, 0]),
|
|
np.array([0, 0, 0]),
|
|
np.array([-2, 1, 0]),
|
|
]
|
|
)
|
|
lines = VGroup(*[angled_line.copy() for _ in range(len(LineJointType))])
|
|
for line, joint_type in zip(lines, LineJointType, strict=True):
|
|
line.joint_type = joint_type
|
|
|
|
lines.arrange(RIGHT, buff=1)
|
|
scene.add(lines)
|
|
|
|
|
|
@frames_comparison
|
|
def test_vmobject_cap_styles(scene):
|
|
arcs = VGroup(
|
|
*[
|
|
Arc(
|
|
radius=1,
|
|
start_angle=0,
|
|
angle=TAU / 4,
|
|
stroke_width=20,
|
|
color=GREEN,
|
|
cap_style=cap_style,
|
|
)
|
|
for cap_style in CapStyleType
|
|
]
|
|
)
|
|
arcs.arrange(RIGHT, buff=1)
|
|
scene.add(arcs)
|