Parallelogramm mit festem Winkel, Breite und Höhe zeichnen?

Parallelogramm mit festem Winkel, Breite und Höhe zeichnen?

Ich möchte Parallelogramme mit festem Winkel, Breite und Höhe zeichnen, aber es scheint, dass trapeziumin PGF/TikZ die Höhe nicht ohne Winkeländerung angegeben werden kann.

\documentclass[tikz]{standalone}
\usetikzlibrary{shapes.geometric}
\begin{document}
\begin{tikzpicture}
\tikzstyle{every node}=[trapezium, draw, minimum width=3cm,
trapezium left angle=120, trapezium right angle=60]

\node[trapezium stretches body]
    at (0,0) {A};

\node[trapezium stretches body, rotate=-30]
    at (0,1.5) {A rotate $-30^\circ$};

\node[minimum height=1cm, trapezium stretches body]
    at (5,0) {B};

\node[minimum height=1cm, trapezium stretches body, rotate=-30]
    at (5,1.8) {B rotate $-30^\circ$};

\node[minimum height=1cm]
    at (0,-2) {C};

\node[minimum height=1cm, rotate=-30]
    at (0,-4) {C rotate $-30^\circ$};

\node[minimum height=1cm, trapezium stretches]
    at (5,-2) {D};

\node[minimum height=1cm, trapezium stretches, rotate=-30]
    at (5,-4) {D rotate $-30^\circ$};

\end{tikzpicture}
\end{document}

Die Ausgabe:Bildbeschreibung hier eingeben

Ich möchte eine vertikal dicke Version von A mit der gleichen Breite.

A und B haben unterschiedliche Winkel, einfach hinzufügen "Mindesthöhe". Die gedrehte Version von A hat vertikale West-/Ostseiten, das ist, was ich brauche. Die gedrehte Version von B hat keine vertikalen West-/Ostseiten, ich brauche jedoch ein „höheres“ Parallelogramm mit denselben Winkeln und derselben Breite wie A.

C: Entfernen von "Trapez dehnt den Körper" ergibt ein Parallelogramm, dessen Breite und Höhe außer Kontrolle geraten. D: Ersetzen von "Trapez streckt Körper" durch "Trapezmuskeldehnungen" hilft nichts.

Antwort1

Vielleicht kann das Folgende besser erklären, was passiert. Das Seltsame, das passiert, wenn der Text kürzer wird und der Knoten höher und kürzer wird, während der Text länger wird, liegt daran, dass die Einschränkungen eingehalten werden.

\documentclass[tikz]{standalone}
\usetikzlibrary{shapes.geometric}
\begin{document}
\begin{tikzpicture}
\tikzstyle{every node}=[trapezium, draw, minimum width=3cm,
trapezium left angle=120, trapezium right angle=60]

\node[trapezium stretches=false,minimum height=1cm]
    at (0,0) {A};

\node[trapezium stretches=false,minimum height=1cm]
    at (0,1.5) {\fbox{A long }};

\node[trapezium stretches=false,minimum height=1cm]
    at (0,3) {\fbox{A long text}};

\draw[thick,green,|-|] (-1.5,-.5) -- (1.5,-0.5);
\draw[thick,green,|-|] (-1.5,0.5) -- (-1.5,-0.5);

\draw[thick,blue,|-|] (-1.5,1) -- (1.5,1);
\draw[thick,blue,|-|] (-1.5,1) -- (-1.5,2);

\draw[thick,red,|-|] (-1.5,2.5) -- (1.5,2.5);
\draw[thick,red,|-|] (-1.5,2.5) -- (-1.5,3.5);

\end{tikzpicture}
\end{document}

ohne den Körper zu dehnen

Wir sehen, dass die Mindestbreite und Mindesthöhe eingehalten werden und wenn dann noch Platz ist, wird der Knoten höher, da es dafür keine Einschränkung gibt. Mit anderen Worten, es gibt nur Einschränkungen für die Minima, nicht für die Maxima. Daher werden im unteren Beispiel die Minima eingehalten und dann versucht, die Winkel anzupassen. Wenn der Knoten kürzer ist und die Winkel fest sind, wird die Mindesthöhe nicht eingehalten usw. Daher werden hierfür einige Optionen vorgeschlagen, nämlich die Stretch-Optionen. Wenn wir alle falschen Schlüssel auf true setzen, erhalten wir

Bildbeschreibung hier eingeben

Der Winkel der Form wird also verformt, um die Einschränkungen einzuhalten. In ähnlicher Weise trapezium stretches bodydehnt der Schlüssel nur die Breite aus. Wenn der Winkel jedoch festgelegt ist, müssen die Einschränkungen beachtet und dann geprüft werden, ob der Winkel realisierbar ist. Daher ist eine andere Art von Einschränkung erforderlich. Dies könnte die Verwendung von Beschriftungen am centerAnker oder das Zeichnen über den Knoten sein, unabhängig von der Größe usw.

verwandte Informationen