I want to organize the data returned by sph2cart as a matrix with vector element and all the element in matrix will perform some calculation(vector-vector or vector-scalar calculation) with a vector. Here is an example i achieve this however it's somewhat redundant, how could i make it more terse ? Thanks.
lightV = zeros(1, 1, 3); lightV(1,1,1) = 0.5; lightV(1,1,2) = 0.4; lightV(1,1,3) = 0.7; [Az El] = meshgrid(0:60:360, 0:15:90); [x y z] = sph2cart(Az*pi/180, El*pi/180, 1); refV = zeros(size(Az,1), size(Az,2), 3); radius = zeros(size(Az,1), size(Az,2)); for i = 1:size(Az,1) for j = 1:size(Az,2) refV(i,j,1) = -x(i,j); refV(i,j,2) = -y(i,j); refV(i,j,3) = z(i,j); radius(i,j) = dot(refV(i,j,:), lightV(1,1,:)); end end
Best Answer