Make a Bowl of Alphabet Soup












9












$begingroup$


This is what we'll call a bowl of alphabet soup - a roughly circular ascii-art shape with the 26 uppercase English letters (A-Z) arranged clockwise to form the perimeter:



   XYZABC
VW DE
U F
T G
S H
RQ JI
PONMLK


Write a program that takes in a single letter character, A-Z, and outputs that same bowl of alphabet soup "rotated", so to speak, so the input letter appears where the A does in the example above and the rest of the alphabet cycles fully around clockwise.



So the output for input A would be that same original bowl of alphabet soup.



And the output for input B would be this one:



   YZABCD
WX EF
V G
U H
T I
SR KJ
QPONML


Likewise the output for H would be:



   EFGHIJ
CD KL
B M
A N
Z O
YX QP
WVUTSR


Or for Z:



   WXYZAB
UV CD
T E
S F
R G
QP IH
ONMLKJ


This needs to work for all 26 letters, A through Z.



Details:




  • You can assume the only input will be a single letter, A through Z.

  • If convenient you may use lowercase a-z for input and/or output, you can even mix and match lower and uppercase.

  • The alphabet order must cycle clockwise, not counter-clockwise.

  • You must use spaces, not something else, to indent and fill the soup bowl.

  • There may be leading or trailing newlines or spaces in the output as long as the soup bowl is arranged properly.

  • Note that the bowl shape is 12 characters wide by 7 tall to make it appear roughly circular as text. Your bowls need to be the same shape.


This is code golf so the shortest code wins!










share|improve this question







New contributor




Discrete Games is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$








  • 4




    $begingroup$
    Great challenge! It initially seems easy, but it's not
    $endgroup$
    – Luis Mendo
    2 hours ago
















9












$begingroup$


This is what we'll call a bowl of alphabet soup - a roughly circular ascii-art shape with the 26 uppercase English letters (A-Z) arranged clockwise to form the perimeter:



   XYZABC
VW DE
U F
T G
S H
RQ JI
PONMLK


Write a program that takes in a single letter character, A-Z, and outputs that same bowl of alphabet soup "rotated", so to speak, so the input letter appears where the A does in the example above and the rest of the alphabet cycles fully around clockwise.



So the output for input A would be that same original bowl of alphabet soup.



And the output for input B would be this one:



   YZABCD
WX EF
V G
U H
T I
SR KJ
QPONML


Likewise the output for H would be:



   EFGHIJ
CD KL
B M
A N
Z O
YX QP
WVUTSR


Or for Z:



   WXYZAB
UV CD
T E
S F
R G
QP IH
ONMLKJ


This needs to work for all 26 letters, A through Z.



Details:




  • You can assume the only input will be a single letter, A through Z.

  • If convenient you may use lowercase a-z for input and/or output, you can even mix and match lower and uppercase.

  • The alphabet order must cycle clockwise, not counter-clockwise.

  • You must use spaces, not something else, to indent and fill the soup bowl.

  • There may be leading or trailing newlines or spaces in the output as long as the soup bowl is arranged properly.

  • Note that the bowl shape is 12 characters wide by 7 tall to make it appear roughly circular as text. Your bowls need to be the same shape.


This is code golf so the shortest code wins!










share|improve this question







New contributor




Discrete Games is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$








  • 4




    $begingroup$
    Great challenge! It initially seems easy, but it's not
    $endgroup$
    – Luis Mendo
    2 hours ago














9












9








9


1



$begingroup$


This is what we'll call a bowl of alphabet soup - a roughly circular ascii-art shape with the 26 uppercase English letters (A-Z) arranged clockwise to form the perimeter:



   XYZABC
VW DE
U F
T G
S H
RQ JI
PONMLK


Write a program that takes in a single letter character, A-Z, and outputs that same bowl of alphabet soup "rotated", so to speak, so the input letter appears where the A does in the example above and the rest of the alphabet cycles fully around clockwise.



So the output for input A would be that same original bowl of alphabet soup.



And the output for input B would be this one:



   YZABCD
WX EF
V G
U H
T I
SR KJ
QPONML


Likewise the output for H would be:



   EFGHIJ
CD KL
B M
A N
Z O
YX QP
WVUTSR


Or for Z:



   WXYZAB
UV CD
T E
S F
R G
QP IH
ONMLKJ


This needs to work for all 26 letters, A through Z.



Details:




  • You can assume the only input will be a single letter, A through Z.

  • If convenient you may use lowercase a-z for input and/or output, you can even mix and match lower and uppercase.

  • The alphabet order must cycle clockwise, not counter-clockwise.

  • You must use spaces, not something else, to indent and fill the soup bowl.

  • There may be leading or trailing newlines or spaces in the output as long as the soup bowl is arranged properly.

  • Note that the bowl shape is 12 characters wide by 7 tall to make it appear roughly circular as text. Your bowls need to be the same shape.


This is code golf so the shortest code wins!










share|improve this question







New contributor




Discrete Games is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$




This is what we'll call a bowl of alphabet soup - a roughly circular ascii-art shape with the 26 uppercase English letters (A-Z) arranged clockwise to form the perimeter:



   XYZABC
VW DE
U F
T G
S H
RQ JI
PONMLK


Write a program that takes in a single letter character, A-Z, and outputs that same bowl of alphabet soup "rotated", so to speak, so the input letter appears where the A does in the example above and the rest of the alphabet cycles fully around clockwise.



So the output for input A would be that same original bowl of alphabet soup.



And the output for input B would be this one:



   YZABCD
WX EF
V G
U H
T I
SR KJ
QPONML


Likewise the output for H would be:



   EFGHIJ
CD KL
B M
A N
Z O
YX QP
WVUTSR


Or for Z:



   WXYZAB
UV CD
T E
S F
R G
QP IH
ONMLKJ


This needs to work for all 26 letters, A through Z.



Details:




  • You can assume the only input will be a single letter, A through Z.

  • If convenient you may use lowercase a-z for input and/or output, you can even mix and match lower and uppercase.

  • The alphabet order must cycle clockwise, not counter-clockwise.

  • You must use spaces, not something else, to indent and fill the soup bowl.

  • There may be leading or trailing newlines or spaces in the output as long as the soup bowl is arranged properly.

  • Note that the bowl shape is 12 characters wide by 7 tall to make it appear roughly circular as text. Your bowls need to be the same shape.


This is code golf so the shortest code wins!







code-golf string ascii-art






share|improve this question







New contributor




Discrete Games is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question







New contributor




Discrete Games is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question






New contributor




Discrete Games is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked 2 hours ago









Discrete GamesDiscrete Games

48626




48626




New contributor




Discrete Games is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





Discrete Games is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






Discrete Games is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.








  • 4




    $begingroup$
    Great challenge! It initially seems easy, but it's not
    $endgroup$
    – Luis Mendo
    2 hours ago














  • 4




    $begingroup$
    Great challenge! It initially seems easy, but it's not
    $endgroup$
    – Luis Mendo
    2 hours ago








4




4




$begingroup$
Great challenge! It initially seems easy, but it's not
$endgroup$
– Luis Mendo
2 hours ago




$begingroup$
Great challenge! It initially seems easy, but it's not
$endgroup$
– Luis Mendo
2 hours ago










7 Answers
7






active

oldest

votes


















4












$begingroup$


05AB1E, 21 bytes



A roughly straightforward approach. Most likely golfable.



Code:



2AA¹k._•1못*Ć,ãiDΣ•Λ


Try it online!






share|improve this answer









$endgroup$





















    2












    $begingroup$


    JavaScript (Node.js), 121 bytes





    c=>`2XYZABC
    0VW5DE
    U9F
    T9G
    S9H
    0RQ5JI
    2PONMLK`.replace(/./g,x=>1/x?''.padEnd(-~x):(B=Buffer)([65+([a,b]=B(c+x),a+b)%26]))


    Try it online!






    share|improve this answer









    $endgroup$





















      2












      $begingroup$


      MATL, 49 bytes



      7I8*32tvB[1b]&Zvc2Y2j7+_YSy&f7-w4-_Z;YPE,&S])yg(


      What a mess. But it was fun writing. There's even an arctangent involved.



      Try it online!






      share|improve this answer











      $endgroup$













      • $begingroup$
        Um... what does the arctan do? Anything with the slightly circular shape? ;-)
        $endgroup$
        – Erik the Outgolfer
        1 hour ago










      • $begingroup$
        @EriktheOutgolfer :-? It sorts the non-space entries by their angle with respect to center of the bowl. That defines the order in which letters must be written. I'll add a more detailed explanation tomorrow if I have time
        $endgroup$
        – Luis Mendo
        1 hour ago





















      1












      $begingroup$


      Python 2, 129 bytes





      lambda x:''.join((i,chr((ord(x)+ord(i))%26+65),' '*5)[ord(i)/46]for i in'''   XYZABC
      VW] DE
      U]]F
      T]]G
      S]]H
      RQ] JI
      PONMLK''')


      Try it online!






      share|improve this answer









      $endgroup$





















        0












        $begingroup$


        Wolfram Language (Mathematica), 258 bytes



        (t[x_]:=Table[" ",x];w=RotateRight[Alphabet,4-LetterNumber@#];j=Join;a[x_,y_]:=j[{w[[x]]},t@10,{w[[y]]}];b[m_,n_]:=j[t@1,w[[m;;m+1]],t@6,w[[n;;n+1]],t@1];""<>#&/@{j[t@3,w[[1;;6]]],b[25,7],a[24,9],a[23,10],a[22,11],Reverse@b[12,20],j[t@3,w[[19;;14;;-1]]]})&


        Try it online!






        share|improve this answer









        $endgroup$





















          0












          $begingroup$


          Ruby, 119 bytes





          ->n{a=(0..6).map{' '*11}
          (?A..?Z).map{|i|j,k=("i".to_c**((i.ord-n.ord+0.5)/6.5)).rect;a[3.5-j*3.3][6+k*5.17]=i}
          puts a}


          Uses a complex number raised to a power to map to an ellipse. A complete turn is 26, so each quadrant is 6.5.



          This approach relies on the required output resembling an ellipse sufficiently that a valid mapping can be achieved.



          Try it online!






          share|improve this answer









          $endgroup$





















            0












            $begingroup$


            Charcoal, 33 bytes



            GH→→↘→↘↓↓77←←←←↖←↖↑↑↗→↗→→²✂⁺αα⌕αS


            Try it online! Link is to verbose version of code. Explanation:



            GH


            Trace a path.



            →→↘→↘↓↓77←←←←↖←↖↑↑↗→↗→→


            Outline the bowl. Each 7 expands to ↙←.



            ²


            Move one character at a time (this API overlaps each line's ends with the next).



            ✂⁺αα⌕αS


            Draw using the doubled alphabet, but starting at the position of the input character.






            share|improve this answer









            $endgroup$













              Your Answer





              StackExchange.ifUsing("editor", function () {
              return StackExchange.using("mathjaxEditing", function () {
              StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
              StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
              });
              });
              }, "mathjax-editing");

              StackExchange.ifUsing("editor", function () {
              StackExchange.using("externalEditor", function () {
              StackExchange.using("snippets", function () {
              StackExchange.snippets.init();
              });
              });
              }, "code-snippets");

              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "200"
              };
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function() {
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled) {
              StackExchange.using("snippets", function() {
              createEditor();
              });
              }
              else {
              createEditor();
              }
              });

              function createEditor() {
              StackExchange.prepareEditor({
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: false,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: null,
              bindNavPrevention: true,
              postfix: "",
              imageUploader: {
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              },
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              });


              }
              });






              Discrete Games is a new contributor. Be nice, and check out our Code of Conduct.










              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodegolf.stackexchange.com%2fquestions%2f181843%2fmake-a-bowl-of-alphabet-soup%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              7 Answers
              7






              active

              oldest

              votes








              7 Answers
              7






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              4












              $begingroup$


              05AB1E, 21 bytes



              A roughly straightforward approach. Most likely golfable.



              Code:



              2AA¹k._•1못*Ć,ãiDΣ•Λ


              Try it online!






              share|improve this answer









              $endgroup$


















                4












                $begingroup$


                05AB1E, 21 bytes



                A roughly straightforward approach. Most likely golfable.



                Code:



                2AA¹k._•1못*Ć,ãiDΣ•Λ


                Try it online!






                share|improve this answer









                $endgroup$
















                  4












                  4








                  4





                  $begingroup$


                  05AB1E, 21 bytes



                  A roughly straightforward approach. Most likely golfable.



                  Code:



                  2AA¹k._•1못*Ć,ãiDΣ•Λ


                  Try it online!






                  share|improve this answer









                  $endgroup$




                  05AB1E, 21 bytes



                  A roughly straightforward approach. Most likely golfable.



                  Code:



                  2AA¹k._•1못*Ć,ãiDΣ•Λ


                  Try it online!







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered 2 hours ago









                  AdnanAdnan

                  35.8k562225




                  35.8k562225























                      2












                      $begingroup$


                      JavaScript (Node.js), 121 bytes





                      c=>`2XYZABC
                      0VW5DE
                      U9F
                      T9G
                      S9H
                      0RQ5JI
                      2PONMLK`.replace(/./g,x=>1/x?''.padEnd(-~x):(B=Buffer)([65+([a,b]=B(c+x),a+b)%26]))


                      Try it online!






                      share|improve this answer









                      $endgroup$


















                        2












                        $begingroup$


                        JavaScript (Node.js), 121 bytes





                        c=>`2XYZABC
                        0VW5DE
                        U9F
                        T9G
                        S9H
                        0RQ5JI
                        2PONMLK`.replace(/./g,x=>1/x?''.padEnd(-~x):(B=Buffer)([65+([a,b]=B(c+x),a+b)%26]))


                        Try it online!






                        share|improve this answer









                        $endgroup$
















                          2












                          2








                          2





                          $begingroup$


                          JavaScript (Node.js), 121 bytes





                          c=>`2XYZABC
                          0VW5DE
                          U9F
                          T9G
                          S9H
                          0RQ5JI
                          2PONMLK`.replace(/./g,x=>1/x?''.padEnd(-~x):(B=Buffer)([65+([a,b]=B(c+x),a+b)%26]))


                          Try it online!






                          share|improve this answer









                          $endgroup$




                          JavaScript (Node.js), 121 bytes





                          c=>`2XYZABC
                          0VW5DE
                          U9F
                          T9G
                          S9H
                          0RQ5JI
                          2PONMLK`.replace(/./g,x=>1/x?''.padEnd(-~x):(B=Buffer)([65+([a,b]=B(c+x),a+b)%26]))


                          Try it online!







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered 1 hour ago









                          ArnauldArnauld

                          79.2k796330




                          79.2k796330























                              2












                              $begingroup$


                              MATL, 49 bytes



                              7I8*32tvB[1b]&Zvc2Y2j7+_YSy&f7-w4-_Z;YPE,&S])yg(


                              What a mess. But it was fun writing. There's even an arctangent involved.



                              Try it online!






                              share|improve this answer











                              $endgroup$













                              • $begingroup$
                                Um... what does the arctan do? Anything with the slightly circular shape? ;-)
                                $endgroup$
                                – Erik the Outgolfer
                                1 hour ago










                              • $begingroup$
                                @EriktheOutgolfer :-? It sorts the non-space entries by their angle with respect to center of the bowl. That defines the order in which letters must be written. I'll add a more detailed explanation tomorrow if I have time
                                $endgroup$
                                – Luis Mendo
                                1 hour ago


















                              2












                              $begingroup$


                              MATL, 49 bytes



                              7I8*32tvB[1b]&Zvc2Y2j7+_YSy&f7-w4-_Z;YPE,&S])yg(


                              What a mess. But it was fun writing. There's even an arctangent involved.



                              Try it online!






                              share|improve this answer











                              $endgroup$













                              • $begingroup$
                                Um... what does the arctan do? Anything with the slightly circular shape? ;-)
                                $endgroup$
                                – Erik the Outgolfer
                                1 hour ago










                              • $begingroup$
                                @EriktheOutgolfer :-? It sorts the non-space entries by their angle with respect to center of the bowl. That defines the order in which letters must be written. I'll add a more detailed explanation tomorrow if I have time
                                $endgroup$
                                – Luis Mendo
                                1 hour ago
















                              2












                              2








                              2





                              $begingroup$


                              MATL, 49 bytes



                              7I8*32tvB[1b]&Zvc2Y2j7+_YSy&f7-w4-_Z;YPE,&S])yg(


                              What a mess. But it was fun writing. There's even an arctangent involved.



                              Try it online!






                              share|improve this answer











                              $endgroup$




                              MATL, 49 bytes



                              7I8*32tvB[1b]&Zvc2Y2j7+_YSy&f7-w4-_Z;YPE,&S])yg(


                              What a mess. But it was fun writing. There's even an arctangent involved.



                              Try it online!







                              share|improve this answer














                              share|improve this answer



                              share|improve this answer








                              edited 1 hour ago

























                              answered 1 hour ago









                              Luis MendoLuis Mendo

                              74.8k888291




                              74.8k888291












                              • $begingroup$
                                Um... what does the arctan do? Anything with the slightly circular shape? ;-)
                                $endgroup$
                                – Erik the Outgolfer
                                1 hour ago










                              • $begingroup$
                                @EriktheOutgolfer :-? It sorts the non-space entries by their angle with respect to center of the bowl. That defines the order in which letters must be written. I'll add a more detailed explanation tomorrow if I have time
                                $endgroup$
                                – Luis Mendo
                                1 hour ago




















                              • $begingroup$
                                Um... what does the arctan do? Anything with the slightly circular shape? ;-)
                                $endgroup$
                                – Erik the Outgolfer
                                1 hour ago










                              • $begingroup$
                                @EriktheOutgolfer :-? It sorts the non-space entries by their angle with respect to center of the bowl. That defines the order in which letters must be written. I'll add a more detailed explanation tomorrow if I have time
                                $endgroup$
                                – Luis Mendo
                                1 hour ago


















                              $begingroup$
                              Um... what does the arctan do? Anything with the slightly circular shape? ;-)
                              $endgroup$
                              – Erik the Outgolfer
                              1 hour ago




                              $begingroup$
                              Um... what does the arctan do? Anything with the slightly circular shape? ;-)
                              $endgroup$
                              – Erik the Outgolfer
                              1 hour ago












                              $begingroup$
                              @EriktheOutgolfer :-? It sorts the non-space entries by their angle with respect to center of the bowl. That defines the order in which letters must be written. I'll add a more detailed explanation tomorrow if I have time
                              $endgroup$
                              – Luis Mendo
                              1 hour ago






                              $begingroup$
                              @EriktheOutgolfer :-? It sorts the non-space entries by their angle with respect to center of the bowl. That defines the order in which letters must be written. I'll add a more detailed explanation tomorrow if I have time
                              $endgroup$
                              – Luis Mendo
                              1 hour ago













                              1












                              $begingroup$


                              Python 2, 129 bytes





                              lambda x:''.join((i,chr((ord(x)+ord(i))%26+65),' '*5)[ord(i)/46]for i in'''   XYZABC
                              VW] DE
                              U]]F
                              T]]G
                              S]]H
                              RQ] JI
                              PONMLK''')


                              Try it online!






                              share|improve this answer









                              $endgroup$


















                                1












                                $begingroup$


                                Python 2, 129 bytes





                                lambda x:''.join((i,chr((ord(x)+ord(i))%26+65),' '*5)[ord(i)/46]for i in'''   XYZABC
                                VW] DE
                                U]]F
                                T]]G
                                S]]H
                                RQ] JI
                                PONMLK''')


                                Try it online!






                                share|improve this answer









                                $endgroup$
















                                  1












                                  1








                                  1





                                  $begingroup$


                                  Python 2, 129 bytes





                                  lambda x:''.join((i,chr((ord(x)+ord(i))%26+65),' '*5)[ord(i)/46]for i in'''   XYZABC
                                  VW] DE
                                  U]]F
                                  T]]G
                                  S]]H
                                  RQ] JI
                                  PONMLK''')


                                  Try it online!






                                  share|improve this answer









                                  $endgroup$




                                  Python 2, 129 bytes





                                  lambda x:''.join((i,chr((ord(x)+ord(i))%26+65),' '*5)[ord(i)/46]for i in'''   XYZABC
                                  VW] DE
                                  U]]F
                                  T]]G
                                  S]]H
                                  RQ] JI
                                  PONMLK''')


                                  Try it online!







                                  share|improve this answer












                                  share|improve this answer



                                  share|improve this answer










                                  answered 1 hour ago









                                  Erik the OutgolferErik the Outgolfer

                                  32.6k429105




                                  32.6k429105























                                      0












                                      $begingroup$


                                      Wolfram Language (Mathematica), 258 bytes



                                      (t[x_]:=Table[" ",x];w=RotateRight[Alphabet,4-LetterNumber@#];j=Join;a[x_,y_]:=j[{w[[x]]},t@10,{w[[y]]}];b[m_,n_]:=j[t@1,w[[m;;m+1]],t@6,w[[n;;n+1]],t@1];""<>#&/@{j[t@3,w[[1;;6]]],b[25,7],a[24,9],a[23,10],a[22,11],Reverse@b[12,20],j[t@3,w[[19;;14;;-1]]]})&


                                      Try it online!






                                      share|improve this answer









                                      $endgroup$


















                                        0












                                        $begingroup$


                                        Wolfram Language (Mathematica), 258 bytes



                                        (t[x_]:=Table[" ",x];w=RotateRight[Alphabet,4-LetterNumber@#];j=Join;a[x_,y_]:=j[{w[[x]]},t@10,{w[[y]]}];b[m_,n_]:=j[t@1,w[[m;;m+1]],t@6,w[[n;;n+1]],t@1];""<>#&/@{j[t@3,w[[1;;6]]],b[25,7],a[24,9],a[23,10],a[22,11],Reverse@b[12,20],j[t@3,w[[19;;14;;-1]]]})&


                                        Try it online!






                                        share|improve this answer









                                        $endgroup$
















                                          0












                                          0








                                          0





                                          $begingroup$


                                          Wolfram Language (Mathematica), 258 bytes



                                          (t[x_]:=Table[" ",x];w=RotateRight[Alphabet,4-LetterNumber@#];j=Join;a[x_,y_]:=j[{w[[x]]},t@10,{w[[y]]}];b[m_,n_]:=j[t@1,w[[m;;m+1]],t@6,w[[n;;n+1]],t@1];""<>#&/@{j[t@3,w[[1;;6]]],b[25,7],a[24,9],a[23,10],a[22,11],Reverse@b[12,20],j[t@3,w[[19;;14;;-1]]]})&


                                          Try it online!






                                          share|improve this answer









                                          $endgroup$




                                          Wolfram Language (Mathematica), 258 bytes



                                          (t[x_]:=Table[" ",x];w=RotateRight[Alphabet,4-LetterNumber@#];j=Join;a[x_,y_]:=j[{w[[x]]},t@10,{w[[y]]}];b[m_,n_]:=j[t@1,w[[m;;m+1]],t@6,w[[n;;n+1]],t@1];""<>#&/@{j[t@3,w[[1;;6]]],b[25,7],a[24,9],a[23,10],a[22,11],Reverse@b[12,20],j[t@3,w[[19;;14;;-1]]]})&


                                          Try it online!







                                          share|improve this answer












                                          share|improve this answer



                                          share|improve this answer










                                          answered 1 hour ago









                                          J42161217J42161217

                                          13.3k21251




                                          13.3k21251























                                              0












                                              $begingroup$


                                              Ruby, 119 bytes





                                              ->n{a=(0..6).map{' '*11}
                                              (?A..?Z).map{|i|j,k=("i".to_c**((i.ord-n.ord+0.5)/6.5)).rect;a[3.5-j*3.3][6+k*5.17]=i}
                                              puts a}


                                              Uses a complex number raised to a power to map to an ellipse. A complete turn is 26, so each quadrant is 6.5.



                                              This approach relies on the required output resembling an ellipse sufficiently that a valid mapping can be achieved.



                                              Try it online!






                                              share|improve this answer









                                              $endgroup$


















                                                0












                                                $begingroup$


                                                Ruby, 119 bytes





                                                ->n{a=(0..6).map{' '*11}
                                                (?A..?Z).map{|i|j,k=("i".to_c**((i.ord-n.ord+0.5)/6.5)).rect;a[3.5-j*3.3][6+k*5.17]=i}
                                                puts a}


                                                Uses a complex number raised to a power to map to an ellipse. A complete turn is 26, so each quadrant is 6.5.



                                                This approach relies on the required output resembling an ellipse sufficiently that a valid mapping can be achieved.



                                                Try it online!






                                                share|improve this answer









                                                $endgroup$
















                                                  0












                                                  0








                                                  0





                                                  $begingroup$


                                                  Ruby, 119 bytes





                                                  ->n{a=(0..6).map{' '*11}
                                                  (?A..?Z).map{|i|j,k=("i".to_c**((i.ord-n.ord+0.5)/6.5)).rect;a[3.5-j*3.3][6+k*5.17]=i}
                                                  puts a}


                                                  Uses a complex number raised to a power to map to an ellipse. A complete turn is 26, so each quadrant is 6.5.



                                                  This approach relies on the required output resembling an ellipse sufficiently that a valid mapping can be achieved.



                                                  Try it online!






                                                  share|improve this answer









                                                  $endgroup$




                                                  Ruby, 119 bytes





                                                  ->n{a=(0..6).map{' '*11}
                                                  (?A..?Z).map{|i|j,k=("i".to_c**((i.ord-n.ord+0.5)/6.5)).rect;a[3.5-j*3.3][6+k*5.17]=i}
                                                  puts a}


                                                  Uses a complex number raised to a power to map to an ellipse. A complete turn is 26, so each quadrant is 6.5.



                                                  This approach relies on the required output resembling an ellipse sufficiently that a valid mapping can be achieved.



                                                  Try it online!







                                                  share|improve this answer












                                                  share|improve this answer



                                                  share|improve this answer










                                                  answered 13 mins ago









                                                  Level River StLevel River St

                                                  20.4k32680




                                                  20.4k32680























                                                      0












                                                      $begingroup$


                                                      Charcoal, 33 bytes



                                                      GH→→↘→↘↓↓77←←←←↖←↖↑↑↗→↗→→²✂⁺αα⌕αS


                                                      Try it online! Link is to verbose version of code. Explanation:



                                                      GH


                                                      Trace a path.



                                                      →→↘→↘↓↓77←←←←↖←↖↑↑↗→↗→→


                                                      Outline the bowl. Each 7 expands to ↙←.



                                                      ²


                                                      Move one character at a time (this API overlaps each line's ends with the next).



                                                      ✂⁺αα⌕αS


                                                      Draw using the doubled alphabet, but starting at the position of the input character.






                                                      share|improve this answer









                                                      $endgroup$


















                                                        0












                                                        $begingroup$


                                                        Charcoal, 33 bytes



                                                        GH→→↘→↘↓↓77←←←←↖←↖↑↑↗→↗→→²✂⁺αα⌕αS


                                                        Try it online! Link is to verbose version of code. Explanation:



                                                        GH


                                                        Trace a path.



                                                        →→↘→↘↓↓77←←←←↖←↖↑↑↗→↗→→


                                                        Outline the bowl. Each 7 expands to ↙←.



                                                        ²


                                                        Move one character at a time (this API overlaps each line's ends with the next).



                                                        ✂⁺αα⌕αS


                                                        Draw using the doubled alphabet, but starting at the position of the input character.






                                                        share|improve this answer









                                                        $endgroup$
















                                                          0












                                                          0








                                                          0





                                                          $begingroup$


                                                          Charcoal, 33 bytes



                                                          GH→→↘→↘↓↓77←←←←↖←↖↑↑↗→↗→→²✂⁺αα⌕αS


                                                          Try it online! Link is to verbose version of code. Explanation:



                                                          GH


                                                          Trace a path.



                                                          →→↘→↘↓↓77←←←←↖←↖↑↑↗→↗→→


                                                          Outline the bowl. Each 7 expands to ↙←.



                                                          ²


                                                          Move one character at a time (this API overlaps each line's ends with the next).



                                                          ✂⁺αα⌕αS


                                                          Draw using the doubled alphabet, but starting at the position of the input character.






                                                          share|improve this answer









                                                          $endgroup$




                                                          Charcoal, 33 bytes



                                                          GH→→↘→↘↓↓77←←←←↖←↖↑↑↗→↗→→²✂⁺αα⌕αS


                                                          Try it online! Link is to verbose version of code. Explanation:



                                                          GH


                                                          Trace a path.



                                                          →→↘→↘↓↓77←←←←↖←↖↑↑↗→↗→→


                                                          Outline the bowl. Each 7 expands to ↙←.



                                                          ²


                                                          Move one character at a time (this API overlaps each line's ends with the next).



                                                          ✂⁺αα⌕αS


                                                          Draw using the doubled alphabet, but starting at the position of the input character.







                                                          share|improve this answer












                                                          share|improve this answer



                                                          share|improve this answer










                                                          answered 11 mins ago









                                                          NeilNeil

                                                          81.8k745178




                                                          81.8k745178






















                                                              Discrete Games is a new contributor. Be nice, and check out our Code of Conduct.










                                                              draft saved

                                                              draft discarded


















                                                              Discrete Games is a new contributor. Be nice, and check out our Code of Conduct.













                                                              Discrete Games is a new contributor. Be nice, and check out our Code of Conduct.












                                                              Discrete Games is a new contributor. Be nice, and check out our Code of Conduct.
















                                                              If this is an answer to a challenge…




                                                              • …Be sure to follow the challenge specification. However, please refrain from exploiting obvious loopholes. Answers abusing any of the standard loopholes are considered invalid. If you think a specification is unclear or underspecified, comment on the question instead.


                                                              • …Try to optimize your score. For instance, answers to code-golf challenges should attempt to be as short as possible. You can always include a readable version of the code in addition to the competitive one.
                                                                Explanations of your answer make it more interesting to read and are very much encouraged.


                                                              • …Include a short header which indicates the language(s) of your code and its score, as defined by the challenge.



                                                              More generally…




                                                              • …Please make sure to answer the question and provide sufficient detail.


                                                              • …Avoid asking for help, clarification or responding to other answers (use comments instead).





                                                              draft saved


                                                              draft discarded














                                                              StackExchange.ready(
                                                              function () {
                                                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodegolf.stackexchange.com%2fquestions%2f181843%2fmake-a-bowl-of-alphabet-soup%23new-answer', 'question_page');
                                                              }
                                                              );

                                                              Post as a guest















                                                              Required, but never shown





















































                                                              Required, but never shown














                                                              Required, but never shown












                                                              Required, but never shown







                                                              Required, but never shown

































                                                              Required, but never shown














                                                              Required, but never shown












                                                              Required, but never shown







                                                              Required, but never shown







                                                              Popular posts from this blog

                                                              How to label and detect the document text images

                                                              Vallis Paradisi

                                                              Tabula Rosettana