If you take the stereographic projection of a mesh sphere, you obtain Steiner circles.
Interestingly, the map of any inscribed circle of the sphere under stereographic projection is a perfect circle on the plane.
Unfortunately, due to the low sampling size, the smooth option can be a bit botched sometimes.
The code is parameterized so that the user can specify Euler angle rotations of the sphere, and see the resulting stereographic projection on the plane.
If a line goes near the north pole, we omit it by setting the opacity to zero.
There are other workarounds, but they require using a conditional in a for loop, and I wanted to use the smooth option.
For example, this animation shows the sphere undergoing a rotation which is based on all three angles changing differently:
Try changing the values of \zrotationa, \yrotation and \zrotationb for yourself!
\documentclass[tikz,border = 3.14mm]{standalone}\usepackage{tikz-3dplot}\pgfmathdeclarefunction{sphereX}{2}{%% #1 - longitude% #2 - latitude\pgfmathparse{cos(#2)*cos(#1)}%}\pgfmathdeclarefunction{sphereY}{2}{%\pgfmathparse{cos(#2)*sin(#1)}%}\pgfmathdeclarefunction{sphereZ}{2}{%\pgfmathparse{sin(#2)}%}% https://tex.stackexchange.com/a/736767/319072\pgfmathdeclarefunction{tdplottransformrotmainX}{6}{%% #1 - Z rotation% #2 - Y rotation% #3 - Z rotation% #4 - x value% #5 - y value% #6 - z value\pgfmathparse{((sin(#1) * cos(#2) * cos(#3) +cos(#1) * sin(#3)) * #4 +(-sin(#1) * cos(#2) * sin(#3) +cos(#1) * cos(#3)) * #5 +sin(#1) * sin(#2) * #6) * -1}%}\pgfmathdeclarefunction{tdplottransformrotmainY}{6}{%\pgfmathparse{(