在渐近线中绘制非矩形域上的曲面

在渐近线中绘制非矩形域上的曲面

我使用 Asymptote 是因为它具有出色的 3D 功能。但是,当我尝试在非矩形域上绘制曲面时,我画不出锯齿状边缘。据我所知,Mathematica、Maple 或 JavaView 等其他软件允许绘制此类图。

所以问题是:是否有可能在非矩形域上绘制一个渐近线的一般曲面,使得其边缘光滑?

答案1

我找到了一个解决方案,即将域映射到一个矩形上。如果 R^2 中的域 D 可以表示为

D={(a(u,v), b(u,v)); u1<=u<=u2, v1<=v<=v2}

然后,为了在 D 上绘制函数 f(x,y),我们可以在渐近线中定义以下函数:

triple g(pair p){
    real x=a(p.x,p.y), y=b(p.x,p.y);
    return (x,y,f(x,y));
}

最后,表面绘制如下

draw(surface(g,(u1,v1),(u2,v2),...),...);

相关内容