有没有办法通过将蓝线定义为垂直于 y 轴来绘制蓝线,然后将其连接到交点?
谢谢你的帮助
\documentclass[tikz]{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning,intersections,arrows}
\begin{document}
\begin{tikzpicture}
\coordinate (A) at (0,0) node [left] {0};
\draw [->](0,0)--(3.5,0) node[pos=.75,right,above]{};
\node [above] at (2.5,0){$m_l=0$};
\draw [->] (0,-2.5)--(0,2.5) node[above]{$y$};
\draw [->] (0,0) -- (2,0);
\draw [dotted,black!75, name path=S1](0,-2) arc (-90:90:2);
\draw [->](0,0) -- (45:2) node [right] {$m_l=1$};
\draw [->](0,0) -- (-45:2) node [right] {$m_l=-1$};
\path [name path=yup] (0,0) -- (45:2.5);
\path [name path=ydown] (0,0) -- (45:2.5);
\draw [name intersections=
{of=yup and S1, by=ml1}];
\draw [name intersections=
{of=ydown and S1, by=ml-1}];
\draw [blue] (ml1) -- (0,{sqrt(2)});
\end{tikzpicture}
\end{document}
答案1
如果我正确理解了你的问题,你正在尝试从坐标中提取 y 坐标(ml1)
。
let
您可以通过添加库来使用以下命令执行此操作calc
:
\usetikzlibrary{calc}
然后命令
\draw [blue] let \p1=(ml1) in (\p1) -- (0,\y1);
会按照您的要求执行。一旦\p1
为 分配了坐标(ml1)
,x 和 y 坐标就会自动分配给\x1
和\y1
。