Tikzpicture - 3D 多面体 - 寻找线的点

Tikzpicture - 3D 多面体 - 寻找线的点

我正在尝试使用 tikzpicture 生成一个随机多边形,并且对如何找到对应点有疑问。例如,我从一个多边形开始,然后继续构建一侧。现在的问题是,我想让第二个多边形由第一个多边形的点闭合。一个简单的例子将展示一切:

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{figure}
 \begin{tikzpicture}
  % First polygon (start)
  \draw[-] (0,0) -- (72:1cm) -- ++(144:1cm) -- ++(216:1cm) -- ++(288:1cm) -- (0,0);
  % Second polygon (start at 0,0 and end 72:1cm but how?)
  \draw[-] (0,0) -- (-20:0.5cm) -- ++(70:0.8cm) -- ++(100:0.6cm) -- (0.3,1);
 \end{tikzpicture}
\end{figure}
\end{document}

第二条线应在第一个多边形点处结束,即 (72:1cm)。我试图做这样的事情:

\draw[-] (0,0) -- (72:1cm) node (a) {} -- ...;
\draw[-] ... - (a);

但这不起作用。我可能在这里做错了什么,因为应该可以用 (a) 或类似的东西来标记第一个多边形的点。

欢迎提出任何建议。问候,Tobias

答案1

您没有说明什么不起作用,但您的解决方案是正确的,只是最好使用 acoordinate而不是常规的node。 Anode有一些非零值,inner sep而 acoordinate只是一个点。

node为了更好地理解这些差异,我使用和复制了代码coordinate

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{figure}
 \begin{tikzpicture}

  % First polygon (start)
  % `a` is a coordinate
  \draw[-] (0,0) -- (72:1cm) coordinate (a) -- ++(144:1cm) -- ++(216:1cm) -- ++(288:1cm) -- (0,0);
  % Second polygon (start at 0,0 and end 72:1cm but how?)
  \draw[-] (0,0) -- (-20:0.5cm) -- ++(70:0.8cm) -- ++(100:0.6cm) -- (a);

  \begin{scope}[xshift=3cm]
    % First polygon (start)
    % `a` is a node
    \draw[-] (0,0) -- (72:1cm) node[draw=red] (a) {} -- ++(144:1cm) -- ++(216:1cm) -- ++(288:1cm) -- (0,0);
    % Second polygon (start at 0,0 and end 72:1cm but how?)
    \draw[-] (0,0) -- (-20:0.5cm) -- ++(70:0.8cm) -- ++(100:0.6cm) -- (a);
  \end{scope}
 \end{tikzpicture}
\end{figure}
\end{document}

![在此处输入图片描述

右图显示了使用 的问题nodes。即使是空节点也有一些区域(除非您使用选项inner sep=0pt),并且以 (仅节点名称)开始或结束的路径(a)将在节点的边界处开始或结束。这就是您的初始解决方案发生的情况。

(a.center)正如 TonioElGringo 所建议的,如果您写入(明确选择节点的锚点),您仍然可以使用常规节点并获得所需的结果。

左图使用了一个coordinate空节点,没有维度。在这种情况下,对(a)(坐标名称) 的引用相当于,(a.center)因为节点的中心和边界之间没有距离。

相关内容