TikZ: Nodes relativ mit anchor bzw. Winkel positionieren

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: TikZ: Nodes relativ mit anchor bzw. Winkel positionieren

von cgnieder » Mo 18. Apr 2011, 23:28

Ich werde wohl tatsächlich einmal ausprobieren, wie es aussieht, wenn man den Winkel umrechnet.
Wenn das optisch nix taugt, werde ich das Verhalten wohl einfach hinnehmen.

Ich setze den Status auf beantwortet. Falls es jemanden interessiert, werde ich meine Umrechnung noch nachliefern.

Danke und Gruß,
Clemens

von cgnieder » Mo 18. Apr 2011, 13:32

Es kam mir auch schon, dass das natürlich ohne Probleme funktioniert, wenn man Kreise oder Quadrate nimmt.

Danke für den Hinweis mit den "new shapes". Den Abschnitt werde ich mir mal genauer durchlesen.

Die Winkel-Berechnung mit Deiner Idee leider nicht funktionieren, da zum Zeitpunkt des Setzens der anchor nicht bekannt ist. Das ist gerade der Knackpunkt: der Winkel ist bekannt und damit soll eine Positionierung an der Border erfolgen, so dass 45°=north east und entsprechend.

Vielleicht müsste man abhängig von den Maßen der Node eine Art Verzerrung berechnen...

Ich versuche bei der Programmierung von "myChemistry" gerade einen neuen Ansatz der relativen Positionierung.

von bloodworks » Mo 18. Apr 2011, 13:22

Hallo ich verstehe nicht so ganz. Der Mechanismus mit dem TikZ die South West usw. Stellen berechnet eigentlich das ja schon macht. Der Winkel, der das abbildet, ist abhängig vom der Größe des Rechtecks. Den müsstest du ja immer neu berechnen.

Bei Kreisen geht das natürlich verlässlich:
 \node[draw, circle](A){AAAAA}; 
 \node[draw,anchor=45, circle] at (A.225) (B) {BBBBB}; 
Ich denke mal es hilft, die Sektion "59.5 Declaring New Shapes" S.479 im pgf manual zu lesen, dann weißt du etwa wie die anchors definiert sind.

Eine Idee dich ich hätte, wäre eine Linie zwischen center und dem gewünschten anchor zu legen und den Winkel dann zu berechnen. Das wär aber irgendwie das Pferd von hinten aufgezäumt. Für was brauchst du das denn?

TikZ: Nodes relativ mit anchor bzw. Winkel positionieren

von cgnieder » Mo 18. Apr 2011, 12:42

Hallo,
folgendes Beispiel demonstriert mein Problem:
\documentclass{scrartcl}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
 \node[draw](A){AAAAA};
 \node[draw,anchor=south west] at (A.north east) {BBBBB};
\end{tikzpicture}

\begin{tikzpicture}
 \node[draw](A){AAAAA};
 \node[draw,anchor=225] at (A.45) (B) {BBBBB};
 % center wird verwendet:
 %\fill[red] (A.center) circle (1pt);
 %\fill[red] (B.center) circle (1pt);
 %\draw[red] (A.center) -- (B.center);
\end{tikzpicture}
\end{document}
Im ersten tikzpicture bestimmt TikZ mithilfe der anchor eine Stelle an der border der nodes zur Positionierung.
Im zweiten tikzpicture kann TikZ offenbar nicht die entsprechende Stelle an der border der nodes bestimmen und verwendet daher den "center"-anchor als Basis zur Berechnung.
Meine Frage nun: ist es möglich mit Angabe der Winkel (dieser Punkt ist wichtig) das gleiche Verhalten zu bekommen wie mit Angabe der Anchor-Namen?

Vielen Dank im Voraus für alle Ideen.

Nach oben