3d点生成

时间:2012-01-06 12:53:03

标签: perl graphics 3d points

我想生成一个带有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点的任何书籍或网站。提前致谢。

1 个答案:

答案 0 :(得分: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                 $_";
}

但是,就像Nick说的那样,Perl似乎没有问题。