球面与通过北极切线的轴的平面的交线

球面与通过北极切线的轴的平面的交线

我正在尝试绘制一个非常简单的球体图 - 即一个大的黑色圆圈,另外,前面用实线表示赤道,后面用虚线表示。

在这个球体上,我想画出一些圆,这些圆由球体与平面的交点组成。这些平面应该全部经过球体表面上的同一点,并共享同一切向量。

但在这方面我能找到的只有通过球心的平面(通过球心的轴)或平行平面(即纬度和经度类型的圆)。例如使用 tikz 绘制球体的平行线或者如何在乳胶上的球体上绘制球体和弧线?,但我希望所有圆都通过一个点并在该点平行。

另一种解释是——想象一条与球体相切的线。接下来想象所有通过这条线的平面。它们各自与球体相交成一个圆,但其中只有一个是主圆(测地线),其他的圆会更小,并且偏向一侧。

我的意思清楚吗?有人能给我指明正确的方向吗?

谢谢你们。

编辑:好的,我会尝试手绘。你说得对,我应该试试。不过我的素描画得不好 :(

在此处输入图片描述 在此处输入图片描述

答案1

这是一次蓄意刺杀,一切都是硬编码的。

\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{intersections,calc}
\begin{document}
  \begin{tikzpicture}[rotate=90]
    \path[use as bounding box] (0,-1.5) rectangle (3,1.5);
    \draw[blue,ball color=blue!20,name path global=circle] (1.5,0) circle (1.5 cm);
    \node[fill,circle,inner sep=0.5pt] (A) at (0,0){};
    \foreach \i in {70,60,...,0} {
      \path[name path global=plane\i,rotate = \i] (-0.1,0) -- (0:3.1cm);
      \path[name intersections={of=circle and plane\i,sort by=circle}];
      %
      \draw[rotate around ={\i:(0,0)}] let
        \p1 = ($ (A) - (intersection-1) $),
        \n1 = {veclen(\p1)}
        in  (A) arc (-180:0:{0.5*\n1} and {0.03*\n1});
      %
      \draw[dashed,rotate around ={\i:(0,0)}] let
        \p1 = ($ (A) - (intersection-1) $),
        \n1 = {veclen(\p1)}
        in  (A) arc (180:0:{0.5*\n1} and {0.03*\n1});
    }
    \foreach \i in {-70,-60,...,-10} {
        \path[name path global=plane\i,rotate = \i] (-0.1,0) -- (0:3.1cm);
        \path[name intersections={of=circle and plane\i,sort by=circle}];
        \draw[rotate around ={\i:(0,0)}] let
            \p1 = ($ (A) - (intersection-2) $),
            \n1 = {veclen(\p1)}
            in   (A) arc (-180:0:{0.5*\n1} and {0.03*\n1});
            %
            \draw[dashed,rotate around ={\i:(0,0)}] let
            \p1 = ($ (A) - (intersection-2)$),
            \n1 = {veclen(\p1)}
            in  (A) arc (180:0:{0.5*\n1} and {0.03*\n1});
    }
    \begin{scope}[rotate around ={90:(1.5,-1.5)}]
        \draw[red] (1.5,-1.5) arc (180:0:1.5 and {0.1*1.5});
        \draw[red,dashed] (1.5,-1.5) arc (-180:0:1.5 and {0.1*1.5});
    \end{scope}
\end{tikzpicture}
\end{document}

在此处输入图片描述

我认为应该是这样的:

在此处输入图片描述

180只需交换前两个的符号即可arc

相关内容