如何在 Tikz 中对球体外部的区域进行着色

如何在 Tikz 中对球体外部的区域进行着色

我想绘制由 (x-2)^2 + (y+1)^2 + z^2 > 5 给出的区域。因此,我希望绘制一个半径为 sqrt(5) 的虚线球体,中心为 (2,-1,0),然后为其外部的所有部分着色。有没有关于如何使用 tikz 执行此操作的提示?

答案1

TikZ 中的 3D 很难。我的建议是(因为问题是旋转对称的)显示到 z=0 平面上的投影。

\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.5.1}
\begin{document}
\begin{tikzpicture}
  \begin{axis}[
    axis lines=middle,
    axis equal,xlabel=$x$,ylabel=$y$,
    title={Projection onto the $z=0$ plane},
    xmin=-2,xmax=6,ymin=-4,ymax=2]
    \fill[black,opacity=.2,even odd rule]
    (rel axis cs: 0,0) rectangle (rel axis cs: 1,1)
    (axis cs: 2,-1) circle[radius=sqrt(5)];
  \end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容