Какой алгоритм подойдет для описания полета насекомого?
Можно сделать цепочку преследования: к случайной точке тянется одна, к ней другая, и т.д., а последняя – муха.
Очередную точку ставить на плоскости случайно, в любом месте внутри допустимой области. Эта точка – цель, к которой стремится следующая, невидимая точка: каждый следующий кадр её координаты изменяются на k * векторИзТекущегоПоложения-в-Цель:x = x + k * (xTarget - x);
y = y + k * (yTarget - y);
Так «преследователь» замедляется, по мере приближения к цели, никогда её не достигая. 
Эта невидимая точка – не одна. К ней, как к цели, стремится следующая. К той ещё одна. Наконец, сама муха по этому закону стремится к хвосту этой цепи - очередной точке.
Чем больше звеньев в такой цепи, тем плавнее получается кривая. При приближении мухи к цели ближе, чем на D, генерится следующая случайная цель.
Сделал рабочий пример.
Можно поменять алгоритм и сделать, скажем, линейную скорость постоянной. Или случайно варьировать параметры k и D – от этого поменяется скорость и траектория от плавной ближе к ломаной.
помимо сплайнов, есть еще много других видов фигур. Простейший вариант - задавайте точку назначения рандомно и для плавности движения используйте формулу newpos=K*pos+(1-K)posz, где pos - текущая позиция в векторной форме, posz - заданная позиция. Чем больше К, тем более плавными будут кривые, но без забросов. Можно усложнить для красоты, но тогда придется разбираться в дифф.урах.