We want to input a unit vector which is the north pole. Three coordinates $(x,y,z)$. The equation that evaluates the rotation for the tikz-3dplot coordinate system in the manual tikz-3dplot is the equation (2.3) which is a product of three rotation matrices. Since we are interested ONLY on known where the north pole (0,0,1) is moved after rotation we can multiply the matrix (2.3) by (0,0,1) and get that the new north pole N=(x_3, y_3, z_3). By matching the three equations we see that only the y_3 and z_3 are involved. It is easy to see that beta=arccos(z_3) , and if beta is no 0, then alpha=arcsin(y_3/beta). The algorithm is easy to implement and it is called here \getEquator. I wrote a little macro also to plot the vectors leaving the sphere at the north pole. The whole algorithm is next:
\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{enumerate}
\usepackage{tikz}
\usepackage{xcolor}
\usepackage{tikz-3dplot}
\usepackage{hyperref}
\usepackage{ifthen}
\usepackage{pgfplots}
\usetikzlibrary{calc,3d,intersections, positioning,intersections,shapes}
\pgfplotsset{compat=1.11}
\newcommand\DrawVect[5]
{
\def\xt{#1}
\def\yt{#2}
\def\zt{#3}
\def\mycolor{#4}
\def\myR{#5}
% end of vector
\pgfmathsetmacro{\xte}{\myR*\xt}
\pgfmathsetmacro{\yte}{\myR*\yt}
\pgfmathsetmacro{\zte}{\myR*\zt}
\pgfmathsetmacro{\xtet}{\myR*\xt + \xt/\myR}
\pgfmathsetmacro{\ytet}{\myR*\yt + \yt/\myR}
\pgfmathsetmacro{\ztet}{\myR*\zt + \zt/\myR}
\draw[-latex, color=\mycolor, line width=1] (\xte,\yte,\zte) -- (\xtet , \ytet ,\ztet);
}
\newcommand\getEquator[2]
{
\def\yt{#1}
\def\zt{#2}
\pgfmathsetmacro{\betav}{acos(\zt)};
\def\gammav{0}
\ifthenelse{\equal{\betav}{0.0}}
{
\def\alphav{0}
}
{
\pgfmathsetmacro{\alphav}{asin(\yt/(sin(\betav))}
};
}
\begin{document}
\begin{center}
\begin{tikzpicture}[scale=1.0]
\tdplotsetmaincoords{80}{110}
\pgfmathsetmacro\R{sqrt(3)}
\coordinate (O) at (0,0,0);
\fill[ball color=white!10, opacity=0.2] (O) circle (\R); % 3D lighting effect
\begin{scope}[tdplot_main_coords, shift={(0,0)}]
\pgfmathsetmacro\R{sqrt(3)}
\pgfmathsetmacro{\thetavec}{0};
\pgfmathsetmacro{\phivec}{0};
\pgfmathsetmacro{\gammav}{0};
\tdplotsetrotatedcoords{\phivec}{\thetavec}{\gammav};
\def\x{1};
\def\y{0};
\def\z{0};
\DrawVect{\x}{\y}{\z}{blue}{\R};
\getEquator{\y}{\z};
\tdplotsetrotatedcoords{\alphav}{\betav}{\gammav};
\tdplotdrawarc[tdplot_rotated_coords,color=blue]{(O)}{\R}{0}{360}{}{};
\node[color=blue] at (-1,3.2,3.5) {\tiny
$N=$(\x,\y,\z)$ \implies \alpha=$\alphav, $\beta=$\betav, $\gamma=$\gammav};
\def\x{0};
\def\y{0};
\def\z{1};
\def\colr{red}
\DrawVect{\x}{\y}{\z}{\colr}{\R};
\getEquator{\y}{\z};
\tdplotsetrotatedcoords{\alphav}{\betav}{\gammav};
\tdplotdrawarc[tdplot_rotated_coords,color=\colr]{(O)}{\R}{0}{360}{}{};
\node[color=\colr, yshift=-3mm] at (-1,3.2,3.5) {\tiny
$N=$(\x,\y,\z)$ \implies \alpha=$\alphav, $\beta=$\betav, $\gamma=$\gammav};
\def\x{0};
\def\y{1};
\def\z{0};
\def\colr{black}
\DrawVect{\x}{\y}{\z}{\colr}{\R};
\getEquator{\y}{\z};
\tdplotsetrotatedcoords{\alphav}{\betav}{\gammav};
\tdplotdrawarc[tdplot_rotated_coords,color=\colr]{(O)}{\R}{0}{360}{}{};
\node[color=\colr, yshift=-6mm] at (-1,3.2,3.5) {\tiny
$N=$(\x,\y,\z)$ \implies \alpha=$\alphav, $\beta=$\betav, $\gamma=$\gammav};
\def\x{-0.577};
\def\y{0.577};
\def\z{0.577};
\def\colr{brown}
\DrawVect{\x}{\y}{\z}{\colr}{\R};
\getEquator{\y}{\z};
\tdplotsetrotatedcoords{\alphav}{\betav}{\gammav};
\tdplotdrawarc[tdplot_rotated_coords,color=\colr]{(O)}{\R}{0}{360}{}{};
\node[color=\colr, yshift=-9mm] at (-1,3.5,3.5) {\tiny
$N=$(\x,\y,\z)$ \implies \alpha=$\alphav, $\beta=$\betav, $\gamma=$\gammav};
%axis
\coordinate (X) at (5,0,0) ;
\coordinate (Y) at (0,3,0) ;
\coordinate (Z) at (0,0,3) ;
\draw[-latex] (O) -- (X) node[anchor=west] {$X$};
\draw[-latex] (O) -- (Y) node[anchor=north] {$Y$};
\draw[-latex] (O) -- (Z) node[anchor=south west] {$Z$};
% compute the equator in a different way.
\end{scope}
\end{tikzpicture}
\end{center}
\end{document}
The figure that it produces is next.
