使用渐近线填充空间中的三角形

使用渐近线填充空间中的三角形

我尝试根据其三个顶点,使用渐近线在空间中绘制一个三角形。

一个简单的例子是

import grid3;
import graph3;

size(12cm,0);

currentprojection=orthographic(1,-2,1);
currentlight=(1,-1,0.5);

triple p0=(0,0,0);
triple p1=(0,1,1);
triple p2=(1,1,1);

grid3(new grid3routines [] {XYXgrid(0)},
      pGrid=new pen[] {0.5blue},
      pgrid=new pen[] {0.5blue});

draw(p0--p1--p2--cycle);

这产生了多边形的边界。但是,我无法填充三角形。我假设我可以将其参数化并将其绘制为参数化曲面,但这对我来说也不起作用。我尝试使用以下方法

triple f(pair t) {return((1-t.x)*((1-t.y)*p0+t.y*p1)+t.x*p2);}
surface s=surface(f,(0,1),(0,1),10,10,Spline);
s.colors(palette(s.map(zpart),Rainbow()));
draw(s,render(merge=true));

而不是draw上一个片段中的最后一个。此尝试会产生一个空白页。

如何使用填充(并绘制其边界?)空间中的三角形asymptote

答案1

填充三角形替换

draw(p0--p1--p2--cycle);

经过

draw(surface(p0--p1--p2--cycle),yellow);
draw(p0--p1--p2--cycle);

就是这样。

相关内容