跳转到主要内容

由Manim支持的复杂数值映射。

项目描述

riemapp

CI Documentation Status pre-commit.ci status codecov discussion

Python Versions Package Version Downloads License black

riemapp 是一个快速、易于使用的最小库,用于 Python 3.7+,它将 manim 0.16.0+ 的函数别名用于可视化动画和直观的复杂数值映射(从实平面到复平面的变换)以及二维中的各种形状和实值函数。它通过 FFmpegpangocairo 在 Linux 上使用最少的依赖项。

用户和学习者可以使用 riemapp 进行

  1. 绘图(用户定义)
    • 线
    • 三角形
    • 正方形
    • 矩形
    • 其他正多边形
    • 不规则多边形
    • ……等等
  2. 为绘制的图形创建平滑、精确的动画,并根据用户定义的复杂数值函数将它们映射到阿根图平面上。
  3. 保存这些动画,并在默认的视频播放器中播放

结构

  • 目前,riemappriemapp.geometry 下别名了 manim 提供的几何形状。用户可以使用这些别名类或直接使用 manim 提供的 MObject
  • riemapp 程序化生成 manim 动画,相关代码位于 riemapp.core 下。用户添加的所有信息都会传递到一个继承自 manim.Scene 的占位符类中。然后使用这个类的对象来渲染动画。

安装

安装依赖

FFmpeg

  • 通过他们的下载页面或系统包管理器(aptbrew,...)安装 FFmpeg,或者克隆Saransh-cpp/FFmpeg
  • bin 文件夹添加到系统路径中。

pangocairo(Linux 系统)

如果您使用的是 Linux 系统,请安装 libpango1.0-dev

sudo apt-get update
sudo apt install libpango1.0-dev

安装 riemapp

riemapp 使用现代 Python 打包,可以使用 pip 安装 -

python -m pip install riemapp

使用示例

In [1]: import riemapp as rp
Manim Community v0.16.0.post0

In [2]: import numpy as np

In [3]: square = rp.geometry.Square(2.)

In [4]: square
Out[4]: Square(side_length=2.0) (alias for manim.Square)

In [5]: cm = rp.ComplexMap(square, lambda z: np.e ** z)

In [6]: cm
Out[6]: ComplexMap(f=Square(side_length=2.0) (alias for manim.Square), transformation=<lambda>)

In [7]: cm.generate_animation(run_time=2.)
Out[7]: Animate(f=Square(side_length=2.0) (alias for manim.Square), transformation=<lambda>)

In [8]: cm.render(preview=False)

https://user-images.githubusercontent.com/74055102/193077326-2c21cb9e-eb24-473e-b69c-3376f7664ecd.mp4

贡献

如果您想为 riemapp 贡献(谢谢!)请查看我们的贡献指南

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

riemapp-0.2.0.tar.gz (19.2 kB 查看哈希值

上传时间 源代码

构建分发

riemapp-0.2.0-py3-none-any.whl (7.4 kB 查看哈希值

上传时间 Python 3

由以下支持