
다음과 같이 정의되는 복소 로그(허수부)를 플롯하고 싶습니다.
ln(z) = ln(r) + i * 인수(z)
이것은 다음과 같아야합니다이것. 그러나 저는 3차원/복잡한 tikz 플롯에 대한 경험이 없으며 이 함수를 올바르게 플롯하는 표기법을 모릅니다.
답변1
pgfplots
기본적으로 복잡한 좌표를 처리할 수 없습니다. 하지만 이 경우에도 꼭 필요한 것은 아니라고 생각합니다. 3D 플롯으로는 불가능한 \mathds{C}\to\mathds{C} 매핑을 묘사하려고 하지만 목표 결과는 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}
다른 프로젝션을 사용하고 싶다면 이 프로젝션도 내장될 수 있습니다.