3D и матрицы трансформации
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
3D и матрицы трансформации - 2010-07-28 20:30:28.510000
|
|
|
sbk
Сообщений: 144
Оценки: 0
Присоединился: 2008-12-20 19:01:57.273333
|
Я пишу 3D графический движок, и вот возникла проблема: я создал свой класс матрицы, а в ней функцию "CreateScale" принимающую одно значение типа float. Сама матрица создается так: public static Matrix CreateScale(float scale)
{
Matrix matrix = new Matrix();
matrix.M11 = scale;
matrix.M22 = scale;
matrix.M33 = scale;
matrix.M44 = 1f;
return matrix;
} При создании нового экземпляра класса матрица инициализироватся нулями. Но если применить эту матрицы к вектору, то вектор остается неизменным даже при scale = infinity. Умножение матрицы на вектор сделано правильно т.к. при умножении вектора на матрицу вращения вокруг оси ОХ(или ОУ, или ОZ) всё хорошо, и вектор нормально вращается. И еще трансформация вектора не работает только в перспективной проекции, в ортогональной все нормально.Можете подсказать что не правильно. Спасибо за внимание P.S. Это все пишется на .NET 4.0
|
|
|
RE: 3D и матрицы трансформации - 2010-08-02 22:03:24.323333
|
|
|
Meliborn
Сообщений: 294
Оценки: 0
Присоединился: 2009-06-17 16:06:59.840000
|
3Д двиг на дотнете?
|
|
|
RE: 3D и матрицы трансформации - 2010-08-02 23:08:01.603333
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Очень мало кода ;)
|
|
|
RE: 3D и матрицы трансформации - 2010-08-03 00:24:11.783333
|
|
|
sbk
Сообщений: 144
Оценки: 0
Присоединился: 2008-12-20 19:01:57.273333
|
Тогда вот четыре класса: вектор, модель объекта, матрица, и само "устройство" вывода графики. 2 Meliborn, ну 3D двигом это сложно назвать, это просто для обучения.
|
|
|
RE: 3D и матрицы трансформации - 2010-08-03 10:44:55.766666
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Открыл матрицы… страшно… Есть же нормальные массивы и циклы, зачем так извращаться?! Тут же хрен найдёшь ошибку. П.С. почему матрица - класс, а не структура? Много ненужных приведений типов. И т.п. В общем, нет времени на нормальный код ревью, уж извиняй ^^
|
|
|
RE: 3D и матрицы трансформации - 2010-08-03 11:55:31.753333
|
|
|
sbk
Сообщений: 144
Оценки: 0
Присоединился: 2008-12-20 19:01:57.273333
|
Такое извращение сделано для скорости, хоть она и не критична, но так будет работать немного быстрее чем с использованием массивов, для перебора которых нужно использовать циклы. А матрицу я сделал классом по привычке.
|
|
|
RE: 3D и матрицы трансформации - 2010-08-03 13:00:36.743333
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Думаешь ты выиграешь больше времени, чем у тебя сожрёт динамическое выделение памяти?
|
|
|
RE: 3D и матрицы трансформации - 2010-08-03 13:19:17.300000
|
|
|
sbk
Сообщений: 144
Оценки: 0
Присоединился: 2008-12-20 19:01:57.273333
|
Думал, пока Вы не спросили об этом ;)
|
|
|
|
|