
3차원 임의의 벡터에 수직인 평면의 각도에 라벨을 붙이려고 합니다. 레이블
$\omega t$
에 XY()
XY(), XZ() 및 YZ()의 조합을 곱하려고 시도했지만 성공하지 못했습니다. 제안이 있나요?
settings.render=6;
settings.outformat="pdf";
usepackage("bm");
// import modules
import graph3;
import three;
import solids;
// overall settings
currentprojection=orthographic(.25,.5,.1);
viewportmargin=(10,10);
size(6cm);
currentlight=((3,3,0));
// variable parameters
real r=1;
real radio=sqrt(1-(cos(pi/8))^2);
real theta1=0, theta2=112.5;
real phi1=0, phi2=65;
// axes
xaxis3("$\bm{e}_1$",0,r,black,Arrow3);
yaxis3("$\bm{e}_2$",0,r,black,Arrow3);
zaxis3("$\bm{e}_3$",0,r,black,Arrow3);
//This draws a rotated frame theta=pi/8, varphi=pi/8
triple x3=(0.3535533905932738,0.1464466094067262,0.9238795325112868);
triple x2=(-0.3826834323650898,0.9238795325112868,0);
triple x1=(0.8535533905932738,0.3535533905932738,-0.3826834323650898);
triple centro=cos(pi/8)*x3;
triple spinproyxy=(-0.8741514406663723,0.4032814824381883,0.2705980500730985);
draw(O--x2,black+dashed,Arrow3,L=Label("$\bm{e}_2'$",position=EndPoint));
draw(O--x1,black+dashed,Arrow3,L=Label("$\bm{e}_1'$",position=EndPoint));
draw(O--x3, black+dashed,Arrow3,L=Label("$\bm{e}_3'$", position=EndPoint,SE));
//Circle[![enter image description here][1]][1]
path3 mycircleB=circle(c=O,r=1,normal=x3);
draw(surface(mycircleB),gray+opacity(.3));
draw(mycircleB,black+opacity(.3));
//This draws the angle ometa t
draw(arc(c=O,x1*.2,x2*.2, normal=x3), black+linewidth(.5pt),Arrow3(TeXHead2),L=Label("XY()*$\Large\omega t$", position=MidPoint,S));
답변1
x1
나는 당신이 등등 에 대한 당신의 표현에 어떻게 도달했는지 모르겠습니다 . 입자 데이터 그룹의 표준 규칙에서 에 의해 형성된 직교 행렬은 귀하의 의견과 일치하는 (x1,x2,x3)^T
혼합 각도 와 귀하의 의견과 거의 일치하는 를 갖습니다. 그러나 규칙은 다를 수 있습니다. 어쨌든 빼기 기호를 도입하고 변환하면 합리적 으로 보이는 결과를 얻습니다. 이 빼기 기호는 규칙 문제일 수 있습니다. 또는 더 나은 회전 매개변수가 있을 가능성이 더 높습니다. 계산 방법에 대한 자세한 내용을 제공하면 꽤 도움이 될 것입니다 .theta1=pi/8
theta2=3*pi/8
XY()
rotate(22.5,Y)*rotate(-22.5,Z)
(x1,x2,x3)
\documentclass{standalone}
\usepackage{asypictureB}
\standaloneenv{asypicture}
\begin{document}
\begin{asypicture}{name=disc}
settings.outformat = "pdf";
settings.prc = false;
settings.render = 0;
usepackage("bm");
// import modules
import graph3;
import three;
import solids;
// overall settings
currentprojection=orthographic(.25,.5,.1);
viewportmargin=(10,10);
size(6cm);
currentlight=((3,3,0));
// variable parameters
real r=1;
real radio=sqrt(1-(cos(pi/8))^2);
real theta1=0, theta2=112.5;
real phi1=0, phi2=65;
// axes
xaxis3("$\bm{e}_1$",0,r,black,Arrow3);
yaxis3("$\bm{e}_2$",0,r,black,Arrow3);
zaxis3("$\bm{e}_3$",0,r,black,Arrow3);
//This draws a rotated frame theta=pi/8, varphi=pi/8
triple x3=(0.3535533905932738,0.1464466094067262,0.9238795325112868);
triple x2=(-0.3826834323650898,0.9238795325112868,0);
triple x1=(0.8535533905932738,0.3535533905932738,-0.3826834323650898);
triple centro=cos(pi/8)*x3;
triple spinproyxy=(-0.8741514406663723,0.4032814824381883,0.2705980500730985);
draw(O--x2,black+dashed,Arrow3,L=Label("$\bm{e}_2'$",position=EndPoint));
draw(O--x1,black+dashed,Arrow3,L=Label("$\bm{e}_1'$",position=EndPoint));
draw(O--x3, black+dashed,Arrow3,L=Label("$\bm{e}_3'$", position=EndPoint,SE));
//Circle
path3 mycircleB=circle(c=O,r=1,normal=x3);
draw(surface(mycircleB),gray+opacity(.3));
draw(mycircleB,black+opacity(.3));
//This draws the angle omega t
draw(arc(c=O,x1*.2,x2*.2, normal=x3), black+linewidth(.5pt),Arrow3(TeXHead2),
L=Label(rotate(22.5,Y)*rotate(-22.5,Z)*XY()*"$\Large\omega t$", position=MidPoint,S));
\end{asypicture}
\end{document}