对应的摄像头线应该是怎样的?
currentprojection = orthographic(camera=(x,y,z),up=Y,target=O);
具体来说,我需要一个根据 x 轴和 y 轴之间的角度计算三元组 (x,y,z) 的公式。
答案1
你想要的是所谓的“斜”投影。正如这里解释的那样http://en.wikipedia.org/wiki/Oblique_projection。
您需要使用currentprojection=oblique;
来实现这种投影。
画廊中前两个例子:
http://asymptote.sourceforge.net/gallery/planes.asy
http://asymptote.sourceforge.net/gallery/.cache/planes.png
现在代码:
import three;
import graph3;
currentprojection=obliqueX(-45); // angle in degrees for the third axis (e.g. 25)
size(5cm);
xaxis3("$x$",0,1,black);
yaxis3("$y$",0,1,black);
zaxis3("$z$",0,1,black);
viewportsize=(345.0pt,0);
(顺便说一句,我无法使角度参数的符号obliqueZ
或obliqueX
使“x”轴坚持左上方向。)
为了说明这一点不是可以通过其他投影得到这个结果,
...
currentprojection=orthographic(4,6,3);
...