![]() |
DirectX вектор умножить на матрицу (расчет скелетки)
Возвращаюсь к своему старому нерешенному вопросу.
Есть матрица есть точка, нужно вычислить новую позицию точки не прибегая к синусам и косинусам. Можно ли так? Код:
float weight = 0.5f; //вес точки Внятной теории ненашел |
Ответ: DirectX вектор умножить на матрицу (расчет скелетки)
не уверен, что там оператор умножения перегружен (давно не юзал встроенную математику), но помню что юзал эту функцию:
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx |
Ответ: DirectX вектор умножить на матрицу (расчет скелетки)
Оператор умножения в D3DX перегружен, но по-моему только для матриц.
Вот функции преобразования: D3DXVECTOR3 *D3DXVec3TransformCoord( D3DXVECTOR3* pOut, // Результат CONST D3DXVECTOR3* pV, // Преобразуемая точка CONST D3DXMATRIX* pM // Матрица преобразования ); D3DXVECTOR3 *D3DXVec3TransformNormal( D3DXVECTOR3 *pOut, // Результат CONST D3DXVECTOR3 *pV, // Преобразуемый вектор CONST D3DXMATRIX *pM // Матрица преобразования ); pozitiffcat, что тебе именно с весом сделать надо? Если ты хочешь физику точки сделать, то нужно искать момент инерции. Если ты принимаешь вес за, что-то другое, то можно поподробнее. |
Ответ: DirectX вектор умножить на матрицу (расчет скелетки)
Суммарный вес всех костей равен 1. Неужели так сложно догадаться, что надо тупо перемножить вершину на матрицу каждой кости, результат домножить на вес и потом все вектора сложить?
PHP код:
|
Ответ: DirectX вектор умножить на матрицу (расчет скелетки)
Цитата:
|
Часовой пояс GMT +4, время: 02:52. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot