TikZ 打印的是坐标位置而不是实际点。我遗漏了什么?

TikZ 打印的是坐标位置而不是实际点。我遗漏了什么?

我试图画一个三角形。三角形旁边应该有一条线,沿线有一些点,这些点到顶端点的距离就是三角形边的长度。但我无法画出这条线。

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\usepackage{tkz-euclide}
\pagestyle{empty}
\begin{document}
 Verify that the following triangle has been constructed per the
 specificiations.

\begin{tikzpicture}[every node/.style={circle,inner sep=2pt,fill}]
  \coordinate (A) at (0,0);
  \coordinate (B) at (0,3in);  

  %\draw (A) circle (3.5in);
  %\draw (B) circle (4in);
  \tkzInterCC[R](A,2.5in)(B,4.5in) \tkzGetPoints{C}{D}
  \draw (A) -- (B) -- (C) -- cycle;

  \node at (A) {};
  \node at (B) {};
  \node at (C) {};

  \node[fill=none] at ($(A)+(-90:2ex)$) {$C$};
  \node[fill=none] at ($(B)+(+90:2ex)$) {$B$};
  \node[fill=none] at ($(C)+(-90:2ex)$) {$A$};

  \coordinate (D) at (2in,3in);

  \path let \p1=(A),
            \p2=(B),
            \p3=(C)
        in
        coordinate (E) at  ($(D)-(0,{veclen(\p1,\p2)})$)
        coordinate (F) at  ($(D)-(0,{veclen(\p1,\p3)})$);

  \node at (D) {};
  \node at (E) {};
  \node at (F) {};
  \draw (D) -- (F) -- (E);

\end{tikzpicture}
\end{document}

在此处输入图片描述

答案1

veclen 需要数字,但你提供的是坐标。因此,将相关行更改为

    coordinate (E) at  ($(D)-(0,{veclen(\x1-\x2,\y1-\y2)})$)
    coordinate (F) at  ($(D)-(0,{veclen(\x1-\x3,\y1-\y3)})$);

画了一些东西,但我不知道这是否是预期的计算。

而是使用

\path let \p1=($(A)-(B)$),
          \p2=($(A)-(C)$)

并且使用veclen(\x1,\y1)veclen(\x2,\y2)会使计算不太容易出现此类错误。

相关内容