使用 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
显示问题:
节点位于路径的中心。线条沿着节点的边界绘制。
为了避免这种情况,请替换node
为coordinate
:
\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}