% mfile GetFishDirection
% compute force on fish
% start with random direction
  force = randn(d,d) + II * randn(d,d);
% add in electrostatic repulsion from sharks
% sharkpnt points to sharks
  sharkpnt = find(shark(2:d+1,2:d+1));
% sharkwhere contains shark locations (as complex numbers)
  sharkwhere = ZZ(sharkpnt);
  nsharks = length(sharkwhere);
% fishpnt points to fish
  fishpnt = find(fish(2:d+1,2:d+1));
% fishwhere contains fish locations (as complex numbers)
  fishwhere = ZZ(fishpnt);
  nfish = length(fishwhere);
% distances(i,j) = position of shark i - position of fish j
  if (nfish>0 & nsharks>0),
    distances = sharkwhere*ones(1,nfish) - ones(nsharks,1)*conj(fishwhere');
  else
    distances = [];
  end
% compute force = sum( distance./abs(distance).^2)
  distantfishfear = FISHREPEL*(sum(1 ./ distances))';
  force(fishpnt) = force(fishpnt) + distantfishfear;
% add in global current
  force = force + Current(ZZ);
% discretize force into (1=R, 2=U, 3=L, 4=D, later 0 = no move)
  intforce = round(angle(force)*(2/pi));
  intforce = intforce + 4*(intforce < 0);
  fishdir(2:d+1,2:d+1)=(intforce+1) .* fish( 2:d+1, 2:d+1 );
%
  if (dbug == 1), disp('got fish direction'), keyboard, end
