Difference between revisions of "Plotting Different Frames"

From New IAC Wiki
Jump to navigation Jump to search
Line 104: Line 104:
 
 
 
In the frame of the wires, the x'' axis no longer is aligned with the semi-major axis, therefore for <math>\theta=40^{\circ}, \phi=0, t=0 </math> in the DC frame
 
In the frame of the wires, the x'' axis no longer is aligned with the semi-major axis, therefore for <math>\theta=40^{\circ}, \phi=0, t=0 </math> in the DC frame
 +
 +
 +
<pre>
 +
In[153]:= ClearAll[X, \[Theta]];
 +
\[Theta] = 40;
 +
X = X /. Solve[(X + \[CapitalDelta]a)^2/a^2 == 1 && X > 0, X]
 +
 +
Out[155]= {1.68318}
 +
</pre>

Revision as of 16:39, 1 May 2017

We can define different arrays to collect the coordinates in the different frames using a passive transformation. Assuming that the intersection of the ellipse and sense wires is in the y-x plane, we will have a positive rotation, [math]R(\theta_{yx})[/math]


rFromYtoX = ( {
    {Cos[6 \[Degree]], -Sin[6 \[Degree]], 0},
    {Sin[6 \[Degree]], Cos[6 \[Degree]], 0},
    {0, 0, 1}
   } );
rFromXtoY = ( {
    {Cos[6 \[Degree]], Sin[6 \[Degree]], 0},
    {-Sin[6 \[Degree]], Cos[6 \[Degree]], 0},
    {0, 0, 1}
   } );
yxPoints = constant\[Theta];
constant\[Theta]yx = constant\[Theta];
constant\[Theta]yxRotated = constant\[Theta];
constant\[Theta]xyz = constant\[Theta];
constant\[Theta]xyzRotated = constant\[Theta];

RowLengths = Table[{Nothing}, {i, 1, 36}];
For[rows = 1, rows < 37, rows++,
  RowLengths[[rows]] = Length[constant\[Theta][[rows]]];
  For[columns = 1, columns < RowLengths[[rows]] + 1, columns++,
   \[Theta] = rows + 4;
   \[Phi] = constant\[Theta][[rows, columns, 1]];
   constant\[Theta]yx[[rows, columns]] = {y, 
     Sqrt[a^2 (1 - y^2/b^2)] - \[CapitalDelta]a};
   constant\[Theta]xyz[[rows, 
     columns]] = {constant\[Theta]yx[[rows, columns, 2]], 
     constant\[Theta]yx[[rows, columns, 1]], 0};
   If[constant\[Theta][[rows, columns, 1]] < 0,
    constant\[Theta]yx[[rows, columns, 
      1]] = -constant\[Theta]yx[[rows, columns, 1]];
    constant\[Theta]xyz[[rows, columns, 
      2]] = -constant\[Theta]xyz[[rows, columns, 2]];
    ];
   constant\[Theta]xyzRotated[[rows, columns]] = 
    rFromYtoX.{constant\[Theta]xyz[[rows, columns, 1]], 
      constant\[Theta]xyz[[rows, columns, 2]], 
      constant\[Theta]xyz[[rows, columns, 3]]};
   
   constant\[Theta]yxRotated[[rows, 
     columns]] = {constant\[Theta]xyzRotated[[rows, columns, 2]], 
     constant\[Theta]xyzRotated[[rows, columns, 1]]};
   yxPoints[[rows, columns]] = {y, 
     Sqrt[a^2 (1 - y^2/b^2)] - \[CapitalDelta]a, 
     constant\[Theta][[rows, columns, 1]], 
     constant\[Theta][[rows, columns, 2]]};
   
   ]
  ];
ClearAll[\[Theta], \[Phi]];
DesiredyxPoints = Desiredconstant\[Theta];
Desiredconstant\[Theta]yx = Desiredconstant\[Theta];
Desiredconstant\[Theta]yxRotated = Desiredconstant\[Theta];
Desiredconstant\[Theta]xyz = Desiredconstant\[Theta];
Desiredconstant\[Theta]xyzRotated = Desiredconstant\[Theta];

DesiredRowLengths = Table[{Nothing}, {i, 1, 36}];
For[rows = 1, rows < 37, rows++,
  DesiredRowLengths[[rows]] = 
   Length[Desiredconstant\[Theta][[rows]]];
  For[columns = 1, columns < DesiredRowLengths[[rows]] + 1, 
   columns++,
   \[Theta] = rows + 4;
   \[Phi] = Desiredconstant\[Theta][[rows, columns, 1]];
   Desiredconstant\[Theta]yx[[rows, columns]] = {y, 
     Sqrt[a^2 (1 - y^2/b^2)] - \[CapitalDelta]a};
   Desiredconstant\[Theta]xyz[[rows, 
      columns]] = {Desiredconstant\[Theta]yx[[rows, columns, 2]], 
     Desiredconstant\[Theta]yx[[rows, columns, 1]], 0};
   If[Desiredconstant\[Theta][[rows, columns, 1]] < 0,
    Desiredconstant\[Theta]yx[[rows, columns, 
       1]] = -Desiredconstant\[Theta]yx[[rows, columns, 1]];
    Desiredconstant\[Theta]xyz[[rows, columns, 
       2]] = -Desiredconstant\[Theta]xyz[[rows, columns, 2]];
    ];
   Desiredconstant\[Theta]xyzRotated[[rows, columns]] = 
    rFromYtoX.{Desiredconstant\[Theta]xyz[[rows, columns, 1]], 
      Desiredconstant\[Theta]xyz[[rows, columns, 2]], 
      Desiredconstant\[Theta]xyz[[rows, columns, 3]]};
   
   Desiredconstant\[Theta]yxRotated[[rows, 
      columns]] = {Desiredconstant\[Theta]xyzRotated[[rows, columns, 
       2]], Desiredconstant\[Theta]xyzRotated[[rows, columns, 1]]};
   DesiredyxPoints[[rows, columns]] = {y, 
     Sqrt[a^2 (1 - y^2/b^2)] - \[CapitalDelta]a, 
     Desiredconstant\[Theta][[rows, columns, 1]], 
     Desiredconstant\[Theta][[rows, columns, 2]]};
   
   ]
  ];
ClearAll[\[Theta], \[Phi]]


The parameter's range changes from the DC frame with 0<t<2[math]\pi[/math], since

[math]x(t=0)=a\ cos\ t = a\ cos\ 0 =a = a\ cos\ 2 \pi =x(t=2 \pi)[/math]


[math]y(t=0)=b\ sin\ t = b\ sin\ 0 = 0 = b\ sin\ 2 \pi = y(t=2 \pi)[/math]

In the frame of the wires, the x axis no longer is aligned with the semi-major axis, therefore for [math]\theta=40^{\circ}, \phi=0, t=0 [/math] in the DC frame


In[153]:= ClearAll[X, \[Theta]];
\[Theta] = 40;
X = X /. Solve[(X + \[CapitalDelta]a)^2/a^2 == 1 && X > 0, X]

Out[155]= {1.68318}