编辑

编辑

使用 tikz 手册我得出了这个结论:

\documentclass[letterpaper,10pt]{article}
\usepackage{tikz}
\begin{document}
\begin{figure}
\centering
\begin{tikzpicture}
\draw (0,0) -- (2,0)
    node [pos=0.5] (mpa) {};
\draw (2,0) -- (2,2)
    node [pos=0.5] (mpb) {};
\draw (2,2) -- (0,0)
    node [pos=0.5] (mpc) {};
\draw (0,0) -- (mpb);
\draw (2,2) -- (mpa);
\draw (2,0) -- (mpc);
\end{tikzpicture}
\end{figure}

其渲染效果为: 并发图像

这实际上接近我想要的。从代码中可以看出,这些线应该从顶点延伸到我放置在相对边中点的节点。tikz 手册默示以这种方式放置节点在路上而不是靠近它。我误会了吗?

接下来的问题是,实际上,我需要一个位于交点的节点,该节点只是一个圆圈,即以某种方式强调并发点。然后,从该点到顶点的线。也许使用一个正多边形的单个节点来执行此操作会更简单?请指教我。

答案1

默认情况下,节点具有大小,并且它们的线条将绘制到其边框上的锚点。添加draw=red显示问题:

问题

节点位于路径的中心。线条沿着节点的边界绘制。

为了避免这种情况,请替换nodecoordinate

坐标

\documentclass[tikz,border=10pt]{standalone}
\begin{document}
\begin{tikzpicture}[every node/.style={draw=red}]
  \draw (0,0) -- (2,0) node [pos=0.5] (mpa) {};
  \draw (2,0) -- (2,2) node [pos=0.5] (mpb) {};
  \draw (2,2) -- (0,0) node [pos=0.5] (mpc) {};
  \draw (0,0) -- (mpb);
  \draw (2,2) -- (mpa);
  \draw (2,0) -- (mpc);
\end{tikzpicture}
\begin{tikzpicture}
  \draw (0,0) -- (2,0) coordinate [pos=0.5] (mpa);
  \draw (2,0) -- (2,2) coordinate [pos=0.5] (mpb);
  \draw (2,2) -- (0,0) coordinate [pos=0.5] (mpc);
  \draw (0,0) -- (mpb);
  \draw (2,2) -- (mpa);
  \draw (2,0) -- (mpc);
\end{tikzpicture}
\end{document}

编辑

我不太明白后续情况,因为我不知道正多边形从哪里来。为了标记交叉点,我会使用库intersections

\documentclass[tikz,border=10pt]{standalone}
\usetikzlibrary{intersections}
\begin{document}
\begin{tikzpicture}
  \draw (0,0) -- (2,0) coordinate [pos=0.5] (mpa);
  \draw (2,0) -- (2,2) coordinate [pos=0.5] (mpb);
  \draw (2,2) -- (0,0) coordinate [pos=0.5] (mpc);
  \draw [name path=frog] (0,0) -- (mpb);
  \draw [name path=toad] (2,2) -- (mpa);
  \draw (2,0) -- (mpc);
  \path [name intersections={of=frog and toad, name=con}, fill=red] (con-1) circle (1pt);
\end{tikzpicture}
\end{document}

标记交叉点

相关内容