11

As you probably all know, Groundhog Day is approaching. As usual, it will be on February 2. And since probably nobody wants to have a long period of lousy weather, I think we should be better prepared this year. Therefore, I'd like to open a competition, very similar to this one, in which we try to find/elect the

most beautiful avatar with the most compelling shadow

Everyone who's interested may post an answer. The winner will be the post with the most upvotes. TikZlings are welcome to participate.

The winner of the first prize will be allowed to determine the weather for seven weeks, and will get a special surprise.

The competition is over and the winner is Ulrike Fischer. Happy groundhog day!

14
  • 7
    clearly you were so devastated at being beaten by a clearly more beautiful avatar that you have restarted the competition under slightly modified rules:-) Commented Jan 3, 2019 at 17:13
  • 3
    @DavidCarlisle I am not participating here.... and yes, some of the users here have a very strange taste (putting pineapple on a pizza etc.)
    – user121799
    Commented Jan 3, 2019 at 17:17
  • 3
    Agreed, the pineapple on pizza thing is strange. But he does eat ducks and rabbits, too, and I'd bet if he could he'd eat marmots. So what do you expect from a monster like @DavidCarlisle.
    – Skillmon
    Commented Jan 3, 2019 at 19:06
  • 2
    @Skillmon I guess he is just desperate. Being based in England, it is probably very hard to cast a proper shadow due to the lack of sun light. I am wondering if he understands the concept, see here for more information ;-). (And if this competition would be won by an Englishman, I really fear for the weather. ;-)
    – user121799
    Commented Jan 3, 2019 at 19:09
  • 1
    @marmot tbh, I'm desperate, too. Due to the nature of my avatar, it seems very hard to add a shadow to it. I could do some stuff in ASCII art, again, but that'd get boring.
    – Skillmon
    Commented Jan 3, 2019 at 19:14
  • 2
    @Skillmon I actually think that, if you manage to use the "Spiegelschrift" trick from the cover of the pgfmanual (and add a bit of a slant maybe) ASCII art may become even more beautiful. (And this may be something new, at least I do not recall having this seen done anywhere.)
    – user121799
    Commented Jan 3, 2019 at 19:18
  • 1
    By the way I love that prize idea.
    – Skillmon
    Commented Jan 3, 2019 at 19:18
  • 1
    @marmot brilliant idea, though I'll try to do it without TikZ, just to learn something new :)
    – Skillmon
    Commented Jan 3, 2019 at 19:20
  • 3
    My avatar is the beautiful scenery in my small living place here in Black Forest. I won't add a shadow to that. Period!
    – user31729
    Commented Jan 3, 2019 at 19:54
  • 1
    @ChristianHupfer Consider this: the weather may be ruled by an Englishman. Doesn't that scare you enough?
    – user121799
    Commented Jan 3, 2019 at 19:56
  • @marmot: I am scared by too much Sun and heat rather than too much rain. So if the English have enough of fog and rain, they can send it too the continent. We need it.
    – user31729
    Commented Jan 3, 2019 at 19:58
  • 1
    @ChristianHupfer Living in California, I know what you mean. But still.... have you ever been in England? Don't you think having webs between fingers and toes is a bit too much? (And there are no marmots in England because we do not like our burrows getting flooded. ;-)
    – user121799
    Commented Jan 3, 2019 at 20:02
  • @marmot: I have been in GB multiple times...
    – user31729
    Commented Jan 3, 2019 at 20:05
  • 1
    @marmot: Yes, I made my personal Brexit ;-)
    – user31729
    Commented Jan 3, 2019 at 20:06

9 Answers 9

23

enter image description here

\documentclass{article}
\usepackage{tikzducks}
\usepackage{tikzlings}
\begin{document}
\begin{tikzpicture}

\begin{scope}[xshift=-1.3cm]
 \begin{scope}[xslant=1.2,scale=2]
 \duck[body=gray,bill=gray,eye=gray,pupil=gray]
 \end{scope}
\end{scope}
\marmot 
\end{tikzpicture}

\end{document}

Edit on Groundhog Day

As winner I will ensure that over the next seven weeks the weather is perfect for some people in some places at some times. I already got a number of wishes:

enter image description here

4
  • 5
    The sun in Mönchengladbach must be really strange. ;-)
    – user121799
    Commented Jan 5, 2019 at 21:20
  • "Die klare Sonne bringt's an den Tag". Commented Jan 5, 2019 at 21:24
  • 1
    Looks like Darth Vader's shadow on the wall ;-)
    – user31729
    Commented Jan 5, 2019 at 23:18
  • 1
    Very nice all your answer and the question. :-)
    – Sebastiano
    Commented Jan 6, 2019 at 16:46
18

enter image description here

6
  • 11
    That's not a shadow... it's a weird projection ;-)
    – user31729
    Commented Jan 3, 2019 at 20:10
  • 22
    @ChristianHupfer the English sunlight is so bright it penetrates the human head leaving the appearance of a projected image Commented Jan 3, 2019 at 20:12
  • 7
    That's rather sun light scattered exponentially by fog;-) And apparently British heads are quite penetrable ....
    – user31729
    Commented Jan 3, 2019 at 20:13
  • 9
    "English sunlight" is the textbook example of an oxymoron.
    – user121799
    Commented Jan 3, 2019 at 21:26
  • 2
    @marmot you need to come out of your burrow more often to appreciate these things. Commented Jan 3, 2019 at 21:34
  • 11
    I always thought everywhere in the world the Sun is the closest star, in England it is a newspaper. ;-)
    – user121799
    Commented Jan 3, 2019 at 21:44
17

I must say, having such a complex avatar is creating some really fun and unique challenges for these things. I am thoroughly enjoying all these little contests (and learning a lot, too!). Here is my entry, based on my original entry for the TeX-mas 2018 event:

It shows a Ulysses butterfly flapping its wings intermittently, with a corresponding shadow that moves in the same way.

enter image description here

Code:

\documentclass[a4paper,landscape]{article}
%\documentclass[export]{standalone}
% All design and code created by Ulysses. Please credit me if you use a significant portion of this anywhere.

\usepackage[margin=0.5cm]{geometry}
\usepackage{animate}
\usepackage{tikz}
\usepackage{times}
\usetikzlibrary{decorations.text}

\newcommand{\halfwing}[1]{
\begin{scope}[yscale=1,xscale=#1]
    % Lower Wing
    \filldraw[fill=black!90!white!,draw=black,thick,rounded corners=1mm] (0,0.2) -- (0,1.4) -- (-2,1.4) .. controls (-4,0.8) .. (-4.3,0.2) .. controls (-4.48,0.08) .. (-4.5,-0.15) .. controls (-4.9,-0.5) and (-4.9,-0.7) .. (-4.7,-0.9) .. controls (-4.7,-1) .. (-4.6,-1.1) .. controls (-4.9,-1.8) .. (-4.2,-2) -- (-4,-2.4) .. controls (-4.1,-3) .. (-3.6,-3.1) -- (-3.25,-3.7) .. controls (-3.5,-4.5) .. (-4.1,-5.4) .. controls (-4.2,-5.9) and (-3.6,-5.9) .. (-3.5,-5.4) .. controls (-3.55,-5.1) and (-3.4,-4.8) .. (-3,-4.1) -- (-2.6,-4.1) .. controls (-2.35,-4.35) .. (-2,-4.2) .. controls (-1.75,-4.6) and (-1.25,-4.6) .. (-1.25,-3.90) .. controls (-0.9,-4) .. (-0.6,-2.8) -- (-0.3,-1) -- (0,0.2);
    \shadedraw[top color=blue!45!cyan!,bottom color=blue!20!cyan!,draw=black,rounded corners=1mm] (-0.8,-3) .. controls (-0.5,-2) .. (-0.30,-0.95){[rounded corners=0mm] .. controls (-0.15,-0.3) .. (-0.05,0.45) -- (-0.05,0.7)} -- (-0.7,0.4) .. controls (-0.9,-2) .. (-0.8,-3);
    \shadedraw[top color=blue!60!cyan!,bottom color=blue!20!cyan!,draw=black] (-1.1,-2.9) .. controls (-1.4,2) and (0.5,2) .. (-1.1,-2.9);
    \shadedraw[top color=blue!70!cyan!,bottom color=blue!20!cyan!,draw=black] (-1.6,-2.8) .. controls (-0.9,3.7) and (0,-0.1) .. (-1.6,-2.8);
    \shadedraw[top color=blue!70!cyan!,bottom color=blue!20!cyan!,draw=black] (-2.1,-2.6) .. controls (-0.9,3.7) and (-0.3,-0.1) .. (-2.1,-2.6);
    \shadedraw[top color=blue!80!cyan!,bottom color=blue!20!cyan!,draw=black] (-2.6,-2.2) .. controls (-0.3,3.7) and (-0.3,-0.1) .. (-2.6,-2.2);
    \shadedraw[top color=blue!80!cyan!,bottom color=blue!20!cyan!,draw=black] (-3,-1.7) .. controls (0.1,3.7) and (0.1,-0.1) .. (-3,-1.7);
    \shadedraw[top color=blue!80!cyan!,bottom color=blue!20!cyan!,draw=black] (-3.4,-1.2) .. controls (0.77,3) and (0.77,-0.2) .. (-3.4,-1.2);
    \shadedraw[top color=blue!80!cyan!,bottom color=blue!20!cyan!,draw=black] (-3.6,-0.6) .. controls (0.77,2.2) and (0.77,-0.5) .. (-3.6,-0.6);
    \shadedraw[top color=blue!80!cyan!,bottom color=blue!15!cyan!,draw=black] (-3.5,0) .. controls (0.77,1.8) and (0.77,-0.2) .. (-3.5,0);
    \shadedraw[top color=blue!80!cyan!,bottom color=blue!10!cyan!,draw=black] (-2.5,0.7) .. controls (0.77,2) and (0.77,0) .. (-2.5,0.7);
    \shadedraw[top color=blue!45!cyan!,bottom color=blue!15!cyan!,draw=black] (-0.05,0.6) -- (-0.05,0.9) .. controls (-4,-0.5) and (-1.5,-2) .. (-0.05,0.6);

    % Upper Wing
    \filldraw[fill=black!90!white!,draw=black,thick] (0,1) -- (0,2.2) [rounded corners=7mm] parabola[bend at end] (-6,6) -- (-5,1) -- (0,1);
    \shadedraw[top color=blue!20!cyan!,bottom color=blue!70!cyan!,draw=black] (-4,3.5) .. controls (3,-1) and (-2,4) .. (-4,3.5);
    \shadedraw[top color=blue!15!cyan!,bottom color=blue,draw=black] (-4.1,3) .. controls (3.9,-0.5) and (-2.1,4) .. (-4.1,3);
    \shadedraw[top color=blue!15!cyan!,bottom color=blue!80!cyan!,draw=black] (-4.2,2.5) .. controls (4,-0.2) and (-2.2,3.5) .. (-4.2,2.5);
    \shadedraw[top color=blue!15!cyan!,bottom color=blue!70!cyan!,draw=black] (-4.2,1.8) .. controls (4,0.3) and (-2.2,3) .. (-4.2,1.8);
    \shadedraw[top color=cyan,bottom color=blue!60!cyan!,draw=black] (-4.2,1.2) .. controls (4.05,0.9) and (-2.2,2.4) .. (-4.2,1.2);
    \shadedraw[top color=cyan,bottom color=blue!60!cyan!,draw=black] (-0.05,1.85) -- (-0.05,1.80) .. controls (-6.5,6.5) and (-2,5.5) .. (-0.05,1.85);
    \shadedraw[top color=blue!10!cyan!,bottom color=blue!50!cyan!,draw=black] (-0.05,1.8) -- (-0.05,1.4) .. controls (-7.5,5.5) and (-2,5) .. (-0.05,1.8);
\end{scope}
}

\newcommand{\butterfly}[1]{
\begin{tikzpicture}
    % Guide lines
    %\draw[step=1cm,lightgray,very thin] (-20,-14) grid (20,14);
    %\begin{scope}[xshift=-0.35cm]
    %\draw[step=0.2cm,lightgray,very thin] (-7,-7) grid (0,2);
    %\draw[step=1cm,cyan,very thin] (-7,-7) grid (0,2);
    %\end{scope}

    % Background
    \filldraw[fill=cyan!20!white!,draw=black, line width=3pt] (0,0) circle (10cm);

    % Text
    \draw (0,-7) node {\Huge Papilio Ulysses};
    \draw[decoration={text along path,text={Design and code created by Ulysses.},text align={center}},decorate,rotate=90] (0,0) circle (9.8cm);

    % Shadow
    \begin{scope}[transparency group,xshift=0.4cm,yshift=-0.4cm,opacity=0.2]
        % Antenna
        \draw[thick,black] (0,2.7) parabola[bend at end] (-1.5,5.2);
        \filldraw[fill=black,draw=black,thick] (-1.5,5.2) .. controls ++(-0.2,0.1) and ++(-0.5,-0.3) .. ++(0,0);
        \begin{scope}[yscale=1,xscale=-1]
        \draw[thick,black] (0,2.7) parabola[bend at end] (-1.5,5.2);
        \filldraw[fill=black,draw=black,thick] (-1.5,5.2) .. controls ++(-0.2,0.1) and ++(-0.5,-0.3) .. ++(0,0);
        \end{scope}
        % Body
        \filldraw[fill=black,draw=black,thick,rounded corners=2.5mm] (0,2.5) -- (0.35,2.5) -- (0.45,1.5) -- (0.45,0) -- (0.25,-2) -- (-0.25,-2) -- (-0.45,0) -- (-0.45,1.5) -- (-0.35,2.5) -- (0,2.5);
        % Head
        \filldraw[fill=black,draw=black,thick,rounded corners=2mm] (0,3) -- (0.45,3) -- (0.2,2.3) -- (-0.2,2.3) -- (-0.45,3) -- (0,3);
        \filldraw[fill=black, draw=black,thick] (-0.25,2.85) circle (0.2cm);
        \filldraw[fill=black, draw=black,thick] (0.25,2.85) circle (0.2cm);
        % Wings
        \begin{scope}[xshift=-0.35cm]
            \begin{scope}[yscale=1,xscale=#1]
            % Lower Wing
            \filldraw[fill=black,draw=black,thick,rounded corners=1mm] (0,0.2) -- (0,1.4) -- (-2,1.4) .. controls (-4,0.8) .. (-4.3,0.2) .. controls (-4.48,0.08) .. (-4.5,-0.15) .. controls (-4.9,-0.5) and (-4.9,-0.7) .. (-4.7,-0.9) .. controls (-4.7,-1) .. (-4.6,-1.1) .. controls (-4.9,-1.8) .. (-4.2,-2) -- (-4,-2.4) .. controls (-4.1,-3) .. (-3.6,-3.1) -- (-3.25,-3.7) .. controls (-3.5,-4.5) .. (-4.1,-5.4) .. controls (-4.2,-5.9) and (-3.6,-5.9) .. (-3.5,-5.4) .. controls (-3.55,-5.1) and (-3.4,-4.8) .. (-3,-4.1) -- (-2.6,-4.1) .. controls (-2.35,-4.35) .. (-2,-4.2) .. controls (-1.75,-4.6) and (-1.25,-4.6) .. (-1.25,-3.90) .. controls (-0.9,-4) .. (-0.6,-2.8) -- (-0.3,-1) -- (0,0.2);
            % Upper Wing
            \filldraw[fill=black,draw=black,thick] (0,1) -- (0,2.2) [rounded corners=7mm] parabola[bend at end] (-6,6) -- (-5,1) -- (0,1);
            \end{scope}
        \end{scope}
        \begin{scope}[xshift=0.35cm]
            \begin{scope}[yscale=1,xscale=-#1]
            % Lower Wing
            \filldraw[fill=black,draw=black,thick,rounded corners=1mm] (0,0.2) -- (0,1.4) -- (-2,1.4) .. controls (-4,0.8) .. (-4.3,0.2) .. controls (-4.48,0.08) .. (-4.5,-0.15) .. controls (-4.9,-0.5) and (-4.9,-0.7) .. (-4.7,-0.9) .. controls (-4.7,-1) .. (-4.6,-1.1) .. controls (-4.9,-1.8) .. (-4.2,-2) -- (-4,-2.4) .. controls (-4.1,-3) .. (-3.6,-3.1) -- (-3.25,-3.7) .. controls (-3.5,-4.5) .. (-4.1,-5.4) .. controls (-4.2,-5.9) and (-3.6,-5.9) .. (-3.5,-5.4) .. controls (-3.55,-5.1) and (-3.4,-4.8) .. (-3,-4.1) -- (-2.6,-4.1) .. controls (-2.35,-4.35) .. (-2,-4.2) .. controls (-1.75,-4.6) and (-1.25,-4.6) .. (-1.25,-3.90) .. controls (-0.9,-4) .. (-0.6,-2.8) -- (-0.3,-1) -- (0,0.2);
            % Upper Wing
            \filldraw[fill=black,draw=black,thick] (0,1) -- (0,2.2) [rounded corners=7mm] parabola[bend at end] (-6,6) -- (-5,1) -- (0,1);
            \end{scope}
        \end{scope}

    \end{scope}

    % Antenna
    \draw[thick] (0,2.7) parabola[bend at end] (-1.5,5.2);
    \filldraw[fill=black!80!white!,draw=black,thick] (-1.5,5.2) .. controls ++(-0.2,0.1) and ++(-0.5,-0.3) .. ++(0,0);
    \begin{scope}[yscale=1,xscale=-1]
    \draw[thick] (0,2.7) parabola[bend at end] (-1.5,5.2);
    \filldraw[fill=black!80!white!,draw=black,thick] (-1.5,5.2) .. controls ++(-0.2,0.1) and ++(-0.5,-0.3) .. ++(0,0);
    \end{scope}

    % Body
    \filldraw[fill=black!80!white!,draw=black,thick,rounded corners=2.5mm] (0,2.5) -- (0.35,2.5) -- (0.45,1.5) -- (0.45,0) -- (0.25,-2) -- (-0.25,-2) -- (-0.45,0) -- (-0.45,1.5) -- (-0.35,2.5) -- (0,2.5);
    \shade[inner color=black!70!white!,outer color=black!80!white!] (0,2.24) ellipse (0.35cm and 0.24cm);
    \shade[inner color=black!70!white!,outer color=black!80!white!] (0,1.75) ellipse (0.4cm and 0.25cm);
    \shade[inner color=black!70!white!,outer color=black!80!white!] (0,1.25) ellipse (0.42cm and 0.25cm);
    \shade[inner color=black!70!white!,outer color=black!80!white!] (0,0.75) ellipse (0.42cm and 0.25cm);
    \shade[inner color=black!70!white!,outer color=black!80!white!] (0,0.25) ellipse (0.42cm and 0.25cm);
    \shade[inner color=black!70!white!,outer color=black!80!white!] (0,-0.25) ellipse (0.4cm and 0.25cm);
    \shade[inner color=black!70!white!,outer color=black!80!white!] (0,-0.75) ellipse (0.35cm and 0.25cm);
    \shade[inner color=black!70!white!,outer color=black!80!white!] (0,-1.25) ellipse (0.3cm and 0.25cm);
    \shade[inner color=black!70!white!,outer color=black!80!white!] (0,-1.74) ellipse (0.25cm and 0.24cm);

    % Head
    \shadedraw[inner color=black!60!white!,outer color=black!80!white!,draw=black,thick,rounded corners=2mm] (0,3) -- (0.45,3) -- (0.2,2.3) -- (-0.2,2.3) -- (-0.45,3) -- (0,3);
    \shadedraw[inner color=white!60!black,outer color=black, draw=black,thick] (-0.25,2.85) circle (0.2cm);
    \shadedraw[inner color=white!60!black,outer color=black, draw=black,thick] (0.25,2.85) circle (0.2cm);

    % Wings
    \begin{scope}[xshift=-0.35cm]
    \halfwing{#1}
    \end{scope}
    \begin{scope}[xshift=0.35cm]
    \halfwing{-#1}
    \end{scope}
\end{tikzpicture}
}

\begin{document}

\begin{figure}[p]
\centering
\begin{animateinline}[autoplay,loop,scale=1]{13}
    \butterfly{1}
\newframe
    \butterfly{0.883}
\newframe
    \butterfly{0.6}
\newframe
    \butterfly{0.317}
\newframe
    \butterfly{0.2}
\newframe
    \butterfly{0.317}
\newframe
    \butterfly{0.6}
\newframe
    \butterfly{0.883}
\newframe
    \butterfly{1}
\newframe
    \butterfly{0.883}
\newframe
    \butterfly{0.6}
\newframe
    \butterfly{0.317}
\newframe
    \butterfly{0.2}
\newframe
    \butterfly{0.317}
\newframe
    \butterfly{0.6}
\newframe
    \butterfly{0.883}
\newframe
    \butterfly{1}
\newframe
    \butterfly{0.883}
\newframe
    \butterfly{0.6}
\newframe
    \butterfly{0.317}
\newframe
    \butterfly{0.2}
\newframe
    \butterfly{0.317}
\newframe
    \butterfly{0.6}
\newframe
    \butterfly{0.883}
\newframe[1.5]
    \butterfly{1}
\end{animateinline}
\end{figure}
\end{document}
3
11

Thanks to a fantastic idea by @marmot, the true form of art (ASCII art, obviously) is back, this time with shadows!

enter image description here

Code to create it:

\documentclass{article}
\usepackage[]{geometry}

\usepackage{ducksay}

\ExplSyntaxOn
\NewDocumentCommand \ReadASCII { m +v }%>>>
  {
    \group_begin:
    \tl_set:Nn \l_tmpa_tl { \ #2 }
    \tl_map_inline:Nn \l_ducksay_ligatures_tl
      { \tl_replace_all:Nnn \l_tmpa_tl { ##1 } { { ##1 } } }
    \ducksay_replace_verb_newline:Nn \l_tmpa_tl { \tabularnewline\null }
    \tl_gset_eq:NN #1 \l_tmpa_tl
    \group_end:
  }%<<<
\NewDocumentCommand \DrawASCII { O{.8} m }%>>>
  {
    \group_begin:
    \frenchspacing
    \l_ducksay_body_fount_tl
    \def\arraystretch{#1}%
    \begin{tabular} [b] { @{} l @{} }
      #2
    \end{tabular}
    \group_end:
  }%<<<
\NewDocumentCommand \CreateASCIIshadow { m m }
  {%
    \group_begin:
    \tl_set_eq:NN \l_tmpa_tl #2
    \regex_replace_all:nnN { [^\s\c{tabularnewline}\c{null}] } { @ } \l_tmpa_tl
    \tl_gset_eq:NN #1 \l_tmpa_tl
    \group_end:
  }
\ExplSyntaxOff

\ReadASCII\myavatar%>>>
{                                                                          OI?+==~~~~~IZ   .          O7?~~:~~=+77$$$$77$77$  .
                                                                       .OI+=~~~:~=====7I  .       Z?=~::~=+I$$$$77I777III$,   .
                                                                      ZI+~~~:,:~++?++?Z  . .  +$~,,:~~+I7$Z$7IIIIII???7Z ..
                                                                 .. O7:::~::~~~~++?+?7   . .?~::,:~~?7$$77II7IIIII?I$= .
                                                            ..    .I=,,,:~~~=++=+??IZ.   Z?~::,:~~=7$$$7II77777I?I$
                                                                 =7::,,,:======+??III????:,:,,~=+?7Z$7III7I7I???:
                                                            .   Z?~,,,::~~===++III?+====~:::+=+?7ZZ7IIIIII7I+?$ .      ..
                                                        .   O$7?=~::,,::~~=+=?III+=~=+:~::==??I7Z$7I77IIIII?$.    .
                                                      .  O$?:::~~:,~::=~~~+=+I77?=~+=~:,:~=+7$ZZ77IIIIIII??I
                                                ..    .Z7=:~====:,,:~~=~+~==I77I~~=~:,,~=?I$ZZ$77III7III?II???I77
                                                    .OI+=======~,..:~+++?==?77I+===,,,~~+$ZZ$$$7I??III???I++IIIIII7Z. .
                                 I DD 8~.   . . ..O7+=~===~~~~=~,::~=+?II+?7$I=~+=:,~=+I$ZZZ$77IIIIII?+?I+++++??7$$$77 .
                              . .D87??ZOD   .Z Z+=~:::==~~~~=~=~,,:~~=IIII7$I=~+=:,:=+7ZOZZZ7IIII?????II+==~~===+?I$$77$:
                                I7=~=?I7O   O7+========~~~~~~~~,,,,===777$$$=~==,~=~+7OZZZZ$?IIII??+?I?=~~~~~~~~===I$$?I7?.
                              . 7=:::~+?$   ===~~=+=~~~~~:::~~::,,:==?7$$$I=~==:~~??$OZZZZ$$$7II?++II?~~::~~~~~~===+I77II$Z$
                              . +?III++7ZO87~:~==~:~~:::,:,:~:,::::=+$$7$+~~+~,,~~+ZOZZZZ$$$I7I??II=~~====++++++????II$7?$$$7$= .
                                ++~+$I7$ZZ$+:=++:,::,,:::,:~::,::~~?$$7?=:=+::~+?+7OZZ$$$7I?++????++?????IIIIIIIIIII77$$77$$7I7Z
                                7=:777ZZZZ7===~~:,::,,::::~=:,,,:~?ZZ?~:~?+::~=++7ZOZZ$?=~+?IIIIIII777IIIIIIIIIIIIIII7$$$777$777=  .
                                7::$ZZ$$$$7===~::,::::,::==:,:~=??II???I??=~~=??$OOZI+~?77?=??II7777IIIIIIII?IIIIIII77$77I??7$77$$   .
      . .        .  .      . +7II~=?=?$7$Z7?=~=~:::::~~==~=++=??:~=++==?I?7$?IIIOOI~+$7+=+?I7777777III???????????+?II7$7I+++??7$7$Z  .
         ?=~?I+=.   .   .  ?:::~I=I++?I$ZZ7?==~:::~~:~++++::+?+?I??===:~I7$7Z77O$=+ZI~=+?7$$7$77III??++++++++++++++II77II??++=+I77$~ .     .
        I,,:?IZ7III?+==+?+~==?I?=?$=++777Z$7=~~~~:.,,:~+=,.~+I7ZI7$I??=++$$7$ZO$?OZ?=+I7$$$$$7II?+=~~~~==~~=++++==+?I7I?+?????+?77?IZ
        +,::+I7$ZZ$$$Z77I7II$I~:+?7+I7I7$ZZ$=~~=:.:=~~~:.,~=I$OOI??$$77?+$$$Z$I78ZI?II7$$$$7II?+=::::::~~::~++++~==+I7?=+++?II??77I+?$.
        I:,:=+7ZZZZ$ZZ$$$7$Z~=?++==7777$$ZZZ?=++,,:=~~~,.=++$OO$$ZZZ7$$$$7$7ZZO8OZOZZZ$ZZ$7I+==~~~~:,,~~~:,:=+++:~~?I7+====?III?7$II+I.
        ?,,,~~=?ZZZZZZZ$$7$7$I+~=?7III=?IZZZ$?+:,~~~~=,,~=+I$$$OOZ$$Z$$$777IZZOOZOOOOZOZZI?+~==~,::::::::~~=+++=:==I77=~==+??I77$7?77I~
       .I~~~II=::?$8OOZ$$ZZ$$7I7$7?+=~+I7$ZZ+~,,~::=~:.:~=IZZ+:?IZIZ$I+?77I?OOZZZZZZOZZO$+~~:::::,,,:~~::~=+++==++?I?=~=+=++?I$$$I?II7Z+
          ZII$$7=~~==?7$Z$$ZZZZZI?+===?$Z$$I:~~:~~~~=~=+=?7OO$77$Z?$7=~I$77$7ZZZOZOZOZ$Z$=,,~~~~::,,:~~~~=+++==+??I+=~~=+=++?I$$7??II7$7 .                    .
            Z$$ZZZZZ$$$$$ZZZZZZZ7?===?777Z$+,.,:+=~,,~,:=7ZO$7IIIIII7=?$Z?~?$$$$ZOOZZZ$$7+,,:~==~~::~:~~:++++++??++=::~+?+++I$$$I??III$Z,
      . , I$7?+==~~===I7$$ZZZ$$ZZ$I+?II7$$?:,:~==:.:=+~=?ZO$777I???+:+7ZZI~=ZZ$$ZOOZZ$Z$7I==++++=====~==+???IIII==+=::~=+??+$$$Z??III7$ZO
 .   .?=~~=++?+++???I??I7Z$ZZZ$$$ZZ777$$$ZI+~~=~==~~~?II$$7+?????==+I7$$$+~?$ZZ$ZZOZZZ$7I??++??+,..~~~=+++++?I?++??I=~==+??IZZZ$?I?II7ZZZ~
     7:~::~I7I7$$$ZI????I77$ZZZ$Z$$ZZZZZ$$I~~~=~~+?II?77I=~,..,~=+?$$$Z$7~++OOOZZOOZZ$$I==~~~~=+===?+===~=+??II??+?7=~++???$$ZZ7?I??I7ZZZZ,
    $=~~++++IIII$ZZZ$II??7$$$$$Z$$ZZZZZZ$=~~:~??+=~+??:~:,,,~=+=+??II7$$7IIIZZOOZOOZZ$?+=:~~~~~~==+??++=:~==?II+~+7I+=?I77$ZZZ$II??II7$ZZZO,
    I==~~~~:=+?+=+I7I?++??77$$ZZ7$ZZZZ$$I,:,,+=:+~?~~+,,~?II77$77II7777$$777ZZOOO8OZZI+~,:~~:,,:::~=??==~~~=I7I==?III7II7$ZZZ$I?I???I77ZZZO=
  . .7==+~~~?II+~~:~=+$Z7?I7Z7=+ZZZZ$ZZ$=::,+:,=::,=+~=?+???III$$ZZOOZZZZZ$7$$Z8OOO$I?,:~~:,,.,:~~=+?I=:::~=III++?II7$7$$ZZZZ$I?II??7$7ZZZOO
    . ?=+===+II7ZZZZOZ???+II::?ZZZ$$$$7=:,,=::+==~+:~+=+?7ZZOOOOOOZ$$$ZZ$$$$$$ZOOOOI?=:=~,,,..,::~=+?I+~,:~=I77++?II7$$ZZZZO$I?I?II?7$7ZZZOO   .
      +$$77777$$Z+~OO77I?I?~?$ZOZZZZZO+~~~=~===~+?~=?+?I$ZOZZOZZO7ID8Z$$$$OZ$$$ZOO$?+~=~,,,,.,,::~=??I?~:==+77?+?I7$ZZZZZZOO7I?I???I7$7$$ZOO?
        .  .       OZ$7+=I~?ZOOOZO~   =~:~~:+=..+,:=~=ZZOZZ$ZZ7=8O$DN8O$$Z$$ZOZZO$7?==~:,,,.,.:~=++?+I?~~=+I$7?+I$$ZZZZZOOZZ7IIII??7$$7$$ZOOO
               .. $ZZZ?==7$$Z7        =::,,,~~+I.,+=?$77OZOZ?ZNZ8N8NNN88O$ZOZZZZ7??++=~::,,.:===:=+??7=:~+?7$I??$ZZZOOOOOZ$7IIII??I$$$$$$ZZOO~
      .          OO$$$++I$$Z       . 7,~=::=:+7+~+I?ZZOZIZ8$=IZZO8DD88DOZOZ$OO$Z+==++=~::::,=:::~=+II7=~=?I$7??IZOZZOOO8O$$7I777777$$$$$$ZZOO7
                 ZOZ$$77$ZO      . 7==$$Z+:=+??=?IIO$$7ZZ7O8$I$ZO88OOOZ8O$ZO$ZO$~~~++=~:,,,,~:~~=+?II$===?7$I?I$ZZZOO88OOZ$7$$$77$$$$$$$$ZZZOZ~
                 ZZZZZ$ZZ        Z+77?$=+$~~II=:I7$8O8D8I+ZO    O8O$Z8~=7O7$$$ZI=:~+==~,::~=::~=++?777=++7$Z77$OOZZO888OOZZ$$$$$$$$$$$$ZZZ$ZO8+
             .    7$ZZ7.    ..  ZZ77I$$IIZ~:I$++$O? DDO:~I7    .OZ$7Z$8OZZ$Z$Z$?:,=+=~::~:::~===??I$7I??I$$$ZOOZZZZO8888OOOZZZZZZZ$$ZZZZZZ$ZOO8. .
              .        .     .  II7$II$7ZI,:7OII8    .    :  IOZ$7Z~.=7Z$$$77ZZ+~:====~::::~~==+II7$$777$ZZZOZZZOOZO88888OOOOOZZZZZZZZZZZ$$ZOO8:
                                7ZZ7$ZOZ$,,=$77Z~           Z$ZO7I7OOI$$Z777ZOZI~~=+=~~::~~~==?I7$$Z$7$$ZZZZZ$$ZZZOO88888888OOOOOOOZZZZZZ$ZZOO8:
                                :?I7ZZI+::=?7ZOO        ..  $$ZZ7:,+IO$$$I7$OOO7::====~=~~==+?I7$ZZ$$ZZZZ$I?II77ZZOO888OOO888888OOOZZOZZ$ZZZOO8=
                              . ~=+=:::~=I$ZO$Z+   .   .   OZOOZ887IZOZZ7$$O~ :$~:==+===~==+I7$$ZZZZ$$77I+==+?I7ZZOO888OOOOOZO8888OOOOZZZZZZOO8:
                               .?$7I??+I$OZ$7Z?           ~Z$Z7$8ZZZ7$777Z8$ .. ?=+++==+=+?I$$ZZZ$7??I??++++~=?IZZOO88OOOOOZOOOZZO88OOOZZZZZOO8: .
                              .   ~??I$Z?IIIZ8            $$Z$88OOZOOI7I78=.    $+++==+==?I7$Z$7++++=+===~=+~++?$ZOO8OOOOOZZOOZ$ZOOOOOOOZZZOO88   .
                                   ?8OZ88ZOOO      .    .ZZ$Z88D88OZ7I7$O     . 7+:~+?+??II??++====~~~~~=~~==??I$ZOO8OOOOOOOOZ$$OOZZOOOOOOOOO8? ..
                                 . .I+ZO=I+I=        .,OZ$7Z87O$ZOZIIIZ=       $=++==~I??+~~++==::~:,::~~~~=+I77ZZOO8OO8OOOOZZZOOZ$ZOOOOOOOO88$.      ...
                                    I+?7 7:=Z ..   . 77$7O~. +$ZZ$IIIZ .  . 7?=~~:~~~~==~:==~~~~,,::~::~~~==?I7$ZZO88OOOOOO8OZOOZZZOOZZZZOOOO8=    ~.  +~ .
                                     $=7~~?:7:     .. +=~   Z$ZO$7I7O,     ==~~::::~===~~~==::,.::,:~~:~~===I7$$ZOO888OOOO88ZZZOOOOOZZZZZOOO88?  $7     I.
                                      +?Z .?IO  .   . .   .ZZZZ$77?O.  .  7=~~~~======~~~~~~:,,..,::::~~~+++7$$$ZOO888888OOZZOOOZZZOZZZOOOO88O$  ?$7 +~=7 :
                                      $?7  ??Z      . .  ~$$7?II7I7    . ?::,:~~:::~===~=~~~:,,,,,,~~====+?I$ZZ$ZOO888888OOOOOOZZOOOZZOOOOOOOOO,.+$I7I7?7??,
                                        7 . $$?      ..$?+I7OO$I$O,     7~~~~~:::~=~~~~====~:,,,:::~~===+I7$ZZ$ZOO8DD888888OOOOOOOOZZOOOZOOOOZO= :7II?77II7= . .
                                     .              7??I7ZO8IIIZ?.  .  I~,,,:,.,=~~:,:===~~::,::~==?+++?I$ZZZ$ZZOO8D8D88D888OOOOOOZOOOZZZOOOOOOO  ~III777II7=?:=
                                       .. .  .             .:         I=:,,,,,:~~::::~=+===~~~=+???III7$ZZOOZZZOO888888888DD88OOOOOOOOZZOOZZZZOO  .7I7777I77II:+
                                     .         .    .      . .        +~:,,::==~::::~~+=:==~=+I7$$ZZZZOOZOOZZOOO8DD8D88888888888888OOZZOOZZZZZZO~~=7777$7II77I7+
                                         .     .                ...  $=:.,:,==~:,,:~~===:+==?7$ZZZZZOOOOOOOOOOOODDDDDDD888888888888OZZZZZ$$$ZZZO$$777$$$777777=
                                     .      .             .          I~:,,:==~~~~:~~==+~~+=+I$ZZ$ZZZOOOOOOOOOOOO888888888DDDD8888OOZOOZZZ$$ZZZOOOZ$$$$$77$$$$=.
                                          .. ?$$$$$777777777777$77777?=::,~=====:~=+++===~~?$ZZ$$ZZOOOOOOOOOOO8D8DDDDDDDDDDD8888OOOOOOZZ$$ZZZOOOOZ$7=?$$$I$7~,
                                       Z$7I????+++++++???????????????+=~=+?+====++++++=+++I7ZZ77ZZZOOOZOOOZO88DD888DD8DDD88888OOOOOOOZZ$ZZZZOOOOOOZ~,~$Z7I$$$+,
                  .          . .  ZI?++++==~~~~~~~~========++??I?????+==~:::~==+=+++==++~=I$Z77$ZZOOOZZOOOO8DDDDDDDDDDDDDD8888OOOOOZZZZZZZZZOOZOOOO7?+I7IZZZ,
                        .    ?7?++===~=~~~~~~~::~~~~~~~~=+??++++?I?+=~::,,,~====+++++++++I$$77$$ZOOOOOZOODDD88DDDDDDDDDDDD88888OOOZZZOOZOOOOZZZOOOOZI+?++7$:
                  .   .  7??=~~~~~~::~~~~~~~~~:::::~~~===~~~===+?+==~.,::==~~===+??++++~=7$77$$ZOOOOOZO+8DDD88DDDD8DDDDDDD88OOOOZZOOOOOOOOOZZZZZOOOOO77ZZZ7:
                      7+~~+=~:::,::::,,,:~~~===~~~~~~~~~:~~~~==?~::~::~~~~~~=+++?II???=+I$7I$$ZZOOOO~  ?88DDDDDDDDDDDDDDD888OOOOOOOOOOOOZZZZZZZZOOOOOOOOO~~,
               .  .  I:~+~~~:,:~::::,:,,:~~~~~~===+++=~~~=~~+++=.,:~~~::::~~+???I7I?I?=I$I77$ZZZO8OI .. :DDD8DDDDDDDDDDD8OOO8OOOOOZZZZZZZZZZZZZOOOOOOOO7?,, .
             .  . .7?:==~~::,,,,.,:,,::~=~::::::~~~~~~===~~==::~,:~~~~:::~==+?I77IIIII7$$7$$ZZZOOOO. . . DDDDDDDDDDDDD888888OOZZZZZOZZZZZZZZZZZOOOOOOO?=:
              .    =~==~~:,,,,..,,,:::~~~:::::::~~~~~~~~:=+=:,:~~~=~:~====+?I77$7IIIII$$$$ZZZOOOOZO~,  :8DDDDDDDDDDDD88888OOZZZZZOOZZZZZZZZZZZOOOOOOOZ. .
                 ~I~==~:,:,,,,.,,::~:::::::~~~~~===~~~::~+=:::~~~~~~==+?I7$7ZZZZ???I7$Z$ZZZZOOOOZO888O888DDDDDDDDDDD888OOZZZZOOOOOZZZZZZZZZZOOOOOOOOO? .
                 ?~~+==~~,:,,,,::::,,:::~~~======++=~~~===::~~:~==++?I777$$$Z$I+?I?I$ZZZZ$$$OOOZO88888888DDDDDD8D88D8OOZZOZZOZZZZZZZZZZZZZZZOOOOOOOOO,       .
              . I+:=++=~~:,,,:::::,,,:=~~=++++++=~::~~=++~==~:~=+?I?+?+??II7I?++?+?$ZZ$7$$ZZOOZO888888888888DDDDDDD8OZZZZZZOZZZZZZZZZZOOOOZZOOOOOOOO+  ..
             . .$+~??++=~~~~~======~~===+++??++=::::::=====~~=++++++++=++I7II?===+IZZZ$77$ZZOZO8888888888DDDDDDDD88ZZZZZZZZZZZZZZZZZZOOOOZZZOOO88OOO:,  ,   .
            . . ?I??++??+=+++++++?+++???II??~===~~~:~=+==~~=+++?++==~=+?III?+=~~?I$Z$Z7I7ZZOZ88D8DDD88DDDDDDDD88OOZZZZZZZZZZZZZZZZZZOOZZZZZZO888OOOO:,
                 Z7?==???+??????II7777III??=~~~~~~~++=~:~~=+===+~~~===++?II?+=~+7$ZZZ$ZZZOOO8D88DDDD888DDDDN8OOZZZZZZZZZ$ZZZZZZZZZZZZZZZZOOO8888ZZOO
              .    I=:~~==+++===?I7777I?++==~~==::~+=~+++=~~~~~==~~++??II++==++IZZZZZO8OOOO8D88888DD88DDD8OOOZZ$$777II777$$$ZZZZZZZOZZZOOO88888OOOO
                   =$?::~~==~~:~:~~=+?I????+==~:~=+=+++=~~::~~::===?????+++=?I7$ZOOOOOOOO888D8DDDDDDDDD8OOZ$7777?++=+???I77$$$ZZZZZOZZOO888888OZOOO
                 .  :OI?+~~=~~:,:=I7$$$$$777??+=??+++=:~:::~~~~=+++?I??+==+I$$ZZOOOOOOOOO8DDD8DDDDDDDDOZZ777+==~~~~:~+++????7$ZZZZZZZOO888OO88OOO88D
                     .Z$7??++==+IIII?+~~=7ZOZZZ7??+~~~::,~~~====++???+++?I$ZZZOOOOOOOOOOO888DDDDDDD88O$7I+++====~~~~~~===+??I7$ZZZZOOO888O88OOOO888DN.  .
                       ZOO$$7777777?+=~~~~~=+?I?==~~~~===~~=??+????=+?I7$ZOZZOOOOZZOOOZO8DDDDDDDDNDOZ7?++======~~~~~~~===++?II7$ZZZOOOO88O88OOO888O888  .  . .
                   .   . OOO8OOOZZ$I?++++==+??+=::::~~~==++++++?I777$$ZZOZZZOO8OOOOOOOO8888888DDDDO7I?+++===~~~~~~=~~=====++?I77ZZZOOO8OOOOOO8888OO88888
                            OO88OOOZ$$77I7I?=~::::~~~~=+++++??III77ZOOZOZZOO8OOZOO8OOO88888888888Z7?++=++====~~:~~~===~==+++?II7$ZZOOO8OOOOO8D88OOOOO8888 .
                              ZOOO8OOOZ$7?+~:~~~~~~~~===++?I777$$ZZ$7$ZZZOOOOOOO88OOO88888888888$I+===++==~~~~~~========++++?I77$ZZOO8OOOOO88888888888888
                           .    +ZOOOZ7I?=~~:~==~==~+?=++77$77$$7II7ZZZOOOOO8888OO888888888888OZ+++++++=========~~~===+??++???II7$ZO88OOO88D8888888888888?.
                             ...  :Z$I+++~:~~~==~~==???7I7I7$7I?I7$ZZZOO8888OOOO8DDD888888888O$?+++==+======~:~~~~~===+++???IIII$ZOO8O88888888888888D8888Z.
                                  $?+=======+=~~::~+??7?=I$$77I$ZZZZO888OOOOO88DNDDDDDD8DD88O7I+++====+===~:~~~:~~~==++++??I?III$OOOOO8D88888888OO88D888O8=$
                        .     .+ I+~~====++=~~===+?7I?++I$$$ZZZZOO8888OOO888DDDDDDDDDDDDDDDDI?+====+==~====~~~~~~=~==++???II??I7ZOOO888888888888888888OOO87
                             .:7?+====+++==~=+++?III+?I7$ZZO8888888OO8888DDD888DDDDDDDDDDDDZ?+=~===+==~~=~~=~~~======++??III??7$OOO888888888OOO8888888O88Z?
                             7II~~~~~=====~~+++?II??I7$ZZ8DD88888O88DD888D88888DDDDDDDDDD8ZI==~===~===~~~======~=~==++??II???I$ZOO888888888O8888888O88888I . .
                          :7I+++=~~~=~~~~=====+??I7$$$O8D8OOOOOOOOO8888OOO8O88888888DDD8D$??==++=~~~=+=~~~~~~===~~=++??II??+I$ZOO8888888OO88D8D88OO88O8O8 .
                    = 7?++I?+++=~~~~==~~=~:~====?7$ZOO888~,        =7~ . OOOOOOO8O88888D8I?+=+===~~~~====~~~~=====++?????++?$ZOO888888888DDDD8888888O8O8?
                .  I=~::=I?++=~~======~~=~~~==+++I$O88?~ .        .         .,~+ZOOOOO8O7+++++=~~~~:~~=++~~~=====++????+?+?IZOOO888888DD8DDD8888888O8O8.  .  .
                  I+=~~=??++=======~~=~~~~~~===+I$ZZZ=   .   .        .       .   $ +OZ7?+++=+~~~~~:~~=+=~~~====++????++??I$OO88DDDDDDDDDDDD8888888OOO....  .
                I?+~+=+??++=~===~~:==~~::+===?I??$O. :              .     .     .  . ZI?+~=+=~~~~==~~~+=~~====++?????+???I$O888888DDDDDDNDDDDD8888OO8      . .
          .. I??=++++??+==~~==~~=:~===::~=+=??++I$O .                          .   +.=?=~=====~~~~~==+======++++?II+++?IIZO888DD8DD8DDNNNDDD88888OOO?
       .....?=~++??I?+===~~=~=~~~~==~==:==+==+++$OO                               = 7I+~=+====~:~~=+++====+++????????I7$Z8888D8888ODNNNDDND8888OOO8$.
         ,.I~~++?I7?++::~==~==:~,~=~==~:=~=++==+ZO$.                            .,.7??+~==~~=========+++++++?????+??I7ZO8888DD888O8MNDND8888888888O
         .I???III7I+~~==~++~===+:~=~====+~==?+?IOO                                7+++=~+===~~=====+=+++???????+??I7$ZO88O8D88D8O8NNNNNNDOO888OOO8 .
      . 77$7$77$I?+~,~===II++=+~~~=+???+=:~=7$$ZO?   .   .                      ,.I==~~=++++++=======+++????????I77ZOOOO8D8O8888DNNNNNDDD88O8OOO?
       I?OZZZZ$7===???~~+$$7++=:=~=I$$??=:~+7ZO8I                               7I+~~~~==+++=====~=+++????????I7$ZO8888DDZZOOOO8NNNDNDDD888888OO
      +I8OO$ :I+~==?==?7ZOO7?+=~~=?O8OI?=~==$OOO     .              . .  ,$I7I77?==~::=+=+=======+++++???I?I7$ZOOOOO88OZ$ZOOOODNNNDDND8O8O88OOO7.
     .$8O   :7++++?++?7O8$7????+==IOOZ$?~~~~IOI                    .   ,=$77+?77+~~::~=====+=++===+?????I77$ZZOOOO88Z7$$$ZOO8DNNNDDDD8888O88OOI
   . ?8O   .7I+~~~~?I$88Z77++==+?+7O$7$I++++ZO:~                ..    +?$??+I77I=~~~~~=========+++?????I7$$ZOOOO88O77I7$ZOOO8NNDNNDD88888OOOO8   .
    ..8.    I+=~===7ZO=?$7I+++++77O?7$7?=++?ZO                .   .I$$I?+++?7$7?=~:::~=======++++?????I7$ZOOZOO8Z7??I77$ZO8ODNND8DD88O888OO888?
  .  .O~  .+++==++?OOZ .:7?~~:~=7Z8 . $+==~+Z                  ,$7777I??+?II77I+==~::~=+=======+??IIII7$$ZZZO88O??II7$$ZOOO8NDDD88888O88OO88O8$ .
     ::.   I=====I7OZ:  77=~=~=?$OO...7+=~~=Z          .  . .$$7++?=++==?I??7I?+==~~~=+====+===+?II777$ZZ$ZZO8$?IIII7$ZO8O8NDDD88D88OO88OO8OO888 .
     =    7?====?$ZZ     I====+IOO    $?===+ZO     .        $77?~~~?I7I??++=$I++=~~~~==+++===+???I77$$Z$$$ZZ8ZI?777$$ZO8O8DNDD8O8DD8OO8OO88OO87
         7?====+$OO.   =7+==~=+7      $+=~=+ZO    .    ..,.7+=~7==II??+??+=+$?+=~=====+??+==+???7777$Z$7IZZO$??7$77ZOOOOONNDD8O8D88OO8OOO8OO8$   .
        ~7I+++??OZ$   77I+++=??$$     $I????ZO    . . . :I=~=I7III7?++~~~+=+$I++===++++??++++?II777$ZO7I7ZO8II$Z77ZOOOOO8NDD888DD88O8DOOO8OO8    .
      ..,I????+?OZ    77?+++?I7Z$     $I7,,?Z+ ...     .~=+I7$Z$7I?+?7?+=+I7Z$I?=+++++?++?????I7777ZOO$$Z8OZI$ZZ$ZZ8OO8DDND8O88D8888D8OO8OOO8 .
        .7I?+I77OO .  :7?++==?$O       77,.+O.       .:I:?7OD888+~:==?7?+77I$O$$????????++??+++I$77ZOZZO8O$7ZOZZO88OO8D8DD8O8DD8888D88OO8OOOO
        .77+:+ZZ?.  , 7II:,~7?$O  .     ,..I          ??ZDDDOZ$?~=++?I7I7II$?7OZZZ$$$77I7I?++++IZ$$OOOOOZ$$ZOZZOOOO8DD88D8OO8888D88D88OO8OOO8
        .?$++7OO    .,?7$,,+77O~     .  .,,7 +    .   OD8   ,I?+?I7O8Z$$I?+=7??$ZZZZ$$I??II7III7Z$ZOOOOZZOOOOOOO8DDD88888888888888888888OOOOZ
      . ..7=?=O.  .  :++?:,II,           :.7   .       .  . ?+?IO8D8OZO7+:++77II7ZZ$II?+==++$$ZZZ$$OOOZOOOO88DDDDDDDDD88OOOO8888OOOOOOOOOOO87    .
         =$+7O+    .    .:~7       .     ?=  .           ..7?$O8O.. ,II==++I$77777+ZZ$7I??II$$$$$$ZOZZOOODDDDDDDDDD8888888OO888OOOOOOOOOOO88
         .7?7$, .        :+. ...       ...7  .        .  .:~,?$: ,:.+~+++IZO88O8+OO~IOZZZ$$$ZZZZZOOOZO8888888888888OOOOOOOO88OOZZZOOOOOOOOO7
           7~O  .        +7: .       .     .              ,.. .    I7?7$O888.:..7.= .~?OOOOOOOOOO8888  ?8OOO88OO8888OOOOOO88OOOOZZZZZZOOO8
       .  +$OO           I                                         I?+OO:                     :: .   .?8OOOO8888888OOOOOO88O88OZOOZ$ZOOO
         .~~?            I.         .    .                          ~=  .                      .      8OOOOO8888DD8OOO8OO8O8OOZZOOOZZZ
         ,  ..           ::              ,                           .                               :OZZ88?:88888OOOOOOO,? OZOOOOOZO  .
        ..      .                                                                                  ..8ZO8$  .  ?8OOOOOO~  ,~OOOOO88     .
                  .                                                                                 8OO8D.     $8OO888D .  ?OOOO
                  ,                                                                              . 8.  :.    .  OO8DDD      ZZO
                  .                                                                                ..   ...   . 888D?   . . O~
                  .                     ,                                                .           .    .   . 888.        ?  .    .
                              ,                                                                            :. .          , ,}%<<<
\CreateASCIIshadow\myshadow\myavatar

\newsavebox\avatarBox
\newsavebox\shadowBox

\setbox\avatarBox\hbox{\DrawASCII\myavatar}
\setbox\shadowBox\hbox{\DrawASCII\myshadow}

\NewDocumentCommand \slantbox { m m }
  {% https://tex.stackexchange.com/a/63188/117050
    \hbox
      {%
        \pdfsave
        \pdfsetmatrix{#2}%
        \rlap{\copy#1}%
        \pdfrestore
      }%
  }

\geometry
  {
    textwidth=1.6\wd\avatarBox,
    paperwidth=1.6\wd\avatarBox,
    textheight=1.85\dimexpr\ht\avatarBox+\dp\avatarBox\relax,
    paperheight=1.5\dimexpr\ht\avatarBox+\dp\avatarBox\relax
  }
\begin{document}
\noindent
\hskip.56\wd\avatarBox
\rlap{\copy\avatarBox}
\raise.2\ht\shadowBox\slantbox\shadowBox{1 -.3 -.5 -.5}%
\end{document}
3
  • 4
    really nice!! And just out of curiosity, did you buy David a beer? Commented Jan 3, 2019 at 20:19
  • 3
    @Raaja we made an agreement to treat it like Paulo's thesis as long as we don't meet in person.
    – Skillmon
    Commented Jan 3, 2019 at 20:20
  • 1
    Fair enough ;-) Commented Jan 3, 2019 at 20:26
7

Disclaimer: This entry is just for fun (and maybe some advertisement for the tikzlings :), I'm not participating in the contest

The code below might or might not produce a shadow. (I hope @marmot doesn't mind that I borrowed (something similar to) his avatar)

\documentclass{standalone}
\usepackage{tikzlings}

\begin{document}

\begin{tikzpicture}
    \marmot[ask phil]
\end{tikzpicture}   

\end{document}

enter image description here

7

There's another kind of shadow going on here ... enter image description here

\documentclass[tikz, border = 5pt]{standalone}

\usepackage{tikzducks}
\usepackage{tikzlings}
\usetikzlibrary{calc}

\def\nframes{30}
\def\frame{5}


\begin{document}

\foreach \frame in {0,...,\nframes}
{
\pgfmathsetmacro{\time}{\frame / \nframes}
\pgfmathsetmacro{\marmotCoord}{1.5 / (1 + pow(abs((\time - 0.5) / 0.4), 5))}
\pgfmathsetmacro{\clockCoord}{\time > 0.45 ? (\time  < 0.55 ? 0.5 * sin(360 * (\time - 0.5)) : 0) : 0}
\pgfmathsetmacro{\clockH}{\time < 0.55 ? 50 : 90}
\pgfmathsetmacro{\clockM}{\time < 0.55 ? 210 : 90}
\pgfmathsetmacro{\clockS}{\time < 0.55 ? 150 - \frame : 90 - \frame}
\pgfmathsetmacro{\mouthR}{-0.15 + 0.05 / (1 + exp(-10 * (\time - 0.5)))}


\begin{tikzpicture}

  % to stage all elements properly
  \useasboundingbox (-3, -3) rectangle (3, 3);

  % marmot
  \begin{scope}[rotate=45, yshift =\marmotCoord cm]
    \marmot[]
    \coordinate (marmot lmouth) at ($(marmot nose) + (-0.1, -0.15)$);
    \coordinate (marmot rmouth) at ($(marmot nose) + (0.1, \mouthR)$);
    \draw[black] (marmot lmouth) .. controls ($(marmot lmouth) + (0.05, 0)$) and
    ($(marmot rmouth) + (-0.05, -0.05)$) .. (marmot rmouth);
  \end{scope}

  % clock
  \begin{scope}[xshift=\clockCoord cm]
    \fill[ball color=gray!20, even odd rule] (0, 0) circle (2.5 cm) circle (2.0 cm);
    \fill[red!75!green!50!blue!25] (0, 0) circle (2.0 cm);
    \foreach \t in {1,...,12} {
      \pgfmathsetmacro{\theta}{90 - 30 * \t}
      \draw[line width=3pt, black] (\theta:2.0) -- (\theta:1.8) node[pos = 2.0]{\t};
    }
    \draw[->, color=red, line width=2mm] (0, 0) -- (\clockH : 1.0);
    \draw[->, color=blue, line width=1mm] (0, 0) -- (\clockM : 1.5);
    \draw[->, color=orange, line width=0.5mm] (0, 0) -- (\clockS : 2.0);
    \fill[ball color = gray!20] (0, 0) circle (0.15);
  \end{scope}



\end{tikzpicture}

}
\end{document}
3
  • 1
    This seems to imply that marmots only sleep 2h a day... I can tell you that we sleep much longer. ;-)
    – user121799
    Commented Jan 7, 2019 at 16:20
  • @marmot I just hope the younger audience get the reference
    – caverac
    Commented Jan 7, 2019 at 20:56
  • Funny and clever. I like it! +1
    – Ulysses
    Commented Jan 8, 2019 at 5:39
5

With all due respect to the Groundhogs ;)

enter image description here

Also, motivated by Skillmon's ASCII arts:

enter image description here

Source: Google images

6
  • 1
    What's the name of this cutie? Phil?
    – user121799
    Commented Jan 3, 2019 at 20:26
  • @marmot just before a few minutes, I got to know about tradition. So I think yes. Let's call him Phil ;) Commented Jan 3, 2019 at 20:29
  • 2
    Watch the movie "Groundhog Day" ;-)
    – user31729
    Commented Jan 3, 2019 at 20:31
  • 1
    @Christian Hupfer good way to wrap up my vacation mode, I think. Commented Jan 3, 2019 at 20:34
  • 1
    @Raaja: Watch out for Ned Ryerson :D
    – user31729
    Commented Jan 3, 2019 at 20:41
  • @Christian Hupfer I shall :-) Commented Jan 3, 2019 at 20:43
3

I'm not strictly using this as an avatar but I do use this hippo

Hippo

as a logo for a SQL (Seekoeie Language(s)) application and it does have a shadow (Strictly speaking hippos don't have shadows only ripples). The pixelation is due to misuse of image magick

The code should it be necessary for a little proof this was done in TeX

\documentclass[tikz]{standalone}
%
% C:\cygwin64\bin\convert.exe -alpha off -density 600 logo.pdf -resize 240x240 logo.png
%
% C:\cygwin64\bin\convert logo.png -alpha off -resize 256x256 -define icon:auto-resize="256,128,96,64,48,32,16" logo.ico
\usepackage{luatex85}
\usetikzlibrary{shadings}

\begin{document}
\begin{tikzpicture}
% \draw[ultra thin, gray] (-0.5em, -0.5em) grid[step=0.1em] (0.5em,0.5em);
% \draw (-0.1em, 0.3em) arc( 180:   0:0.05em) arc( 0:90:0.1em);
% \draw ( 0.3em,-0.1em) arc( -90:  90:0.05em) arc(90: 0:0.1em);
\path[ultra thin, use as bounding box] (-0.525em,-0.525em) rectangle (0.505em,0.505em);
\draw[very thin, fill=yellow!70!brown!20!white] (-0.1em, 0.3em) ..controls +(0.15em,0.05em) .. (-0.1em, 0.4em) -- cycle;
\draw[very thin, fill=yellow!70!brown!20!white] ( 0.3em,-0.1em) ..controls +(0.05em,0.15em) .. ( 0.4em,-0.1em) -- cycle;
\draw [upper left =brown!10!gray,upper right=brown!50!pink,
       lower right=brown!10!gray,lower left =brown!50!pink]
  (-0.40em,-0.40em) .. controls +(0.25em,-0.1em) .. 
  ( 0.10em,-0.40em) .. controls +( 0.1em,0.1em) .. 
  ( 0.30em,-0.30em) .. controls +( 0.05em,0em) and +(0.1em,-0.25em) .. 
  ( 0.45em,-0.10em) arc(270:180:0.55em) -- % Ends at  ( -0.1em, 0.45em)
  (-0.10em, 0.45em) .. controls +(-0.25em,0.1em) and +(0em,0.05em) .. 
  (-0.30em, 0.30em) .. controls +( 0.0em,-0.2em) ..  % For symmetry use +(0.0em, -0.1em)
  ( -0.4em,  0.1em) .. controls +(-0.1em,-0.25em) .. 
  ( -0.4em, -0.4em) --cycle;
\filldraw[fill=pink]  (-0.35em,-0.25em) ..controls +(-0.2em,-0.0em) and +(-0.2em,-0.2em) .. (-0.35em,-0.25em);
\draw[ultra thin,fill = white] (-0.365em, 0.075em) ellipse (0.05em and 0.035em);
\filldraw[ultra thin, inner color = white!80!black, outer color=black] (-0.365em, 0.075em) ellipse (0.025em and 0.02em);
% \draw[ultra thin,fill = blue] (-0.35em, 0.06em) circle(0.05em);
% \filldraw[ultra thin,inner color = black, outer color=gray!30!black] (-0.35em, 0.06em) circle(0.05em);
% \fill[inner color = white!80!black, outer color=gray!30!black] (-0.355em, 0.07em) circle(0.035em);
\filldraw[ultra thin, ball color =teal, line cap=round, line join=round] (0em, -0.5em) .. controls  +( 0.1em, 0.05em) and +(0.0em,-0.05em) .. (0.2em, -0.4em) .. controls +(0.0em, 0.1em) and  +( 0.6em, 0.0em).. cycle;
\filldraw[ultra thin, ball color =teal, line cap=round, line join=round] (-0.3em, -0.5em) .. controls  +(-0.1em, 0.0em) and +(0.0em,-0.05em) .. (-0.45em, -0.4em) .. controls +(0.0em, 0.05em) and  +(-0.3em, 0.0em).. cycle;
\end{tikzpicture}
\end{document
2

Uhm...let me see, a compelling shadow for my avatar? compelling shadow, compelling, ... What is compelling? What? maybe the dreams?

mwe

1
  • 2
    Oh, you left academia? ;-)
    – user121799
    Commented Jan 6, 2019 at 22:21

You must log in to answer this question.