tikz Построение комплексного логарифма

tikz Построение комплексного логарифма

Я хотел бы построить график комплексного логарифма (мнимой части), который определяется следующим образом:

ln(z) = ln(r) + i * arg(z)

Это должно выглядеть такэтот. Однако у меня нет опыта работы с трехмерными/комплексными графиками tikz, и я не знаю обозначений для правильного построения графика этой функции.

решение1

pgfplotsне может работать со сложными координатами из коробки. Однако, в этом случае это не так уж и необходимо, я думаю. Вы хотите изобразить отображение \mathds{C}\to\mathds{C}, что невозможно с 3D-графиком, однако ваш целевой результат, похоже, представляет собой 3D-график. Чтобы создать что-то подобное, вы можете просто использовать свои собственные координаты

({x*cos(y)},{x*sin(y)},{ln(x)+y})

где x— радиус, а y— фаза. Теперь проблема в том, что в нашем распоряжении всего 3 координаты. Израсходовав две для домена, нам нужно использовать проекцию. Я не знаю, какую проекцию вы используете на изображении, но следующее, кажется, близко:

\documentclass[tikz,border=3mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16,width=10cm,height=14cm}
\begin{document}
\begin{tikzpicture}
\begin{axis}[trig format plots=rad,view={-50}{12},
    colormap={adopted}{rgb255(0cm)=(151,0,250);
    rgb255(1cm)=(219,0,70);rgb255(2cm)=(186,255,60)},
    z buffer=sort,zmin=-3.5*pi]
\addplot3 [surf,domain=0.001:4,domain y=-3*pi:3*pi,samples=25,samples y=109]
({x*cos(y)},{x*sin(y)},{ln(x)+y});
\end{axis}
\end{tikzpicture}
\end{document}

введите описание изображения здесь

Или используя разные углы.

\documentclass[tikz,border=3mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16,width=10cm,height=14cm}
\begin{document}
\begin{tikzpicture}
\begin{axis}[trig format plots=rad,view={70}{20},
    colormap={adopted}{rgb255(0cm)=(151,0,250);
    rgb255(1cm)=(219,0,70);rgb255(2cm)=(186,255,60)},
    z buffer=sort,zmin=-3.5*pi]
\addplot3 [surf,domain=0.001:4,domain y=-3*pi:3*pi,samples=25,samples y=109]
({x*cos(y)},{x*sin(y)},{ln(x)+y});
\end{axis}
\end{tikzpicture}
\end{document}

введите описание изображения здесь

Если вы хотите использовать другую проекцию, ее тоже можно встроить.

Связанный контент