Tikz - rechtwinkliges Dreieck

Tabellen und Grafiken erstellen und anordnen


germes
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Sa 15. Jun 2013, 21:14

Tikz - rechtwinkliges Dreieck

Beitrag von germes »

Hallo,

ich bin gerade dabei mich in Tikz einzuarbeiten. Zum "üben" versuche ich erstmal geometrische Konstruktionen zu zeichnen, da dort auch mit Strecken und Punkten gerechnet werden kann. Beim folgenden Beispiel bekomme ich aber einfach nicht den fehlenden Winkel (gegenüber der Hypothenuse) gezeichnet.

Desweiteren würde mich interessieren, ob es noch andere Möglichkeiten gibt, den Punkt C zu bestimmen.
\documentclass[a4paper,10pt]{scrartcl}
\usepackage[utf8]{inputenc}

\usepackage{tikz}

\begin{document}

\begin{tikzpicture}
\usetikzlibrary{calc,through,intersections} 
 \draw[step=.5cm, very thin, black!10] (-1,-1) grid (10,6);

\coordinate (A) at (0, 0) node [left, font=\small] at (A) {$A$};
\coordinate (B) at (8, 0) node [right, font=\small] at (B) {$B$};

\coordinate[label=45:$C$] (C) at ($(z)!4cm!70:(B)$);     %Punkt C

\coordinate (x) at ($ (B)!(C)!(A) $);

\coordinate[label=45:$a$] (a) at($ (B)!.5!(C) $);
\coordinate[label=90:$b$] (b) at($ (A)!.5!(C) $);
\coordinate[label=-90:$c$] (c) at($ (A)!.5!(B) $);

%----------------------------------------------------
%hier war der Ansatz eine Kurve mit dem Radius 1.5cm von C aus zu zeichen
\coordinate (y) at($ (C)!1.5cm!(A) $);
\coordinate (v) at($ (C)!1.5cm!(B) $);
%-----------------------------------------------------

\draw [very thin, red,dashed](8,0) arc (0:180:4cm);
\draw(A)--(B)--(C)--cycle;
\draw[blue, very thin](x)--(C);


\draw[thin] (A) -- (0:1.5cm) arc (0:35:1.5cm);
\draw[thin] (B) -- (0:6.5cm) arc (0:-55:-1.5cm);


\end{tikzpicture}


\end{document}
Viele Grüße
Andreas

Felix

Beitrag von Felix »

Hallo Andreas,

das erinnert mich an meine Frage hier: Wie kann ich mit TikZ einen Bogen zwischen zwei Punkten zeichnen?

Dort gab es berechnete Lösungen, aber auch eine Antwort mit tkz-euclide, was sich bestimmt für Deine geometrischen Zeichnungen eignen würde.

Überhaupt habe ich dort auf TeXwelt oft sehr kompetente Antworten auf meine TikZ-Fragen bekommen, da arbeite ich mich nämlich auch ein. Schau vielleicht mal hier: TikZ Kategorie. Kann ich nur empfehlen, auch da Fragen zu stellen.

Felix

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Hallo,

hier ist mal noch ein Vorschlag, der nahe an deinem Code bleibt. Wenn es ein rechtwinkliges Dreieck werden soll, dann muss der Punkt C auf jedem Fall auf dem Kreis durch A und B liegen.
\documentclass[10pt]{scrartcl} 

\usepackage{tikz} 
\usetikzlibrary{calc,intersections}

\begin{document} 

\begin{tikzpicture}
\draw[step=.5cm, very thin, black!10] (-1,-1) grid (10,6); 

\coordinate (A) at (0, 0) node [left, font=\small] at (A) {$A$}; 
\coordinate (B) at (8, 0) node [right, font=\small] at (B) {$B$}; 

\coordinate[label=45:$C$] (C) at ($(A)!0.5!(B)!4cm!70:(B)$);     %Punkt C 

\coordinate (x) at ($ (B)!(C)!(A) $);

\coordinate[label=45:$a$] (a) at($ (B)!.5!(C) $); 
\coordinate[label=90:$b$] (b) at($ (A)!.5!(C) $); 
\coordinate[label=-90:$c$] (c) at($ (A)!.5!(B) $); 

\draw [very thin, red,dashed](8,0) arc (0:180:4cm); 
\draw(A)--(B)--(C)--cycle; 
\draw[blue, very thin](x)--(C); 

\draw[thin] (A)  +(0:1.5cm) arc (0:35:1.5cm); 
\draw[thin] (B)  +(180:1.5cm) arc (0:-55:-1.5cm);
\draw[thin] (C)  +(215:1.5cm) arc (215:305:1.5cm);

\end{tikzpicture} 

\end{document}
Gruß
Elke

Benutzeravatar
cgnieder
Forum-Meister
Forum-Meister
Beiträge: 730
Registriert: Fr 22. Okt 2010, 18:37
Wohnort: Herrenberg
Kontaktdaten:

Beitrag von cgnieder »

tkz-euclide ist in der Tat wie gemacht für Geometrie. In der Tat bin ich sicher, dass der Entwickler es im Hinblick auf Matheunterricht entwickelt hat. Damit eignet es sich zwar nicht, um TikZ zu üben, aber für Geometrie ist es super. Ist, als ob man mit Lineal und Zirkel arbeiten würde :)
\documentclass[a4paper,10pt]{scrartcl}
\usepackage[utf8]{inputenc}

\usepackage{xcolor}
\colorlet{lightgray}{black!10}
\colorlet{pencil}{black!25}

\usepackage{tkz-euclide}
\usetkzobj{all}

\begin{document}

\begin{tikzpicture}
  % Größe des Bilds, Gitter:
  \tkzInit[ymax=6]
  \tkzClip
  \tkzGrid[color=lightgray,sub,subxstep=.5,subystep=.5]
  % Punkte A und B, 8cm entfernt:
  \tkzDefPoint(1,1){A}
  \tkzDefShiftPoint[A](8,0){B}
  % Kreis um die Mitte schlagen:
  \tkzDefMidPoint(A,B)\tkzGetPoint{Mab}
  \tkzDrawArc[color=pencil](Mab,B)(A)
  % auf 20% der Strecke AB eine senkrechte Konstruieren
  % und Schnittpunkt C mit Kreis ermitteln:
  \tkzDefPointWith[K=.2](A,B)\tkzGetPoint{C'}
  \tkzDefPointWith[orthogonal](C',B)\tkzGetPoint{C''}
  \tkzInterLC(C',C'')(Mab,B)\tkzGetSecondPoint{C}
  % Dreieck zeichnen, mit Höhe auf AB:
  \tkzDrawPoints(A,B,C)
  \tkzDrawSegments(A,B B,C C,A C',C)
  % Beschriftungen:
  \tkzLabelSegment[below](A,B){$c$}
  \tkzLabelSegment[above right](B,C){$a$}
  \tkzLabelSegment[above left](C,A){$b$}
  \tkzLabelSegment[right](C',C){$h$}
  \tkzLabelPoint[below left](A){$A$}
  \tkzLabelPoint[below right](B){$B$}
  \tkzLabelPoint[above](C){$C$}
  \tkzMarkAngle(B,A,C)
  \tkzLabelAngle[pos=.5](B,A,C){$\alpha$}
  \tkzMarkAngle(C,B,A)
  \tkzLabelAngle[pos=.85](C,B,A){$\beta$}
\end{tikzpicture}

\end{document}
Clemens
Paketauthor

germes
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Sa 15. Jun 2013, 21:14

Beitrag von germes »

Hallo,

vielen Dank für die Antworten. Die Lösung von Elke (Danke!) hat bereits funktioniert. Aber ich hab in der Zwischenzeit eine, wie ich finde, elegantere Lösung gefunden. Bei dieser passen sich die Bögen der Winkel bei Änderung von C mit an.

@Clemens
Tikz-euclide hatte ich auch schon überlegt. Mal schauen was ohne Französischkenntnisse aus der Dokumentation herauszuholen ist ...

Gruß
Andreas
\documentclass[a4paper,10pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\begin{document} 

\begin{tikzpicture}[scale=1.5]
\usetikzlibrary{calc,through,intersections} 
 \draw[step=.5cm, very thin, black!10] (-1,-1) grid (10,10);

\coordinate (A) at (0, 0) node [left, font=\small] at (A) {$A$};
\coordinate (B) at (8, 0) node [right, font=\small] at (B) {$B$};
\coordinate (z) at ($ (A)!.5!(B) $);
\coordinate[label=90:$C$] (C) at ($(z)!4cm!70:(B)$);
\coordinate (x) at ($ (B)!(C)!(A) $);

\coordinate[label=45:$a$] (a) at($ (B)!.5!(C) $);
\coordinate[label=90:$b$] (b) at($ (A)!.5!(C) $);
\coordinate[label=-90:$c$] (c) at($ (A)!.5!(B) $);

\coordinate (y) at($ (C)!1.5cm!(A) $);
\coordinate (v) at($ (C)!1.5cm!(B) $);

\draw [very thin, red,dashed](8,0) arc (0:180:4cm);
\draw(A)--(B)--(C)--cycle;
\draw[blue, very thin](x)--(C);

%\draw[thin] (A)  +(0:1.5cm) arc (0:35:1.5cm);
%\draw[thin] (B)  +(180:1.5cm) arc (0:-55:-1.5cm);
%\draw[thin] (C)  +(215:1.5cm) arc (215:305:1.5cm); 

\draw[] (C) -- ($(C)!15mm!(B)$) to[bend left] ($(C)!15mm!(A)$)  -- cycle;
\draw[] (A) -- ($(A)!15mm!(C)$) to[bend left] ($(A)!15mm!(B)$)  -- cycle;
\draw[] (B) -- ($(B)!15mm!(A)$) to[bend left] ($(B)!15mm!(C)$)  -- cycle;



\end{tikzpicture}
\end{document}


Benutzeravatar
cgnieder
Forum-Meister
Forum-Meister
Beiträge: 730
Registriert: Fr 22. Okt 2010, 18:37
Wohnort: Herrenberg
Kontaktdaten:

Beitrag von cgnieder »

germes hat geschrieben:@Clemens
Tikz-euclide hatte ich auch schon überlegt. Mal schauen was ohne Französischkenntnisse aus der Dokumentation herauszuholen ist ...
Ist etwas mühsam, geht aber (ich kann auch kaum französich). :)
Clemens
Paketauthor

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Hallo Andreas,

\usetikzlibrary{} gehört besser in die Präambel. Für den Fall, dass du noch nicht sofort auf tkz-euclide umsteigst, ist hier mal noch ein Vorschlag, bei dem du den Abstand zwischen A und B nicht kennen musst:
\documentclass[10pt]{scrartcl} 
\usepackage[utf8]{inputenc} 
\usepackage{tikz}
\usetikzlibrary{calc,intersections}

\begin{document} 

\begin{tikzpicture}[scale=1.5, font=\small] 
\usetikzlibrary{calc,through,intersections} 
  \draw[step=.5cm, very thin, black!10] (-1,-1) grid (10,10); 

% Festlegungen
  \coordinate (A) at (1,1); 
  \coordinate (B) at (8, 0); 
  \newcommand \winkel{70}% Winkelfestlegung für Punkt C
  \newcommand \markierung{15mm}% Abstand der Winkelmarkierung vom Eckpunkt

% Berechnete Koordinaten
  \coordinate (z) at ($ (A)!.5!(B) $); 
  \coordinate (C) at ($(z)!1!\winkel:(B)$); 
  \coordinate (x) at ($ (B)!(C)!(A) $); 

% eigentliche Zeichnung
  \begin{scope}
    \draw[clip](A)--(B)--(C)--cycle;
    \draw[blue, very thin](x)--(C);
    \foreach \p in {A,B,C}\draw[very thin] (\p)circle[radius=\markierung];
  \end{scope}

% Halbkreis 
  \begin{scope}
    \clip (A)--($(A)!1!90:(z)$)--($(B)!1!-90:(z)$)--(B)--cycle;
    \node [very thin, draw=red,dashed,circle through={(A)}] at (z){};
  \end{scope}


% Beschriftungen
  \foreach \p/\d in {A/left,B/right,C/above}\node[\d] at (\p){$\p$};
  \node[above right] at($ (B)!.5!(C) $){$a$}; 
  \node[above] at($ (A)!.5!(C) $){$b$}; 
  \node[below] at($ (A)!.5!(B) $){$c$}; 

\end{tikzpicture} 
\end{document} 
Gruß
Elke

Antworten