Tikz:绘制具有固定边长的不等边三角形

Tikz:绘制具有固定边长的不等边三角形

我已经尝试了一段时间才能让这个问题得到很好的解决,但我真的很难避免多余的图片。

我想绘制$\triangle ABC$,其边长为:7,13,14。

下面的代码产生了结果,但太多了。我不希望 (a) 圆圈或 (b) 图像缩放、重新居中、空白或任何认为圆圈存在的东西。我也不想手动定义 $\measuredangle G = 67.19^\circ$;是的,它得到了答案,但这违背了问题的精神。

\documentclass{article}
\usepackage{tkz-euclide}
\usetikzlibrary{shapes,shapes.geometric,intersections,through}
\begin{document}
\begin{tikzpicture}[scale=.5]
    \coordinate [label=below:$G$] (g) at (0,0);
    \coordinate [label=below:$O$] (o) at (14,0);

    \node (Circ1) at (g) [draw, circle through=($ (g) + (0:7) $)] {};
    \node (Circ2) at (o) [draw, circle through=($ (o) + (0:13) $)] {};
    \coordinate [label=above:$E$] (e) at (intersection 2 of Circ1 and Circ2);
    \draw (g) -- (e) -- (o) -- cycle;
\end{tikzpicture}
\end{document}

答案1

您可以删除绘制命令并忽略某些命令以计算边界框!

\documentclass{standalone}
\usepackage[english]{babel}
\usepackage{tkz-euclide}
\usetikzlibrary{shapes,shapes.geometric,intersections,through}
\begin{document}
\begin{tikzpicture}[scale=.5]
    \coordinate [label=below:$G$] (g) at (0,0);
    \coordinate [label=below:$O$] (o) at (14,0);
    \begin{pgfinterruptboundingbox}
        \node (Circ1) at (g) [circle through=($ (g) + (0:7) $)] {};
        \node (Circ2) at (o) [circle through=($ (o) + (0:13) $)] {};
    \end{pgfinterruptboundingbox}
    \coordinate [label=above:$E$] (e) at (intersection 2 of Circ1 and Circ2);
    \draw (g) -- (e) -- (o) -- cycle;
\end{tikzpicture}
\end{document}

输出图像: 在此处输入图片描述

答案2

您正在加载tkz-euclide但并未使用它,因此这里有一个带有它的版本。

E我们可以使用 which 来找到点,\tkzInterCC它的作用和你做的一样,但只用一个命令。这会找到两个点,在我们的例子中是EE'。一个在上面,一个在下面,选择你喜欢的一个。

您还可以绘制我们在这种情况下知道的长度,但它们可以自动计算。

输出

无长度

在此处输入图片描述

长度

在此处输入图片描述

代码

\documentclass[margin=10pt]{standalone}
\usepackage{tkz-euclide}
\usetkzobj{all}

\begin{document}
\begin{tikzpicture}[scale=.5]
    \tkzDefPoint(0,0){G}
    \tkzDefPoint(14,0){O}

    \tkzInterCC[R](G,7cm)(O,13cm)
    \tkzGetPoints{E}{E'}
    \pgfresetboundingbox % removes white space

    \tkzDrawPolygon(G,E,O)
    \tkzLabelPoints[left](G)
    \tkzLabelPoints[above](E)
    \tkzLabelPoints[right](O)

    % lengths (automatic)
    \tkzCalcLength[cm](G,O)\tkzGetLength{GOl}
    \tkzCalcLength[cm](E,O)\tkzGetLength{EOl}
    \tkzCalcLength[cm](G,E)\tkzGetLength{GEl}

    \tkzLabelSegment[midway, sloped, below](G,O){$\pgfmathprintnumber\GOl$ cm};
    \tkzLabelSegment[midway, sloped, above right](E,O){$\pgfmathprintnumber\EOl$ cm};
    \tkzLabelSegment[midway, sloped, above left](G,E){$\pgfmathprintnumber\GEl$ cm};

\end{tikzpicture}
\end{document}

答案3

这个问题正是文档

10.3.1 已知边长构造三角形

以B为中心圆很大,所以可以只使用圆弧。

\documentclass[margin=10pt]{standalone}
\usepackage{tkz-euclide}
\usetkzobj{all}

\begin{document}
\begin{tikzpicture}[scale=.5]
  \tkzDefPoint(0,0){A} \tkzDefPoint(14,0){B}
  \tkzDrawCircle[R,dashed](A,7 cm) \tkzDrawCircle[R,dashed](B,13 cm)
  \tkzInterCC[R](A,7 cm)(B,13 cm) \tkzGetPoints{C}{D}
  \tkzDrawPolygon(A,B,C)
  \tkzCompasss(A,C B,C)
  \tkzLabelSegment[below](A,B){$14$ cm}
  \tkzLabelSegment[above left](A,C){$7$ cm}
  \tkzLabelSegment[above right](B,C){$13$ cm}
  \tkzDrawPoints[color=red](C)
  \tkzDrawPoints[color=blue](A,B)
\end{tikzpicture}
\end{document}

变体

\documentclass[margin=10pt]{standalone}
\usepackage{tkz-euclide}
\usetkzobj{all}

\begin{document}
\begin{tikzpicture}[scale=.5]
  \tkzDefPoint(0,0){A} \tkzDefPoint(14,0){B}
  \tkzInterCC[R](A,7 cm)(B,13 cm) \tkzGetPoints{C}{D}
  \tkzDrawPolygon(A,B,C)
  \tkzCompasss[length=3](A,C B,C)
  \tkzLabelSegment[below](A,B){$14$ cm}
  \tkzLabelSegment[above left](A,C){$7$ cm}
  \tkzLabelSegment[above right](B,C){$13$ cm}
  \tkzDrawPoints[color=red](C)
  \tkzDrawPoints[color=blue](A,B)
\end{tikzpicture}
\end{document}

在此处输入图片描述

在此处输入图片描述

相关内容