我正在研究一些矩阵变换代码,并且不断得到
! Dimension too large.
我将其追溯到以下简单示例。2e-17
将 替换为时,不会出现此问题0
。
\edef\MATRIXaa{1}
\edef\MATRIXba{2e-17}
\edef\MATRIXbb{1}
\edef\MATRIXab{0}
\tikzset{#1/.estyle={
cm={
\MATRIXaa,\MATRIXba, %Note this call takes transpose
\MATRIXab,\MATRIXbb,
(0,0)
}
}}
答案1
您的示例无法重现这种情况。但是,有些任务需要在引擎级别后台进行矩阵求逆,这可能会导致数学溢出。
\def\MATRIXaa{1}
\def\MATRIXba{2e-17}
\def\MATRIXbb{1}
\def\MATRIXab{0}
\tikzset{my cm/.style={cm/.expanded={\MATRIXaa,\MATRIXba,\MATRIXab,\MATRIXbb,(0,0)}}}
\begin{tikzpicture}
\draw[thick,red] (0,0) grid[step=1cm] (10,10);
\begin{scope}[my cm]
\draw[style=help lines,white,] (0,0) grid[step=1cm] (10,10);
\end{scope}
\end{tikzpicture}
此代码在 TikZ v3.0 中没有任何错误