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