Форум: "Прочее";
Текущий архив: 2008.05.04;
Скачать: [xml.tar.bz2];
ВнизКак повернуть вектор к вектору на определённый процент? Найти похожие ветки
← →
Матриц (2008-03-15 06:56) [0]То есть два вектора V1 и V2. Если 0%, то значит берём вектор V1, если 100%, то вектор V2. А если промежуточное значение, то плавный поворот вокруг начала координат от одного к другому.
Можно ли это сделать быстро, без вычислений синусов и косинусов?
← →
TUser © (2008-03-15 07:21) [1]длины векторов подправь и сложи
V1 := V1 * (100 - PROCENT) / V1_length
V2 := V2 * PROCENT / V2_length
Vres := V1 + V2
будет плавно (угол между V1 И Vres на отрезке 0..100 является непрерывной и всюду дифференцируемой функцией от PROCENT)
кстати, а чем тебя не устраивают синусы?
← →
Матриц (2008-03-15 07:29) [2]Спасибо. :)
> кстати, а чем тебя не устраивают синусы?
Скоростью. А в вычислении длины надо извлекать корень. Тоже не слишком быстро.
← →
TUser © (2008-03-15 07:35) [3]Ну, процессоры сейчас быстрые. У меня реально работает код, который поворачивает произвольный вектор вокруг данной оси на заданный угол. Все сделано на векторной алгебре. Синусы там есть. На скорость не жалуюсь. Хотя тут все, конечно, от задачи зависит.
зы. Кодом сейчас не поделюсь.
← →
Матриц (2008-03-15 07:42) [4]Всё равно спасибо. :)
← →
TUser © (2008-03-15 07:51) [5]в принципе, даже если не делить на длину, то все равно будет плавно
то есть условию соотвествует (в понимании [1])
хотя, боюсь, это уже совсем не то, что тебе надо
← →
MBo © (2008-03-15 14:49) [6]Возможно, заинтересует также SLERP - сферическая линейная интерполяция, при которой промежуточный единичный вектор поворачивается по дуге большого круга сферы от начального положения к конечному.
← →
Правильный_Вася (2008-03-15 15:51) [7]а я не понял, что значит повернуть на процент
процент чего - угла, длины, отношения?
← →
MBo © (2008-03-15 16:18) [8]>Правильный_Вася
Пример - машина входит в поворот, меняется направление и сбрасывается скорость. Промежуточные значения вектора скорости можно интерполировать.
← →
Homa (2008-03-21 06:00) [9]
> MBo © (15.03.08 14:49) [6]
>
> Возможно, заинтересует также SLERP - сферическая линейная
> интерполяция, при которой промежуточный единичный вектор
> поворачивается по дуге большого круга сферы от начального
> положения к конечному.
А где взять этот SLERP ?
← →
Homa (2008-03-22 02:59) [10]Господа! Кто добрый, поделитесь пожалуйста функцийе SLERP для матрицы?
Вещь нужная. А Гугль что-то ничего толкового не находит.
← →
capkoh © (2008-03-22 13:08) [11]Насколько я знаю, с матрицами в чистом виде уже мало кто работает. В основном, все используют кватернионы, которые гораздо удобнее. В крайнем случае, если нужна матрица, в конце всех операций преобразуют результирующий кватернион в матрицу.
Кватернионы и SLERP есть тут:
http://sacredsoftware.net/tutorials/Quaternions/Quaternions.xhtml
http://www.gamedev.ru/users/wat/articles/quaternions?page=2
← →
Homa (2008-03-23 05:32) [12]А как кватерниону задать длину векторов?
← →
Homa (2008-03-25 07:52) [13]Люди!
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2008.05.04;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.005 c