obj1
place objects on a checkerboard platform
Contents
init
close all; clear % choose between openl software and opengl hardware % on my system, hardware has a funny semi-transparency effect opengl software
construct the platform
% Set the limits and select a view d = 40; ax = axes('XLim',[-d d],'YLim',[-d d],'ZLim',[-1 20]); view(3); grid on; axis equal % Set the renderer to ZBuffer or OpenGL set(gcf,'Renderer','opengl'); % set(gcf,'Renderer','zbuffer'); ht = target_board(); % Create group object and parent surfaces t1 = hgtransform('Parent',ax); set(ht,'Parent',t1); % Rz = makehgtform('zrotate',-pi/2); % set(t1,'Matrix',Rz); xlabel('x axis'); ylabel('y axis'); zlabel(' z axis'); set(gcf,'Position',[100 100 800 640]);
place a raisinbran box
hd = raisinbran(); t2 = hgtransform('Parent',ax); set(hd,'Parent',t2); Ry = makehgtform('xrotate',pi/2); Rz = makehgtform('zrotate',-20*pi/180); Txy = makehgtform('Translate',[10 8 0]); set(t2,'Matrix',Txy*Rz*Ry); drawnow
place a photocube
hc = cube(); %set(h,'Clipping','off') % Create group object and parent surfaces t3 = hgtransform('Parent',ax); set(hc,'Parent',t3) Sxy = makehgtform('scale',12); Rz = makehgtform('zrotate',120*pi/180); T1 = makehgtform('Translate',[0 0 0.5]); T2 = makehgtform('Translate',[-18 12 0]); set(t3,'Matrix',T2*Rz*Sxy*T1); drawnow;
replicate the cube
t4 = hgtransform('Parent',ax); % Parent objects and copy of objects to respective groups h2 = copyobj(hc,t2); set(h2,'Parent',t4) % Translate and rotate the new cube Rz2 = makehgtform('zrotate',-75*pi/180); T3 = makehgtform('translate',[-12 -15 0]); set(t4,'Matrix',T3*Rz2*Sxy*T1) drawnow
perspective view
camproj('Perspective'); campos([-60 -100 70]); camva(25); axis off xlabel('');ylabel('');zlabel(''); drawnow
save image
% set(gcf,'Color',[1 1 1]*0.9); f = getframe(gcf); nf = 1; filename = ['image_' int2str(nf) '.jpg']; imwrite(f.cdata,filename);