1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
|
# blochsphere package
# Matthew Bertucci 12/30/2021 for v3.3
#include:tikz
# loads decorations.pathreplacing, decorations.markings, calc, and fadings tikzlibraries
#include:etoolbox
#include:environ
#include:ifthen
#include:kvsetkeys
#include:kvoptions
\begin{blochsphere}
\begin{blochsphere}[options%keyvals]
\end{blochsphere}
\drawBall
\drawBall[options%keyvals]
\drawBallGrid{lat deg sep}{long deg sep}
\drawBallGrid[options%keyvals]{lat deg sep}{long deg sep}
\setDrawingPlane{tilt angle}{rotation angle}
\setDrawingPlane[options%keyvals]
\setLatitudinalDrawingPlane{latitude}
\setLatitudinalDrawingPlane[options%keyvals]{latitude}
\setLongitudinalDrawingPlane{longitude}
\setLongitudinalDrawingPlane[options%keyvals]{longitude}
\drawCircle{tilt angle}{rotation angle}
\drawCircle[options%keyvals]{tilt angle}{rotation angle}
\drawGreatCircle{tilt angle}{rotation angle}
\drawGreatCircle[options%keyvals]{tilt angle}{rotation angle}
\drawSmallCircle{tilt angle}{rotation angle}{offset latitude}
\drawSmallCircle[options%keyvals]{tilt angle}{rotation angle}{offset latitude}
\drawLatitudeCircle{latitude}
\drawLatitudeCircle[options%keyvals]{latitude}
\drawLongitudeCircle{longitude}
\drawLongitudeCircle[options%keyvals]{longitude}
\drawRotationLeft{tilt angle}{rotation angle}{axis offset}{clear angle}
\drawRotationLeft[options%keyvals]{tilt angle}{rotation angle}{axis offset}{clear angle}
\drawRotationRight{tilt angle}{rotation angle}{axis offset}{clear angle}
\drawRotationRight[options%keyvals]{tilt angle}{rotation angle}{axis offset}{clear angle}
\drawAxis{tilt angle}{rotation angle}
\drawAxis[options%keyvals]{tilt angle}{rotation angle}
\labelPolar{TikZ label}{tilt angle}{rotation angle}
\labelPolar[options%keyvals]{TikZ label}{tilt angle}{rotation angle}
\labelLatLon{TikZ label}{latitude}{longitude}
\labelLatLon[options%keyvals]{TikZ label}{latitude}{longitude}
\drawStatePolar{TikZ label}{tilt angle}{rotation angle}
\drawStatePolar[options%keyvals]{TikZ label}{tilt angle}{rotation angle}
\drawStateLatLon{TikZ label}{latitude}{longitude}
\drawStateLatLon[options%keyvals]{TikZ label}{latitude}{longitude}
#keyvals:\usepackage/blochsphere#c,\begin{blochsphere},\drawBall,\drawBallGrid,\setDrawingPlane,\setLatitudinalDrawingPlane,\setLongitudinalDrawingPlane,\drawCircle,\drawGreatCircle,\drawSmallCircle,\drawLatitudeCircle,\drawLongitudeCircle,\drawRotationLeft,\drawRotationRight,\drawAxis,\labelPolar,\labelLatLon,\drawStatePolar,\drawStateLatLon,\computeOffset,\computeVisibility
radius=##L
tilt=%<degrees%>
rotation=%<degrees%>
color=#%color
opacity=%<factor%>
style={%<TikZ options%>}
scale=%<factor%>
plane=%<name%>
shift={%<x,y,z%>}
ball=#3d,circle,none
statecolor=#%color
statewidth=##L
axisarrow=%<arrow%>
labelmark#true,false
nested#true,false
#endkeyvals
\computeOffset{name}#*
\computeOffset[options%keyvals]{name}#*
\computeVisibility{name1}{name2}{name3}{name4}#*
\computeVisibility[options%keyvals]{name1}{name2}{name3}{name4}#*
\tmp{arg}#S
\aphi#S
\atheta#S
\dot#S
\norm#S
\xx#S
\xy#S
\yx#S
\yy#S
\xshift#S
\yshift#S
\zshift#S
\behind#S
\newphi#S
\newtheta#S
\myval#S
\tatheta#S
\domaintest#S
\domaintesttwo#S
\domaintestthree#S
\agamma#S
\aalpha#S
\aalphatest#S
\abeta#S
|