Матрица с несколькими сдвигами как комбинация вращения, неравномерного масштаба и вращения?

Мне нужно было нарисовать несколько FormData «на лету» и объектный способ работал хорошо

var forms = {}

Тогда в моих циклах мне нужно было создать данные формы, которые я использовал

forms["formdata"+counter]=new FormData();
forms["formdata"+counter].append(var_name, var_value);
0
задан runevision 17 January 2019 в 10:56
поделиться

1 ответ

(полный) SVD приближает вас. Это дает для матрицы 3x3 A

A = U*S*V'

, где все матрицы 3x3, S диагональна, а U и V ортогональны. К сожалению, U и V не могут быть вращениями, то есть они могут иметь определитель -1.

Один из возможных способов - вычислить определитель U и, если он равен -1, заменить его на

U~ = U * diag(-1,1,1) (ie negate the first col of U)

и заменить S на

S~ = S*diag( -1, 1, 1) (ie negate the top left elt of S)
[117 ] И затем аналогично для V (хотя сейчас, из-за транспонирования вы хотите отрицать первый ряд V)

0
ответ дан dmuir 17 January 2019 в 10:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: