📄 reflectionmatrixfromvecpoint.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 + -