我有一个大小为m
x n
x的法线贴图3
,其中每个像素都有一个法线向量 {Nx, Ny, Nz}。我想通过旋转矩阵独立地旋转每个法线向量。设R
为大小为m
x n
x 3
x的旋转矩阵3
,其中每个像素都有一个大小为3
x的旋转矩阵3
。
我想将每个像素的旋转矩阵乘以法线向量以获得旋转的法线向量。我正在寻找一种优化的方式来完成这项任务,因为循环遍历每个像素可能不是最好的方式。
请帮忙!!
我有一个大小为m
x n
x的法线贴图3
,其中每个像素都有一个法线向量 {Nx, Ny, Nz}。我想通过旋转矩阵独立地旋转每个法线向量。设R
为大小为m
x n
x 3
x的旋转矩阵3
,其中每个像素都有一个大小为3
x的旋转矩阵3
。
我想将每个像素的旋转矩阵乘以法线向量以获得旋转的法线向量。我正在寻找一种优化的方式来完成这项任务,因为循环遍历每个像素可能不是最好的方式。
请帮忙!!
我会尝试
res = sum( bsxfun(@times, map, R), 4 );
使用map
一个m
逐个n
法线向量3
和R
一个m
逐个n
向量的旋转。3
3
考虑一下,您可能需要使用permute
res = sum( bsxfun(@times, map, permute(R, [1 2 4 3]) ), 4 ); % transposing the vectors
或者,正如Harshit所说:
res = sum( permute( bsxfun(@times, map, R ), [1 2 4 3]), 4 ); % transposing the vectors