나는 이제는 내게 도움이되는 대답 덕분에 무언가를 만들었습니다. 나는 호를 그릴 때 약간 다른 방법을 사용했다. 여기
hold on
r =1;
phi = pi/4;
theta = pi/4;
%% plot cartesian coordinates:
x0=0;
y0=0;
z0=0;
plot3(x0+[0, .8, nan, 0, 0, nan, 0, 0], y0+[0, 0, nan, 0, .8, nan, 0, 0], z0+[0, 0, nan, 0, 0, nan, 0, .8],'k')
text([x0+.85, x0, x0], [y0, y0+.8, y0], [z0, z0, z0+.85], ['$x$';'$y$';'$z$'],'FontSize',14, 'Interpreter','latex');
%% plot the ball
line('xdata',sphcart(r,theta,phi,'x'),'ydata',sphcart(r,theta,phi,'y'),'zdata',sphcart(r,theta,phi,'z'),'marker','.','markersize',5);
%% Plot the arm
line('xdata',[0 sphcart(r,theta,phi,'x')],'ydata',[0 sphcart(r,theta,phi,'y')],'zdata',[0 sphcart(r,theta,phi,'z')]);
%% Plot the projections
line('xdata',[0 sphcart(r,theta,phi,'x')],'ydata',[0 sphcart(r,theta,phi,'y')],'zdata',[0 0],'linestyle','--');
%% Line from xy plane to point
line('xdata',[sphcart(r,theta,phi,'x') sphcart(r,theta,phi,'x')],'ydata',[sphcart(r,theta,phi,'y') sphcart(r,theta,phi,'y')],'zdata',[0 sphcart(r,theta,phi,'z')],'linestyle','--')
%% label r
text(.5,.5,.8,'$r$','FontSize',14, 'Interpreter','latex')
%% change view point
az = 100;
el = 45;
view(az,el)
%% get rid of axis labels
set(gca, 'XTick', [], 'YTick', [], 'ZTick', [])
set(gca, 'xcolor', 'w', 'ycolor', 'w','zcolor', 'w') ;
%% arc (xy)
theta = [0: pi/4*0.0001 :pi/4];
phi = linspace(0,0,10001);
r = linspace(0.25,0.25,10001);
[X,Y,Z]=sph2cart(theta,phi,r);
plot3(X,Y,Z,'Color','k');
% label arc
text(.3,0.08,0,'$\theta$','FontSize',14,'Interpreter','latex')
%% arc down from z
phi = [pi/4: pi/4*0.0001 :pi/2];
theta = linspace(pi/4,pi/4,10001);
r = linspace(0.25,0.25,10001);
[X,Y,Z]=sph2cart(theta,phi,r);
plot3(X,Y,Z,'Color','k');
% label arc
text(.1,.08,0.4,'$\phi$','FontSize',14,'Interpreter','latex')
플롯이다
힌트 : 구면 좌표에서 직교 변환 행렬을 생성 및 직교 것들을 플롯. 묻는 질문에 대한 힌트 : 당신이 실제로 시도한 것을 알기 위해 [mcve]에 코드와 함께 자신이 시도한 것을 더 많이 나열하십시오. 이 경우에 도움이 될 가능성이 훨씬 큽니다. – Adriaan
감사합니다. 지금까지 관리했던 것을 추가했습니다. =) 힌트를 생각하고 내가 얻은 것을 게시 할 것입니다. – lily23