Skip to content

Commit

Permalink
更新:更新文档版本到 Manim v0.18.0.post0
Browse files Browse the repository at this point in the history
  • Loading branch information
MarkHoo committed Apr 26, 2024
1 parent 7db9374 commit 1234f8f
Show file tree
Hide file tree
Showing 28 changed files with 8,104 additions and 390 deletions.
8 changes: 3 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

[Manim Community Edition](https://www.manim.community)

当前版本:[`v0.18.0`](./changelogs/0.17.3-changelog.md)
当前版本:[`v0.18.0.post0`](./changelogs/0.18.0-changelog.md)

学习交流QQ群:`731872950`

Expand All @@ -15,16 +15,14 @@
|![微信](./static/WeChat.jpg)|![支付宝](./static/Alipay.jpg)|
|----------------------------|-----------------------------|

感谢以下(以及未留名)开发者对本项目的大力支持:

感谢以下开发者对本项目的支持:

`梦想风暴zz``战国万年``j4ZpH8B4N`
`梦想风暴zz``战国万年``j4ZpH8B4N``大灰狼``卷毛杨`

## TODO:

- [ ] 文档语句语义及优化
- [x] **示例库**校对
- [x] **安装**校对
- [ ] **教程和指南**校对
- [ ] **参考手册**校对
- [x] **插件**校对
Expand Down
114 changes: 114 additions & 0 deletions changelogs/0.18.0-changelog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
# v0.18.0

2023 年 11 月 11 日

### 重大变更

- [#3020](https://github.com/ManimCommunity/manim/pull/3020):重写Manim的颜色系统

此更改删除了`colour`作为 Manim 依赖项的库,并用新添加的[`ManimColor`]().这还添加了数百种新的预定义颜色,请参阅 参考资料[`utils.color`]()获取更多详细信息。如果您`colour`之前直接与该模块进行过交互,那么这应该只是一个重大更改。通用界面保持稳定。

### 强调

- [#3299](https://github.com/ManimCommunity/manim/pull/3299) : 添加了新的CLI 子命令`manim checkhealth`

这添加了一个新的命令行界面子命令,可用于检查 Manim 的本地安装是否已正确配置,以及所有必需(和可选)依赖项是否可用。要尝试它,请通过 或运行它。`manim checkhealth``python -m manim checkhealth`

- [#3427](https://github.com/ManimCommunity/manim/pull/3427):新功能:文档中渲染的示例现在可以直接通过活页夹运行

这会在我们文档中的示例下方添加一个“进行交互”按钮,该按钮建立与活页夹的连接,以便可以直接从浏览器修改和重新呈现示例。

- [#3086](https://github.com/ManimCommunity/manim/pull/3086):引入了一个新的`typing`类型提示模块

这还向代码库的组成部分添加了各种类型提示。

- [#3322](https://github.com/ManimCommunity/manim/pull/3322) : 实现了辅助 LaTeX 文件的自动删除,默认启用

这会自动删除在编译 LaTeX 文档(如`.aux``.dvi`文件)期间创建的辅助文件。此行为可以通过新引入的`no_latex_cleanup`配置键(`False`默认情况下)进行控制。在命令行上,可以通过`--no_latex_cleanup` CLI 标志禁用自动删除。

- [#3395](https://github.com/ManimCommunity/manim/pull/3395):添加了对 Python 3.12 的支持

### 新功能

- [#3361](https://github.com/ManimCommunity/manim/pull/3361):添加了三个新的速率函数

这会在 SmoothStep sigmoid 函数的基础上添加速率函数[`smoothstep()`](), [`smootherstep()`]()[`smoothererstep()`]()

- [#3264](https://github.com/ManimCommunity/manim/pull/3264):添加了新的对象[`LabeledLine`]()[`LabeledArrow`]()

### 增强功能

- [#3190](https://github.com/ManimCommunity/manim/pull/3190):使[`CurvesAsSubmobjects`]()mobjects兼容[`input_to_graph_point()`]()
- [#3226](https://github.com/ManimCommunity/manim/pull/3226) : 避免使用 mobject 作为默认参数[`ArcBrace`]()
- [#3366](https://github.com/ManimCommunity/manim/pull/3366):在中添加值和单位之间的间距[`DecimalNumber`]()

这会添加新的关键字参数`unit_buff_per_font_unit`(默认值:0,为了向后兼容)。将其设置为某个正数会在数值和显示单位之间创建额外的空间。

### 修复了错误

- [#3205](https://github.com/ManimCommunity/manim/pull/3205)`angle` : 修复了in的类型提示[`Arc`]()
- [#3210](https://github.com/ManimCommunity/manim/pull/3210)[`DecimalNumber`]()使用`show_ellipsis=True`OpenGL 渲染器修复
- [#3211](https://github.com/ManimCommunity/manim/pull/3211)[`Axes`]() :修复了OpenGL 渲染器的自定义标签的显示问题
- [#3298](https://github.com/ManimCommunity/manim/pull/3298):修复了展开动画[`ManimBanner`]()
- [#3306](https://github.com/ManimCommunity/manim/pull/3306) : 修复了 IPython 终端历史记录和使用场景的嵌入式 shell 实例化[`Scene.interactive_embed()`]()
- [#3315](https://github.com/ManimCommunity/manim/pull/3315) : 修复了参数类型的问题[`Scene.add_subcaption()`]()
- [#3423](https://github.com/ManimCommunity/manim/pull/3423) : 修复了多部分[`Tex`]()mobject的不正确的子对象计数

这解决了公式未完全显示的各种问题,就像.`MathTex("1", "^{", "0")`

- [#3284](https://github.com/ManimCommunity/manim/pull/3284)`LinearTransformationSceneExample`在 Jupyter 笔记本中修复
- [#3302](https://github.com/ManimCommunity/manim/pull/3302):修复了比较中的拼写错误`OpenGLVMobject.interpolate()`
- [#3340](https://github.com/ManimCommunity/manim/pull/3340):修复了旋转边界框的错误计算[`ImageMobject`]()
- [#3343](https://github.com/ManimCommunity/manim/pull/3343)[`TexTemplate.add_to_preamble()`]() : 修复and的返回值[`TexTemplate.add_to_document()`]()
- [#3282](https://github.com/ManimCommunity/manim/pull/3282) : 确保[`ArrowVectorField.get_vector()`]()不修改传递的输入
- [#3392](https://github.com/ManimCommunity/manim/pull/3392):修复了拉长刻度线的行为[`NumberLine`]()
- [#3430](https://github.com/ManimCommunity/manim/pull/3430):修复了 CSV 阅读器在文档构建期间在渲染摘要中添加空列表的问题
- [#3404](https://github.com/ManimCommunity/manim/pull/3404) : 正确地引发空输入异常[`AddTextLetterByLetter`]()

### 与文档相关的更改

- [#3219](https://github.com/ManimCommunity/manim/pull/3219):启用社交卡以获取文档链接
- [#3274](https://github.com/ManimCommunity/manim/pull/3274):替换了 Python 3.7 作为最低要求版本的错误提及
- [#3297](https://github.com/ManimCommunity/manim/pull/3297):改进的箭头尖端 sowcase 示例[`ArrowTip`]()
- [#3312](https://github.com/ManimCommunity/manim/pull/3312):添加了文档[`always_redraw()`]()
- [#3218 :改进了](https://github.com/ManimCommunity/manim/pull/3218)[深度潜水指南]()中的语法[]()
- [#3251](https://github.com/ManimCommunity/manim/pull/3251) : 添加 Fedora 的 LaTeX 安装说明
- [#3290](https://github.com/ManimCommunity/manim/pull/3290):更新了 MacOS 安装所需的依赖项
- [#3325](https://github.com/ManimCommunity/manim/pull/3325):添加了函数的文档[`mobject_update_utils`]()

这会将文档字符串和类型提示添加到[`always_rotate()`](), [`always_shift()`](),[`turn_animation_into_updater()`]()

- [#3353](https://github.com/ManimCommunity/manim/pull/3353):添加了文档[`Mobject.center()`]()
- [#3355](https://github.com/ManimCommunity/manim/pull/3355) : 暂时启用`htmlzip`ReadTheDocs 上的构建
- [#3377 :修复了](https://github.com/ManimCommunity/manim/pull/3377)[深潜指南]()中的拼写错误[]()
- [#3389](https://github.com/ManimCommunity/manim/pull/3389) : 删除了 LaTeX 表达式中多余的大括号
- [#3417](https://github.com/ManimCommunity/manim/pull/3417)`htmlzip`用将可下载文档附加到 GitHub 版本的工作流程替换了 ReadTheDocs 构建

### 有关测试系统的更改

- [#3416](https://github.com/ManimCommunity/manim/pull/3416) : 修复了在开罗 1.18.0 上运行的测试
- [#3257](https://github.com/ManimCommunity/manim/pull/3257) : 修复有关诗歌的配置错误
- [#3419](https://github.com/ManimCommunity/manim/pull/3419):修复了基于 CI 运行程序的 Cairo 缓存

### 代码质量改进和类似的重构

- [#3229](https://github.com/ManimCommunity/manim/pull/3229):使 docbuild 错误更容易调试,并修复了更改的异常类中的错误
- [#3231](https://github.com/ManimCommunity/manim/pull/3231):修复了报告的错误`flake8`
- [#3232](https://github.com/ManimCommunity/manim/pull/3232) : 升级 ReadTheDocs 构建环境以使用更新的映像
- [#3286](https://github.com/ManimCommunity/manim/pull/3286):优化[`Axes.coords_to_point()`]()
- [#3224](https://github.com/ManimCommunity/manim/pull/3224) : 将最后几次出现的替换`os.path``pathlib.Path`
- [第3236章](https://github.com/ManimCommunity/manim/pull/3236)回归自我[`AbstractImageMobject.set_resampling_algorithm()`]()
- [#3253](https://github.com/ManimCommunity/manim/pull/3253) : 将龙卷风从 6.3.1 提升到 6.3.2
- [#3272](https://github.com/ManimCommunity/manim/pull/3272) : 将 docker/build-push-action 从 3 提升到 4
- [#3287](https://github.com/ManimCommunity/manim/pull/3287) : 将加密从 41.0.1 提升到 41.0.2
- [#3350](https://github.com/ManimCommunity/manim/pull/3350):添加了缺少的依赖项`typing-extensions`
- [#3431](https://github.com/ManimCommunity/manim/pull/3431) : 将 teatimeguest/setup-texlive-action 从 2 提高到 3
- [#3433](https://github.com/ManimCommunity/manim/pull/3433):凹凸依赖性
- [#3399](https://github.com/ManimCommunity/manim/pull/3399) : 更新了几个依赖项
- [#3397](https://github.com/ManimCommunity/manim/pull/3397):几个 GitHub 操作更新
- [#3405](https://github.com/ManimCommunity/manim/pull/3405):更新了 manimpango 版本以修复有关类型严格性的错误
- [#3421](https://github.com/ManimCommunity/manim/pull/3421):改进创建树形图时输入检查的顺序

### 新版本

- [#3439](https://github.com/ManimCommunity/manim/pull/3439):准备新版本:v0.18.0
6 changes: 6 additions & 0 deletions reference_index/animations/creation/AddTextLetterByLetter.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,11 @@ Bases: `ShowIncreasingSubsets`

- **time_per_char** – 字母出现的频率。
- **Tip::** ( _.._ ) – 目前仅适用于类:~.Text,不适用于类:~.MathTex
- **text** (Text) –
- **suspend_mobject_updating** (bool) –
- **int_func** (Callable[[np.ndarray], np.ndarray]) –
- **rate_func** (Callable[[float], float]) –
- **run_time** (float | None) –


方法
178 changes: 176 additions & 2 deletions reference_index/animations/updaters/mobject_update_utils.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,28 +2,202 @@

用于 mobject 连续动画的实用函数。

Functions
函数

`always(method, *args, **kwargs)`

参数:

**method** (Callable) –

返回类型:

[_Mobject_]()


`always_redraw(func)`

每帧重绘由函数构造的 mobject。

该函数返回一个带有附加更新器的 mobject,该更新器根据指定的函数不断重新生成 mobject。

参数:

**func** (_Callable[[], Mobject]_) – 没有(必需)输入参数且返回 mobject 的函数。

返回类型:

[_Mobject_]()

例子

示例:切线动画

[![视频缩略图](./static/)](https://docs.manim.community/en/stable/reference/TangentAnimation-1.mp4)

```py
from manim import *

class TangentAnimation(Scene):
def construct(self):
ax = Axes()
sine = ax.plot(np.sin, color=RED)
alpha = ValueTracker(0)
point = always_redraw(
lambda: Dot(
sine.point_from_proportion(alpha.get_value()),
color=BLUE
)
)
tangent = always_redraw(
lambda: TangentLine(
sine,
alpha=alpha.get_value(),
color=YELLOW,
length=4
)
)
self.add(ax, sine, point, tangent)
self.play(alpha.animate.set_value(1), rate_func=linear, run_time=2)
```


`always_rotate(mobject, rate=0.3490658503988659, **kwargs)`

以一定速率连续旋转的物体。

参数:

- **mobject** ( [_Mobject_]() ) – 要旋转的 mobject。
- **rate** ( _float_ ) – 对象旋转超过一秒的角度。
- **kwags** – 要传递给 的进一步参数[`Mobject.rotate()`]()

返回类型:

[_Mobject_]()

例子

示例:旋转三角形

[![视频缩略图](./static/)](https://docs.manim.community/en/stable/reference/SpinningTriangle-1.mp4)

```py
from manim import *

class SpinningTriangle(Scene):
def construct(self):
tri = Triangle().set_fill(opacity=1).set_z_index(2)
sq = Square().to_edge(LEFT)

# will keep spinning while there is an animation going on
always_rotate(tri, rate=2*PI, about_point=ORIGIN)

self.add(tri, sq)
self.play(sq.animate.to_edge(RIGHT), rate_func=linear, run_time=1)
```


`always_shift(mobject, direction=array([1., 0., 0.]), rate=0.1)`

以一定速率沿某个方向连续移动的物体。

参数:

- **mobject** ( [_Mobject_]() ) – 要移动的 mobject。
- **Direction** ( _ndarray_ _\[_ _float64_ _\]_ ) – 移动的方向。该向量已标准化,指定的幅度不相关。
- **rate** ( _float_ ) – 对象在一秒内沿着指定方向移动的长度(以 Manim 单位表示)。

返回类型:

[_Mobject_]()

例子

示例:平移方块

[![视频缩略图](./static/)](https://docs.manim.community/en/stable/reference/ShiftingSquare-1.mp4)

```py
from manim import *

class ShiftingSquare(Scene):
def construct(self):
sq = Square().set_fill(opacity=1)
tri = Triangle()
VGroup(sq, tri).arrange(LEFT)

# construct a square which is continuously
# shifted to the right
always_shift(sq, RIGHT, rate=5)

self.add(sq)
self.play(tri.animate.set_fill(opacity=1))
```


`assert_is_mobject_method(method)`

参数:
**method** (_Callable_) –

返回类型:
None


`cycle_animation(animation, **kwargs)`

参数:

**animation** (_Animation_) –

返回类型:
[Mobject]()


`f_always(method, *arg_generators, **kwargs)`

Always 的更多功能版本,它不接受参数,而是接受输出相关参数的函数。
更多功能版本,它不接受参数,而是接受输出相关参数的函数。

参数:

**method** (_Callable[[Mobject], None]_) –

返回类型:

[_Mobject_]()


`turn_animation_into_updater(animation, cycle=False, **kwargs)`

向动画的 mobject 添加更新程序,该更新程序应用动画的插值和更新功能

如果循环为 True,则此过程会一遍又一遍地重复。否则,更新程序将在完成后弹出

例子

示例:WelcomeToManim

[![视频缩略图](./static/)](https://docs.manim.community/en/stable/reference/WelcomeToManim-1.mp4)

```py
from manim import *

class WelcomeToManim(Scene):
def construct(self):
words = Text("Welcome to")
banner = ManimBanner().scale(0.5)
VGroup(words, banner).arrange(DOWN)

turn_animation_into_updater(Write(words, run_time=0.9))
self.add(words)
self.wait(0.5)
self.play(banner.expand(), run_time=0.5)
```

参数:
- **animation** (_Animation_) –
- **cycle** (_bool_) –

返回类型:
[Mobject]()
Loading

0 comments on commit 1234f8f

Please sign in to comment.