0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026 function plot(Q, off, fmt, color)
0027
0028
0029 if nargin < 2,
0030 off = [0 0 0];
0031 end
0032 if nargin < 3,
0033 fmt = '%c';
0034 end
0035 if nargin < 4,
0036 color = 'b';
0037 end
0038
0039 o = [0 0 0]';
0040 x1 = Q*[1 0 0]';
0041 y1 = Q*[0 1 0]';
0042 z1 = Q*[0 0 1]';
0043
0044 get(gca, 'Tag')
0045 if strcmp(get(gca, 'Tag'), 'trplot') == 0,
0046 fprintf('No tag\n');
0047 clf
0048 axes
0049 set(gca, 'Tag', 'trplot')
0050 fprintf('set tag\n');
0051 xlabel( 'X');
0052 ylabel( 'Y');
0053 zlabel( 'Z');
0054 end
0055 ih = ishold;
0056 hold on
0057 plot3([0;x1(1)]+off(1), [0; x1(2)]+off(2), [0; x1(3)]+off(3), color);
0058 h = text(off(1)+x1(1), off(2)+x1(2), off(3)+x1(3), sprintf(fmt, 'X'));
0059 set(h, 'Color', color);
0060
0061 plot3([0;y1(1)]+off(1), [0; y1(2)]+off(2), [0; y1(3)]+off(3), color);
0062 h = text(off(1)+y1(1), off(2)+y1(2), off(3)+y1(3), sprintf(fmt, 'Y'));
0063 set(h, 'Color', color);
0064
0065 plot3([0;z1(1)]+off(1), [0; z1(2)]+off(2), [0; z1(3)]+off(3), color);
0066 h = text(off(1)+z1(1), off(2)+z1(2), off(3)+z1(3), sprintf(fmt, 'Z'));
0067 set(h, 'Color', color);
0068 grid on
0069 if ~ishold,
0070 hold off
0071 end
0072 axis equal