渐近线:线与平面的相交线,z 顺序不正确

渐近线:线与平面的相交线,z 顺序不正确

你好,TeX Stackoverflow!

我对 Asymptote 中的 3D 绘图有一个疑问。我想绘制一条与两个平面相交的线的非常简单的 3D 草图,但很难让它看起来“逼真”:在此处输入图片描述

这条线应该越过飞机的左边界,到达飞机的中心并穿过。然后这条线在飞机后面应该不可见,直到它经过对面的边界。另一架飞机也一样。

以下是生成上述图像的代码:

settings.outformat = "pdf";
settings.prc = false;
settings.render = 0;
size(7cm, 0);
import graph3;
import math;

currentlight=light(white,(2,2,2),(2,-2,-2));
//draw(O--X, blue);
//draw(O--Y, green);
//draw(O--Z, red); 

triple UVO = X - Y / 2 - Z / 2;
triple XYO = -X - Y / 2 - Z / 2;

path3 planeUV = plane(O = UVO, Y, Z);
path3 planeXY = plane(O = XYO, Y, Z);

triple rayStart = 2X;//(2, -0.5, 0.5);
triple rayEnd = -rayStart;
path3 ray = rayStart -- rayEnd;

material m_white = material(diffusepen=gray(0.4), emissivepen=gray(0.6));

draw(ray);

real i1 =  intersect(P = rayStart, Q = rayEnd, X, UVO);
real i2 =  intersect(P = rayStart, Q = rayEnd, X, XYO);

dot(point(ray, i1));
dot(point(ray, i2));

draw(surface(planeUV), m_white);
draw(planeUV);

draw(surface(planeXY), m_white);
draw(planeXY);

我还想用点来可视化交叉点,但目前还不行。

类似问题已经解决这里,但不幸的是我找不到方法来使该代码适应我的情况。

我读到过,在 Asymptote 和 Tikz 中制作具有正确 z 顺序的 3D 图形通常非常困难,但考虑到我的非常简单的草图,这应该不是那么难,对吧?

如果 Asymptote 或 Tikz 无法实现,是否存在可以实现我想要的包/工具?

感谢您的帮助!

相关内容