Pfad-Verfolgung Thema ist als GELÖST markiert

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


TheMrFeedback
Forum-Anfänger
Forum-Anfänger
Beiträge: 16
Registriert: So 27. Dez 2020, 15:11

Pfad-Verfolgung

Beitrag von TheMrFeedback »

Hallo Menschen,

habe gerade mit Tikz begonnen, bräuchte also ein paar Hinweise, damit ich Laufen lernen kann:

Ich möchte ein gleichschenkliges Dreieck erzeugen. Der Abstand zu den Eckpunkten soll 1cm sein zu meiner Variablen S.

Meine erste Idee:

\documentclass{article}

\usepackage[ansinew]{inputenc}
\usepackage[a6paper, left=2cm, right=2cm, landscape]{geometry}
\usepackage{tikz}
\usetikzlibrary{calc}

\pagestyle{empty}

\begin{document}
\begin{tikzpicture}

\coordinate (S) (0,0);
\draw[lightgray] (S) -- (68:5.2cm) coordinate (A);
\draw[lightgray] (S) -- (19:3.2cm) coordinate (P1) -- ([turn]-79:1.5cm) coordinate (N);

\path (S) -- (90:1cm) coordinate (S1);
\path (S) -- (-150:1cm) coordinate (S2);
\path (S) -- (-30:1cm) coordinate (S3);
\draw (S1) -- (S2) -- (S3) -- cycle;

%	\path (A) -- (90:1cm) coordinate (A1);
%	\path (A) -- (-150:1cm) coordinate (A2);
%	\path (A) -- (-30:1cm) coordinate (A3);
%	\draw (A1) -- (A2) -- (A3) -- cycle;
	
\end{tikzpicture}
\end{document}

Diese einfache Variante funktioniert für S, aber für A nicht (warum auch immer);

Was ich bräuchte (und ich weis, dass es gehen muss) ist folgendes:

(Pseudocode)
\draw (90:1cm von XYZ) -- (-150:1cm von XYZ) -- (-30:1cm von XYZ) - cycle;

Vielen Dank schon einmal für eure Unterstützung
Fabian

PS: Eine generelle Fragen zum Forum: Dieses Dreieck ist ja nur ein kleiner Baustein einer etwas umfassenderer Zeichnung. Sollte ich dann für einen weiteren Schritt ein neues Thema aufmachen, oder postet man das einfach in diesem ersten weiter?


Gast

Beitrag von Gast »

\documentclass[tikz]{standalone}
% https://texwelt.de/fragen/245
% https://texwelt.de/fragen/26496
%\usepackage[ansinew]{inputenc}

\begin{document}
\begin{tikzpicture}
\coordinate (S) at (0,0);
\draw[lightgray] 
    (S) -- (68:5.2cm) coordinate (A)
    (S) -- (19:3.2cm) coordinate (P1) -- ([turn]-79:1.5cm) coordinate (N)
;

\path (S) -- (90:1cm) coordinate (S1);
\path (S) -- (-150:1cm) coordinate (S2);
\path (S) -- (-30:1cm) coordinate (S3);
\draw (S1) -- (S2) -- (S3) -- cycle;

\path (A) + (90:1cm) coordinate (A1);
\path (A) + (-150:1cm) coordinate (A2);
\path (A) + (-30:1cm) coordinate (A3);
\draw (A1) -- (A2) -- (A3) -- cycle;
\end{tikzpicture}
\end{document}
TheMrFeedback hat geschrieben:
So 27. Dez 2020, 15:35

Sollte ich dann für einen weiteren Schritt ein neues Thema aufmachen, oder postet man das einfach in diesem ersten weiter?

Starte bitte für eine neue Frage ein neues Thema.


Gast

Beitrag von Gast »

Diese gleichseitigen Dreiecke können mit

\draw (S) +(90:1cm) -- +(-150:1cm) -- +(-30:1cm) -- cycle;

auch ohne benannte Ecken gezeichnet werden oder man verwendet ein Polygon aus dem Abschnitt 71.3 Geometric Shapes.


TheMrFeedback
Forum-Anfänger
Forum-Anfänger
Beiträge: 16
Registriert: So 27. Dez 2020, 15:11

Re: Pfad-Verfolgung

Beitrag von TheMrFeedback »

Der Hinweis mit Abschnitt 71.3 Geometric Shapes werde ich mir mal ansehen.

Bis dahin:

\documentclass{article}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
    \coordinate (S) (0,0);
    \coordinate (A) (5,2);
    \draw (S) +(90:1cm) -- +(-150:1cm) -- +(-30:1cm) -- cycle;
    \draw (A) +(90:1cm) -- +(-150:1cm) -- +(-30:1cm) -- cycle;
\end{tikzpicture}
\end{document}

bringt leider nicht den gewünschten Erfolg, denn das Dreieck, was auch um A geschlossen werden soll, wird komischerweise um S herum gezeichnet.... Ideen?


TheMrFeedback
Forum-Anfänger
Forum-Anfänger
Beiträge: 16
Registriert: So 27. Dez 2020, 15:11

Re: Pfad-Verfolgung

Beitrag von TheMrFeedback »

\documentclass{article}
\usepackage[ansinew]{inputenc}
\usepackage[a6paper, left=2cm, right=2cm, landscape]{geometry}
\usepackage{tikz}
\pagestyle{empty}

\begin{document}
\begin{tikzpicture}
	\coordinate (S) at (0,0);
	\draw[lightgray] (S) -- (68:5.2cm) coordinate (A);
	\draw[lightgray] (S) -- (19:3.2cm) coordinate (P1) -- ([turn]-79:1.5cm) coordinate (N);
	
\draw (S) +(90:1mm) -- +(-150:1mm) -- +(-30:1mm) -- cycle;
\draw (A) +(90:1mm) -- +(-150:1mm) -- +(-30:1mm) -- cycle;

\fill (S) circle (0.2mm);
\fill (A) circle (0.2mm);
\draw (P1) circle (0.5mm);
\draw (N) circle (0.5mm);

\end{tikzpicture}
\end{document}

Der neue Ansatz funtioniert, danke. Es gibt leider auch hier ein ABER:
Leider passiert nicht das, was ich erwartet habe, wenn ich die Ausgangskoordinate von S Ändere, also sprich

\documentclass{article}
\usepackage[ansinew]{inputenc}
\usepackage[a6paper, left=2cm, right=2cm, landscape]{geometry}
\usepackage{tikz}
\pagestyle{empty}

\begin{document}
\begin{tikzpicture}
	\coordinate (S) at (10,0);
	\draw[lightgray] (S) -- (68:5.2cm) coordinate (A);
	\draw[lightgray] (S) -- (19:3.2cm) coordinate (P1) -- ([turn]-79:1.5cm) coordinate (N);
	
\draw (S) +(90:1mm) -- +(-150:1mm) -- +(-30:1mm) -- cycle;
\draw (A) +(90:1mm) -- +(-150:1mm) -- +(-30:1mm) -- cycle;

\fill (S) circle (0.2mm);
\fill (A) circle (0.2mm);
\draw (P1) circle (0.5mm);
\draw (N) circle (0.5mm);

\end{tikzpicture}
\end{document}

Meine Hoffnung war, dass sich optisch nichts verändert, da ich ja "nur" den Startwert verschiebe...
Jemand eine Idee?


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

Re: Pfad-Verfolgung

Beitrag von esdd »

TheMrFeedback hat geschrieben:
Mo 28. Dez 2020, 09:40
...
    \coordinate (S) (0,0);
    \coordinate (A) (5,2);
    \draw (S) +(90:1cm) -- +(-150:1cm) -- +(-30:1cm) -- cycle;
    \draw (A) +(90:1cm) -- +(-150:1cm) -- +(-30:1cm) -- cycle;
...

bringt leider nicht den gewünschten Erfolg, denn das Dreieck, was auch um A geschlossen werden soll, wird komischerweise um S herum gezeichnet.... Ideen?

Das ist logisch, weil Du sowohl die Koordinate S als auch die Koordinate A im Ursprung des Koordinatensystems definierst. \coordinate (A); ist eine Kurzform von \coordinate (A) at (0,0); Beachte dabei, dass das at Bestandteil der Syntax ist.
Das von Dir verwendete \coordinate (A) (5,2); ist damit eine Kurzform von \coordinate (A) at (0,0) (5,2);. Es definiert die Koordinate A im Punkt (0,0) und springt dann zum Punkt (5,2), an dem Du dann beispielsweise eine weitere Koordinate definieren oder einen Node einfügen könntest.

Beispiel an dem das vielleicht deutlich wird:

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
  \path [draw,help lines] (0,0) grid (5,2);% Hilfsgitter
  \coordinate (A) (5,2) node {x};
  \path
    (A) node {A}
  ;
\end{tikzpicture}
\end{document}

\coordinate ist übrigens auch wieder eine Abkürzung und zwar für \path ... coordinate ...;. Statt \coordinate (A) at (5,2); kannst Du auch

\path coordinate (A) at (5,2);

oder

\path (5,2)coordinate (A);

schreiben.


TheMrFeedback
Forum-Anfänger
Forum-Anfänger
Beiträge: 16
Registriert: So 27. Dez 2020, 15:11

Re: Pfad-Verfolgung

Beitrag von TheMrFeedback »

Erst einmal vielen Dank, dass du geantwortet hast, aber du hast auf einen Post geantwortet, in dem ich einen Fehler eingebaut hatte (war ein älterer Test-Stand). Hier der aktuelle Stand (wenn auch schon "verziert", aber ich bin mir sicher, dass euch das nur geringfügig stören wird, denn es geht ja im Grunde nur um die ersten Zeilen des Dokuments):

\documentclass{article}

\usepackage[ansinew]{inputenc}
\usepackage[a6paper, left=2cm, right=2cm, landscape]{geometry}
\usepackage{tikz}
\usetikzlibrary{calc}

\pagestyle{empty}

\begin{document}
\begin{tikzpicture}
	\coordinate (S) at (0,0) node [below left] {S};
	\path (S) -- (68:5.2cm) coordinate (A) node [above left] {A};
	\draw (S) -- (19:3.2cm) coordinate (P1) node [below, inner sep=4mm, anchor=north east] {P1} -- ([turn]-79:1.5cm) coordinate (N) node [below right] {N};
	
\draw (S) -- ($(S)!0.5!(A)$);
\draw [dash pattern=on 10pt off 3pt] ($(S)!0.5!(A)$) -- (A);

%\fill[blue] ($(S)!0.5!(A)$) circle (1mm);

\draw [fill=white, draw=white, double=black] (S) +(90:1mm) -- +(-150:1mm) -- +(-30:1mm) -- cycle;
\fill (S) circle (0.2mm);
\draw [fill=white, draw=white, double=black] (A) +(90:1mm) -- +(-150:1mm) -- +(-30:1mm) -- cycle;
\fill (A) circle (0.2mm);

\fill [white, draw=white, double=black] (P1) circle (0.5mm);
\fill [white, draw=white, double=black] (N) circle (0.5mm);
\end{tikzpicture}
\end{document}

Mein Ziel war es lediglich (S) eine feste Koordinate zuzuordnen und den weiten Code relativ anzugeben...

Also gehe von (S) 68° und 3,2cm und setzte dort (A) und mache dort auch eine node mit dem Namen {A}


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

Re: Pfad-Verfolgung

Beitrag von esdd »

Wenn Du die Koordinaten A und P1 relativ zu S festlegen willst, musst Du jeweils ein + vor deren Koordinatenangabe einfügen:

\path (S) -- +(68:5.2cm) coordinate (A) node [above left] {A};
\draw (S) -- +(19:3.2cm) coordinate (P1) node [below, inner sep=4mm, anchor=north east] {P1} -- ([turn]-79:1.5cm) coordinate (N) node [below right] {N};

Dein unterhalb der Koordinate A eingefügtes A ist übrigens ein Nodetext und nicht der Name einer Node.

\documentclass{article}
%\usepackage[ansinew]{inputenc}
\usepackage[a6paper, left=2cm, right=2cm, landscape]{geometry}
\usepackage{tikz}
\usetikzlibrary{calc}
\pagestyle{empty}

\begin{document}
\begin{tikzpicture}[
  dot mark/.style={circle, fill, inner sep=0pt, minimum size=0.4mm},
  circle mark/.style={circle, fill=white, draw=white, double=black, inner sep=0pt, minimum size=1mm},
  triangle mark/.pic={% ein pic wird immer am mit seinem Ursprung am aktuellen Punkt eingefügt
    \draw [fill=white, draw=white, double=black] (90:1mm) -- (-150:1mm) -- (-30:1mm) -- cycle;
    \node [dot mark]{};
  }
]

  \path
    (0,0) coordinate (S) node [below left] {S}
  ;
  
\path (S) -- +(68:5.2cm) coordinate (A) node [above left] {A}; \draw (S) -- ($(S)!0.5!(A)$); \draw [dash pattern=on 10pt off 3pt] ($(S)!0.5!(A)$) -- (A);
\draw (S) -- +(19:3.2cm) coordinate (P1) node [below, inner sep=4mm, anchor=north east] {P1} -- ([turn]-79:1.5cm) coordinate (N) node [below right] {N} ; \path foreach \p in {S,A} {(\p) pic {triangle mark}} foreach \p in {P1,N} {(\p) node [circle mark] {}} ; \end{tikzpicture} \end{document}

TheMrFeedback
Forum-Anfänger
Forum-Anfänger
Beiträge: 16
Registriert: So 27. Dez 2020, 15:11

Re: Pfad-Verfolgung

Beitrag von TheMrFeedback »

Wow, das hat echt geholfen.
Ich werde zwar noch ein bisschen Hirnschmalz in deinen Code stecken zu müssen um den ersten Teil voll zu durchdringen, aber eines muss und darf ich erst einmal sagen:
DANKE
Noch ein paar letzte Frage, wenn wir schon so nett am plaudern sind :-)

  1. Der Text der Node von P1 stört mich noch:

    • Ich finde keine Möglichkeit, wie ich P_1 schreiben kann

    • Mit inner Sep bin ich unzufrieden und müsste noch ca. 5mm weiter nach rechts

    Ideen?

  2. Siehst du eine bessere Möglichkeit, wie man die Freistellung der Dreiecke und Kreise noch besser, weil variabel beeinflussen kann?

  3. Generell: Dieses Bild ist ja nur kleiner Teil einer umfangreicheren Arbeit. Mein Plan: die hier entstehende PDF würde ich dann mit \includegraphics{"Dateiname"} einbinden. Ich befürchte aber, dass selbst das eingestellte A6 zu viel Rand hat. Und den müsste ich dann in der Masterdatei beschneiden, das scheint mir zu umständlich... Wie geht man da vor? Gibt es einen Befehl, der dann das Papier automatisch an der Box meiner Tikz-Zeichnung abschneidet?

  4. Wie kann man hier Bilder hochladen? Dann könnte ich auch man eine Skizze hochladen, wie das Tikz-Pic aussehen soll.

  5. Kenntst du vielleicht sogar eine Package für Vermessung?

Riesen Dank


Gast

Beitrag von Gast »

TheMrFeedback hat geschrieben:
Mo 28. Dez 2020, 20:55

Wie kann man hier Bilder hochladen? Dann könnte ich auch man eine Skizze hochladen, wie das Tikz-Pic aussehen soll.

Wie hänge ich ein Bild an meine Frage?


Antworten