如何裁剪并绘制近似图?

如何裁剪并绘制近似图?
\documentclass[border=10pt]{standalone}
\usepackage{pst-eucl,pst-text,pstricks-add,pst-grad}
\usepackage{mathptmx}
\begin{document}
\begin{pspicture}[showgrid](-5,-5)(10,5)
\psframe*[fillstyle=solid,opacity=.5](-5,-5)(10,5)
\psset{PointName=none,PointSymbol=none,linewidth=4.5pt,linejoin=2}
\pnodes(5;100){A}(5;160){B}(5;-55){C}(0,0){O}
\pstCGravABC{A}{B}{C}{G}
\pstTriangleIC[linestyle=none]{A}{B}{C}
\pstBissectBAC[linestyle=none]{B}{A}{C}{A'}
\pstBissectBAC[linestyle=none]{A}{C}{B}{C'}
\pstInterLL[PointSymbol=square]{A}{A'}{C}{C'}{I}
\pstMiddleAB{B}{C}{M}
\pstInterLL{A}{I}{M}{O}{E}
\psline[linecolor=red!50](O)(E)(A)(M)
\cnodeput[linestyle=none,fillstyle=solid,fillcolor=red!50](IC_O){I'}{\textbf{I}}
\cnodeput[linestyle=none,fillstyle=solid,fillcolor=red!50](G){G'}{\textbf{G}}
\cnodeput[linestyle=none,fillstyle=solid,fillcolor=red!50](O){O'}{\textbf{O}}
%%%
\definecolor{ColorM}{hsb}{0.99999, 1, 1}
\definecolor{ColorN}{hsb}{0, 0, 1}
\pspolygon[linewidth=7pt,gradbegin=ColorM,gradend=ColorN](A)(B)(C) %% !?
\pscircle(0,0){5}
%%%%
\psset{fillstyle=gradient,gradbegin=red!50!orange,gradend=yellow!70,gradangle=50}
\DeclareFixedFont{\RM}{T1}{ptm}{b}{n}{1.7cm}
\begin{pscharclip}[linewidth=0.1pt]{%
    \rput(3.25,2.75){\RM Iranian}}%      (3.25,2.75)!?
\end{pscharclip}
\begin{pscharclip}[linewidth=0.1pt]{%
    \rput(4.5,1.2){\RM Geometry}}%       (4.5,1.2)!?
\end{pscharclip}
\begin{pscharclip}[linewidth=0.1pt]{%
    \rput(5,-.25){\RM Olympiad}}%   (5,-.25)!?
\end{pscharclip}
\end{pspicture}
\end{document}

在此处输入图片描述

官方图片:

https://igo-official.ir/static/intro/images/logo.png

问题:

  1. 渐变可以用于line
  2. 从图像输出来看,我发现 I 的圆比 G 和 O 小?该如何解决?
  3. !?在图像输出中,如何删除多余的空白区域?
  4. 如何剪辑the part of content里面的圆圈(我试过了,但是失败了。)并均匀排列?(见官方图片)
  5. 我对此不太了解font,有人可以告诉我吗?

(是的,不需要完全画出来,只需要大概)

在此处输入图片描述

答案1

\documentclass{standalone}
\usepackage{pst-eucl,pst-text,pstricks-add,pst-grad}
\usepackage{mathptmx}
\DeclareFixedFont{\RM}{T1}{ptm}{b}{n}{1.7cm}%
\begin{document}
\begin{pspicture}[showgrid=false](-5.2,-5.2)(10,5.2)
\psframe*[fillstyle=solid,linecolor=black!40,opacity=.9](-5.2,-5.2)(10,5.2)
\pscircle*[dimen=inner](0,0){5}
{%
    \psset{fillstyle=solid,fillcolor=black!15,linecolor=black!15}%
    \rput[lb](0.5,-1){\begin{pscharclip}[linewidth=0.1pt]{%
        \RM\tabular[t]{l}Iranian\\~Geometry\\~~Olympiad\endtabular}
    \end{pscharclip}}%
}
    \psset{PointName=none,PointSymbol=none,linewidth=4.5pt,linejoin=2}%
    \pnodes(5;100){A}(5;160){B}(5;-55){C}(0,0){O}
    \pstCGravABC{A}{B}{C}{G}%
    \pstTriangleIC[linestyle=none]{A}{B}{C}
    \pstBissectBAC[linestyle=none]{B}{A}{C}{A'}
    \pstBissectBAC[linestyle=none]{A}{C}{B}{C'}
    \pstInterLL[PointSymbol=square]{A}{A'}{C}{C'}{I}
    \pstMiddleAB{B}{C}{M}
    \pstInterLL{A}{I}{M}{O}{E}
    \psline[linecolor=red!50](O)(E)(A)(M)
    \cnodeput[linestyle=none,fillstyle=solid,fillcolor=red!50](IC_O){I'}{\textbf{I}}
    \cnodeput[linestyle=none,fillstyle=solid,fillcolor=red!50](G){G'}{\textbf{G}}
    \cnodeput[linestyle=none,fillstyle=solid,fillcolor=red!50](O){O'}{\textbf{O}}
    %%%
    \definecolor{ColorM}{hsb}{0.99999, 1, 1}%
    \definecolor{ColorN}{hsb}{0, 0, 1}%
    \pspolygon[linewidth=7pt,gradbegin=ColorM,gradend=ColorN,linecolor=black!20](A)(B)(C)
    \psclip{\pscircle[dimen=inner,linestyle=none](0,0){5}}
      \psset{fillstyle=gradient,gradbegin=red!50!orange,gradend=yellow!70,gradangle=50}%
      \rput[lb](0.5,-1){\begin{pscharclip}[linewidth=0.1pt]{%
         \RM\tabular[t]{l}Iranian\\~Geometry\\~~Olympiad\endtabular}
      \end{pscharclip}}%
      \pscircle[dimen=inner,linecolor=red!40,fillstyle=none](0,0){5}
    \endpsclip
\end{pspicture}
\end{document}

\end{pscharclip}%最后需要一个。对于圆圈使用dimen=inner。您可以使用 Times 或 Helvetica 作为字体。其余的可以自己完成...

在此处输入图片描述

为什么I的半径较小:

\documentclass{article}
\usepackage{mathptmx}
\DeclareFixedFont{\RM}{T1}{ptm}{b}{n}{1.7cm}%
\newsavebox\CBox
\begin{document}
\begin {tabular}{llll}
& width & height & depth \\\hline
I \global\sbox\CBox{\RM I} & \the\wd\CBox & \the\ht\CBox & \the\dp\CBox\\

G \global\sbox\CBox{\RM G} & \the\wd\CBox & \the\ht\CBox & \the\dp\CBox\\

O \global\sbox\CBox{\RM O} & \the\wd\CBox & \the\ht\CBox & \the\dp\CBox\\
\end{tabular}
\end{document}

在此处输入图片描述

对于 I,我们至少需要 33,33 pt 的直径,但对于 G 和 O,我们至少需要 37,63 pt 的直径...

对于相同的圆半径:

\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pst-node}
\begin{document}
\begin{pspicture}[showgrid=false](5,2)
    \Cnodeput[radius=5mm](1,1){Left}{foo\vphantom{g}}% to get the same height
    \Cnodeput[radius=5mm](4,1){Right}{right}
\end{pspicture}
\end{document}

相关内容