· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.A&O —› Матричное уравнение

Посл.отвђт Сообщенiе


Дата: Июн 9, 2004 03:49:53 · Поправил: _DEN_

Существует матричное уравнение. Матрицы 4 x 4.

A * B = C

А и C я знаю. Требуется найти B. Здесь можно поступить таким образом. Домножим обе части на обратную к A слева:

A^(-1) * A * B = A^(-1) * С, или
B = A^(-1) * С

Вроде все просто. Теоретически. Но проблемма в том, что это дело мне надо сделать на ассемблере. Обратную матрицу можно найти по определению, можно Гаусс-Жорданом.
Вообщем вопрос в следующем. Можно ли найти B не вычисляя обратную матрицу к A, или вычислить обратную матрицу более удобным для ассемблера способом? Дело в том, что это дело я хочу в 4kIntro впихнуть, так что лучше более маленький вариант, чем более быстрый.


Дата: Июн 9, 2004 12:52:16 · Поправил: Kozyr

Сам недавно пытался сделать подобную функцию.
В аттаче лежит сишный вариант (от интела) и ассемблерный. Работает, только на матрице вида
[ 1, 0, 0, 0 ]
[ 0, 0,-1, 0 ]
[ 0, 1, 0, 0 ]
[ 0, 0, 0, 1 ]

дает сбой.
А зачем тебе обратная? Может быть можно обойтись без нее?

324114633__inverse.zip


Дата: Июн 10, 2004 01:28:46

Мне надо было выделить матрицу gluLookAt из текущей модельно-видовой. Но, спасибо за внимание, я нашел более простое и изящное решение, такое что мне даже само уравнение решать не пришлось. Это все для построения теней в случае, когда затеняемая плоскость, затеняющий объект и источник света имеют разные модельно-видовые матрицы. А аттач я уже скачал и обязательно посмотрю. Спасибо.

PS: Решение пришло в 8:00 утра после суток неспания :-)


Дата: Июн 10, 2004 18:22:32

_DEN_
Не понял зачем тебе нужна была обратная, понял, что ты обошелся без нее :)

2ALL:
Подскажите можно ли алгоритм от интела подправить, чтобы не вылетал сбой в вычислениях, когда на диагонали есть ноль.


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.088