генерация 3d точек

Я хотел бы создать куб 3D-точек с координатами x, y, z, которые расположены на одинаковом расстоянии друг от друга. Я написал следующую программу на 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";
}

или предложите мне какие-либо книги или сайты, посвященные трехмерным точкам в пространстве и расчетам. Заранее спасибо.


person gthm    schedule 06.01.2012    source источник
comment
что вы имеете в виду, говоря, что некоторые точки отсутствуют? Как вы это себе представляете?   -  person NiklasMM    schedule 06.01.2012
comment
На самом деле это связано с биологическими молекулами, т.е. с биоинформатикой, которую я визуализирую средствами биоинформации. Если можно, подскажите, где можно почитать подобные вещи.   -  person gthm    schedule 06.01.2012
comment
Что ж, код кажется мне чистым и, безусловно, создает 21 * 21 * 21 точку. Думаю ошибка не в этом коде.   -  person NiklasMM    schedule 06.01.2012
comment
Это может быть дубликат stackoverflow.com /вопросы/8775050/   -  person JRideout    schedule 09.01.2012


Ответы (1)


Возможно, вам будет интересно посмотреть на то, что больше похоже на то, как это написал бы программист на 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 проблем не возникает.

person Dave Cross    schedule 06.01.2012
comment
Спасибо за ответ, но моя главная проблема в том, что у меня одинаковый набор точек с разными значениями x, y, z, что мне делать, чтобы рассчитать расстояние между точками обоих наборов? - person gthm; 06.01.2012