Tikz 交叉点:为什么其中一种方法不起作用?

Tikz 交叉点:为什么其中一种方法不起作用?
\documentclass[tikz, border=1cm]{standalone}
\usetikzlibrary{intersections}
\begin{document}
%
\begin{tikzpicture}
    \node[name=w, rectangle, fill=darkgray, minimum width=3mm, minimum height = 6cm]{};
    \path[name path=wnw] (w.north west)--++(-6, 0);
    \path[name path=wv] (w.west)--++(128:6);
    \path [name intersections={of=wnw and wv, by={B}}];
    \draw (w.west)--(B);
\end{tikzpicture}
%
\end{document}

在此处输入图片描述

问题

为什么下面的方法不起作用?(我收到“未定义节点”错误。)

\documentclass[tikz, border=1cm]{standalone}
\usetikzlibrary{intersections}
\begin{document}
%
\begin{tikzpicture}
    \node[name=w, rectangle, fill=darkgray, minimum width=3mm, minimum height = 6cm]{};
    \path[name path=wnw] (w.north west)--++(-6, 0);
    \path[name path=wv] (w.west)--++(128:6);
    \coordinate (B) at (intersection of wnw and wv);
    \draw (w.west)--(B);
\end{tikzpicture}
%
\end{document}

答案1

第二个示例使用弃用的语法库之前的版本,但如果您正确使用它,它仍然可以工作。不存在的intersections概念和路径分别由两个坐标标识: 。不带括号的坐标。named pathA--B

在您的情况下,可以写一个带有括号的路径,w.north west--{++(-6,0)}其中括号隐藏了第二个坐标括号。

\documentclass[tikz, border=1cm]{standalone}
%\usetikzlibrary{intersections}
\begin{document}
%
\begin{tikzpicture}
    \node[name=w, rectangle, fill=darkgray, minimum width=3mm, minimum height = 6cm]{};
    \path (w.north west)--++(-6, 0);
    \path (w.west)--++(128:6);
    \coordinate (B) at (intersection of w.north west--{++(-6,0)} and w.west--{++(128:6)});
    \draw (w.west)--(B);
\end{tikzpicture}
%
\end{document}

在此处输入图片描述

相关内容