渐近线中的正交投影

渐近线中的正交投影

我需要帮助来理解渐近线中的正交投影。

currentprojection=orthographic(x,y,z);

指定x和,就可以在 3D 中旋转图形,但我如何确定这些数字呢yz

答案1

xy和的变化z不会旋转3d物体,而是会改变相机位置。一个简单的程序可以帮助设置投影参数:

首先设置2d图片的大小,例如

size(200);

接下来,导入一些支持的模块3d

import three;

从相机位置的一些值开始,想象这是盒子的一个角,您可以从这里观察原点。

currentprojection=orthographic(2,2,2);

放置一个简单的对象来开始,例如在原点的一个单位坐标线:

draw(O--(1,0,0),red);
draw(O--(0,1,0),green);
draw(O--(0,0,1),blue);

现在,您可以运行此sample.asy文件:

size(200);
import three;
currentprojection=orthographic(2,2,2);   
triple O=(0,0,0);    
dot(O);
label("$O$",(0,0,0),N);    
draw(O--(1,0,0),red);
draw(O--(0,1,0),green);
draw(O--(0,0,1),blue);

使用asy -V sample.asy > ocamera.asy。交互式查看器将允许您根据需要更改视点,然后right-double-click将出现一个菜单。单击Camera,当前相机设置将保存在ocamera.asy文件中,如下所示:

currentprojection=orthographic(
camera=(0.961388410434579,3.28630597183905,-0.564352559252),
up=(0.000558361334852193,0.00103708683243738,0.00699025170673149),
target=(7.76288755499621e-17,7.76288755499621e-17,7.76288755499621e-17),
zoom=0.505067952995518);

可以将其复制到 sample.asy 中并进行编辑,例如像这样:

currentprojection=orthographic(
camera=(1,3.3,-0.5),
up=(0,0,1),
target=(0,0,0),
zoom=0.5);

这将为您提供一个起点。

相关内容