Нахождение следующих соседей по Вороному в периодических граничных условиях

Мне нужно найти следующих соседей вороного для данной точки, то есть всех точек, имеющих ячейки вороного, которые касаются ячейки исходной частицы. Геометрия является двумерной и используются периодические граничные условия. Как лучше всего добиться этого (с использованием внешних библиотек или без них)?


person user3058865    schedule 03.03.2016    source источник
comment
Библиотека [CGAL] (www.cgal.org) предоставляет пакет периодической двумерной триангуляции.   -  person sloriot    schedule 03.03.2016


Ответы (1)


Вы можете попробовать это:

foreach ($this->indices as $key => $arr)
  {
     foreach ($this->indices as $ikey => $iarr)
     {
        if ($key != $ikey)
        {
           if ( ($arr[0]==$iarr[1] && $arr[1]==$iarr[0]) ||
                ($arr[0]==$iarr[2] && $arr[1]==$iarr[1]) ||
                ($arr[0]==$iarr[3] && $arr[1]==$iarr[2]) ||

                ($arr[1]==$iarr[1] && $arr[2]==$iarr[0]) ||
                ($arr[1]==$iarr[2] && $arr[2]==$iarr[1]) ||
                ($arr[1]==$iarr[3] && $arr[2]==$iarr[2]) ||

                ($arr[2]==$iarr[1] && $arr[3]==$iarr[0]) ||
                ($arr[2]==$iarr[2] && $arr[3]==$iarr[1]) ||
                ($arr[2]==$iarr[3] && $arr[3]==$iarr[2]) 

              )
           {
              $this->voronoi[$key][$ikey]=array($this->cc[$key], $this->cc[$ikey]); 
           }
        }
     }
  }
person Gigamegs    schedule 03.03.2016
comment
какой это язык? - person user3058865; 09.03.2016
comment
Код находит все ячейки Вороного из триангуляции Делоне. - person Gigamegs; 09.03.2016
comment
Я понимаю, но на каком языке программирования написано? - person user3058865; 24.03.2016
comment
Это язык программирования PHP. - person Gigamegs; 25.03.2016