room
Contents
clear
close all
load calib1
load Tw
BoardPoints = boardset.BoardPoints;
worldPoints = boardset.WorldPoints;
XX = [worldPoints zeros(64,1)]/12;
room size
wx=30.2;
wy=26.3;
y1 = 7 + 1.5/12;
x1 = 6.5/12;
pt1=[wx-8.12,3];
u2 = 5;
w2 = 2;
x2 = 3;
pt2=[pt1(1), wy-19.5/12];
y3 = 19.5/12;
vtx = [0 0; pt1(1) 0; pt1(1) pt1(2); pt1(1)+2 pt1(2); pt1(1)+2 0; ...
wx-x1 0; wx-x1 y1; wx y1; wx wy; ...
pt2(1)+2 wy; pt2(1)+2 pt2(2); pt2(1) pt2(2); pt2(1) wy; ...
pt2(1)-12 wy; 4 wy-3; 0 wy-3; 0 0];
N = size(vtx,1);
plot3(vtx(:,1),vtx(:,2),zeros(N,1),'k-');
hold on
plot3(vtx(:,1),vtx(:,2),ones(N,1)*9,'k-');
plot3(0,0,0,'mo','MarkerSize',7);
d = [1; 1];
for n=1:N-1
plot3(vtx(n,1)*d,vtx(n,2)*d,[0; 9],'k-');
end
plot3(wx-8.12-12,wy,0,'ks','MarkerSize',5);
pos = [17.5844 12.9357 4.6676];
pos = [17.7 13.2 4.6676];
plot3(pos(1),pos(2),pos(3),'r*','MarkerSize',7);
hold off
xlabel('x-axis');
ylabel('y-axis');
zlabel('a-axis');
view(160,30);
axis equal
R = [0 0 -1; -1 0 0; 0 1 0];
T = pos - Tw(4,:)*R;
YY = XX * R + ones(length(XX),1)*T;
show_cboard(YY,1);
R = [1 0 0; 0 0 -1; 0 1 0];
T = pos - Tw(5,:)*R;
YY = XX * R + ones(length(XX),1)*T;
show_cboard(YY,2);
T = pos - Tw(7,:)*R;
YY = XX * R + ones(length(XX),1)*T;
show_cboard(YY,3);
R = [0 0 -1; 0 1 0; 1 0 0];
T = pos - Tw(8,:)*R;
YY = XX * R + ones(length(XX),1)*T;
show_cboard(YY,1);
T = pos - Tw(9,:)*R;
YY = XX * R + ones(length(XX),1)*T;
show_cboard(YY,2);
R = [-1 0 0; 0 0 -1; 0 -1 0];
T = pos - Tw(10,:)*R;
YY = XX * R + ones(length(XX),1)*T;
show_cboard(YY,1);
T = pos - Tw(13,:)*R;
YY = XX * R + ones(length(XX),1)*T;
show_cboard(YY,3);
R = [ 0 0 -1; 1 0 0; 0 -1 0];
T = pos - Tw(11,:)*R;
YY = XX * R + ones(length(XX),1)*T;
show_cboard(YY,2);
T = pos - Tw(14,:)*R;
YY = XX * R + ones(length(XX),1)*T;
show_cboard(YY,4);
R = [0 -1 0; 0 0 1; -1 0 0];
T = pos - Tw(24,:)*R;
YY = XX * R + ones(length(XX),1)*T;
show_cboard(YY,1);
-Tw(24,3)
wx-pos(2)
R = [0 0 -1; -1 0 0; 0 1 0];
T = pos - Tw(3,:)*R;
YY = XX * R + ones(length(XX),1)*T;
show_cboard(YY,2);
disp('difference between front and middle distance to right wall');
disp(Tw(3,3)-Tw(4,3));
fprintf("slant angle %g\n",atan2(3,4)*180/pi);
ans =
17.2289
ans =
17
difference between front and middle distance to right wall
2.9840
slant angle 36.8699
view(180,90);