在 manim 中可视化单调

Visualizing homography in manim

提问人:romperextremeabuser 提问时间:10/29/2023 最后编辑:lucs100romperextremeabuser 更新时间:10/30/2023 访问量:33

问:

我正在尝试制作一个动画,在其中我可以看到某个区域是如何被复杂函数转换的。具体来说,现在我想看看单位光盘是如何通过单调转换的。

让。我认为这种单调法会改变单位光盘本身,我想以图形方式检查它。这是我的代码,是从其他来源复制和粘贴的:$f(z)=\frac{2z-1}{z-2}$

from manim import *
import numpy as np

class homography(LinearTransformationScene):
    def construct(self):
        disc = Circle(radius=1, color=BLUE_B, fill_opacity=1)
        ring = AnnularSector(inner_radius=1, outer_radius=1.5, angle=360 * DEGREES, color=RED)
        point = Dot(point=np.array([1/2.,0.,0.]),radius=0.1,color=RED)
        "self.add_transformable_mobject(disc)"
        self.play(
            ApplyPointwiseFunction(
                lambda point: complex_to_R3((2*R3_to_complex(point)-1)/(R3_to_complex(point)-2)), disc
            )
            
        )
        self.play(
            ApplyPointwiseFunction(
                lambda point: complex_to_R3((2*R3_to_complex(point)-1)/(R3_to_complex(point)-2)), ring
            )
        )
        self.play(
            ApplyPointwiseFunction(
                lambda point: complex_to_R3((2*R3_to_complex(point)-1)/(R3_to_complex(point)-2)), point
            )    
        )
         
        self.wait()

我有一些问题:

  1. 该函数有什么作用?我找不到描述它的地方;我认为它将复平面更改为 R^2 平面。如果是这样,为什么名称中有 3 而不是 2?complex_to_R3()

  2. 如何限制地图的域?现在 map 在 z=2 处未定义。这在我的代码中不是问题,因为我只使用不包含 z=2 的区域,但是如果我想查看半径为 2 的圆盘是如何转换的,那么由于除以 0,我不能。我想要特定的代码行,我不懂这种语言。今天是我一段时间以来第一次写代码。

我试图在网上找到解决方案,但我失败了。

Python 动画 数学 复数 manim

评论


答: 暂无答案