2012-01-06 6 views
-1

Я хотел бы создать куб трехмерных точек с координатами x, y, z, которые расположены на одинаковом расстоянии. Я написал следующую программу в Perl, но когда я визуализирую, то выглядит несколько точек.3D-точечная генерация

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"; 
} 

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

+1

Что вы подразумеваете под словом «похоже, что некоторые моменты отсутствуют»? Как вы это визуализируете? – Nick

+0

Фактически это связано с биологическими молекулами, то есть с биоинформатикой, Im визуализируя инструментами bioinfo. Если возможно, скажите мне, где читать этот материал. – gthm

+1

Ну код выглядит чистым для меня и, конечно же, создает 21 * 21 * 21 балл. Я думаю, что ошибка не в этом коде. – Nick

ответ

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.

+0

Спасибо за ответ, но моя главная проблема заключается в том, что у меня одинаковый набор точек с разными значениями x, y, z, что я делаю, чтобы вычислить расстояние между точками обоих множеств? – gthm

Смежные вопросы