⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 reflectionmatrixfromvecpoint.m

📁 Matlab程序
💻 M
字号:
function M = ReflectionMatrixFromVecPoint( vec, point )

assert('length(vec)==3')
assert('abs( norm(vec)-1 ) < 10*eps')
assert('length(point)==3')


nx = vec(1);
ny = vec(2);
nz = vec(3);

px = point(1);
py = point(2);
pz = point(3);



M(1,:) = [          -nx^2+nz^2+ny^2,                 -2*ny*nx,                 -2*nz*nx, 2*nx*(nx*px+ny*py+nz*pz)];
M(2,:) = [                 -2*ny*nx,           nx^2+nz^2-ny^2,                 -2*nz*ny, 2*ny*(nx*px+ny*py+nz*pz)];
M(3,:) = [                 -2*nz*nx,                 -2*nz*ny,           nx^2+ny^2-nz^2, 2*nz*(nx*px+ny*py+nz*pz)];
M(4,:) = [                        0,                        0,                        0,           nx^2+nz^2+ny^2];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -