PSTricks 可以将 .eps 图像以 3D 形式投影到 2D 平面上。以下是文档中的一个示例。
我想对位图图像 (.png 或 .jpg) 执行类似的投影。我尝试使用 ImageMagick 将位图转换为 .eps,但 PSTricks 不适用于 ImageMagick 的 .eps 输出。
有人在 PSTricks 中显示过位图吗?
这里有平行的问题:Asymptote 可以将 2D 图像投射到 3D 中吗?
答案1
是的,这有效。这是一个例子。当然,你需要提供你的 eps 文件。我使用 ImageMagick 创建了下面示例中使用的那些文件。
\documentclass{standalone}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{pst-all}
\usepackage{pst-3dplot,pst-blur}
\usepackage{graphicx} % including PostScript
\newcommand{\CenterObject}[1]{\ensuremath{\vcenter{\hbox{#1}}}}
\begin{document}
\newgray{gray75}{0.75}\newgray{gray85}{0.85}\newgray{gray95}{0.95}
\begin{pspicture}(-5.5,-2.5)(5,3.5)
\psset{viewpoint=1 1.5 0.5}
\ThreeDput(0,0,0){$\CenterObject{\includegraphics[scale=0.6]{Galaxie.eps}}$}
\psset{viewpoint=-1 -1.5 0.5}
\ThreeDput(-4.5,-4.5,0){\Huge \white 4D space--time}
\psset{viewpoint=1 1.5 0.5}
\ThreeDput(2,2,0){\psellipse*[linecolor=gray75](0.02,0.01)}
\pspolygon[fillcolor=gray75,fillstyle=solid,linecolor=gray75](-0.58,-0.75)(-3.48,1.5)(2.39,1.52)(-0.58,-0.75)
\ThreeDput(2,2,2.5){\psellipse[fillcolor=white,linecolor=gray75,fillstyle=solid](3,3)}
\ThreeDput[normal=0 1 0](2,2,2.75){\includegraphics[scale=0.2]{calabi-yau-space-small.eps}}
\rput[c](-4,2.6){\ovalnode[shadow=true,blur=true]{cal}{\begin{tabular}{c}
compact\\ space
\end{tabular}}}
\pnode(-1,2.3){cal1}
\ncarc{->}{cal}{cal1}
\end{pspicture}
\end{document}