深入分析用 Manimgl 绘制参数方程的图像

本文深入探讨Manimgl库在Python中绘制函数图形和参数曲线的方法,包括FunctionGraph和ParametricCurve类的使用,通过实例展示了如何绘制正弦函数、圆和双曲线等,强调了正确设置间断点和epsilon值的重要性。
摘要由CSDN通过智能技术生成

目录

一、基本数学概念

二、绘制函数图形

三、绘制参数曲线

四、绘制双曲线


本文介绍 Manimgl 开发库中的 FunctionGraph 函数图形类和 ParametricCurve(曾用名:ParametricFunction,参数方程)参数曲线类进行图形绘制。这些图形分别对应于某个曲线的函数或参数方程。这些图像任然是 VMobject 对象,支持动画,也可以作为 MoveAlongPath 类的 path 参数,让其他 VMobject 沿着路径移动。Manimgl 的最新版中还增加了 ImplicitFunction 隐函数类,埋个坑,关于如何绘制隐函数图像下次单独介绍。

一、基本数学概念

先复习函数和参数方程的基本概念。

函数的定义:设AB是非空的数集,如果按照某个确定的对应关系F,使对于集合A中的任意一个数 x,在集合B中都有唯一确定的数 F(x) 和它对应,那么就称 FA为从集合A到集合B的一个函数。记作:y=F(x),xA。其中,叫做自变量,的取值范围A叫做函数的定义域;与 的值相对应的 值叫做函数值,函数值的集合 { F(x) | xA } 叫做函数的值域。通过若干个这样的 x,F(x) 值对,Manimgl 就能在平面坐标系中绘制出函数所对应的图形。

参数方程是在取定的平面直角坐标系中,如果曲线上任意一点的坐标 x, y 都是某个变数 t 的函数,并且对于 t 的每个允许值,由图中方程组所确定的点 M(x, y) 都在这条曲线上,那么这个方程组就叫做这条曲线的参数方程。联系 x, y 之间的关系的变数叫做参变数,简称参数。参数方程中的参数可以是有物理或几何意义的变数,也可以是没有明显意义的变数。

相对于参数方程来说,直接给出曲线上点的坐标关系的方程 F(x, y)=0,叫做曲线的普通方程。一般情况下,可以通过消去参数方程中的参数,得到直接表示 x, y 之间关系的普通方程;也可以选择一个参数,将普通方程化成参数方程。同一个普通方程,如果选择的参数不同,可以化成不同的参数方程。概念部分就介绍这么多,具体问题可参考平面解析几何方面的资料。

二、绘制函数图形

通过 FunctionGraph 类,能快速绘制函数图形。该类是 ParametricCurve 的派生类,其主要变化是在构造函数中定义了一个参数方程函数 parametric_function,以 x_range 中的每个值作为参数 x,以该参数方程函数的返回值作为 y 值,将 z 值置0后,作为点坐标向量。事实上是初始化了一个特殊的 ParametricCurve 对象,FunctionGraph 的构造函数代码如下:

def __init__(self, function, x_range=None, **kwargs):
    digest_config(self, kwargs)
    self.function = function

    if x_range is not None:
        self.x_range[:len(x_range)] = x_range

    def parametric_function(t):
        return [t, function(t), 0]

    super().__init__(parametric_function, self.x_range, **kwargs)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值