用角度测量限制极坐标图

用角度测量限制极坐标图

我目前正在处理这张图片,这是代码。它用于显示第一象限中复数的乘法,显示长度和角度的变化。

\begin{tikzpicture}
    \begin{polaraxis}[%
        xmin=0,
        xmax=90,
        ymax=3,
        xticklabel=$\pgfmathprintnumber{\tick}^{\circ}$,
        ytick={0,1,2,3v},
        yticklabel style={yshift=-13pt},
        grid=both,
        minor grid style={dashed,black!25},
        major grid style=black,
        minor tick num=1]
        \addplot[->,red,very thick] plot coordinates {(0,0) (15,1.5)} node[right] {$z$};
        \addplot[->,blue,very thick] plot coordinates {(0,0) (45,2)} node[right] {$v$};
        \addplot[->,purple,very thick] plot coordinates {(0,0) (60,3)} node[left] {$zv$};
        \addplot[->,blue,dashed,very thick] plot coordinates {(0,0) (45,3)} node[left] {$\left| z \right| v$};
    \end{polaraxis}
\end{tikzpicture}

该代码基于我在这里找到的内容,但我正在尝试使其适应我以前所拥有的内容(尽管它不那么好):

\begin{tikzpicture}
\begin{scope}[every node/.style={fill=white,inner sep=2pt}]
\draw (0,-3)--(0,3) node[above] {$Im$} (-03,0)--(3,0) node[right] {$Re$};
\draw[dashed] (0,0) circle (3) circle (2) circle (1);
\coordinate (a) at (30:1.5);
\coordinate (b) at (45:2);
\coordinate (c) at (75:3);
\coordinate (o) at (0:0);
\coordinate (x) at (0:1.5);
\draw (a) [blue] node[above right] {$z$};
\draw (b) [red] node[right] {$v$};
\draw (c) [purple] node[above right] {$zv$};
\draw (0,0)--(a) [blue, thick];
\draw (0,0)--(b) [red, thick];
\draw (0,0)--(c) [purple, thick];
\draw[dashed, red, thick] (0:0)--(45:3) node[above right] {$\left| z \right| v$};
\end{scope}
\pic[draw,dashed,blue,ultra thicangle radius=0.9cm,angle eccentricity=1.3] {angle=x--o--a};
\pic[draw,dashed,red,ultra thick,angle radius=0.8cm,angle eccentricity=1.3] {angle=x--o--b};
\pic[draw,dashed,purple,ultra thick,angle radius=0.7cm,angle eccentricity=1.3] {angle=x--o--c};
\draw (15:1) [blue] node[right] {$\theta$};
\draw (48:1) [red] node[right] {$\phi$};
\draw (76:1.1) [purple] node[above right] {$\theta+\phi$};
\draw (0:1) [black] node[below] {$1$};
\draw (0:2) [black] node[below] {$2$};
\draw (0:3) [black] node[below] {$3$};
\fill[blue] (a) circle (2pt);
\fill[red] (b) circle (2pt);
\fill[purple] (c) circle (2pt);
\fill[red] (45:3) circle (2pt);
\end{tikzpicture}

如何在第一段代码中将角​​度测量结果转换为“圆圈”?我还需要删除度数并将其转换为“Im”和“Re”

答案1

像这样?

\documentclass[tikz,border=3mm]{standalone}
\usepackage{amsmath}
\usetikzlibrary{angles}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16,width=12cm}
\usepgfplotslibrary{polar}
\begin{document}

\begin{tikzpicture}[bullet/.style={circle,fill,inner sep=1.5pt}]
    \begin{polaraxis}[%
        xmin=0,
        xmax=90,
        ymax=3,
        xtick=\empty,
        ytick={0,1,2,3},
        yticklabel style={yshift=-13pt},
        grid=both,
        minor grid style={dashed,black!25},
        major grid style=black,
        minor tick num=1,clip=false]
        \draw[-stealth] (0,0) coordinate (O)-- (0,3.5) coordinate(x) node[below] {$\operatorname{Re}z$};
        \draw[-stealth] (O) -- (90,3.5) coordinate(y) node[left] {$\operatorname{Im}z$};
        \begin{scope}[,red,very thick,-stealth,shorten >=1.5pt]
         \draw[blue]  (O) -- (15,1.5) node[bullet,label=right:{$z$}](z){};
         \draw[red] (O) -- (45,2) node[bullet,label=right:{$v$}](v){};
         \draw[purple] (O) -- (60,3) node[bullet,label=right:{$z\,v$}](zv){};
         \draw[red,dashed]  (0,0) -- (45,3) node[bullet,label=right:{$\left| z \right| v$}]{};
        \end{scope}
        \pic[draw,dashed,blue,thick,angle radius=1.4cm,
            angle eccentricity=1.1,pic text={$\theta$}] {angle=x--O--z};
        \pic[draw,dashed,red,thick,angle radius=1.9cm,
            angle eccentricity=1.1,pic text={$\phi$}] {angle=x--O--v};
        \pic[draw,dashed,purple,thick,angle radius=2.4cm,
            angle eccentricity=1.2,pic text={$\theta+\phi$}] {angle=x--O--zv};
    \end{polaraxis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容