tikz 将坐标设置为另一个

tikz 将坐标设置为另一个

我有以下代码:

\documentclass[border=2pt,tikz]{standalone}
\usetikzlibrary{calc,patterns,angles,quotes}    
\begin{document}    
\footnotesize

\begin{tikzpicture}[scale=1.5, >=stealth]
\draw[->] (-1.5,0) --node[below right]{$0$} (1.5,0) coordinate[label=below:$x$](x);
\draw[->] (0,-1.5) -- (0,1.5) node[left]{$y$};;
\draw (0,0)coordinate(o) circle [radius=1cm] (1, 0) node[below right] {$1$};
\coordinate [label={left:$(\cos (\alpha), \sin (\alpha))$}] (p) at (125:1);
\coordinate [label={below:$\cos (\alpha)$}] (q) at (p|-o);
\coordinate [label={right:$\sin (\alpha)$}] (v) at (-o|p);
\draw (o)--(p)--(q)--(o)--cycle;
\pic[draw,"$\alpha$",angle radius=15pt,angle eccentricity=1.3,->]{angle=x--o--p};
\end{tikzpicture}
\end{document}

我遇到问题的那一行是:

\coordinate [label={right:$\sin (\alpha)$}] (v) at (-o|p);

因为它给了我错误

失控参数?o|p); \draw (o)--(p)--(q)--(o)--cycle; \pic [draw,"$\alpha $",angle r\ETC. ! 段落在 \tikz@next 完成之前结束。 \par l.18

但是,如果我将代码改为使用样本编号而不是坐标,例如

    \coordinate [label={right:$\sin (\alpha)$}] (v) at (0, 0.75);

它确实有效。

我想要实现的目标是: 我想要实现的目标 但目前, 的sin (α)位置不正确(因为它是我的示例,使用00.75)。任何帮助都将不胜感激。

答案1

我会绘制你的图像如下图所示:

在此处输入图片描述

\documentclass[border=3mm,tikz]{standalone}
\usetikzlibrary{angles, calc, quotes}

\begin{document}
\begin{tikzpicture}[scale=1.5,
       > = stealth,
    font = \footnotesize
                    ]
% cordinates
\coordinate[label=below right:$0$] (o) at (0.0,0);
\coordinate[label=below left: $x$] (x) at (1.5,0);
\coordinate[label=below left: $y$] (y) at (0,1.5);
% axis
\draw[->] (-1.5,0) -- (x);
\draw[->] (0,-1.5) -- (y);
% circle
\draw (o) circle (1cm)
      (1,0) node[below right] {$1$};
\draw[thick] (o) -- (125:1) coordinate[label=left:{$(\cos\alpha, \sin\alpha)$}] (p);
% labels
\path[draw=gray, densely dashed, very thin]
    (p) -- ([yshift=-1] p |- o) node[below] {$\cos\alpha$}
    (p) -- ([xshift= 1] p -| o) node[right]{$\sin\alpha$};
\pic[draw,"$\alpha$",angle radius=5mm,angle eccentricity=1.3,->]{angle=x--o--p};
\end{tikzpicture}
\end{document}

相关内容