TikZ 中部分填充的倾斜圆柱体

TikZ 中部分填充的倾斜圆柱体

我有一张想在 TikZ 中重现的图表:

在此处输入图片描述

想象一个装有液体的罐子(半径为 r、高度为 L 的圆柱体)。在每张图中,罐子都是倾斜的,液体的表面刚好接触到顶部与侧面的交界处。在第一张图中,液体覆盖了整个底部,而在第二张图中,液体只覆盖了一半。

编辑:是的,如果有时间,我可以自己做,但我想看看其他人如何处理 3D 方面的问题。有没有比绘制椭圆更好的方法来绘制投影圆?[就是这样@Andrew。]

最佳代码将使用样式和命名坐标,以便只需改变几个参数就可以改变图表。

答案1

你想要类似这样的东西吗?

带液体的气瓶

如果是这样,恐怕我不知道该怎么做。


问题关闭后在编辑中添加。 以上曾是使用 TikZ 制作,与下面的评论相反。但是,代码很乱,不够优雅——这只是一个开玩笑的快速破解。我私下把它发给了马修,但我不会在这里发布。画这样的图有一些有趣的方面,所以如果有人对制作这样的图表感兴趣,我鼓励他们仔细考虑哪些部分可以做,哪些部分很难,然后针对困难的部分提出一个有针对性的问题。)

答案2

此示例对您来说可能是一个很好的开始,但是它使用了 pst-solides3d (我在这里发现了...),也许你可能会得到与 tikz 类似的东西。

\documentclass{minimal}
\usepackage{pst-solides3d}
\pagestyle{empty}
\SpecialCoor
\begin{document}
\begin{pspicture}(-5,-5)(7,9)
  \psset{viewpoint=20 10 10,Decran=40,lightsrc=20 10 5,solidmemory}
  \defFunction{cone}(u,v){u v Cos mul}{u v Sin mul}{u}
  \psSolid[object=surfaceparametree,base=-2 2 0 2 pi mul,
     inhue=0.8 0.2,hue=0.8 0.2,
     function=cone,linewidth=0.5\pslinewidth,
     ngrid=25 40,fillcolor=cyan!50,
     intersectionplan={[1 0 0 -1]},
     intersectioncolor=(bleu),
     intersectionlinewidth=3,
     intersectiontype=0,
     name=XYZ,action=none]%
  \psSolid[object=plan,definition=equation,
    args={[1 0 0 0]},
%    args={[1 0 0 -1]},
    fillcolor=blue!50,
    base=-2 2 -2.5 2.5,ngrid=30 30,action=none,name=Plane]
  \psSolid[object=fusion,base=XYZ Plane_s]
  \gridIIID[Zmin=-2,Zmax=2](-2,2)(-2,2)
\end{pspicture}
\end{document} 

在此处输入图片描述

相关内容