\coordinate ["$P1$"] (P1) at ($(O1)!\length cm!\pgfmathresult:(O2)$);
与
\coordinate ["$P1$"] (P1) at ($(O1)!\length cm!\length cm:(O2)$);
是一样的.
\pgfmathparse
解析 \length cm
, 得到 \pgfmathresult
, 然后再解析 \pgfmathresult:(O2)
这一部分.
多数 pgf
的数学函数都会把结果保存到 \pgfmathresult
, 命令 \pgfmathparse
总会把结果保存到 \pgfmathresult
.
如果需要某个 \pgfmathresult
, 最好及时转存它的值.
具体原因见 tikz 的 calc 库.
问 \pgfmathresult值为什么不正确?