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];

% plot(vtx(:,1),vtx(:,2),'k');

%

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

% this marks start of slant
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
% show image 4 (on right side of room)

% top row is direction of x-axis in classroom coordinates
% second reoow is direction of y-axis
% third row is direction of z-axis

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);
% other right-side images

R = [1 0 0; 0 0 -1; 0 1 0];
%det(R)
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);


% back side

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);


% left side

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);

% front of room

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)


% in from right side - at front

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);