Эффективный способ уменьшить величину вектора на определенную длину?

Допустим, у меня есть произвольный вектор A. Каков наиболее эффективный способ уменьшить величину этого вектора на произвольную величину?

Мой текущий метод) выглядит следующим образом:

Vector shortenLength(Vector A, float reductionLength) {

    Vector B = A;
    B.normalize();
    B *= reductionLength;
    return A - B;

}

Есть ли более эффективный способ сделать это? Возможно удаление квадратного корня, необходимого для нормализации B ...

9
задан kbirk 8 January 2012 в 22:36
поделиться