Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.05.04;
Скачать: CL | DM;

Вниз

Как повернуть вектор к вектору на определённый процент?   Найти похожие ветки 

 
Матриц   (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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
2-1207655460
molodoi
2008-04-08 15:51
2008.05.04
Проблема с динамическим добавлением полей


15-1206431140
Alien1769
2008-03-25 10:45
2008.05.04
Ошибка востановления базы


2-1207470775
malyar
2008-04-06 12:32
2008.05.04
sql запросы без sql сервера


2-1207726269
cvg
2008-04-09 11:31
2008.05.04
Помогите найти ошибку в небольшой функции!


15-1206102762
Kolan
2008-03-21 15:32
2008.05.04
Image Button какой выбрать?