我正在尝试绘制平面与带渐近线的双曲面的交线。结果应该是 2 条相交线或一条圆锥曲线(椭圆、圆或抛物线)。
以下是代码:
settings.outformat="png";
settings.render=8;
size(200);
import solids;
currentprojection=perspective(0,-5,3);
revolution hyperboloid=revolution(graph(new triple(real z) {
return (sqrt(1+z*z),0,z);},-2,2,20,operator ..),axis=Z);
draw(surface(hyperboloid), surfacepen=material(diffusepen=white+opacity(0.6),emissivepen=gray(0.6)));
draw(hyperboloid,12,black+0.3pt,longitudinalpen=0.1pt+black);
path3 p=plane((0,6,0),(0,0,6),O=(1,-3,-3));
draw(p);
我已经尝试过交点,但是代码不起作用。
答案1
到目前为止,Asymptote 中还没有两个表面的相交。从数学和数值的角度来看,这是一个难题,需要大量计算。欢迎您实现它 :) 我不是这个领域的专家,但如果任何人有一种不太困难的方法来实现贝塞尔曲面相交,我很乐意参考。
仅相交表面/路径 3 可用。
在您的具体情况下,也许您能够找到交点方程。