标签: manim

使用 manim 代替 TeX 取消条款

你能画对角线/箭头/任何看起来像你在马尼姆数学方程中删除类似项的东西吗?

在此输入图像描述

manim

5
推荐指数
1
解决办法
1211
查看次数

有没有更好的方法来可视化数组?

我想确保我用来显示数组的方法不是一个我不知道的更好方法的尴尬解决方法。到目前为止,我所拥有的很多东西都感觉很尴尬。

对于间隔元素,我使用缓冲区将 TextMobject 数组的每个元素设置为 .next_to 右侧的前一个元素。有更好的方法吗?

对于元素周围的框,我将分别绘制数组的整个宽度的顶线和底线,然后在元素之间绘制垂直线。我不打算关心以不同的方式对这些框的绘制进行动画处理,尽管我确实计划使用现有工具来突出显示元素。有更好的方法吗?

这是到目前为止我的“hello world”代码。任何建议/改进都非常受欢迎!

class ExampleArray(Scene):
    def construct(self):
        n = 6
        labels = TextMobject(* ["[" + str(index) + "]" for index in range(n)] )
        text = TextMobject( *[str(random.randint(0,10)) for i in range(n) ] )

        # space it out
        for i in range(1,len(text)):
            text[i].next_to(text[i-1], RIGHT, buff = 0.8)

        text.move_to(ORIGIN)


        for i in range(len(labels)):
            labels[i].scale(0.5)
            labels[i].next_to( text[i], DOWN, buff = 0.5)

        # can I just make a copy of top_line?
        top_line = Line(text.get_left() + LEFT, …
Run Code Online (Sandbox Code Playgroud)

arrays manim

5
推荐指数
1
解决办法
842
查看次数

如何使用 manim 创建正确的饼图

无论如何,我正在尝试(这实际上是我的第一个manim程序)。

from manim import *
import copy
import numpy as np
import random

color_palette = [BLUE, GREEN, YELLOW, GREY_BROWN]

class TestPie(Scene):
    def construct(self):
        n_elements = 3
        radius = 1
        weights = np.random.rand(n_elements)
        weights /= weights.sum()
        angles = weights*np.pi*2
        angles_offset = [0]+np.cumsum(weights*np.pi*2)[:-1].tolist()
        arcs = [Arc(angles_offset[i], angles[i]) for i in range(n_elements)]
        arcs2 = copy.deepcopy(arcs)
        triangles = [Polygon(*[
            # first element
            (radius*np.cos(angles_offset[i]), radius*np.sin(angles_offset[i]),0),
            (0, 0, 0), # second element
            # third element
            (radius*np.cos(angles_offset[(i+1)%n_elements]),
             radius*np.sin(angles_offset[(i+1)%n_elements]), 0)], stroke_width=0)
                    for i in range(n_elements)]
        lines …
Run Code Online (Sandbox Code Playgroud)

python manim

5
推荐指数
1
解决办法
332
查看次数

是否可以以编程方式(而不是从命令行)运行 manim?

最初的问题发布在 Reddit 上(https://www.reddit.com/r/manim/comments/lw3xs7/is_it_possible_to_run_manim_programmatically_and/)。我冒昧在这里问一下。

假设我想编写一个简单的 GUI 应用程序,用户可以在其中输入 LaTeX 代码,单击“动画”按钮,然后 manim 在后台渲染 mp4,最后将动画呈现给用户。

是否可以使用 manim 作为模块来实现这一点?例如,通过在先前准备好的 manim 场景中插入用户输入,然后调用类似my_scene.run(output=tempfile.mp4)? 或者我是否必须接受用户输入,将其写入新的 scene.py 文件并运行os.subprocess("manim", "scene.py", "MyScene", "-p")

python manim

5
推荐指数
1
解决办法
265
查看次数

如何同时为一个几何体应用多个动画

ORIGIN 中有一个正方形位置,我想将它移动到 UP*3 并使用以下代码片段同时缩放到 0.5:

sq = Square()
self.add(sq)
self.play(ApplyMethod(sq.scale, 0.5), ApplyMethod(sq.move_to, UP*3), run_time=5)
Run Code Online (Sandbox Code Playgroud)

但是,第一个被跳过,只有最后一个有效。

我知道创建另一个小方块并使用变换可以做到,但这会带来更多代码,是否有简单的解决方案?谢谢!

manim

4
推荐指数
1
解决办法
1031
查看次数

一次创建具有多个图形的场景

例如,许多不同的学科,物理学或经济学,需要一次显示多张图表,通常一个重叠显示,以展示某些冲击或事件如何影响不同的变量。这怎么能在 Manim 中完成?

python-3.x manim

4
推荐指数
1
解决办法
1206
查看次数

线宽 Manim

有什么办法可以增加动画中特定线条的宽度?

我曾试图改变DEFAULT_STROKE_WIDTHconstants.py ,并设置stroke_widthCONFIG等于某个号码,但没有奏效。

这是我的代码的一部分。我的线只是沿着一组点的路径。

        path = VMobject()
        path.set_points_smoothly([*[coord(x,y) for x,y in self.tuples]])
        path.set_color(RED)
Run Code Online (Sandbox Code Playgroud)

有什么建议?

UPD

设置DEFAULT_STROKE_WIDTHconstants.py作品中,但它改变所有线条的宽度并不奇怪。

python animation manim

4
推荐指数
1
解决办法
1184
查看次数

在 Manim 中未定义 TextMobject

我刚开始学习 manim,我看到了我们在 example_scenes.py 中创建类的第一个视频。当我尝试运行它时,它说名称TextMobject未定义。我该怎么办?

我创建的类:

class FirstScene(Scene):
    def construct(self):
        text=TextMobject("text")
        self.add(text) 
Run Code Online (Sandbox Code Playgroud)

conda 提示中使用的代码:

python -m manim example_scenes.py FirstScene -w
Run Code Online (Sandbox Code Playgroud)

请检查此文件中的“FirstScene”类(此文件的最后一个类)我正在尝试运行。

python manim

4
推荐指数
2
解决办法
1254
查看次数

使用 Manim,我可以在现有对象的背景中绘制新对象吗?

我已经说明了由两个向量跨越的平行四边形,并且想在该平行四边形的区域中着色,我尝试这样做:

from manim import *
import numpy as np

class DrawParallelogram( Scene ):
    def construct( self ):
        o = np.array( [ 0, -2, 0 ] )
        p1 = np.array( [ 3, 1, 0 ] ) # u
        p2 = np.array( [ 1, 3, 0 ] ) # v
        op1 = o + p1
        op2 = o + p2
        op3 = o + p1 + p2

        v1 = Arrow( start = o, end = op1, buff = 0, color = RED …
Run Code Online (Sandbox Code Playgroud)

manim

4
推荐指数
1
解决办法
1629
查看次数

如何修复dyld:库未加载...原因:找不到图像中止陷阱:6?

我是学习 Python(以及一般编码)的新手,我一直在尝试按照

http://bhowell4.com/manic-install-tutorial-for-mac/

在我的 Mac 上安装 manim。一切都很顺利,直到我尝试使用 pip3 安装 virtualenv。正如指示所述,我输入了

pip3 install virtualenv
Run Code Online (Sandbox Code Playgroud)

进入终端(使用pycharm)。然后它回来了:

pip3 install virtualenv
Run Code Online (Sandbox Code Playgroud)

我试过查看来自不同资源的修复程序,但似乎都不起作用。我试过卸载并重新安装 python3、更新 brew、升级 brew 等。我不确定如何实施其他一些潜在的解决方案。非常感谢初学者可以理解的任何帮助!

pip virtualenv python-3.x manim

3
推荐指数
2
解决办法
7169
查看次数

标签 统计

manim ×10

python ×4

python-3.x ×2

animation ×1

arrays ×1

pip ×1

virtualenv ×1