reflectionmatrixfromvecpoint.m
来自「Matlab程序」· M 代码 · 共 21 行
M
21 行
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 + =
减小字号Ctrl + -
显示快捷键?