Здравствуйте.
Нужно доработать пиксельное искажение в canvas, описанное здесь:
http://jsfiddle.net/CDKXm/
Судя по всему эти три строчки отвечают за выпуклую полусферу:
var k = Math.sin((128-r)/128*Math.PI/2);
xx = 128+Math.cos(a)*r/(k+1);
yy = 128+Math.sin(a)*r/(k+1);
Нужно:
1 - формула вогнутой полусферы.
2 - добавить переменную, чтобы можно было регулировать выпуклость/вогнутость.
По регулировке есть это:
http://jsfiddle.net/xR5SV/ но не совсем то, т.к. надо в прелах заданной окружности не увеличивая границы изображения.
Еще один похожий вариант с полусферой здесь
http://jsfiddle.net/UF4PK/ но формула несколько другая.
Тому кто поможет полагается премия. Не берусь судить насколько это сложно, поэтому по оплате жду ваших предложений.