我在玩manim,我想制作一个椭圆曲线的动画。这是我的代码,在文件functions.py中:
from manim import *
class EllipticCurve(Scene):
def construct(self):
basic_ec = FunctionGraph(
lambda x: x**1.5 - x**0.5 + 19**0.5
)
self.play(Create(basic_ec))当我执行这个命令manim -pql functions.py EllipticCurve时,我会得到以下错误:
ValueError: array must not contain infs or NaNs
我相信FunctionGraph所期望的方法是一个函数,而不是一个曲线,但是我如何动画和绘制一个椭圆曲线呢?还有别的方法吗?我是不是遗漏了什么?
发布于 2022-05-11 22:38:16
您要正确地将函数传递给FunctionGraph,问题是,如果没有为绘图显式指定一个x_range,Manim将选择范围[-config.frame_x_radius, config.frame_x_radius] (也就是说,它跨越整个帧的宽度;默认为-7.11到+7.11)。
在函数中插入负值是有问题的,Manim抱怨道。要么将x_range=[0, 7]传递给FunctionGraph,要么查看ImplicitFunction (在我看来,这对于处理椭圆曲线更为有用)。
最后一个提示:要对FunctionGraph进行合理的扩展可能有点棘手,您可能需要考虑创建一个Axes mobject,然后使用相应的Axes.plot或Axes.plot_implicit方法。
https://stackoverflow.com/questions/72203584
复制相似问题