Die roten Strecken stehen jeweils senkrecht auf einer schwarzen.
(Es kommt richtig raus mit dem rechten Winkel, aber die Syntax ist etwas komisch geraten... vielleicht geht es besser?)

Wie erreiche ich, dass die roten Strecken alle genau die Länge 1 haben?

alt text

Öffne in Overleaf
\documentclass[border=5pt, tikz]{standalone}
\usepackage{tikz, amsmath}
\usetikzlibrary{calc}

\begin{document}
\begin{tikzpicture}[
nodes={fill=red,circle, inner sep=1pt,}
]
\node [label=left:$A$] (A) at (0,0) {};
\node [label=right:$B$] (B) at (1,0) {};
\draw (A) -- (B);

\node [label=above:$C$] (C) at ($(B)!1!-90:(A)$) {};
\draw[red] (B) -- (C);
\draw (A) -- (C);

\node [label=above:$D$] (D) at ($(C)!1!-90:(A)$) {};
\draw[red] (C) -- (D);
\draw (A) -- (D);

\node [label=above:$E$] (E) at ($(D)!1!-90:(A)$) {};
\draw[red] (D) -- (E);
\draw (A) -- (E);

\end{tikzpicture}
\end{document}

gefragt 07 Nov '18, 21:50

cis's gravatar image

cis
9.5k75452491
Akzeptiert-Rate: 29%

bearbeitet 07 Nov '18, 21:51


Da die Länge 1 in dem Beispiel 1cm entspricht, könntest Du

Öffne in Overleaf
($(C)!1!-90:(A)$)

in

Öffne in Overleaf
($(C)!1cm!-90:(A)$)

ändern. Analog für die anderen Punkte, die mit der gleichen Syntax konstruiert wurden.

Alternativ kannst Du die Option turn für eine relative Drehung zum Pfad verwenden. Das geht dann auch ohne die Bibliothek calc:

Öffne in Overleaf
\documentclass[border=5pt, tikz]{standalone}
\begin{document}
\begin{tikzpicture}

\path [nodes={fill=red,circle, inner sep=1pt}]
  (0,0) node [label=left:$A$] (A) {}
  (1,0) node [label=right:$B$] (B) {}
  +(90:1) node [label=above:$C$] (C) {}
%
  (A) -- (C)
      -- ([turn]90:1) node [label=above:$D$] (D) {}
  (A) -- (D)
      -- ([turn]90:1) node [label=above:$E$] (E) {} 
;

\draw (A) foreach \p in {B,C,D,E} {edge (\p)};
\draw[red] (B) -- (C) -- (D) -- (E);

\end{tikzpicture}
\end{document}

Ergebnis in beiden Fällen:

alt text

Permanenter link

beantwortet 07 Nov '18, 23:22

esdd's gravatar image

esdd
17.7k254256
Akzeptiert-Rate: 62%

bearbeitet 07 Nov '18, 23:31

Aja, sehr gut. Das !1cm! hat mir gerade gefehlt.

(08 Nov '18, 00:25) cis

Mit \usetikzlibrary{intersections} kann ich es lösen:

alt text

Öffne in Overleaf
\documentclass[border=5pt, tikz]{standalone}
\usepackage{tikz, amsmath}
\usetikzlibrary{calc}
\usetikzlibrary{intersections}

\begin{document}
\begin{tikzpicture}[
nodes={fill=red,circle, inner sep=1pt,},
Hilfe/.style={
gray, draw,
nodes={fill=gray,circle, inner sep=1pt,},
}
]
\node [label=left:$A$] (A) at (0,0) {};
\node [label=right:$B$] (B) at (1,0) {};
\draw (A) -- (B);
%\draw (B) circle[radius=1];

\node [label=above:$C$] (C) at ($(B)!1!-90:(A)$) {};
\draw[red] (B) -- (C);
\draw (A) -- (C);

\node [Hilfe, label=above:$Dr$] (Dr) at ($(C)!1!-90:(A)$) {};
\path[Hilfe, name path=Strecke] (C) -- (Dr);
\path[Hilfe, name path=Kreis] (C) circle[radius=1];
\draw [red, name intersections={of=Strecke and Kreis}]
(C) -- (intersection-1) coordinate (D);
\draw (A) -- (D) node[label=$D$]{}; % Radius

\node [Hilfe, label=above:$Er$] (Er) at ($(D)!1!-90:(A)$) {};
\draw[name path=Strecke] (D) -- (Er);
\draw[Hilfe, name path=Kreis] (D) circle[radius=1];
\draw [red, name intersections={of=Strecke and Kreis}]
(D) -- (intersection-1) coordinate (E);
\draw (A) -- (E) node[label=$E$]{}; % Radius

\node [Hilfe, label=above:$Fr$] (Fr) at ($(E)!1!-90:(A)$) {};
\draw[name path=Strecke] (E) -- (Fr);
\draw[Hilfe, name path=Kreis] (E) circle[radius=1];
\draw [red, name intersections={of=Strecke and Kreis}]
(E) -- (intersection-1) coordinate (F);
\draw (A) -- (F) node[label=$F$]{}; % Radius

\end{tikzpicture}
\end{document}
Permanenter link

beantwortet 07 Nov '18, 23:29

cis's gravatar image

cis
9.5k75452491
Akzeptiert-Rate: 29%

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×728
×16

gestellte Frage: 07 Nov '18, 21:50

Frage wurde gesehen: 5,651 Mal

zuletzt geändert: 08 Nov '18, 00:25