Originally posted by GO!
В этом случае получается привязка к осям X и Y, обзор как бы прилипает к осям. Я бы сделал так:
Код:
var
  R,Rmax : Double;
//..............
  Rmax:=sqrt(XMax*XMax+YMax*YMax);
//..............
  R:=sqrt(X*X+Y*Y);
  R:=YfromX(R/Rmax);
  X:=X*R;
  Y:=Y*R;
Теперь кривая отклика зависит только от расстояния от текущих координат до центра экрана.
Есть один большой минус при таком подходе:
Оси перестают быть независимыми. То есть отклонили мы руль высоты немного, и элероны максимально вывернули. Так вот, руль высоты сразу на элероны среагирует, для него уже будет действовать почти максимальное значение кривой отклика, а нужно было лишь чуть чуть.
С одной стороны это не такое уж и большое отклонение будет, с другой чувствительность очень сильно может возрасти.
Так что для осей, которые по сути дела разными вещами управляют как раз "прилипание" и является идеальным вариантом