使用三维坐标时在 xy 平面上绘制一个圆圈

使用三维坐标时在 xy 平面上绘制一个圆圈

我想在 xy 平面上画一个圆,圆壁向上倾斜。我该怎么做?基本上就是一个开口比底部大的桶。

\documentclass{article}
\usepackage{tikz, tikz-3dplot} 
\begin{document}
\begin{center}
  \tdplotsetmaincoords{72}{120}
  \begin{tikzpicture}[line join = round, line cap = round, >=triangle 45,
    tdplot_main_coords]
    \draw[->] (0,0,0) -- (3,0,0) node[left, scale = .75] {$x$};
    \draw[->] (0,0,0) -- (0,3,0) node[right, scale = .75] {$y$};
    \draw[->] (0,0,0) -- (0,0,2) node[above, scale = .75] {$z$};        
  \end{tikzpicture}
\end{center}
\end{document}

答案1

试试这个!我从这里获取了代码http://www.texample.net/tikz/examples/dandelin-spheres/并做了一些简化。

\documentclass{article}
\usepackage{tikz}
\usepackage{tikz-3dplot}
\begin{document}

\tdplotsetmaincoords{70}{0}
\begin{tikzpicture}[tdplot_main_coords]

\def\h{2.5}% height of cup
\def\r{2}% reason of two radius

\foreach \t in {5,10,...,360}
    \draw[magenta] ({cos(\t)},{sin(\t)},0) --({2*cos(\t)},{2*sin(\t)},{2.0*\h});
\draw[magenta,very thick] (1,0,0) % lower circle
    \foreach \t in {5,10,...,360}
        {--({cos(\t)},{sin(\t)},0)}--cycle;
\draw[magenta,very thick] (1,0,0) % upper circle
    \foreach \t in {5,10,...,360}
    {--({\r*cos(\t)},{\r*sin(\t)},{2*\h})}--cycle;

\end{tikzpicture}

\end{document}

相关内容