Drawing the Peano curve











up vote
13
down vote

favorite












Introduction



In geometry, the Peano curve is the first example of a space-filling curve to be discovered, by Giuseppe Peano in 1890. Peano's curve is a surjective, continuous function from the unit interval onto the unit square, however it is not injective. Peano was motivated by an earlier result of Georg Cantor that these two sets have the same cardinality. Because of this example, some authors use the phrase "Peano curve" to refer more generally to any space-filling curve.



Challenge



The program takes an input which is an integer n, and outputs a drawing representing the nth iteration of the Peano curve, starting from the sideways 2 shown in the leftmost part of this image:
Three iterations of the Peano curve



Input



An integer n giving the iteration number of the Peano curve.
Optional, additional input is described in the bonuses section.



Output



A drawing of the nth iteration of the Peano curve. The drawing can be both ASCII art or a "real" drawing, whichever is easiest or shortest.



Rules




  • The input and output can be given in any convenient format (choose the most appropriate format for your language/solution).

  • No need to handle negative values or invalid input

  • Either a full program or a function are acceptable.

  • If possible, please include a link to an online testing environment so other people can try out your code!


  • Standard loopholes are forbidden.

  • This is code-golf so all usual golfing rules apply, and the shortest code (in bytes) wins.


Bonuses



Since this shouldn't be a walk in the park (at least in most languages I can think of), bonus points are awarded for the following:




  • -100 bytes if your code generates a gif of the construction of the Peano curves up to n.

  • -100 bytes if your code draws a space-filling curve for any rectangular shape (the Peano curve only works for squares, obviously). You can assume that the input then takes on the form n l w where n has the same meaning as before (the number of the iteration), but where l and w become the length and width of the rectangle in which to draw the curve. If l == w, this becomes the regular Peano curve.


Negative scores are allowed (but are they possible...).



Edit



Please include the output of your program in the solution for n == 3 (l == w == 1).










share|improve this question









New contributor




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
















  • 1




    Welcome to PPCG :) This, at a glance, looks like a nice first challenge. Although it feels familiar, I think the challenge I might be thinking of was an ASCII art one. Note, though, that we strongly discourage bonuses and that there will be golfing languages that can achieve this in less than 100 bytes. Also, and most importantly, you need a winning criterion. Given that your bonuses subtract bytes from a solution's score, I suspect you intend this to be code-golf.
    – Shaggy
    Nov 17 at 23:43








  • 4




    Yeah, I don't think the bonuses are a good idea, especially since there at least two animation-capable ASCII-art focused golflangs
    – ASCII-only
    Nov 18 at 1:46






  • 2




    Oh also what would n be used for if l and w are also inputs??????????? And would the Peano curve be a special case - it's not the only spacefilling curve, so some algorithms may have to specialcase it
    – ASCII-only
    Nov 18 at 2:03








  • 2




    Also, what stops anyone from making a trivial spacefilling curve (just zigzagging back and forth) for non-square dimensions
    – ASCII-only
    Nov 18 at 2:11






  • 7




    Bonuses in code golf is one of the most agreed-upon things to avoid when writing challenges. I suggest you remove them and decide which is to be the canonical version of the challenge.
    – lirtosiast
    Nov 18 at 5:14















up vote
13
down vote

favorite












Introduction



In geometry, the Peano curve is the first example of a space-filling curve to be discovered, by Giuseppe Peano in 1890. Peano's curve is a surjective, continuous function from the unit interval onto the unit square, however it is not injective. Peano was motivated by an earlier result of Georg Cantor that these two sets have the same cardinality. Because of this example, some authors use the phrase "Peano curve" to refer more generally to any space-filling curve.



Challenge



The program takes an input which is an integer n, and outputs a drawing representing the nth iteration of the Peano curve, starting from the sideways 2 shown in the leftmost part of this image:
Three iterations of the Peano curve



Input



An integer n giving the iteration number of the Peano curve.
Optional, additional input is described in the bonuses section.



Output



A drawing of the nth iteration of the Peano curve. The drawing can be both ASCII art or a "real" drawing, whichever is easiest or shortest.



Rules




  • The input and output can be given in any convenient format (choose the most appropriate format for your language/solution).

  • No need to handle negative values or invalid input

  • Either a full program or a function are acceptable.

  • If possible, please include a link to an online testing environment so other people can try out your code!


  • Standard loopholes are forbidden.

  • This is code-golf so all usual golfing rules apply, and the shortest code (in bytes) wins.


Bonuses



Since this shouldn't be a walk in the park (at least in most languages I can think of), bonus points are awarded for the following:




  • -100 bytes if your code generates a gif of the construction of the Peano curves up to n.

  • -100 bytes if your code draws a space-filling curve for any rectangular shape (the Peano curve only works for squares, obviously). You can assume that the input then takes on the form n l w where n has the same meaning as before (the number of the iteration), but where l and w become the length and width of the rectangle in which to draw the curve. If l == w, this becomes the regular Peano curve.


Negative scores are allowed (but are they possible...).



Edit



Please include the output of your program in the solution for n == 3 (l == w == 1).










share|improve this question









New contributor




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
















  • 1




    Welcome to PPCG :) This, at a glance, looks like a nice first challenge. Although it feels familiar, I think the challenge I might be thinking of was an ASCII art one. Note, though, that we strongly discourage bonuses and that there will be golfing languages that can achieve this in less than 100 bytes. Also, and most importantly, you need a winning criterion. Given that your bonuses subtract bytes from a solution's score, I suspect you intend this to be code-golf.
    – Shaggy
    Nov 17 at 23:43








  • 4




    Yeah, I don't think the bonuses are a good idea, especially since there at least two animation-capable ASCII-art focused golflangs
    – ASCII-only
    Nov 18 at 1:46






  • 2




    Oh also what would n be used for if l and w are also inputs??????????? And would the Peano curve be a special case - it's not the only spacefilling curve, so some algorithms may have to specialcase it
    – ASCII-only
    Nov 18 at 2:03








  • 2




    Also, what stops anyone from making a trivial spacefilling curve (just zigzagging back and forth) for non-square dimensions
    – ASCII-only
    Nov 18 at 2:11






  • 7




    Bonuses in code golf is one of the most agreed-upon things to avoid when writing challenges. I suggest you remove them and decide which is to be the canonical version of the challenge.
    – lirtosiast
    Nov 18 at 5:14













up vote
13
down vote

favorite









up vote
13
down vote

favorite











Introduction



In geometry, the Peano curve is the first example of a space-filling curve to be discovered, by Giuseppe Peano in 1890. Peano's curve is a surjective, continuous function from the unit interval onto the unit square, however it is not injective. Peano was motivated by an earlier result of Georg Cantor that these two sets have the same cardinality. Because of this example, some authors use the phrase "Peano curve" to refer more generally to any space-filling curve.



Challenge



The program takes an input which is an integer n, and outputs a drawing representing the nth iteration of the Peano curve, starting from the sideways 2 shown in the leftmost part of this image:
Three iterations of the Peano curve



Input



An integer n giving the iteration number of the Peano curve.
Optional, additional input is described in the bonuses section.



Output



A drawing of the nth iteration of the Peano curve. The drawing can be both ASCII art or a "real" drawing, whichever is easiest or shortest.



Rules




  • The input and output can be given in any convenient format (choose the most appropriate format for your language/solution).

  • No need to handle negative values or invalid input

  • Either a full program or a function are acceptable.

  • If possible, please include a link to an online testing environment so other people can try out your code!


  • Standard loopholes are forbidden.

  • This is code-golf so all usual golfing rules apply, and the shortest code (in bytes) wins.


Bonuses



Since this shouldn't be a walk in the park (at least in most languages I can think of), bonus points are awarded for the following:




  • -100 bytes if your code generates a gif of the construction of the Peano curves up to n.

  • -100 bytes if your code draws a space-filling curve for any rectangular shape (the Peano curve only works for squares, obviously). You can assume that the input then takes on the form n l w where n has the same meaning as before (the number of the iteration), but where l and w become the length and width of the rectangle in which to draw the curve. If l == w, this becomes the regular Peano curve.


Negative scores are allowed (but are they possible...).



Edit



Please include the output of your program in the solution for n == 3 (l == w == 1).










share|improve this question









New contributor




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











Introduction



In geometry, the Peano curve is the first example of a space-filling curve to be discovered, by Giuseppe Peano in 1890. Peano's curve is a surjective, continuous function from the unit interval onto the unit square, however it is not injective. Peano was motivated by an earlier result of Georg Cantor that these two sets have the same cardinality. Because of this example, some authors use the phrase "Peano curve" to refer more generally to any space-filling curve.



Challenge



The program takes an input which is an integer n, and outputs a drawing representing the nth iteration of the Peano curve, starting from the sideways 2 shown in the leftmost part of this image:
Three iterations of the Peano curve



Input



An integer n giving the iteration number of the Peano curve.
Optional, additional input is described in the bonuses section.



Output



A drawing of the nth iteration of the Peano curve. The drawing can be both ASCII art or a "real" drawing, whichever is easiest or shortest.



Rules




  • The input and output can be given in any convenient format (choose the most appropriate format for your language/solution).

  • No need to handle negative values or invalid input

  • Either a full program or a function are acceptable.

  • If possible, please include a link to an online testing environment so other people can try out your code!


  • Standard loopholes are forbidden.

  • This is code-golf so all usual golfing rules apply, and the shortest code (in bytes) wins.


Bonuses



Since this shouldn't be a walk in the park (at least in most languages I can think of), bonus points are awarded for the following:




  • -100 bytes if your code generates a gif of the construction of the Peano curves up to n.

  • -100 bytes if your code draws a space-filling curve for any rectangular shape (the Peano curve only works for squares, obviously). You can assume that the input then takes on the form n l w where n has the same meaning as before (the number of the iteration), but where l and w become the length and width of the rectangle in which to draw the curve. If l == w, this becomes the regular Peano curve.


Negative scores are allowed (but are they possible...).



Edit



Please include the output of your program in the solution for n == 3 (l == w == 1).







code-golf ascii-art graphical-output geometry fractal






share|improve this question









New contributor




Peiffap 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




Peiffap 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








edited Nov 18 at 0:04





















New contributor




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









asked Nov 17 at 23:18









Peiffap

776




776




New contributor




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





New contributor





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






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








  • 1




    Welcome to PPCG :) This, at a glance, looks like a nice first challenge. Although it feels familiar, I think the challenge I might be thinking of was an ASCII art one. Note, though, that we strongly discourage bonuses and that there will be golfing languages that can achieve this in less than 100 bytes. Also, and most importantly, you need a winning criterion. Given that your bonuses subtract bytes from a solution's score, I suspect you intend this to be code-golf.
    – Shaggy
    Nov 17 at 23:43








  • 4




    Yeah, I don't think the bonuses are a good idea, especially since there at least two animation-capable ASCII-art focused golflangs
    – ASCII-only
    Nov 18 at 1:46






  • 2




    Oh also what would n be used for if l and w are also inputs??????????? And would the Peano curve be a special case - it's not the only spacefilling curve, so some algorithms may have to specialcase it
    – ASCII-only
    Nov 18 at 2:03








  • 2




    Also, what stops anyone from making a trivial spacefilling curve (just zigzagging back and forth) for non-square dimensions
    – ASCII-only
    Nov 18 at 2:11






  • 7




    Bonuses in code golf is one of the most agreed-upon things to avoid when writing challenges. I suggest you remove them and decide which is to be the canonical version of the challenge.
    – lirtosiast
    Nov 18 at 5:14














  • 1




    Welcome to PPCG :) This, at a glance, looks like a nice first challenge. Although it feels familiar, I think the challenge I might be thinking of was an ASCII art one. Note, though, that we strongly discourage bonuses and that there will be golfing languages that can achieve this in less than 100 bytes. Also, and most importantly, you need a winning criterion. Given that your bonuses subtract bytes from a solution's score, I suspect you intend this to be code-golf.
    – Shaggy
    Nov 17 at 23:43








  • 4




    Yeah, I don't think the bonuses are a good idea, especially since there at least two animation-capable ASCII-art focused golflangs
    – ASCII-only
    Nov 18 at 1:46






  • 2




    Oh also what would n be used for if l and w are also inputs??????????? And would the Peano curve be a special case - it's not the only spacefilling curve, so some algorithms may have to specialcase it
    – ASCII-only
    Nov 18 at 2:03








  • 2




    Also, what stops anyone from making a trivial spacefilling curve (just zigzagging back and forth) for non-square dimensions
    – ASCII-only
    Nov 18 at 2:11






  • 7




    Bonuses in code golf is one of the most agreed-upon things to avoid when writing challenges. I suggest you remove them and decide which is to be the canonical version of the challenge.
    – lirtosiast
    Nov 18 at 5:14








1




1




Welcome to PPCG :) This, at a glance, looks like a nice first challenge. Although it feels familiar, I think the challenge I might be thinking of was an ASCII art one. Note, though, that we strongly discourage bonuses and that there will be golfing languages that can achieve this in less than 100 bytes. Also, and most importantly, you need a winning criterion. Given that your bonuses subtract bytes from a solution's score, I suspect you intend this to be code-golf.
– Shaggy
Nov 17 at 23:43






Welcome to PPCG :) This, at a glance, looks like a nice first challenge. Although it feels familiar, I think the challenge I might be thinking of was an ASCII art one. Note, though, that we strongly discourage bonuses and that there will be golfing languages that can achieve this in less than 100 bytes. Also, and most importantly, you need a winning criterion. Given that your bonuses subtract bytes from a solution's score, I suspect you intend this to be code-golf.
– Shaggy
Nov 17 at 23:43






4




4




Yeah, I don't think the bonuses are a good idea, especially since there at least two animation-capable ASCII-art focused golflangs
– ASCII-only
Nov 18 at 1:46




Yeah, I don't think the bonuses are a good idea, especially since there at least two animation-capable ASCII-art focused golflangs
– ASCII-only
Nov 18 at 1:46




2




2




Oh also what would n be used for if l and w are also inputs??????????? And would the Peano curve be a special case - it's not the only spacefilling curve, so some algorithms may have to specialcase it
– ASCII-only
Nov 18 at 2:03






Oh also what would n be used for if l and w are also inputs??????????? And would the Peano curve be a special case - it's not the only spacefilling curve, so some algorithms may have to specialcase it
– ASCII-only
Nov 18 at 2:03






2




2




Also, what stops anyone from making a trivial spacefilling curve (just zigzagging back and forth) for non-square dimensions
– ASCII-only
Nov 18 at 2:11




Also, what stops anyone from making a trivial spacefilling curve (just zigzagging back and forth) for non-square dimensions
– ASCII-only
Nov 18 at 2:11




7




7




Bonuses in code golf is one of the most agreed-upon things to avoid when writing challenges. I suggest you remove them and decide which is to be the canonical version of the challenge.
– lirtosiast
Nov 18 at 5:14




Bonuses in code golf is one of the most agreed-upon things to avoid when writing challenges. I suggest you remove them and decide which is to be the canonical version of the challenge.
– lirtosiast
Nov 18 at 5:14










9 Answers
9






active

oldest

votes

















up vote
4
down vote



accepted










Mathematica, score 60 - 100 - 100 = -140



Graphics[PeanoCurve@a~Reverse~3~Scale~#2]~Animate~{a,1,#,1}&


Pure function. Takes n and {l, w} (width and height) as input, and gives an animated graphic as output. It first creates a nth order Peano curve with PeanoCurve. Since the l = w case still needs to create a Peano curve, we flip the expression at level 3, similar to DavidC's answer; for lw, we just Scale the curve to the rectangle. This curve will still be space-filling, satisfying the second bonus. For the first bonus, we just Animate it over all sizes. Note that OP suggested that this was sufficiently different from DavidC's to warrant its own answer. The result for n = 3, l = w = 1 is as follows:








share|improve this answer





















  • very nice! (with proper orientation too)
    – DavidC
    yesterday


















up vote
12
down vote














GFA Basic 3.51 (Atari ST), 156 134 124 bytes



A manually edited listing in .LST format. All lines end with CR, including the last one.



PRO f(n)
DR "MA0,199"
p(n,90)
RET
PRO p(n,a)
I n
n=n-.5
DR "RT",a
p(n,-a)
DR "FD4"
p(n,a)
DR "FD4"
p(n,-a)
DR "LT",a
EN
RET


Expanded and commented



PROCEDURE f(n)      ! main procedure, taking the number 'n' of iterations
DRAW "MA0,199" ! move the pen to absolute position (0, 199)
p(n,90) ! initial call to 'p' with 'a' = +90
RETURN ! end of procedure
PROCEDURE p(n,a) ! recursive procedure taking 'n' and the angle 'a'
IF n ! if 'n' is not equal to 0:
n=n-0.5 ! subtract 0.5 from 'n'
DRAW "RT",a ! right turn of 'a' degrees
p(n,-a) ! recursive call with '-a'
DRAW "FD4" ! move the pen 4 pixels forward
p(n,a) ! recursive call with 'a'
DRAW "FD4" ! move the pen 4 pixels forward
p(n,-a) ! recursive call with '-a'
DRAW "LT",a ! left turn of 'a' degrees
ENDIF ! end
RETURN ! end of procedure


Example output



peano-gfa






share|improve this answer






























    up vote
    10
    down vote














    Perl 6, 117 bytes





    {map ->y{|map {(((++$+y)%2+$++)%3**(y+$^v,*/3...*%3)??$^s[$++%2]!!'│')xx$_*3},<┌ ┐>,$_,<└ ┘>,1},^$_}o*R**3


    Try it online!



    0-indexed. Returns a 2D array of Unicode characters. The basic idea is that for lower rows, the expression



    (x + (x+y)%2) % (3 ** trailing_zeros_in_base3(3*(y+1)))


    yields the pattern



    |....||....||....||....||..  % 3
    ..||....||....||....||....| % 3
    |................||........ % 9
    ..||....||....||....||....| % 3
    |....||....||....||....||.. % 3
    ........||................| % 9
    |....||....||....||....||.. % 3
    ..||....||....||....||....| % 3
    |.......................... % 27


    For upper rows, the expression is



    (x + (x+y+1)%2) % (3 ** trailing_zeros_in_base3(3*(y+3**n)))


    Explanation



    { ... }o*R**3  # Feed $_ = 3^n into block

    map ->y{ ... },^$_ # Map y = 0..3^n-1

    |map { ... },<┌ ┐>,$_,<└ ┘>,1 # Map pairs (('┌','┐'),3^n) for upper rows
    # and (('└','┘'),1) for lower rows.
    # Block takes items as s and v

    ( ... )xx$_*3 # Evaluate 3^(n+1) times, returning a list

    (++$+y)%2 # (x+y+1)%2 for upper rows, (x+y)%2 for lower rows
    ( +$++) # Add x
    (y+$^v,*/3...*%3) # Count trailing zeros of 3*(y+v) in base 3
    3** # nth power of 3
    % # Modulo
    ??$^s[$++%2] # If there's a remainder yield chars in s alternately
    !!'│' # otherwise yield '│'





    share|improve this answer






























      up vote
      6
      down vote














      K (ngn/k), 37 27 26 bytes



      {+y,(|'y:x,,>*x),x}/1,&2*


      Try it online!



      returns a boolean matrix



      |'y is syntax specific to ngn/k. other dialects require a : to make an each-ed verb monadic: |:'y






      share|improve this answer



















      • 1




        To make the output more beautiful, highlight all occurences of (if supported by your browser)
        – user202729
        2 days ago






      • 3




        @user202729 done - in the footer so it don't affect the byte count
        – ngn
        2 days ago


















      up vote
      5
      down vote













      Wolfram Language 83 36 bytes, (possibly -48 bytes with bonus)



      As of version 11.1, PeanoCurve is a built-in.



      My original, clumsy submission wasted many bytes on GeometricTransformation and ReflectionTransform.



      This much reduced version was suggested by alephalpha.
      Reverse was required to orient the output properly.



      Graphics[Reverse/@#&/@PeanoCurve@#]&


      Example 36 bytes



      Graphics[Reverse/@#&/@PeanoCurve@#]&[3]


      Peano curve





      Bonus



      If this qualifies for the 100 pt bonus, it weighs in at 52 - 100 = -48
      The code [5] was not counted, only the pure function.



      Table[Graphics[Reverse/@#&/@PeanoCurve@#]&@k{k,#}&[5]


      sequence






      share|improve this answer























      • Graphics[Reverse/@#&/@PeanoCurve@#]&
        – alephalpha
        2 days ago










      • It feels a bit like cheating to have a function which calculates the Peano curve by itself, but I'll take it as accepted answer since it's pretty impressive nonetheless ;). @LegionMammal978 I think you deserve to post your own answer, I'd argue that it's different enough to warrant accepting it as winning answer.
        – Peiffap
        yesterday




















      up vote
      4
      down vote













      BBC BASIC, 142 ASCII characters (130 bytes tokenised)



      Download interpreter at http://www.bbcbasic.co.uk/bbcwin/download.html



      I.m:q=FNh(m,8,8,0)END
      DEFFNh(n,x,y,i)
      IFn F.i=0TO8q=FNh(n-1,x-i MOD3MOD2*2*x,y-i DIV3MOD2*2*y,i)DRAWBY(1AND36/2^i)*x,y*(12653/3^i MOD3-1)N.
      =0


      enter image description here






      share|improve this answer




























        up vote
        4
        down vote













        HTML+SVG+JS, 224 213 bytes



        The output is mirrored horizontally.



        n=>document.write(`<svg width=${w=3**n*9} height=${w}><path d="M1 ${(p=(n,z)=>n--&&(p(n,-z,a(a(p(n,-z,d+=z)),p(n,z))),d-=z))(n*2,r=d=x=y=1,a=_=>r+=`L${x+=~-(d&=3)%2*9} ${y+=(2-d)%2*9}`)&&r}"fill=#fff stroke=red>`)


        Try it online! (prints the HTML)






        (
        n=>document.write(`<svg width=${w=3**n*9} height=${w}><path d="M1 ${(p=(n,z)=>n--&&(p(n,-z,a(a(p(n,-z,d+=z)),p(n,z))),d-=z))(n*2,r=d=x=y=1,a=_=>r+=`L${x+=~-(d&=3)%2*9} ${y+=(2-d)%2*9}`)&&r}"fill=#fff stroke=red>`)
        )(3)








        share|improve this answer






























          up vote
          3
          down vote













          Logo, 89 bytes



          to p:n:a
          if:n>0[rt:a
          p:n-1 0-:a
          fw 5
          p:n-1:a
          fw 5
          p:n-1 0-:a
          lt:a]end
          to f:n
          p:n*2 90
          end


          Port of @Arnauld's Atari BASIC answer. To use, do something like this:



          reset
          f 3





          share|improve this answer




























            up vote
            2
            down vote














            Stax, 19 bytes



            ∩▐j>♣←╙~◘∩╗╢a╘─Ràô


            Run and debug it



            Output for 3:



            ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █
            █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
            █ █ █ █ █ █ █ █ █
            █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
            ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
            █ █ █ █ █ █ █ █ █
            ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
            █ ███ ███ ███ ███ ███ ███ ███ ███ █ █ ███ ███ ███ ███
            █ █ █
            █ ███ ███ ███ ███ ███ ███ ███ ███ █ █ ███ ███ ███ ███
            ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
            █ █ █ █ █ █ █ █ █
            ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
            █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
            █ █ █ █ █ █ █ █ █
            █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
            ███ ███ ███ ███ █ █ ███ ███ ███ ███ ███ ███ ███ ███ █
            █ █ █
            ███ ███ ███ ███ █ █ ███ ███ ███ ███ ███ ███ ███ ███ █
            █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
            █ █ █ █ █ █ █ █ █
            █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
            ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
            █ █ █ █ █ █ █ █ █
            ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
            █ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███





            share|improve this answer





















              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',
              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
              });


              }
              });






              Peiffap 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%2f176168%2fdrawing-the-peano-curve%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              9 Answers
              9






              active

              oldest

              votes








              9 Answers
              9






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes








              up vote
              4
              down vote



              accepted










              Mathematica, score 60 - 100 - 100 = -140



              Graphics[PeanoCurve@a~Reverse~3~Scale~#2]~Animate~{a,1,#,1}&


              Pure function. Takes n and {l, w} (width and height) as input, and gives an animated graphic as output. It first creates a nth order Peano curve with PeanoCurve. Since the l = w case still needs to create a Peano curve, we flip the expression at level 3, similar to DavidC's answer; for lw, we just Scale the curve to the rectangle. This curve will still be space-filling, satisfying the second bonus. For the first bonus, we just Animate it over all sizes. Note that OP suggested that this was sufficiently different from DavidC's to warrant its own answer. The result for n = 3, l = w = 1 is as follows:








              share|improve this answer





















              • very nice! (with proper orientation too)
                – DavidC
                yesterday















              up vote
              4
              down vote



              accepted










              Mathematica, score 60 - 100 - 100 = -140



              Graphics[PeanoCurve@a~Reverse~3~Scale~#2]~Animate~{a,1,#,1}&


              Pure function. Takes n and {l, w} (width and height) as input, and gives an animated graphic as output. It first creates a nth order Peano curve with PeanoCurve. Since the l = w case still needs to create a Peano curve, we flip the expression at level 3, similar to DavidC's answer; for lw, we just Scale the curve to the rectangle. This curve will still be space-filling, satisfying the second bonus. For the first bonus, we just Animate it over all sizes. Note that OP suggested that this was sufficiently different from DavidC's to warrant its own answer. The result for n = 3, l = w = 1 is as follows:








              share|improve this answer





















              • very nice! (with proper orientation too)
                – DavidC
                yesterday













              up vote
              4
              down vote



              accepted







              up vote
              4
              down vote



              accepted






              Mathematica, score 60 - 100 - 100 = -140



              Graphics[PeanoCurve@a~Reverse~3~Scale~#2]~Animate~{a,1,#,1}&


              Pure function. Takes n and {l, w} (width and height) as input, and gives an animated graphic as output. It first creates a nth order Peano curve with PeanoCurve. Since the l = w case still needs to create a Peano curve, we flip the expression at level 3, similar to DavidC's answer; for lw, we just Scale the curve to the rectangle. This curve will still be space-filling, satisfying the second bonus. For the first bonus, we just Animate it over all sizes. Note that OP suggested that this was sufficiently different from DavidC's to warrant its own answer. The result for n = 3, l = w = 1 is as follows:








              share|improve this answer












              Mathematica, score 60 - 100 - 100 = -140



              Graphics[PeanoCurve@a~Reverse~3~Scale~#2]~Animate~{a,1,#,1}&


              Pure function. Takes n and {l, w} (width and height) as input, and gives an animated graphic as output. It first creates a nth order Peano curve with PeanoCurve. Since the l = w case still needs to create a Peano curve, we flip the expression at level 3, similar to DavidC's answer; for lw, we just Scale the curve to the rectangle. This curve will still be space-filling, satisfying the second bonus. For the first bonus, we just Animate it over all sizes. Note that OP suggested that this was sufficiently different from DavidC's to warrant its own answer. The result for n = 3, l = w = 1 is as follows:









              share|improve this answer












              share|improve this answer



              share|improve this answer










              answered yesterday









              LegionMammal978

              15k41752




              15k41752












              • very nice! (with proper orientation too)
                – DavidC
                yesterday


















              • very nice! (with proper orientation too)
                – DavidC
                yesterday
















              very nice! (with proper orientation too)
              – DavidC
              yesterday




              very nice! (with proper orientation too)
              – DavidC
              yesterday










              up vote
              12
              down vote














              GFA Basic 3.51 (Atari ST), 156 134 124 bytes



              A manually edited listing in .LST format. All lines end with CR, including the last one.



              PRO f(n)
              DR "MA0,199"
              p(n,90)
              RET
              PRO p(n,a)
              I n
              n=n-.5
              DR "RT",a
              p(n,-a)
              DR "FD4"
              p(n,a)
              DR "FD4"
              p(n,-a)
              DR "LT",a
              EN
              RET


              Expanded and commented



              PROCEDURE f(n)      ! main procedure, taking the number 'n' of iterations
              DRAW "MA0,199" ! move the pen to absolute position (0, 199)
              p(n,90) ! initial call to 'p' with 'a' = +90
              RETURN ! end of procedure
              PROCEDURE p(n,a) ! recursive procedure taking 'n' and the angle 'a'
              IF n ! if 'n' is not equal to 0:
              n=n-0.5 ! subtract 0.5 from 'n'
              DRAW "RT",a ! right turn of 'a' degrees
              p(n,-a) ! recursive call with '-a'
              DRAW "FD4" ! move the pen 4 pixels forward
              p(n,a) ! recursive call with 'a'
              DRAW "FD4" ! move the pen 4 pixels forward
              p(n,-a) ! recursive call with '-a'
              DRAW "LT",a ! left turn of 'a' degrees
              ENDIF ! end
              RETURN ! end of procedure


              Example output



              peano-gfa






              share|improve this answer



























                up vote
                12
                down vote














                GFA Basic 3.51 (Atari ST), 156 134 124 bytes



                A manually edited listing in .LST format. All lines end with CR, including the last one.



                PRO f(n)
                DR "MA0,199"
                p(n,90)
                RET
                PRO p(n,a)
                I n
                n=n-.5
                DR "RT",a
                p(n,-a)
                DR "FD4"
                p(n,a)
                DR "FD4"
                p(n,-a)
                DR "LT",a
                EN
                RET


                Expanded and commented



                PROCEDURE f(n)      ! main procedure, taking the number 'n' of iterations
                DRAW "MA0,199" ! move the pen to absolute position (0, 199)
                p(n,90) ! initial call to 'p' with 'a' = +90
                RETURN ! end of procedure
                PROCEDURE p(n,a) ! recursive procedure taking 'n' and the angle 'a'
                IF n ! if 'n' is not equal to 0:
                n=n-0.5 ! subtract 0.5 from 'n'
                DRAW "RT",a ! right turn of 'a' degrees
                p(n,-a) ! recursive call with '-a'
                DRAW "FD4" ! move the pen 4 pixels forward
                p(n,a) ! recursive call with 'a'
                DRAW "FD4" ! move the pen 4 pixels forward
                p(n,-a) ! recursive call with '-a'
                DRAW "LT",a ! left turn of 'a' degrees
                ENDIF ! end
                RETURN ! end of procedure


                Example output



                peano-gfa






                share|improve this answer

























                  up vote
                  12
                  down vote










                  up vote
                  12
                  down vote










                  GFA Basic 3.51 (Atari ST), 156 134 124 bytes



                  A manually edited listing in .LST format. All lines end with CR, including the last one.



                  PRO f(n)
                  DR "MA0,199"
                  p(n,90)
                  RET
                  PRO p(n,a)
                  I n
                  n=n-.5
                  DR "RT",a
                  p(n,-a)
                  DR "FD4"
                  p(n,a)
                  DR "FD4"
                  p(n,-a)
                  DR "LT",a
                  EN
                  RET


                  Expanded and commented



                  PROCEDURE f(n)      ! main procedure, taking the number 'n' of iterations
                  DRAW "MA0,199" ! move the pen to absolute position (0, 199)
                  p(n,90) ! initial call to 'p' with 'a' = +90
                  RETURN ! end of procedure
                  PROCEDURE p(n,a) ! recursive procedure taking 'n' and the angle 'a'
                  IF n ! if 'n' is not equal to 0:
                  n=n-0.5 ! subtract 0.5 from 'n'
                  DRAW "RT",a ! right turn of 'a' degrees
                  p(n,-a) ! recursive call with '-a'
                  DRAW "FD4" ! move the pen 4 pixels forward
                  p(n,a) ! recursive call with 'a'
                  DRAW "FD4" ! move the pen 4 pixels forward
                  p(n,-a) ! recursive call with '-a'
                  DRAW "LT",a ! left turn of 'a' degrees
                  ENDIF ! end
                  RETURN ! end of procedure


                  Example output



                  peano-gfa






                  share|improve this answer















                  GFA Basic 3.51 (Atari ST), 156 134 124 bytes



                  A manually edited listing in .LST format. All lines end with CR, including the last one.



                  PRO f(n)
                  DR "MA0,199"
                  p(n,90)
                  RET
                  PRO p(n,a)
                  I n
                  n=n-.5
                  DR "RT",a
                  p(n,-a)
                  DR "FD4"
                  p(n,a)
                  DR "FD4"
                  p(n,-a)
                  DR "LT",a
                  EN
                  RET


                  Expanded and commented



                  PROCEDURE f(n)      ! main procedure, taking the number 'n' of iterations
                  DRAW "MA0,199" ! move the pen to absolute position (0, 199)
                  p(n,90) ! initial call to 'p' with 'a' = +90
                  RETURN ! end of procedure
                  PROCEDURE p(n,a) ! recursive procedure taking 'n' and the angle 'a'
                  IF n ! if 'n' is not equal to 0:
                  n=n-0.5 ! subtract 0.5 from 'n'
                  DRAW "RT",a ! right turn of 'a' degrees
                  p(n,-a) ! recursive call with '-a'
                  DRAW "FD4" ! move the pen 4 pixels forward
                  p(n,a) ! recursive call with 'a'
                  DRAW "FD4" ! move the pen 4 pixels forward
                  p(n,-a) ! recursive call with '-a'
                  DRAW "LT",a ! left turn of 'a' degrees
                  ENDIF ! end
                  RETURN ! end of procedure


                  Example output



                  peano-gfa







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited yesterday

























                  answered 2 days ago









                  Arnauld

                  69.2k585293




                  69.2k585293






















                      up vote
                      10
                      down vote














                      Perl 6, 117 bytes





                      {map ->y{|map {(((++$+y)%2+$++)%3**(y+$^v,*/3...*%3)??$^s[$++%2]!!'│')xx$_*3},<┌ ┐>,$_,<└ ┘>,1},^$_}o*R**3


                      Try it online!



                      0-indexed. Returns a 2D array of Unicode characters. The basic idea is that for lower rows, the expression



                      (x + (x+y)%2) % (3 ** trailing_zeros_in_base3(3*(y+1)))


                      yields the pattern



                      |....||....||....||....||..  % 3
                      ..||....||....||....||....| % 3
                      |................||........ % 9
                      ..||....||....||....||....| % 3
                      |....||....||....||....||.. % 3
                      ........||................| % 9
                      |....||....||....||....||.. % 3
                      ..||....||....||....||....| % 3
                      |.......................... % 27


                      For upper rows, the expression is



                      (x + (x+y+1)%2) % (3 ** trailing_zeros_in_base3(3*(y+3**n)))


                      Explanation



                      { ... }o*R**3  # Feed $_ = 3^n into block

                      map ->y{ ... },^$_ # Map y = 0..3^n-1

                      |map { ... },<┌ ┐>,$_,<└ ┘>,1 # Map pairs (('┌','┐'),3^n) for upper rows
                      # and (('└','┘'),1) for lower rows.
                      # Block takes items as s and v

                      ( ... )xx$_*3 # Evaluate 3^(n+1) times, returning a list

                      (++$+y)%2 # (x+y+1)%2 for upper rows, (x+y)%2 for lower rows
                      ( +$++) # Add x
                      (y+$^v,*/3...*%3) # Count trailing zeros of 3*(y+v) in base 3
                      3** # nth power of 3
                      % # Modulo
                      ??$^s[$++%2] # If there's a remainder yield chars in s alternately
                      !!'│' # otherwise yield '│'





                      share|improve this answer



























                        up vote
                        10
                        down vote














                        Perl 6, 117 bytes





                        {map ->y{|map {(((++$+y)%2+$++)%3**(y+$^v,*/3...*%3)??$^s[$++%2]!!'│')xx$_*3},<┌ ┐>,$_,<└ ┘>,1},^$_}o*R**3


                        Try it online!



                        0-indexed. Returns a 2D array of Unicode characters. The basic idea is that for lower rows, the expression



                        (x + (x+y)%2) % (3 ** trailing_zeros_in_base3(3*(y+1)))


                        yields the pattern



                        |....||....||....||....||..  % 3
                        ..||....||....||....||....| % 3
                        |................||........ % 9
                        ..||....||....||....||....| % 3
                        |....||....||....||....||.. % 3
                        ........||................| % 9
                        |....||....||....||....||.. % 3
                        ..||....||....||....||....| % 3
                        |.......................... % 27


                        For upper rows, the expression is



                        (x + (x+y+1)%2) % (3 ** trailing_zeros_in_base3(3*(y+3**n)))


                        Explanation



                        { ... }o*R**3  # Feed $_ = 3^n into block

                        map ->y{ ... },^$_ # Map y = 0..3^n-1

                        |map { ... },<┌ ┐>,$_,<└ ┘>,1 # Map pairs (('┌','┐'),3^n) for upper rows
                        # and (('└','┘'),1) for lower rows.
                        # Block takes items as s and v

                        ( ... )xx$_*3 # Evaluate 3^(n+1) times, returning a list

                        (++$+y)%2 # (x+y+1)%2 for upper rows, (x+y)%2 for lower rows
                        ( +$++) # Add x
                        (y+$^v,*/3...*%3) # Count trailing zeros of 3*(y+v) in base 3
                        3** # nth power of 3
                        % # Modulo
                        ??$^s[$++%2] # If there's a remainder yield chars in s alternately
                        !!'│' # otherwise yield '│'





                        share|improve this answer

























                          up vote
                          10
                          down vote










                          up vote
                          10
                          down vote










                          Perl 6, 117 bytes





                          {map ->y{|map {(((++$+y)%2+$++)%3**(y+$^v,*/3...*%3)??$^s[$++%2]!!'│')xx$_*3},<┌ ┐>,$_,<└ ┘>,1},^$_}o*R**3


                          Try it online!



                          0-indexed. Returns a 2D array of Unicode characters. The basic idea is that for lower rows, the expression



                          (x + (x+y)%2) % (3 ** trailing_zeros_in_base3(3*(y+1)))


                          yields the pattern



                          |....||....||....||....||..  % 3
                          ..||....||....||....||....| % 3
                          |................||........ % 9
                          ..||....||....||....||....| % 3
                          |....||....||....||....||.. % 3
                          ........||................| % 9
                          |....||....||....||....||.. % 3
                          ..||....||....||....||....| % 3
                          |.......................... % 27


                          For upper rows, the expression is



                          (x + (x+y+1)%2) % (3 ** trailing_zeros_in_base3(3*(y+3**n)))


                          Explanation



                          { ... }o*R**3  # Feed $_ = 3^n into block

                          map ->y{ ... },^$_ # Map y = 0..3^n-1

                          |map { ... },<┌ ┐>,$_,<└ ┘>,1 # Map pairs (('┌','┐'),3^n) for upper rows
                          # and (('└','┘'),1) for lower rows.
                          # Block takes items as s and v

                          ( ... )xx$_*3 # Evaluate 3^(n+1) times, returning a list

                          (++$+y)%2 # (x+y+1)%2 for upper rows, (x+y)%2 for lower rows
                          ( +$++) # Add x
                          (y+$^v,*/3...*%3) # Count trailing zeros of 3*(y+v) in base 3
                          3** # nth power of 3
                          % # Modulo
                          ??$^s[$++%2] # If there's a remainder yield chars in s alternately
                          !!'│' # otherwise yield '│'





                          share|improve this answer















                          Perl 6, 117 bytes





                          {map ->y{|map {(((++$+y)%2+$++)%3**(y+$^v,*/3...*%3)??$^s[$++%2]!!'│')xx$_*3},<┌ ┐>,$_,<└ ┘>,1},^$_}o*R**3


                          Try it online!



                          0-indexed. Returns a 2D array of Unicode characters. The basic idea is that for lower rows, the expression



                          (x + (x+y)%2) % (3 ** trailing_zeros_in_base3(3*(y+1)))


                          yields the pattern



                          |....||....||....||....||..  % 3
                          ..||....||....||....||....| % 3
                          |................||........ % 9
                          ..||....||....||....||....| % 3
                          |....||....||....||....||.. % 3
                          ........||................| % 9
                          |....||....||....||....||.. % 3
                          ..||....||....||....||....| % 3
                          |.......................... % 27


                          For upper rows, the expression is



                          (x + (x+y+1)%2) % (3 ** trailing_zeros_in_base3(3*(y+3**n)))


                          Explanation



                          { ... }o*R**3  # Feed $_ = 3^n into block

                          map ->y{ ... },^$_ # Map y = 0..3^n-1

                          |map { ... },<┌ ┐>,$_,<└ ┘>,1 # Map pairs (('┌','┐'),3^n) for upper rows
                          # and (('└','┘'),1) for lower rows.
                          # Block takes items as s and v

                          ( ... )xx$_*3 # Evaluate 3^(n+1) times, returning a list

                          (++$+y)%2 # (x+y+1)%2 for upper rows, (x+y)%2 for lower rows
                          ( +$++) # Add x
                          (y+$^v,*/3...*%3) # Count trailing zeros of 3*(y+v) in base 3
                          3** # nth power of 3
                          % # Modulo
                          ??$^s[$++%2] # If there's a remainder yield chars in s alternately
                          !!'│' # otherwise yield '│'






                          share|improve this answer














                          share|improve this answer



                          share|improve this answer








                          edited 2 days ago

























                          answered 2 days ago









                          nwellnhof

                          6,0481123




                          6,0481123






















                              up vote
                              6
                              down vote














                              K (ngn/k), 37 27 26 bytes



                              {+y,(|'y:x,,>*x),x}/1,&2*


                              Try it online!



                              returns a boolean matrix



                              |'y is syntax specific to ngn/k. other dialects require a : to make an each-ed verb monadic: |:'y






                              share|improve this answer



















                              • 1




                                To make the output more beautiful, highlight all occurences of (if supported by your browser)
                                – user202729
                                2 days ago






                              • 3




                                @user202729 done - in the footer so it don't affect the byte count
                                – ngn
                                2 days ago















                              up vote
                              6
                              down vote














                              K (ngn/k), 37 27 26 bytes



                              {+y,(|'y:x,,>*x),x}/1,&2*


                              Try it online!



                              returns a boolean matrix



                              |'y is syntax specific to ngn/k. other dialects require a : to make an each-ed verb monadic: |:'y






                              share|improve this answer



















                              • 1




                                To make the output more beautiful, highlight all occurences of (if supported by your browser)
                                – user202729
                                2 days ago






                              • 3




                                @user202729 done - in the footer so it don't affect the byte count
                                – ngn
                                2 days ago













                              up vote
                              6
                              down vote










                              up vote
                              6
                              down vote










                              K (ngn/k), 37 27 26 bytes



                              {+y,(|'y:x,,>*x),x}/1,&2*


                              Try it online!



                              returns a boolean matrix



                              |'y is syntax specific to ngn/k. other dialects require a : to make an each-ed verb monadic: |:'y






                              share|improve this answer















                              K (ngn/k), 37 27 26 bytes



                              {+y,(|'y:x,,>*x),x}/1,&2*


                              Try it online!



                              returns a boolean matrix



                              |'y is syntax specific to ngn/k. other dialects require a : to make an each-ed verb monadic: |:'y







                              share|improve this answer














                              share|improve this answer



                              share|improve this answer








                              edited 2 days ago

























                              answered 2 days ago









                              ngn

                              6,27312459




                              6,27312459








                              • 1




                                To make the output more beautiful, highlight all occurences of (if supported by your browser)
                                – user202729
                                2 days ago






                              • 3




                                @user202729 done - in the footer so it don't affect the byte count
                                – ngn
                                2 days ago














                              • 1




                                To make the output more beautiful, highlight all occurences of (if supported by your browser)
                                – user202729
                                2 days ago






                              • 3




                                @user202729 done - in the footer so it don't affect the byte count
                                – ngn
                                2 days ago








                              1




                              1




                              To make the output more beautiful, highlight all occurences of (if supported by your browser)
                              – user202729
                              2 days ago




                              To make the output more beautiful, highlight all occurences of (if supported by your browser)
                              – user202729
                              2 days ago




                              3




                              3




                              @user202729 done - in the footer so it don't affect the byte count
                              – ngn
                              2 days ago




                              @user202729 done - in the footer so it don't affect the byte count
                              – ngn
                              2 days ago










                              up vote
                              5
                              down vote













                              Wolfram Language 83 36 bytes, (possibly -48 bytes with bonus)



                              As of version 11.1, PeanoCurve is a built-in.



                              My original, clumsy submission wasted many bytes on GeometricTransformation and ReflectionTransform.



                              This much reduced version was suggested by alephalpha.
                              Reverse was required to orient the output properly.



                              Graphics[Reverse/@#&/@PeanoCurve@#]&


                              Example 36 bytes



                              Graphics[Reverse/@#&/@PeanoCurve@#]&[3]


                              Peano curve





                              Bonus



                              If this qualifies for the 100 pt bonus, it weighs in at 52 - 100 = -48
                              The code [5] was not counted, only the pure function.



                              Table[Graphics[Reverse/@#&/@PeanoCurve@#]&@k{k,#}&[5]


                              sequence






                              share|improve this answer























                              • Graphics[Reverse/@#&/@PeanoCurve@#]&
                                – alephalpha
                                2 days ago










                              • It feels a bit like cheating to have a function which calculates the Peano curve by itself, but I'll take it as accepted answer since it's pretty impressive nonetheless ;). @LegionMammal978 I think you deserve to post your own answer, I'd argue that it's different enough to warrant accepting it as winning answer.
                                – Peiffap
                                yesterday

















                              up vote
                              5
                              down vote













                              Wolfram Language 83 36 bytes, (possibly -48 bytes with bonus)



                              As of version 11.1, PeanoCurve is a built-in.



                              My original, clumsy submission wasted many bytes on GeometricTransformation and ReflectionTransform.



                              This much reduced version was suggested by alephalpha.
                              Reverse was required to orient the output properly.



                              Graphics[Reverse/@#&/@PeanoCurve@#]&


                              Example 36 bytes



                              Graphics[Reverse/@#&/@PeanoCurve@#]&[3]


                              Peano curve





                              Bonus



                              If this qualifies for the 100 pt bonus, it weighs in at 52 - 100 = -48
                              The code [5] was not counted, only the pure function.



                              Table[Graphics[Reverse/@#&/@PeanoCurve@#]&@k{k,#}&[5]


                              sequence






                              share|improve this answer























                              • Graphics[Reverse/@#&/@PeanoCurve@#]&
                                – alephalpha
                                2 days ago










                              • It feels a bit like cheating to have a function which calculates the Peano curve by itself, but I'll take it as accepted answer since it's pretty impressive nonetheless ;). @LegionMammal978 I think you deserve to post your own answer, I'd argue that it's different enough to warrant accepting it as winning answer.
                                – Peiffap
                                yesterday















                              up vote
                              5
                              down vote










                              up vote
                              5
                              down vote









                              Wolfram Language 83 36 bytes, (possibly -48 bytes with bonus)



                              As of version 11.1, PeanoCurve is a built-in.



                              My original, clumsy submission wasted many bytes on GeometricTransformation and ReflectionTransform.



                              This much reduced version was suggested by alephalpha.
                              Reverse was required to orient the output properly.



                              Graphics[Reverse/@#&/@PeanoCurve@#]&


                              Example 36 bytes



                              Graphics[Reverse/@#&/@PeanoCurve@#]&[3]


                              Peano curve





                              Bonus



                              If this qualifies for the 100 pt bonus, it weighs in at 52 - 100 = -48
                              The code [5] was not counted, only the pure function.



                              Table[Graphics[Reverse/@#&/@PeanoCurve@#]&@k{k,#}&[5]


                              sequence






                              share|improve this answer














                              Wolfram Language 83 36 bytes, (possibly -48 bytes with bonus)



                              As of version 11.1, PeanoCurve is a built-in.



                              My original, clumsy submission wasted many bytes on GeometricTransformation and ReflectionTransform.



                              This much reduced version was suggested by alephalpha.
                              Reverse was required to orient the output properly.



                              Graphics[Reverse/@#&/@PeanoCurve@#]&


                              Example 36 bytes



                              Graphics[Reverse/@#&/@PeanoCurve@#]&[3]


                              Peano curve





                              Bonus



                              If this qualifies for the 100 pt bonus, it weighs in at 52 - 100 = -48
                              The code [5] was not counted, only the pure function.



                              Table[Graphics[Reverse/@#&/@PeanoCurve@#]&@k{k,#}&[5]


                              sequence







                              share|improve this answer














                              share|improve this answer



                              share|improve this answer








                              edited yesterday

























                              answered Nov 18 at 3:23









                              DavidC

                              23.6k243101




                              23.6k243101












                              • Graphics[Reverse/@#&/@PeanoCurve@#]&
                                – alephalpha
                                2 days ago










                              • It feels a bit like cheating to have a function which calculates the Peano curve by itself, but I'll take it as accepted answer since it's pretty impressive nonetheless ;). @LegionMammal978 I think you deserve to post your own answer, I'd argue that it's different enough to warrant accepting it as winning answer.
                                – Peiffap
                                yesterday




















                              • Graphics[Reverse/@#&/@PeanoCurve@#]&
                                – alephalpha
                                2 days ago










                              • It feels a bit like cheating to have a function which calculates the Peano curve by itself, but I'll take it as accepted answer since it's pretty impressive nonetheless ;). @LegionMammal978 I think you deserve to post your own answer, I'd argue that it's different enough to warrant accepting it as winning answer.
                                – Peiffap
                                yesterday


















                              Graphics[Reverse/@#&/@PeanoCurve@#]&
                              – alephalpha
                              2 days ago




                              Graphics[Reverse/@#&/@PeanoCurve@#]&
                              – alephalpha
                              2 days ago












                              It feels a bit like cheating to have a function which calculates the Peano curve by itself, but I'll take it as accepted answer since it's pretty impressive nonetheless ;). @LegionMammal978 I think you deserve to post your own answer, I'd argue that it's different enough to warrant accepting it as winning answer.
                              – Peiffap
                              yesterday






                              It feels a bit like cheating to have a function which calculates the Peano curve by itself, but I'll take it as accepted answer since it's pretty impressive nonetheless ;). @LegionMammal978 I think you deserve to post your own answer, I'd argue that it's different enough to warrant accepting it as winning answer.
                              – Peiffap
                              yesterday












                              up vote
                              4
                              down vote













                              BBC BASIC, 142 ASCII characters (130 bytes tokenised)



                              Download interpreter at http://www.bbcbasic.co.uk/bbcwin/download.html



                              I.m:q=FNh(m,8,8,0)END
                              DEFFNh(n,x,y,i)
                              IFn F.i=0TO8q=FNh(n-1,x-i MOD3MOD2*2*x,y-i DIV3MOD2*2*y,i)DRAWBY(1AND36/2^i)*x,y*(12653/3^i MOD3-1)N.
                              =0


                              enter image description here






                              share|improve this answer

























                                up vote
                                4
                                down vote













                                BBC BASIC, 142 ASCII characters (130 bytes tokenised)



                                Download interpreter at http://www.bbcbasic.co.uk/bbcwin/download.html



                                I.m:q=FNh(m,8,8,0)END
                                DEFFNh(n,x,y,i)
                                IFn F.i=0TO8q=FNh(n-1,x-i MOD3MOD2*2*x,y-i DIV3MOD2*2*y,i)DRAWBY(1AND36/2^i)*x,y*(12653/3^i MOD3-1)N.
                                =0


                                enter image description here






                                share|improve this answer























                                  up vote
                                  4
                                  down vote










                                  up vote
                                  4
                                  down vote









                                  BBC BASIC, 142 ASCII characters (130 bytes tokenised)



                                  Download interpreter at http://www.bbcbasic.co.uk/bbcwin/download.html



                                  I.m:q=FNh(m,8,8,0)END
                                  DEFFNh(n,x,y,i)
                                  IFn F.i=0TO8q=FNh(n-1,x-i MOD3MOD2*2*x,y-i DIV3MOD2*2*y,i)DRAWBY(1AND36/2^i)*x,y*(12653/3^i MOD3-1)N.
                                  =0


                                  enter image description here






                                  share|improve this answer












                                  BBC BASIC, 142 ASCII characters (130 bytes tokenised)



                                  Download interpreter at http://www.bbcbasic.co.uk/bbcwin/download.html



                                  I.m:q=FNh(m,8,8,0)END
                                  DEFFNh(n,x,y,i)
                                  IFn F.i=0TO8q=FNh(n-1,x-i MOD3MOD2*2*x,y-i DIV3MOD2*2*y,i)DRAWBY(1AND36/2^i)*x,y*(12653/3^i MOD3-1)N.
                                  =0


                                  enter image description here







                                  share|improve this answer












                                  share|improve this answer



                                  share|improve this answer










                                  answered 2 days ago









                                  Level River St

                                  20.1k32579




                                  20.1k32579






















                                      up vote
                                      4
                                      down vote













                                      HTML+SVG+JS, 224 213 bytes



                                      The output is mirrored horizontally.



                                      n=>document.write(`<svg width=${w=3**n*9} height=${w}><path d="M1 ${(p=(n,z)=>n--&&(p(n,-z,a(a(p(n,-z,d+=z)),p(n,z))),d-=z))(n*2,r=d=x=y=1,a=_=>r+=`L${x+=~-(d&=3)%2*9} ${y+=(2-d)%2*9}`)&&r}"fill=#fff stroke=red>`)


                                      Try it online! (prints the HTML)






                                      (
                                      n=>document.write(`<svg width=${w=3**n*9} height=${w}><path d="M1 ${(p=(n,z)=>n--&&(p(n,-z,a(a(p(n,-z,d+=z)),p(n,z))),d-=z))(n*2,r=d=x=y=1,a=_=>r+=`L${x+=~-(d&=3)%2*9} ${y+=(2-d)%2*9}`)&&r}"fill=#fff stroke=red>`)
                                      )(3)








                                      share|improve this answer



























                                        up vote
                                        4
                                        down vote













                                        HTML+SVG+JS, 224 213 bytes



                                        The output is mirrored horizontally.



                                        n=>document.write(`<svg width=${w=3**n*9} height=${w}><path d="M1 ${(p=(n,z)=>n--&&(p(n,-z,a(a(p(n,-z,d+=z)),p(n,z))),d-=z))(n*2,r=d=x=y=1,a=_=>r+=`L${x+=~-(d&=3)%2*9} ${y+=(2-d)%2*9}`)&&r}"fill=#fff stroke=red>`)


                                        Try it online! (prints the HTML)






                                        (
                                        n=>document.write(`<svg width=${w=3**n*9} height=${w}><path d="M1 ${(p=(n,z)=>n--&&(p(n,-z,a(a(p(n,-z,d+=z)),p(n,z))),d-=z))(n*2,r=d=x=y=1,a=_=>r+=`L${x+=~-(d&=3)%2*9} ${y+=(2-d)%2*9}`)&&r}"fill=#fff stroke=red>`)
                                        )(3)








                                        share|improve this answer

























                                          up vote
                                          4
                                          down vote










                                          up vote
                                          4
                                          down vote









                                          HTML+SVG+JS, 224 213 bytes



                                          The output is mirrored horizontally.



                                          n=>document.write(`<svg width=${w=3**n*9} height=${w}><path d="M1 ${(p=(n,z)=>n--&&(p(n,-z,a(a(p(n,-z,d+=z)),p(n,z))),d-=z))(n*2,r=d=x=y=1,a=_=>r+=`L${x+=~-(d&=3)%2*9} ${y+=(2-d)%2*9}`)&&r}"fill=#fff stroke=red>`)


                                          Try it online! (prints the HTML)






                                          (
                                          n=>document.write(`<svg width=${w=3**n*9} height=${w}><path d="M1 ${(p=(n,z)=>n--&&(p(n,-z,a(a(p(n,-z,d+=z)),p(n,z))),d-=z))(n*2,r=d=x=y=1,a=_=>r+=`L${x+=~-(d&=3)%2*9} ${y+=(2-d)%2*9}`)&&r}"fill=#fff stroke=red>`)
                                          )(3)








                                          share|improve this answer














                                          HTML+SVG+JS, 224 213 bytes



                                          The output is mirrored horizontally.



                                          n=>document.write(`<svg width=${w=3**n*9} height=${w}><path d="M1 ${(p=(n,z)=>n--&&(p(n,-z,a(a(p(n,-z,d+=z)),p(n,z))),d-=z))(n*2,r=d=x=y=1,a=_=>r+=`L${x+=~-(d&=3)%2*9} ${y+=(2-d)%2*9}`)&&r}"fill=#fff stroke=red>`)


                                          Try it online! (prints the HTML)






                                          (
                                          n=>document.write(`<svg width=${w=3**n*9} height=${w}><path d="M1 ${(p=(n,z)=>n--&&(p(n,-z,a(a(p(n,-z,d+=z)),p(n,z))),d-=z))(n*2,r=d=x=y=1,a=_=>r+=`L${x+=~-(d&=3)%2*9} ${y+=(2-d)%2*9}`)&&r}"fill=#fff stroke=red>`)
                                          )(3)








                                          (
                                          n=>document.write(`<svg width=${w=3**n*9} height=${w}><path d="M1 ${(p=(n,z)=>n--&&(p(n,-z,a(a(p(n,-z,d+=z)),p(n,z))),d-=z))(n*2,r=d=x=y=1,a=_=>r+=`L${x+=~-(d&=3)%2*9} ${y+=(2-d)%2*9}`)&&r}"fill=#fff stroke=red>`)
                                          )(3)





                                          (
                                          n=>document.write(`<svg width=${w=3**n*9} height=${w}><path d="M1 ${(p=(n,z)=>n--&&(p(n,-z,a(a(p(n,-z,d+=z)),p(n,z))),d-=z))(n*2,r=d=x=y=1,a=_=>r+=`L${x+=~-(d&=3)%2*9} ${y+=(2-d)%2*9}`)&&r}"fill=#fff stroke=red>`)
                                          )(3)






                                          share|improve this answer














                                          share|improve this answer



                                          share|improve this answer








                                          edited 2 days ago

























                                          answered 2 days ago









                                          Arnauld

                                          69.2k585293




                                          69.2k585293






















                                              up vote
                                              3
                                              down vote













                                              Logo, 89 bytes



                                              to p:n:a
                                              if:n>0[rt:a
                                              p:n-1 0-:a
                                              fw 5
                                              p:n-1:a
                                              fw 5
                                              p:n-1 0-:a
                                              lt:a]end
                                              to f:n
                                              p:n*2 90
                                              end


                                              Port of @Arnauld's Atari BASIC answer. To use, do something like this:



                                              reset
                                              f 3





                                              share|improve this answer

























                                                up vote
                                                3
                                                down vote













                                                Logo, 89 bytes



                                                to p:n:a
                                                if:n>0[rt:a
                                                p:n-1 0-:a
                                                fw 5
                                                p:n-1:a
                                                fw 5
                                                p:n-1 0-:a
                                                lt:a]end
                                                to f:n
                                                p:n*2 90
                                                end


                                                Port of @Arnauld's Atari BASIC answer. To use, do something like this:



                                                reset
                                                f 3





                                                share|improve this answer























                                                  up vote
                                                  3
                                                  down vote










                                                  up vote
                                                  3
                                                  down vote









                                                  Logo, 89 bytes



                                                  to p:n:a
                                                  if:n>0[rt:a
                                                  p:n-1 0-:a
                                                  fw 5
                                                  p:n-1:a
                                                  fw 5
                                                  p:n-1 0-:a
                                                  lt:a]end
                                                  to f:n
                                                  p:n*2 90
                                                  end


                                                  Port of @Arnauld's Atari BASIC answer. To use, do something like this:



                                                  reset
                                                  f 3





                                                  share|improve this answer












                                                  Logo, 89 bytes



                                                  to p:n:a
                                                  if:n>0[rt:a
                                                  p:n-1 0-:a
                                                  fw 5
                                                  p:n-1:a
                                                  fw 5
                                                  p:n-1 0-:a
                                                  lt:a]end
                                                  to f:n
                                                  p:n*2 90
                                                  end


                                                  Port of @Arnauld's Atari BASIC answer. To use, do something like this:



                                                  reset
                                                  f 3






                                                  share|improve this answer












                                                  share|improve this answer



                                                  share|improve this answer










                                                  answered 2 days ago









                                                  Neil

                                                  78k744175




                                                  78k744175






















                                                      up vote
                                                      2
                                                      down vote














                                                      Stax, 19 bytes



                                                      ∩▐j>♣←╙~◘∩╗╢a╘─Ràô


                                                      Run and debug it



                                                      Output for 3:



                                                      ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █
                                                      █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
                                                      █ █ █ █ █ █ █ █ █
                                                      █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
                                                      ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
                                                      █ █ █ █ █ █ █ █ █
                                                      ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
                                                      █ ███ ███ ███ ███ ███ ███ ███ ███ █ █ ███ ███ ███ ███
                                                      █ █ █
                                                      █ ███ ███ ███ ███ ███ ███ ███ ███ █ █ ███ ███ ███ ███
                                                      ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
                                                      █ █ █ █ █ █ █ █ █
                                                      ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
                                                      █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
                                                      █ █ █ █ █ █ █ █ █
                                                      █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
                                                      ███ ███ ███ ███ █ █ ███ ███ ███ ███ ███ ███ ███ ███ █
                                                      █ █ █
                                                      ███ ███ ███ ███ █ █ ███ ███ ███ ███ ███ ███ ███ ███ █
                                                      █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
                                                      █ █ █ █ █ █ █ █ █
                                                      █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
                                                      ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
                                                      █ █ █ █ █ █ █ █ █
                                                      ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
                                                      █ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███





                                                      share|improve this answer

























                                                        up vote
                                                        2
                                                        down vote














                                                        Stax, 19 bytes



                                                        ∩▐j>♣←╙~◘∩╗╢a╘─Ràô


                                                        Run and debug it



                                                        Output for 3:



                                                        ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █
                                                        █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
                                                        █ █ █ █ █ █ █ █ █
                                                        █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
                                                        ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
                                                        █ █ █ █ █ █ █ █ █
                                                        ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
                                                        █ ███ ███ ███ ███ ███ ███ ███ ███ █ █ ███ ███ ███ ███
                                                        █ █ █
                                                        █ ███ ███ ███ ███ ███ ███ ███ ███ █ █ ███ ███ ███ ███
                                                        ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
                                                        █ █ █ █ █ █ █ █ █
                                                        ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
                                                        █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
                                                        █ █ █ █ █ █ █ █ █
                                                        █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
                                                        ███ ███ ███ ███ █ █ ███ ███ ███ ███ ███ ███ ███ ███ █
                                                        █ █ █
                                                        ███ ███ ███ ███ █ █ ███ ███ ███ ███ ███ ███ ███ ███ █
                                                        █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
                                                        █ █ █ █ █ █ █ █ █
                                                        █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
                                                        ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
                                                        █ █ █ █ █ █ █ █ █
                                                        ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
                                                        █ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███





                                                        share|improve this answer























                                                          up vote
                                                          2
                                                          down vote










                                                          up vote
                                                          2
                                                          down vote










                                                          Stax, 19 bytes



                                                          ∩▐j>♣←╙~◘∩╗╢a╘─Ràô


                                                          Run and debug it



                                                          Output for 3:



                                                          ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █
                                                          █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
                                                          █ █ █ █ █ █ █ █ █
                                                          █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
                                                          ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
                                                          █ █ █ █ █ █ █ █ █
                                                          ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
                                                          █ ███ ███ ███ ███ ███ ███ ███ ███ █ █ ███ ███ ███ ███
                                                          █ █ █
                                                          █ ███ ███ ███ ███ ███ ███ ███ ███ █ █ ███ ███ ███ ███
                                                          ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
                                                          █ █ █ █ █ █ █ █ █
                                                          ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
                                                          █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
                                                          █ █ █ █ █ █ █ █ █
                                                          █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
                                                          ███ ███ ███ ███ █ █ ███ ███ ███ ███ ███ ███ ███ ███ █
                                                          █ █ █
                                                          ███ ███ ███ ███ █ █ ███ ███ ███ ███ ███ ███ ███ ███ █
                                                          █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
                                                          █ █ █ █ █ █ █ █ █
                                                          █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
                                                          ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
                                                          █ █ █ █ █ █ █ █ █
                                                          ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
                                                          █ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███





                                                          share|improve this answer













                                                          Stax, 19 bytes



                                                          ∩▐j>♣←╙~◘∩╗╢a╘─Ràô


                                                          Run and debug it



                                                          Output for 3:



                                                          ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █
                                                          █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
                                                          █ █ █ █ █ █ █ █ █
                                                          █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
                                                          ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
                                                          █ █ █ █ █ █ █ █ █
                                                          ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
                                                          █ ███ ███ ███ ███ ███ ███ ███ ███ █ █ ███ ███ ███ ███
                                                          █ █ █
                                                          █ ███ ███ ███ ███ ███ ███ ███ ███ █ █ ███ ███ ███ ███
                                                          ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
                                                          █ █ █ █ █ █ █ █ █
                                                          ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
                                                          █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
                                                          █ █ █ █ █ █ █ █ █
                                                          █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
                                                          ███ ███ ███ ███ █ █ ███ ███ ███ ███ ███ ███ ███ ███ █
                                                          █ █ █
                                                          ███ ███ ███ ███ █ █ ███ ███ ███ ███ ███ ███ ███ ███ █
                                                          █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
                                                          █ █ █ █ █ █ █ █ █
                                                          █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
                                                          ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
                                                          █ █ █ █ █ █ █ █ █
                                                          ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
                                                          █ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███






                                                          share|improve this answer












                                                          share|improve this answer



                                                          share|improve this answer










                                                          answered yesterday









                                                          recursive

                                                          4,9741221




                                                          4,9741221






















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










                                                               

                                                              draft saved


                                                              draft discarded


















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













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












                                                              Peiffap 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%2f176168%2fdrawing-the-peano-curve%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

                                                              If I really need a card on my start hand, how many mulligans make sense? [duplicate]

                                                              Alcedinidae

                                                              Can an atomic nucleus contain both particles and antiparticles? [duplicate]