???
Математика на уровне МГУ

Results 1 to 25 of 268

Thread: IL-2 JoyControl - настройка джойстиков в игре

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #6
    Забанен Orion33's Avatar
    Join Date
    Jul 2004
    Location
    левый берег Невы ;)
    Age
    42
    Posts
    1,209

    Ответ: IL-2 JoyControl

    Олег, все проще простого

    Общий вид линейного уравнения:

    y=a+b(x-d), где
    y - функция
    x - аргумент
    a - коэффициент сдвига по вертикали
    d - коэффициент сдвига по горизонтали
    b - коэффициент пропорциональности

    Сдвиг по горизонтали нам нафиг не нужен, поэтому кладем d=0.

    Далее. Чтобы линейная функция стала нелинейной, надо сделать так, чтобы коэффициент пропорциональности b сам зависил от х. Раз мы хотим, чтобы зависимость была экспоненциальная, то, стало быть, функция должна быть следующая:

    b=b*exp(c(x-d)), где
    d - коэффициент сдвига по горизонтали
    c - коэффициент наклона или нелинейности

    d=0, мы это приняли раньше. Когда с=0, то вся экспонента тождественна единице, и функция абсолютна линейна. Когда с=1, то характеристика имеет явно выраженную нелинейность. Итого получается функция вида

    y=a+bx*exp(cx)

    Идея задавать начальное и конечное значение мне нравится. Значит, надо решать систему уравнений:

    y1=a+bx1*exp(cx1)
    y2=a+bx2*exp(cx2)

    где пара (x1,y1) есть начальная точка кривой, причем x1=0, а пара (x2,y2) - конечная, причем x2=10. Ну а y1 и y2 задается ручками. При решении этой системы и находятся необходимые коэффициенты а и b. Т.е.

    a=y1
    b=(y2-y1)/(10*exp(c*10))

    Пример можно поглядеть в экселевском файле. Удачи
    Attached Files Attached Files

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •