-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdrawcube.m
29 lines (29 loc) · 1.19 KB
/
drawcube.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
function drawcube(P,x,y,size)
x1 = x-size/2;
x2 = x+size/2;
x3 = x+size/2;
x4 = x-size/2;
y1 = y-size/2;
y2 = y-size/2;
y3 = y+size/2;
y4 = y+size/2;
c1=P*[x1;y1;0;1];c1=c1(1:2)/c1(3);
c2=P*[x2;y2;0;1];c2=c2(1:2)/c2(3);
c3=P*[x3;y3;0;1];c3=c3(1:2)/c3(3);
c4=P*[x4;y4;0;1];c4=c4(1:2)/c4(3);
c5=P*[x1;y1;size;1];c5=c5(1:2)/c5(3);
c6=P*[x2;y2;size;1];c6=c6(1:2)/c6(3);
c7=P*[x3;y3;size;1];c7=c7(1:2)/c7(3);
c8=P*[x4;y4;size;1];c8=c8(1:2)/c8(3);
line([c1(1);c2(1)],[c1(2);c2(2)],'LineWidth',2,'Color',[1 0 0]);
line([c2(1);c3(1)],[c2(2);c3(2)],'LineWidth',2,'Color',[1 0 0]);
line([c3(1);c4(1)],[c3(2);c4(2)],'LineWidth',2,'Color',[1 0 0]);
line([c4(1);c1(1)],[c4(2);c1(2)],'LineWidth',2,'Color',[1 0 0]);
line([c1(1);c5(1)],[c1(2);c5(2)],'LineWidth',4,'Color',[1 0 0]);
line([c2(1);c6(1)],[c2(2);c6(2)],'LineWidth',4,'Color',[1 0 0]);
line([c3(1);c7(1)],[c3(2);c7(2)],'LineWidth',4,'Color',[1 0 0]);
line([c4(1);c8(1)],[c4(2);c8(2)],'LineWidth',4,'Color',[1 0 0]);
line([c5(1);c6(1)],[c5(2);c6(2)],'LineWidth',6,'Color',[1 0 0]);
line([c6(1);c7(1)],[c6(2);c7(2)],'LineWidth',6,'Color',[1 0 0]);
line([c7(1);c8(1)],[c7(2);c8(2)],'LineWidth',6,'Color',[1 0 0]);
line([c8(1);c5(1)],[c8(2);c5(2)],'LineWidth',6,'Color',[1 0 0]);