也许我的语法有错误,但我认为我发现了一个问题。
\documentclass[11pt]{scrartcl}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[x = {(sin(-60) cm,-cos(-60) cm)},
y = {(0.866 cm,-0.5 cm)},
z = {(0cm,1cm)},
scale = 4]
\draw[->] (0,0,0) -- (1,0,0);
\draw[->] (0,0,0) -- (0,1,0);
\draw[->] (0,0,0) -- (0,0,1);
\draw circle (1);
\end{tikzpicture}
\end{document}
我可以将其cos(60)
用于第二个坐标,但不能将其sin(60)
用于第一个坐标。
问题是如何解决这个问题。有什么更好的方法吗?我可以使用类似\xcoord
with 的方法\pgfmathsetmacro\xcoord{sin(-60)}
,但也许有更好的方法。
答案1
正如 Marco Daniel 指出的那样,你可以让 TikZ 通过将表达式括在花括号中来解析表达式。要将结果解释为厘米,你可以将表达式乘以* 1cm
:
\documentclass[11pt]{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[x = {({sin(-60)*1cm},{-cos(60)*1cm})},
y = {(0.866 cm,-0.5 cm)},
z = {(0cm,1cm)},
scale = 4]
\draw[->] (0,0,0) -- (1,0,0);
\draw[->] (0,0,0) -- (0,1,0);
\draw[->] (0,0,0) -- (0,0,1);
\draw circle (1);
\end{tikzpicture}
\end{document}