
Как математически определяется xslant
операция преобразования координат tikz
?
Например, пусть A = (x_0, y_0)
и xslant = k
. Каково математическое выражение для преобразованной координаты B = (x_1, y_1)
?
Я хочу понять, как работает пример руководства pgf:
\begin{tikzpicture}
\draw[help lines] (0,0) grid (3,2);
\draw (0,0) -- (1,1) -- (1,0);
\draw[xslant=2,blue] (0,0) -- (1,1) -- (1,0);
\draw[xslant=-1,red] (0,0) -- (1,1) -- (1,0);
\end{tikzpicture}
решение1
Как говорит Марк Виброу в своем комментарии, xslant=k
замените x
на x+k*y
.
Так что это ярлык для cm={1,0,k,1,(0,0)}
.
\begin{tikzpicture}[myxslant/.style={cm={1,0,#1,1,(0,0)}}]
\draw[help lines] (0,0) grid (3,2);
\draw (0,0) -- (1,1) -- (1,0);
\draw[myxslant=2,blue] (0,0) -- (1,1) -- (1,0);
\draw[myxslant=-1,red] (0,0) -- (1,1) -- (1,0);
\end{tikzpicture}
ПРИМЕЧАНИЕ :Eстьошибка в документацииcm
(PGF 2.0, 2.1 и 3.0): матрица является транспонированной версией того, что она утверждает .