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!

  • 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:-) – David Carlisle Jan 3 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.) – marmot Jan 3 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 Jan 3 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. ;-) – marmot Jan 3 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 Jan 3 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.) – marmot Jan 3 at 19:18
  • 1
    By the way I love that prize idea. – Skillmon Jan 3 at 19:18
  • 1
    @marmot brilliant idea, though I'll try to do it without TikZ, just to learn something new :) – Skillmon Jan 3 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 Jan 3 at 19:54
  • 1
    @ChristianHupfer Consider this: the weather may be ruled by an Englishman. Doesn't that scare you enough? – marmot Jan 3 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 Jan 3 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. ;-) – marmot Jan 3 at 20:02
  • @marmot: I have been in GB multiple times... – user31729 Jan 3 at 20:05
  • 1
    @marmot: Yes, I made my personal Brexit ;-) – user31729 Jan 3 at 20:06
21

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

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

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}
  • 2
    Nice shadow!!!! – user36296 Jan 5 at 15:06
  • 1
    Thank you! Let's hope it brings good weather. ;) – Ulysses Jan 5 at 15:11
  • 2
    Agreed! We don't want to get your butterfly wet :) – user36296 Jan 5 at 15:18
17

enter image description here

  • 10
    That's not a shadow... it's a weird projection ;-) – user31729 Jan 3 at 20:10
  • 21
    @ChristianHupfer the English sunlight is so bright it penetrates the human head leaving the appearance of a projected image – David Carlisle Jan 3 at 20:12
  • 7
    That's rather sun light scattered exponentially by fog;-) And apparently British heads are quite penetrable .... – user31729 Jan 3 at 20:13
  • 8
    "English sunlight" is the textbook example of an oxymoron. – marmot Jan 3 at 21:26
  • 2
    @marmot you need to come out of your burrow more often to appreciate these things. – David Carlisle Jan 3 at 21:34
  • 10
    I always thought everywhere in the world the Sun is the closest star, in England it is a newspaper. ;-) – marmot Jan 3 at 21:44
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}
  • 4
    really nice!! And just out of curiosity, did you buy David a beer? – Raaja Jan 3 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 Jan 3 at 20:20
  • 1
    Fair enough ;-) – Raaja Jan 3 at 20:26
8

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

8

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}
  • 1
    This seems to imply that marmots only sleep 2h a day... I can tell you that we sleep much longer. ;-) – marmot Jan 7 at 16:20
  • @marmot I just hope the younger audience get the reference – caverac Jan 7 at 20:56
  • Funny and clever. I like it! +1 – Ulysses Jan 8 at 5:39
6

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

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

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
3

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

mwe

  • 2
    Oh, you left academia? ;-) – marmot Jan 6 at 22:21

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .