使用 pgfplots 进行共形映射

使用 pgfplots 进行共形映射

我想实现以下图表pgfplots

保形映射

表示以下保角映射:

u=x^{1/q}
v=y^{1/q}

在哪里q=2*(pi-alpha)/pi

编辑:

以下是原文中报道的保角映射公式:

保角映射公式

我真的不知道从哪里开始实现这种图表,所以欢迎大家提出任何建议。一旦我有一些有用的建议,我会尝试编写自己的代码。

谢谢您的帮助。

答案1

您想要实现的是复函数 f(z) = u(z) + iv(z) 的可视化,其中 z = x + i y。

在图像中,您可以看到同一轴上的两个轮廓图:一个用于 u(z),一个用于 v(z)。

只剩下两个问题:

  1. 如何将给定函数的两个轮廓图绘制到同一轴上,以及如何控制它们的外观?

  2. u(z) 和 v(z) 的公式是什么?

我可以帮你解决 1 的问题。关于 2,我无法通过你提供的函数重现你的图表。你能验证一下吗?你确定 u(z) = u(x) 不依赖于 y 吗?同样,v(z) = v(y) 不依赖于 x 吗?你的图像似乎表明 u 和 v 都依赖于 x 和 y。alpha 是什么?它似乎是 pi/5 之类的值(这是我猜的)。

因此,这是问题 (1) 的解决方案。假设我们想要可视化 f(z) = z^2 = (x+iy)^2 = (x^2 - y^2) + xy i :

\documentclass{article}

\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}
    \begin{axis}[
        view={0}{90},
        xlabel=real axis,
        ylabel=imaginary axis,
        ]
    \addplot3[contour gnuplot={number=9,labels=false,draw color=blue}] {x^2-y^2};
    \addplot3[contour gnuplot={number=9,labels=false,draw color=red}] {x*y};
    \end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

在这里,我曾经draw color改变颜色(通常mapped color用于等高线图)。

相关内容