У меня есть нормальная карта размера m
x n
x 3
, где каждый пиксель имеет нормальный вектор {Nx, Ny, Nz}. Я хочу повернуть каждый нормальный вектор независимо матрицей вращения. Пусть R
является матрицей вращения размера m
x n
x x 3
, где каждый пиксель имеет матрицу вращения размером 3
x 3
.3-мерное умножение матрицы в matlab
Я хочу умножить матрицу поворота на каждый пиксель на нормальный вектор, чтобы получить нормальные векторы с поворотным . Я ищу оптимизированный способ выполнения задачи, поскольку цикл по каждому пикселю может быть не лучшим.
Пожалуйста, помогите!
Привет Шай, спасибо за ответ! Вращение, о котором я говорю, - это умножение матрицы, поэтому для каждого пикселя я хотел бы найти Rij * Nij, где Rij - матрица вращения 3x3 пикселя (i, j), а Nij - вектор нормали 3x1 пикселя (i , j), результатом будет 3x1 повернутый нормальный вектор. Является ли ваше решение таким же? Если да, то, пожалуйста, объясните, как это делается. С уважением, –
@HarshitAgrawal Вы знакомы с 'bsxfun'? – Shai
да, он применяет элемент мудрый двоичный оператор. –