我隨機填充網格,其中笛卡爾座標從0到100(100x100x100網格)進行了歸一化,並且每個數據點的「強度」從0到256進行了歸一化。這裏是我在perl中的代碼片段:計算項目放置在單元格中的次數
open(FILE,$file);
while(sysread(FILE,$data,16)) {
@row=unpack("f>4",$data); # input file is binary so I had to convert here
$x=int((($row[0] - $xmin)/($xmax - $xmin)*10) + 0.5); # max and min variables
$y=int((($row[1] - $ymin)/($ymax - $ymin)*10) + 0.5); # are previously defined
$z=int((($row[2] - $zmin)/($zmax - $zmin)*10) + 0.5);
$i=int(($row[3]/62*256) + 0.5);
$i=255 if ($i>255);
$out[$x][$y][$z]=$i; # simply assigns an intensity for each data
# point (in random order), only 1 point can be
# added to each 1x1x1 cell
}
有些點太靠近在一起,被放置在同一個1x1x1單元中。發生這種情況時,每個強度都會覆蓋前一個強度。我如何計算在單元格中放置多於一個點的次數?
在此先感謝!
哦謝謝,抱歉,我在這裏新建 –