clear all clc %% Zde si zvolite uhly s osami alfa=60; %uhel s osou x beta=40; %uhel s osou y %% Vzorec pro vypocet uhlu gamma: gamma=acosd(sqrt(1-cosd(alfa)^2-cosd(beta)^2)) %pro gamma < 90° gamma_vetsi_90=acosd(-sqrt(1-cosd(alfa)^2-cosd(beta)^2)); %pro gamma > 90° %% Nasledujici radky nemusite zkoumat, slouzi pouze k vykresleni kuzelu r=tand(alfa); ry=tand(beta); rz=tand(gamma); [X,Y,Z]=cylinder([0 r],50 ); [X2,Y2,Z2]=cylinder([0 rz],50 ); [X3,Y3,Z3]=cylinder([0 ry],50 ); axis([0 1,-1 1,-.5 .5]) Mx=makehgtform('translate',[0,0,0],'xrotate',pi/4,'yrotate',pi/2); My=makehgtform('translate',[0,0,0],'xrotate',pi/2,'yrotate',pi); Mz=makehgtform('translate',[0,0,0],'xrotate',0,'yrotate',0); h=surf(X,Y,Z,'Parent',hgtransform('Matrix',Mx),'LineStyle','none','FaceAlpha',0.4); hy=surf(X3,Y3,Z3,'Parent',hgtransform('Matrix',My),'LineStyle','none','FaceAlpha',0.4); %hz=surf(X2,Y2,Z2,'Parent',hgtransform('Matrix',Mz),'LineStyle','none','FaceAlpha',0.4); view([30,35]) axis equal xlabel('x') ylabel('y') zlabel('z') grid on light movegui('center') hold on %% Vykresleni smeru a0=[cosd(alfa) cosd(beta) cosd(gamma)]; b0=[cosd(alfa) cosd(beta) cosd(gamma_vetsi_90)]; quiver3(-a0(1),-a0(2),-a0(3),4*a0(1),4*a0(2),4*a0(3),'LineWidth',2) quiver3(-b0(1),-b0(2),-b0(3),4*b0(1),4*b0(2),4*b0(3),'LineWidth',2) h = gca; plot3(h.XLim, [0 0], [0 0], 'k') plot3([0, 0], h.YLim, [0 0], 'k'); plot3([0, 0], [0 0], h.ZLim, 'k'); legend('směr pro \gamma < 90°','směr pro \gamma > 90') %% Pohledy %view(0,0) %smer y/rovina xz %view(0,90) %rovina xy