viewの視点と角度

load mri;
D=squeeze(D);
figure('colormap',map);
Ds=smooth3(D);
hiso=patch(isosurface(Ds,5),'FaceColor',[1,.75,.65],'EdgeColor','none');
isonormals(Ds,hiso);
hcap=patch(isocaps(D,5),'FaceColor','interp','EdgeColor','none');
view(35,30);
axis tight;
daspect([1,1,.4]);
set(gcf,'color',[1,1,1]);% 追加
lightangle(45,30);
set(gcf,'Renderer','zbuffer');
lighting phong;
set(hcap,'AmbientStrength',.6);
set(hiso,'SpecularColorReflectance',0,'SpecularExponent',50);

% 角度→視点
[az,el]=view([40,20]); % azは-360〜360、elは-90〜90
az=(180-az)/180*pi;el=el/180*pi;
v=[sin(az)*cos(el),cos(az)*cos(el),sin(el)];
[az2,el2]=view(v); %頭のMRIは回転せず
% 変換行列→角度
az=-142;el=-35;
T=view([az,el]);
az2=atan2(T(1,2)/sum(T(1:3,2).^2).^(1/2),T(1,1)/sum(T(1:3,1).^2).^(1/2));
el2=-asin(T(3,3)/sum(T(1:3,3).^2).^(1/2));
view([az2,el2]/pi*180);% 頭のMRIは回転せず

これで準備完了。角度と視点と変換行列の関係は以下のようです。

view関数は視点と角度の2つの引数を取り、角度と変換行列の2つの帰り値をとります。
その関係がよく分からなかったので調べました。

ヘルプの「スカラー ボリューム データの可視化の技法」にある頭のMRIを使います。