在渐近线乳胶中从点矩阵绘制曲面

在渐近线乳胶中从点矩阵绘制曲面

假设 $S$ 是 $\mathbb{R}^3$ 中的一个曲面。我有一大组属于这个曲面的点 $(x, y, z)$,我想使用 LaTeX 中的 Asymptote 绘制它。这是我的代码版本,它不起作用,因为它符合要求,没有错误,但没有产生结果。提前谢谢您。

import three;
size(200);
currentprojection = perspective(6,3,2);
file in = input("xyz.dat").line();
real[][] a=in;
a=transpose(a);
real[] x = a[0];
real[] y = a[1];
real[] z = a[2];
triple[][] points;
for (int i = 0; i < x.length; ++i) {
  triple[] currentPoint = {(x[i], y[i], z[i])};
  points.push(currentPoint);
}
surface s = surface(points);
draw(s); 

答案1

我认为,有几个问题。

首先,surface(triple[][])是 的一部分graph3,而不是three。因此您需要import graph3;改为 。

其次,如果我没有看错的话,你的代码xyz.dat基本上把所有内容都放到了一个一维数组中triples(它的宽度只有 1)。这将不是适用于surface;该函数surface(triple[][])构建一个由两个数组维度参数化的线框。您将信息填充到数组中的方式,没有要绘制的表面,因为整个事物被解释为一维曲线。

相关内容