TikZ 3D 图形的最佳策略

TikZ 3D 图形的最佳策略

在 TikZ 中制作这个图形的最佳策略是什么?

圆环和圆柱

是从一开始就使用截圆环和圆柱的数据在 3D 中设计它,还是在 2D 中执行以寻找最适合的椭圆和可能的贝塞尔曲线?目的是显示两个横截面是相同的。

答案1

这是其中一种方法。该示例主要使用 2D 坐标进行绘制。它不是 3D 绘制,因此您必须查看需要在其他元素之后/之前绘制的内容。

我还利用了\clip正确的覆盖,这是必要的,因为tikz只是在已经绘制的元素之上绘制并且不支持 3D 对象的可见性。

\documentclass[tikz, border=0mm]{standalone}

\usetikzlibrary{backgrounds}

\begin{document}
  \begin{tikzpicture}[show background rectangle,
                      background rectangle/.style={fill=black!60}, 
                      color=white,
                      very thick]

  \clip (-3,-1.5) rectangle (2,1.5);

    \begin{scope}[xshift=-1cm, yshift=.5cm]
        \draw [fill=black!70] (-1,0) ellipse (2cm and .5cm);
        \draw (0,0,0) arc (135:405:.71cm) -- cycle;
        \draw [fill=black!60] (-1,0) ellipse (1cm and .25cm);
        \clip (-2,-2) rectangle (1.5,-1);
        \draw (-1,-1) ellipse (2cm and .5cm);
    \end{scope}

    \begin{scope}
        \draw [fill=black!70] (0,0,0) -- ++(1,0,0) -- ++(0,0,-4) -- ++(-1,0,0) -- cycle;
        \draw (1,-1,0) -- ++(0,0,-3);
        \draw [fill=black!50] (0,0,0) arc (135:405:.71cm) -- cycle;
    \end{scope}
  \end{tikzpicture}
\end{document}

渲染图像

答案2

在我看来,你应该在其他程序中计算二维坐标,然后只需使用\drawtikz 中的命令用该坐标绘制图形。

如果在 3D 坐标(tikz-3dplot)中绘制它,则会遇到在正确的位置绘制弧的问题。

相关内容