考虑下面的图片:
我想使用 PSTricks 绘制这个图形。
我的问题是两端;中间的“十字”根本没有问题。
以下是我目前所掌握的信息:
\documentclass{article}
\usepackage{multido}
\usepackage{pstricks}
\begin{document}
\begin{pspicture}(-4,-4)(4,4)
\psset{fillstyle = solid}
\psframe[fillcolor = black](-4,-4)(4,4)
\multido{\i = 0+90}{4}{\rput{\i}(0,0){%
\pspolygon[
linecolor = white,
fillcolor = white
](0,0)(0,2.5)(0.5,2.5)(0.5,0.5)(2.5,0.5)(2.5,0)}}
\end{pspicture}
\end{document}
更新
下图显示了最靠近边缘的“凸起”(在 Herbert 的回答中),我想去掉它。我想“压平”末端,使其看起来更像原始图片。
答案1
\documentclass{article}
\usepackage{multido}
\usepackage{pstricks}
\makeatletter
\def\psElement{\pst@object{psElement}}
\def\psElement@i{{%
\addbefore@par{xunit=0.65,fillcolor=\pslinecolor,fillstyle=solid}%
\use@par
\pscustom[]{%
\psline(0.5,0)(0.5,1)%
\pscurve(0.7,1.25)(1,1.15)(0.9,1.05)(1.1,0.9)(1.4,1.1)(1.2,1.6)(0.9,1.7)(0.2,1.5)(0,1.2)
\psline(0,0)
\closepath}}}
\def\psmySymbol{\pst@object{psmySymbol}}
\def\psmySymbol@i(#1){{%
\pst@killglue
\use@par
\multido{\i=0+90}{4}{\rput{\i}(#1){%
\psElement\psscalebox{-1 1}{\psElement}}}}}
\makeatletter
\begin{document}
\begin{pspicture}(-2,-2)(6,2)
\psframe*[linecolor=black](-2,-2)(6,2)
\psmySymbol[linecolor=white](0,0)
\psmySymbol[linecolor=red!30](4,0)
\end{pspicture}
\end{document}
修改后的路径:
\pscurve(0.7,1.25)(1,1.15)(0.9,1.05)(1.1,0.9)(1.4,1.1)(1.2,1.4)(0.9,1.5)%
(0.2,1.4)(0,1.2)