-1

我想用 x,y,z 坐标生成一个 3D 点的立方体,这些坐标间隔相等。我用 Perl 编写了以下程序,但是当我进行可视化时,它看起来缺少一些点。

for($x=0;$x<28;$x+=1.4){
    for($y=0;$y<28;$y+=1.4){
        for($z=0;$z<28;$z+=1.4){
            @arr_grid[$g]=$x."       ".$y."       ".$z."\n";
            $g++;
        }
    }
}
$c=scalar @arr_grid;
for($l=0;$l<$c;$l++){
    print "HETATM      O                 @arr_grid[$l]\n";
}

或向我推荐任何处理空间和计算中的 3D 点的书籍或网站。提前致谢。

4

1 回答 1

0

您可能有兴趣看到看起来更像 Perl 程序员如何编写它的东西。

#!/usr/bin/perl

use strict;
use warnings;
use 5.010;

my @arr_grid;

for (my $x = 0; $x < 28; $x += 1.4) {
  for (my $y = 0; $y < 28; $y += 1.4) {
    for (my $z = 0; $z < 28; $z += 1.4) {

      push @arr_grid, "$x       $y       $z\n";
    }
  }
}

foreach (@arr_grid) {
  say "HETATM      O                 $_";
}

但是,正如尼克所说,Perl 似乎没有问题。

于 2012-01-06T14:09:12.477 回答