Dreiecke mithilfe von Längen und Winkeln zeichnen?

Dreiecke mithilfe von Längen und Winkeln zeichnen?

Ich bin gerade dabei, das Tikz-Punktraster zu verstehen und habe es geschafft, mit dieser Methode Dreiecke zu zeichnen, aber gibt es eine Möglichkeit, durch direkte Eingabe von Linienlängen und Winkeln zu zeichnen?

Wenn ich beispielsweise Winkel von 125 Grad, 40 Grad und 15 Grad mit der Hypothenuse bei 15 cm haben möchte, wie würde ich dies festlegen?

Antwort1

Zum Vergleich hier eine alternative Methode mit Metapost. (Der Code ist ConTeXt-Code, Sie können mit dem gmpPaket aber auch Metapost-Code in LaTeX verwenden.)

In Metapost können unbekannte numerische Werte mit dem whateverSchlüsselwort angegeben werden. Metapost ermittelt den Wert von whatevers, sodass alle Gleichungen erfüllt sind.

Beschriften wir die Eckpunkte des Dreiecks als A, B, und C. Angenommen, wir möchten ABparallel zur x-Achse zeichnen, ACdie Hypothenuse sein und den Winkel Avon 40 und den Winkel Bvon 125 haben. (Der Winkel Cbeträgt automatisch 15). Wir können dies in Metapost wie folgt angeben:

numeric angleA, angleB;
angleA := 40;
angleB := 125;

numeric AC;
AC := 15cm;

Wir wählen den Punkt Aals Ursprung. Dann Cist der Punkt vollständig angegeben

pair A, B, C;

A := origin;
C := (AC,0) rotated angleA;

Um den Punkt anzugeben B, geben wir zwei Gleichungen für an B. Die erste ist, dass dies der Abstand von entlang der x-Achse Bsein sollte , d. h.ABA

B = (whatever, 0);

Zweitens CBsollte es in einem Winkel sein B, d. h.

B = ((whatever,0) rotated -angleB) shifted C;

Metapost findet eine konsistente Lösung für diese beiden Spezifikationen. Hier ist der vollständige Code:

\starttext
\startMPpage[offset=3mm]
  begingroup;
    numeric angleA, angleB, angleC;
    angleA := 40;
    angleB := 125;

    numeric AC;
    AC := 15cm;

    pair A, B, C;

    A := origin;
    C := (AC,0) rotated angleA;

    % Let Metapost figure out B.
    B = (whatever, 0);
    B = ((whatever,0) rotated -angleB) shifted C;

    path triangle ;
    triangle := A -- B -- C --cycle;

    draw triangle;

    pair c; c := center triangle;

    freedotlabel("$A$", A, c);
    freedotlabel("$B$", B, c);
    freedotlabel("$C$", C, c);

  endgroup;
\stopMPpage
\stoptext

was gibt

Bildbeschreibung hier eingeben

Antwort2

So was?

\documentclass[margin=1cm]{standalone}

\usepackage{tikz}
\usetikzlibrary{intersections}

\begin{document}
  \begin{tikzpicture}
  \def\angf{40} %First angle
  \def\angs{125} %Second angle
  \def\hypo{15} %Hypotenus
  \coordinate (O) at (0,0);
  \draw[name path=line 1] (O) --++ (\angf:\hypo) coordinate (A);
  \path[name path=line 2] (O) --++ (0:2\hypo);
  \path[name path=line 3] (A) --++ (-\angs:2\hypo);
  \path [name intersections={of=line 2 and line 3,by=E}];
  \pgfresetboundingbox
  \draw (O)--(E)--(A);
  \end{tikzpicture}
\end{document}

Bildbeschreibung hier eingeben

Antwort3

Kennen Sie Mathe?

Die Winkel-Längen-Beziehungen sind gegeben durch dieSinussatz.

Die Ausgabe

Bildbeschreibung hier eingeben

Der Code

\documentclass[12pt,tikz]{standalone}
\begin{document}
\begin{tikzpicture}[scale=.5]
  % "hypothenuse"
  \def\A{15}
  % the angles
  \def\angA{125}
  \def\angB{40}
  \pgfmathsetmacro{\angC}{180-\angA-\angB}
  % the law of sines
  \pgfmathsetmacro{\d}{\A/sin(\angA)}
  \pgfmathsetmacro{\C}{\d*sin(\angC)}
  \draw (0,0) -- (\angB:\A) -- (0:\C) -- cycle;
\end{tikzpicture}
\end{document}

verwandte Informationen