Countryball (if I'm not mistaken originally Polandball) is a web comic versing on crude political jokes, some of which I find hilarious. In some sense, the idea is analogous to the spherical cow simplification The protagonists are countries represented by figures tinged by the colors of the respective flag. These figures are spheres, ellipsoids or egg-like objects (excepting Israel, Singapore, Kazakhstan and –obviously– Nepal). Moreover there are some (perfectly questionable) "rules" like:
- Spheres cannot be perfect
- No limbs, no pupils …
- No lines between the different colors of a flag, etc.
Countryballs look like this. Long story short, I was wondering if it is possible to implement this with TikZ. So here is my first attempt. I based on the code of this question in order to make the eyes of this ball associated to a (hopefully unexisent) flag:
\documentclass{article}
\usepackage[a4paper,margin=2cm]{geometry}
\usepackage{tikz}
\usetikzlibrary{calc,decorations.pathmorphing,patterns}
\pgfdeclaredecoration{penciline}{initial}{
\state{initial}[width=+\pgfdecoratedinputsegmentremainingdistance,
auto corner on length=1mm,]{
\pgfpathcurveto%
{% From
\pgfqpoint{\pgfdecoratedinputsegmentremainingdistance}
{\pgfdecorationsegmentamplitude}
}
{% Control 1
\pgfmathrand
\pgfpointadd{\pgfqpoint{\pgfdecoratedinputsegmentremainingdistance}{1pt}}
{\pgfqpoint{-\pgfdecorationsegmentaspect
\pgfdecoratedinputsegmentremainingdistance}%
{\pgfmathresult\pgfdecorationsegmentamplitude}
}
}
{%TO
\pgfpointadd{\pgfpointdecoratedinputsegmentlast}{\pgfpoint{.3pt}{.4pt}}
}
}
\state{final}{}
}
\begin{document}
\begin{tikzpicture}[decoration=penciline, decorate]
%\draw (-2, 1.5) rectangle (2, -1.5);
\begin{scope}
\clip (-0.8, 0) ellipse (1 and 3);
%\clip ( 1, 0) ellipse (1 and 4);
\clip ( 0.5, 0) circle (1);
\fill[color=yellow!85!black] (-2,1.5)
rectangle (2,-1.5);
\end{scope}
\begin{scope}
\clip (1.8, 0) ellipse (1 and 3);
%\clip ( 1, 0) ellipse (1 and 4);
\clip ( 0.5, 0) circle (1);
\fill[color=red!75!black] (-2,1.5)
rectangle (2,-1.5);
\end{scope}
\draw[
decoration={random steps,segment length=.3cm,amplitude=.05cm},
decorate,
rounded corners=.13cm, ultra thick
] (.5, 0) circle (.95);
% right eye
\draw[decorate,fill=white, thick] (0.85,.23) ellipse (.22 and .08);
% left eye
\draw[decorate,fill=white, thick] (0.02,.23) ellipse (.22 and .08);
\end{tikzpicture}
\end{document}
While it is not expected to obtain beautiful countryballs, my code is not satisfying at all. It produces this

As you can see, the circle doesn't close.
Question: Could somebody fix this circle and produce a more realistic ball?
3D Implementation
I first tried in 3D. The only thing I achieve is the "non-being" spherical. This is the code
\documentclass[tikz]{standalone}
\usetikzlibrary{decorations.pathmorphing}
\pgfmathsetseed{42}
\usepackage{tikz}
\usetikzlibrary{calc,fadings,decorations.pathreplacing}
\begin{document}
\begin{tikzpicture}
\filldraw[ball color=red,decoration={random steps,segment length=.7cm,amplitude=.1cm},decorate,rounded corners=.3cm,ultra thick] (0,0) circle (8.5);
\end{tikzpicture}
\end{document}
Question: How to independently color the hemispheres (either "vertically" or "horizontally"), or more generally, how to color stripes (usually 3) of different colors?

