
Ich versuche, einen Winkel auf der Normalebene zu einem beliebigen Vektor in drei Dimensionen zu beschriften. Ich habe erfolglos versucht, die Beschriftung
$\omega t$
mit oder Kombinationen aus XY(), XZ() und YZ() zu multiplizieren. Irgendwelche Vorschläge?XY()
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));
Antwort1
Ich weiß nicht, wie Sie zu Ihren Ausdrücken für x1
und so weiter kommen. In den Standardkonventionen der Particle Data Group (x1,x2,x3)^T
hat die durch gebildete orthogonale Matrix die Mischwinkel theta1=pi/8
, was mit Ihren Kommentaren übereinstimmt, und theta2=3*pi/8
, was nur fast mit Ihrem Kommentar übereinstimmt. Die Konventionen können jedoch unterschiedlich sein. Wenn ich ein Minuszeichen einführe und XY()
durch transformiere rotate(22.5,Y)*rotate(-22.5,Z)
, erhalte ich in jedem Fall ein Ergebnis, das vernünftig aussieht. Dieses Minuszeichen könnte ein Konventionsproblem sein. Oder, was wahrscheinlicher ist, es könnte bessere Rotationsparameter geben. Es wäre sehr hilfreich, wenn Sie mehr Details dazu angeben würden, wie Sie berechnet haben (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}