我经常使用 TikZ,但只用于 2D 绘图。我希望可以使用 3D 包来绘制由线性不等式给出的 (x,y,z) 平面上的区域(目前我使用 Mathematica 来绘制这些 3D 绘图,但我希望对绘图选项有更好的控制),但似乎并非如此。
有没有 TikZ-3D 的替代品能够绘制点集 (x,y,z) 使得 0 小于或等于 min(x,0)+min(x,y,0)+z ? 我的意思是:1)它可以绘制 3D 水平集吗?2)如果该函数是二元函数:在类似于上面描述的集合中为 1,在其他地方为 0,它是否能在几分钟内(比如说不到一小时)完成水平集绘制?
编辑:“tikz-3dplot 通常不考虑多边形,表面或物体不透明度”,所以我改变问题以允许使用 gnuplot,PStricks 或 Asymptote(我不熟悉这两个包)或任何允许我更详细地控制绘图规范的工具。
我附上了用 Mathematica 绘制的 3D 图:
答案1
运行xelatex
:
\documentclass{article}
\usepackage{pst-solides3d}
\begin{document}
\psset{lightsrc=viewpoint,viewpoint=30 10 10 rtp2xyz,Decran=25}
\begin{pspicture}(-5,-2)(3,4)
\psSolid[object=prisme,h=4,fillcolor=red!20,RotY=90,
ngrid=5,base=0 0 1 -1 1 1 0 1 0 0 ]% x y coordinates of the projection
\axesIIID[showOrigin=false](10,3,3)
\end{pspicture}
答案2
我向所有有兴趣制作用于 TeX 或 LaTeX 文档的图形的人推荐 METAPOST。选择 METAPOST 而不是 TIKZ 或类似的 LaTeX 软件包的原因如下:
- METAPOST 是一种用于生成图像的完整编程语言,并且具有许多有趣的内置函数(路径交叉、仿射变换、线性系统解析等)。
- METAPOST 并不像 TeX 那样让新手感到困惑,同时 METAPOST 也是基于宏扩展的,将它视为一种过程语言并不会像 TeX 那样导致失败。
- 您无需在每次编译文档时重新计算图片。如果您使用的是 FreeBSD、Mac OS-X 或任何 GNU/Linux 系统,则可以使用我的 制作宏负责编译。(有关详细说明,请参阅 METAPOST 中的图形 在 wiki 上。)
- 如果您学习了METAPOST,您可以使用其出色的
mpgraph
软件包来绘制各种函数。
TeX 用户组在其网站上有一个页面专门介绍 元帖子。你会发现那里的列表很长,所以我要补充一点,我特别喜欢安德烈·赫克,您可以在第 54 页找到 3D 图的示例。另请参阅潘的宣传对于 METAPOST。
您可能还对以下问题的答案感兴趣METAPOST 的一个很好的替代品,用于绘制三维表面。