рождает весьма и весьма оптимальные картины.
исходники на java (pde). можно чтонить подкрутить. первое что приходит на ум - распараллелить процесс вычисления на несколько ядер.
ну и подвисает иногда
тема для очумелых програмистов

Что, так медленно работает?Алексс писал(а):первое что приходит на ум - распараллелить процесс вычисления на несколько ядер.

первое, что приходит - переписать на нормальном языке...Алексс писал(а):первое что приходит на ум - распараллелить процесс вычисления на несколько ядер

Код: Выделить всё
int  i = 0;
  while (i < maxParticles)
  {
    float fx = lowBorderX +  random(hiBorderX - lowBorderX);
    float fy = lowBorderY +  random(hiBorderY - lowBorderY);
    float p = brightness(imgblur.pixels[ floor(fy)*imgblur.width + floor(fx) ])/255; 
    // OK to use simple floor_ rounding here, because  this is a one-time operation,
    // creating the initial distribution that will be iterated.
    if (invertImg)
    {
      p =  1 - p;
    }
//    if (random(.5) >= p ) {  
    if (.5 >= p ) {  
      Vec2D p1 = new Vec2D(fx, fy);
      particles[i] = p1;  
      i++;
    }
  } Как же они тогда потом кучкуются в темных местах?Алексс писал(а):даже нихера не бьют. тупо рандомом
На питоне?Serg-tmn писал(а):первое, что приходит - переписать на нормальном языке...Алексс писал(а):первое что приходит на ум - распараллелить процесс вычисления на несколько ядер

какая красотень получилась!Nick писал(а):дошло до 1114 итерации
пробовал. не работает. по я вробовал в ручную задать 49000 точек. не дождался первой итерацииNick писал(а):не пробовал "x" нажимать?
первая итерация, как я понял сильно от фонаря и очень грубо находит точку, где что-то есть, строится вороная сетка, потом к каждой ячейке находится среднее значение яркости и ее центр яркости чтолиNick писал(а):Как же они тогда потом кучкуются в темных местах?
Код: Выделить всё
              xSum += PicDensity * x;
              ySum += PicDensity * y; 
              dSum += PicDensity;
       }
      if (dSum > 0)
      {
        xSum /= dSum;
        ySum /= dSum;
      }
можно. но нужно ли ?переписать на нормальном языке
а у меня сработало, уже час жду первую итерациюАлексс писал(а):пробовал. не работает. по я вробовал в ручную задать 49000 точек. не дождался первой итерации
а вот теперь понятнееАлексс писал(а):и ее центр яркости чтоли


По-моему не на квадратики а на диаграмму Вороного. что то не до конца понимаю алгоритм. А еще кто нибудь знает программы подобные этой?Алексс писал(а):бьют на квадратики и берут яркость рандомной точки внутри.