動機
matlabのplot3は、軸ラベルが見難く、
加えて、軸が原点を通っていない
目的
原点を通るx,y,z軸をプロットし、
plot3のベースとする。
function [ Handle ] = HandlePlot3( varargin )
% ハンドルを返す
% 軸の範囲を単位ベクトル以外にしたければ、
% x,y,zの3要素を設定する
if nargin <= 2; valZ = 1;
else valZ = varargin{3}; end;
if nargin <= 1; valY = 1;
else valY = varargin{2}; end;
if nargin == 0; valX = 1;
else valX = varargin{1}; end;
AZ = -60;
EL = 15;
x1 = [ 0 , valX ]';
y1 = [ 0 , 0 ]';
z1 = [ 0 , 0 ]';
x2 = [ 0 , 0 ]';
y2 = [ 0 , valY ]';
z2 = [ 0 , 0 ]';
x3 = [ 0 , 0 ]';
y3 = [ 0 , 0 ]';
z3 = [ 0 , valZ ]';
xx = [ x1 ; x2 ; x3];
yy = [ y1 ; y2 ; y3];
zz = [ z1 ; z2 ; z3];
Handle = figure;
hold on;grid on;axis square;
plot3(xx,yy,zz, 'Marker','^' ,'LineWidth', 2 ,'Color' , 'k');
view( AZ , EL );
xlabel('x');
ylabel('y');
zlabel('z');
%軸の反転
set(gca,'XDir','rev','YDir','rev');
hold off;
end
