如何通过将其定义为与轴正交并将其连接到交点来绘制一条线?

如何通过将其定义为与轴正交并将其连接到交点来绘制一条线?

有没有办法通过将蓝线定义为垂直于 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

相关内容