# Cyclotron motion for an arbitrary velocity and constant magnetic field

I understand the classic examples of taking the magnetic field along the direction of a certain axis, and then analyzing the motion of a charged particle. This gives helical motion (for a general velocity $$\vec{v}$$). However, my question is how to solve for the motion $$\vec{r}(t)$$ in the case where we have the magnetic field pointing along an arbitrary direction, and given an initial velocity.

My first instinct was to rotate the whole coordinate system in order to align the magnetic field with, say, the $$z$$-axis. However, I feel like there should be an easier way to deal with this. I have the initial velocity decomposed as $$\vec{v}_i = \vec{v}_{parallel} \,\, + \vec{v}_{perpendicular} \,\,\,$$, which means the parallel part won't change in time. However, I'm unsure as to how I should go about finding the full solution for the perpendicular velocity, which will then let me find the trajectory. I have quantities like the angular frequency, the pitch, and the pitch angle, but I'm unsure if I should try to go for the full-blown rotation of the coordinate systems.

First of all, as you said you can decompose the velocity vector just as you said, where vparallel = ((v•B)/||B||)* (B cap) and vperp = v -vparallel . To solve for the perpendicular velocity of the particle at any time, you must note that its magnitude remains constant with time (since the magnetic force is always perpendicular to this component of velocity) so the only thing that's happening is that the velocity vector is just rotating through a certain angle θ in some time about the B vector, this angle turns out to be the same angle the particle subtends in its circular motion I.e $$ωt$$. The new rotated perpendicular velocity vector is given by vperp = ||vperp ||*(x1*vperp + x2*p) Where, x1= cos(θ)/||vperp|| & x2=sin(θ)/||p|| are constants & p=Bxvperp is a vector (B is the magnetic field vector). (I found this method of rotation here : https://math.stackexchange.com/questions/511370/how-to-rotate-one-vector-about-another - 1st answer). Once you have this, it's easy to get everything else. The velocity vector at time t is v = vparallel + vperp , so the position vector at any time will be r = rinitial + (vt), since this motion isn't accelerated. Also to find angular frequency $$ω$$ (which you need- to find θ) you need the time taken to complete one full loop in it's helical motion T , which you can calculate by just considering the particle's circular motion - in which case T= (2πr)/(vperp). Also the radius of this circular path r is given by r = (m||vperp||)/(q*||B||), which you get from the fact that the magnetic force provides the centripetal force in this motion. I'm sorry I didn't use vector notation anywhere, but I couldn't find out how to do that..
• Yes, I think this is indeed the right way to go. I found the answer myself, and I believe it is similar to yours. Basically, you construct a new coordinate system given by $\vec{B}$, $\vec{v}_{perp}$, and their cross product (with the magnetic field first), and then you can solve the problem as if the magnetic field is aligned along the vertical axis. – Germ Jan 22 '19 at 0:58