Manim没有绘制正确的Circuitikz / Tikz数据

问题描述

我对编码非常陌生,主要是想自己学习。我开始学习manim的基础知识,但是在进行故障排除时仍然遇到困难。我一直在努力让自己画出tikz图。 我首先画了一个简单的运算放大器。我得到的输出不完整,即缺少运算放大器的一个边缘。

代码如下:

from manimlib.imports import *

class OpAmp(Scene):
    def construct(self):
        circuit = TikzMobject(r"""
        \begin{circuitikz}[american]
        \draw (0,0) node[op amp](OpAmp){};
        \end{circuitikz}""")
        self.add(circuit)

这是我得到的输出

Output

这是一个很小的错误,但我找不到答案。 请帮忙!非常感谢!

解决方法

在研究manim时,我发现这个问题是由于manim的SVG解析器的缺点所致。解析器无法识别z (closepath)类型。 只需一行代码即可解决问题。打开manimlib \ mobject \ svg \ svg_mobject.py 在第406行添加此行

self.add_line_to(self.points[0])

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...