繪製固定角度、寬度和高度的平行四邊形?

繪製固定角度、寬度和高度的平行四邊形?

我想繪製具有固定角度、寬度和高度的平行四邊形,但似乎trapezium在 PGF/TikZ 中無法在不改變角度的情況下指定高度。

\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}

輸出:在此輸入影像描述

我想要一個具有相同寬度的垂直加粗版本的 A。

A和B有不同的角度,只需添加“最小高度「。A 的旋轉版本具有垂直的西/東邊,這就是我所需要的。B 的旋轉版本沒有垂直的西/東邊,但是,我確實需要一個與A 具有相同角度和寬度的「更高」平行四邊形。

C:刪除“梯形拉伸身體” 導致寬度和高度失控的平行四邊形。D:將“梯形拉伸身體”替換為“梯形伸展「沒有任何幫助。

答案1

也許下面的內容可以更好地解釋正在發生的事情。當文字變短並且節點變高並且隨著文字變長而變短時,會發生奇怪的事情,這是由於遵守了約束。

\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}

沒有身體伸展

我們看到最小寬度和最小高度受到尊重,然後如果有任何空間,那麼節點就會變得更高,因為沒有任何限制。換句話說,僅對最小值而不是最大值進行限制,因此在底部範例中,尊重最小值,然後嘗試匹配角度。如果節點較短且角度固定,則不會考慮最小高度等。如果我們把所有的假鍵變成真,我們得到

在此輸入影像描述

因此形狀的角度會變形以符合約束條件。類似地,trapezium stretches body鍵僅拉伸寬度。但是,如果設定了角度,那麼就需要尊重約束,然後檢查角度是否可行。因此需要不同類型的約束。這可能是在center錨點處使用標籤或將其繪製在節點頂部,無論大小等。

相關內容