使用 pgfplot 绘制阴影三维椭圆体

使用 pgfplot 绘制阴影三维椭圆体

我正在尝试使用 PGFplots 显示带有轴标签的阴影 3D 椭圆体。到目前为止,我已经实现了这个目标。

\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgfplots,tikz-3dplot}
\begin{document}
\begin{tikzpicture}
    \begin{axis}[%
        width=0.8\textwidth,
        axis equal,
        axis lines = center,
        y label style={at={(axis cs:0,2,0)},anchor=west},
        xlabel = {$\lambda_1,\ \vec{e}_1$},
        ylabel = {$\lambda_2,\ \vec{e}_2$},
        zlabel = {$\lambda_3,\ \vec{e}_3$},
        ticks=none,
    ]
    \addplot3[%
        shader=interp,
        opacity = 0.3,
        fill opacity=0.3,
        surf,
        colormap/blackwhite,
        variable = \u,
        variable y = \v,
        domain = 0:180,
        y domain = 0:360,
    ]
    ({2*cos(u)*sin(v)}, {2*sin(u)*sin(v)}, {0.5*cos(v)});
    \end{axis}
\end{tikzpicture}
\end{document}

结果如下: 丑陋的椭圆体 这种阴影不会给人 3D 印象,我想要的是这样的印象: 酷椭圆体

是否可以在此坐标系中定义新的 3d 阴影?我在 pgfplot 文档中找不到这样的命令。所有预定义的阴影都不合适。很高兴得到任何帮助!

答案1

我看到了你的帖子LaTeX 社区早些时候,所以我已经为你的主题添加了一个答案带 PGF 图的阴影椭圆体

您可以使用 point meta = u。您还可以使用颜色图,就像我在轴上所做的那样。

我添加了colormap={}{ gray(0cm)=(0.8); gray(1cm)=(0);}point meta = u to the plot

椭圆体

答案2

画圆,了解圆内的点,用“范围”拉伸和旋转这是我的代码:

\begin{center}
  \begin{tikzpicture}[>=latex,scale=1, xscale=1, opacity=0.5]
% second sphere
    \begin{scope}[rotate=45, xscale=3, yscale=2, shift={(2.3,-0.2)}]
      \coordinate (O) at (0,0);
      \shade[ball color=gray!10!] (0,0) coordinate(Hp) circle (1) ;

      \draw[] (O) circle (1);
      \draw[rotate=5] (O) ellipse (1cm and 0.66cm);
      \draw[rotate=90] (O) ellipse (1cm and 0.33cm);
      \draw[rotate=40] (O) ellipse (0.404cm and 0.135cm);
      \fill[black]  (O) circle (1pt);

      \coordinate(L1) at (1,0);
      \node[above ] at (L1) {$\lambda_1$};
      \draw[-latex] (O) -- (L1);

      \coordinate(L2) at (0,1);
      \node[left ] at (L2) {$\lambda_2$};
      \draw[-latex] (O) -- (L2);

      \coordinate(L3) at (0.3064,0.257);
      \node[right,yshift=2mm] at (L3) {$\lambda_3$};
      \draw[-latex] (O) -- (L3);

    \end{scope}

% axis
  \end{tikzpicture}
\end{center}

结果图如下: 在此处输入图片描述

相关内容