我想检索线段的长度(以厘米为单位)以在节点中显示
如下例所示,我想显示三个向量的长度
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\coordinate (A) at (0,0);
\coordinate (B) at (4,2);
\coordinate (C) at (1,3);
\coordinate (D) at (5,3);
\draw[-latex, green, thick] (A) node[left,black]{A} -- (B)node[above left,black]{B} ;
\draw (A) -- (C)node[left]{C} ;
\draw (B) -- (D) node[left]{D};
\draw[thick,-latex,red] (B) -- (intersection of A--C and B--D) coordinate(I) node[left,black]{I} ;
\draw[thick, -latex] (I) -- (A) node[left,midway]{lenght cm};
\end{tikzpicture}
\end{document}
答案1
TikZ 提供计算方法veclen
。为了计算长度(厘米),我使用了1厘米=28.4点。
下面的示例取自手册,您可以在其中找到更多示例。
下面是一个例子:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\coordinate (A) at (0,0);
\coordinate (B) at (4,2);
\coordinate (C) at (1,3);
\coordinate (D) at (5,3);
\draw[-latex, green, thick] (A) node[left,black]{A} -- (B)node[above left,black]{B} ;
\draw (A) -- (C)node[left]{C} ;
\draw (B) -- (D) node[left]{D};
\draw[thick,-latex,red] (B) -- (intersection of A--C and B--D) coordinate(I) node[left,black]{I} ;
\draw[thick, -latex] let \p1 = ($ (I) - (A) $) in (I) -- (A) node[left,midway]{ \pgfmathparse{veclen(\x1,\y1)/28.4}\pgfmathresult cm};
\end{tikzpicture}
\end{document}