3

I found a graph of the Poincaré sphere. I need to submit a schedule that is as similar as possible to the one in the picture. Need to

  • Extend axles per sphere,

  • draw an arc in the section plane,

  • make correct projections,

  • make the visible part of the arc a solid line,

  • set the corners correctly and sign them.

So far managed to get this:

enter image description here

\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{tikz}
\usetikzlibrary{positioning,arrows,calc,math,angles,quotes}
\usepackage{blochsphere}
\usepackage{braket}

\begin{document}
    %%%% Измените эти параметры, чтобы изменить положение P или размер / вращение сферы.
    \def\rotationSphere{-100}
    \def\radiusSphere{2cm}
    \def\psiLat{60} % Повород вектора по элевации
    \def\psiLon{45} % Повород вектора по азимуту
    \begin{blochsphere}[radius=\radiusSphere,opacity=0,rotation=\rotationSphere]
        % \drawBallGrid[style={opacity=.3}]{30}{45} % Рисует медианы и  параллели
                
        % Рисуем сферу:
        \drawLongitudeCircle[]{\rotationSphere} % нарисуйте долготу, которая смотрит на нас, чтобы ограничить сферу
        
        % Рисуем экватор:
        \drawLatitudeCircle[style={dashed}]{0} 
        
        % Определите различные точки на шариковой сфере
        \labelLatLon{ket0}{90}{0}; % точка Z
        \labelLatLon{ket1}{-90}{0};
        \labelLatLon{ketminus}{0}{180};
        \labelLatLon{ketplus}{00}{0}; % точка x
        \labelLatLon{ketpluspi2}{0}{-90};  % Долгота, кажется, определена в "неправильном" направлении, отсюда минус
        \labelLatLon{ketplus3pi2}{0}{-270};
        \labelLatLon{psi}{\psiLat}{-\psiLon};
        
        % Рисуем и подписываем оси:
        %\draw[-latex] (0,0) -- (ket0) node[above,inner sep=.5mm] at (ket0) {\footnotesize $z$};
        \draw[-latex] (0,0) -- (ket0) node[above,inner sep=.5mm] at (ket0) {\footnotesize $z$};
        \draw[-latex] (0,0) -- (ketplus) node[below,inner sep=.5mm] at (ketplus) {\footnotesize$x$};
        \draw[-latex] (0,0) -- (ketpluspi2) node[below,inner sep=.5mm] at (ketpluspi2) {\footnotesize $y$};
        
        %\draw (-2,0) arc (180:360:2 and 0.6); % Нарисовать переднюю часть сферы.
        %\draw[dashed] (2,0) arc (0:180:2 and 0.6);
        \fill[fill=black] (0,0) circle (1pt);
        % Draw |psi>
        \draw[-latex] (0,0) -- (psi) node[above]{\footnotesize $P$};
        
        % Draw the angles
        \coordinate (origin) at (0,0);
        {
            % Will draw the angle/projection one the equatorial plane
            \setDrawingPlane{0}{0}
            % Draw the projection: cos is used to compute the length of the projection
            \draw[current plane,dashed] (0,0) -- (-90+\psiLon:{cos(\psiLat)*\radiusSphere}) coordinate (psiProjectedEquat) -- (psi);
            % Draw the angle
            \pic[current plane, draw,fill=orange!50,fill opacity=.5, text opacity=1,"\footnotesize $\phi$", angle eccentricity=2.2]{angle=ketplus--origin--psiProjectedEquat};
        }
        { \setLongitudinalDrawingPlane{\psiLon}
            % Draw the angle
            \pic[current plane, draw,fill=orange!50,fill opacity=.5, text opacity=1,"\footnotesize $\theta$", angle eccentricity=1.5]{angle=psi--origin--ket0};
        }
    \end{blochsphere}
\end{document}

1 Answer 1

3

Hm, I don't know what exactly you need, but you can maybe continue with this:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{angles,quotes}
\usepackage{blochsphere}

\begin{document}
    %%%% Измените эти параметры, чтобы изменить положение P или размер / вращение сферы.
    \def\rotationSphere{-100}
    \def\radiusSphere{2cm}
    \def\psiLat{60} % Повород вектора по элевации
    \def\psiLon{45} % Повород вектора по азимуту
    \begin{blochsphere}[radius=\radiusSphere,opacity=0,rotation=\rotationSphere]
        % \drawBallGrid[style={opacity=.3}]{30}{45} % Рисует медианы и  параллели
                
        % Рисуем сферу:
        \drawLongitudeCircle[]{\rotationSphere} % нарисуйте долготу, которая смотрит на нас, чтобы ограничить сферу
        
        % Рисуем экватор:
        % \drawLatitudeCircle[style={dashed}]{0} 
        
        { \setDrawingPlane{0}{0}
        }
        
        % Определите различные точки на шариковой сфере
        \labelLatLon{ket0}{90}{0}; % точка Z
        \labelLatLon{ket1}{-90}{0};
        \labelLatLon{ketminus}{0}{180};
        \labelLatLon{ketplus}{0}{0}; % точка x
        \labelLatLon{ketpluspi2}{0}{-90};  % Долгота, кажется, определена в "неправильном" направлении, отсюда минус
        \labelLatLon{ketplus3pi2}{0}{-270};
        \labelLatLon{psi}{\psiLat}{-\psiLon};
        
        % Рисуем и подписываем оси:
        \draw[-latex, shorten >=-.5cm] (0,0) -- (ket0) node[above right] {\footnotesize $z$};
        \draw[-latex, shorten >=-.5cm] (0,0) -- (ketplus) node[below right]  {\footnotesize$x$};
        \draw[-latex, shorten >=-.5cm] (0,0) -- (ketpluspi2) node[below right] {\footnotesize $y$};
        
        %\draw (-2,0) arc (180:360:2 and 0.6); % Нарисовать переднюю часть сферы.
        %\draw[dashed] (2,0) arc (0:180:2 and 0.6);
        \fill[fill=black] (0,0) circle (1pt);
        % Draw |psi>
        \draw[-latex] (0,0) -- (psi) node[above]{\footnotesize $P$};
        
        % Draw the angles
        \coordinate (origin) at (0,0);
        {
            % Will draw the angle/projection one the equatorial plane
            \setDrawingPlane{0}{0}
            % Draw the projection: cos is used to compute the length of the projection
            \draw[current plane,dashed] (0,0) -- (-90+\psiLon:{cos(\psiLat)*\radiusSphere}) coordinate (psiProjectedEquat) -- (psi);
            % Draw the angle
            \pic[current plane, draw,fill=orange!50,fill opacity=.5, text opacity=1,"\footnotesize $\psi$", angle eccentricity=2.2]{angle=ketplus--origin--psiProjectedEquat};
            
            % Custom latitude circle
            \draw[current plane, dashed, red] (0:2) arc (0:180:2);
            \draw[current plane, red] (180:2) arc (180:360:2);
        }
        { \setLongitudinalDrawingPlane{\psiLon}
            % Arc on psi pane
            \draw[current plane,red] (0:2) arc (0:90:2);
            \draw[current plane,densely dashed,red] (psi) -- (psi -| 0,0);
            
            % Draw the angle
            \pic[current plane, draw,fill=orange!50,fill opacity=.5, text opacity=1,"\footnotesize $\theta$", angle eccentricity=1.5]{angle=psi--origin--ket0};
        }
    \end{blochsphere}
\end{document}

I styled added paths in red and reduced your preamble to what is really needed for this example.

enter image description here

3
  • Thank you very much, you helped, but I myself really cannot finish the drawing. I was not able to correctly specify the vector projections n coordinate axes and correctly sign the angle
    – Антон
    Commented Dec 20, 2021 at 4:14
  • Do you mean these lines going from points S1 and S2 in your original picture? Commented Dec 22, 2021 at 20:34
  • yes, draw lines to C1 and C2 and sign C1 and C2. And fix the angle, make it like the picture
    – Антон
    Commented Dec 23, 2021 at 2:21

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .