7 deleted 80 characters in body
source | link

Note: changes have been made to the code but not yet to the explanation...

Note: changes have been made to the code but not yet to the explanation...

6 added 1904 characters in body
source | link

145103 bytes are a 143101 digit base 250 number, which is a base-48 compression of a possible cube, with trailing spaces added to equalise the row-lengths, without new lines, and without 18 characters from the middle of each row, like this, but without newlines:

         _________________ 
        / _____________  /|
       / / ___________/ / |
      / / /| |       / /  |
     / / / | |      / /   |
    / / /| | |     / / /| |
   / / / | | |    / / / | |
  / / /  | | |   / / /| | |
 / /_/___|_|_|__/ / / | | |
/________________/ /  | | |
| ______________ | |  | | |
| | |    | | |_| | |__| | |
| | |    | |___| | |____| |
| | |   / / ___| | |_  / / 
| | |  / / /   | | |/ / /  
| | | / / /    | | | / /   
| | |/ / /     | | |/ /    
| | | / /      | |   /     
| | |/_/_______| |  /      
| |____________| | /       
|________________|/        

The 8 base-8 digits represent the strings of characters:

1      2    3    4    5    6        7        0
"   ", "_", "/", " ", "|", "/ / /", "| | |", "_____"

So the compression is then like the below where 1s, 6s, 7s and 0s are to be replaced by the strings shown above:

111000__111/ 00___  /|11 / / 00_/ / |116| |11 / /  |1  6 | |11/ /1|1 671  6| |16 71 6 | |  6  7167 6___|_|_|__6 7/000_/ /  7| 00____ | |  771 7_7__771 | |___7____| |71/ / ___7_  / / 7  6176  7 61 7 / /1761  7/ /1 7 / /11| |1/1  7/_/0__| |  /11| |00__| | /11 |000_|/11  
ḣ9;⁾| ṁ5¤oµ€“µ½¿‘¦  Link_/ 1,|/|”;€⁶;”_ṁ"“¡ẇḞ6’D¤ṃ@“ replace... characters’Fs27ǹ⁸?x€15¦€19Y to makeMain impossiblelink: rowsV
                 ¦  apply sparsely:                                 ...splitting this up...
            “µ½¿‘                                         ...toMain indexeslink part 1: code_/ |/|”;€⁶;”_ṁ"“¡ẇḞ6’D¤ -page indexesmake the list of strings of characters
“ _/ |/|”                 - list of characters = [9,10,11]" _/ |/|"
                    ...this:     - literal space character
         ;€ µ€          for    - concatenate €ach: -> ["  ","_ ","/ ","  ","| ","/ ","| "]
ḣ9             ”_         head to index- 9literal = '_'
        ¤    ;             - concatenate -> ["  ","_ ","/ ","  ","| ","/ ","| ", '_']
                        ¤ - nilad followed by link(s) as a nilad:
   ⁾|               “¡ẇḞ6’   -   listbase of250 charactersliteral = ['|',' ']31111555
      ṁ5                 D mould like- 5 = ['|','convert 'to decimal list -> [3,'|'1,' '1,'|']1,1,5,5,5]
  ;              "       concatenate  - zip with:
         o              logical or (vectorises)- with the rowmould like
                          (which- has the effect-> of[" appending the rest","_","/"," of","|","/ the/ row)/","| | |","_____"]

 ... ’ṃ“ /|_”s27ǹ⁸?x€15¦€19Y  Main link: V
“ ...                          base 250 number (as described above)
         /|_”     ...Main link, part 2:
...ṃ@“ ... ’Fs27 - make the rows of a possible cube without the charactersmiddle torepetitions:
... use [' ','/','|'           - part 1,'_'] above
      ...      - the 101 digit base 250 number
   ṃ@            - base decompression (0->'_',with 1->'swapped ',@rguments
 2->'/', 3->'|')
          F    s27- flatten (because the digit values we are using are actually lists)
             s27 - split into chunks of length 27 (into the rows) 

                    ?           if                      ...Main link part 3:
...ǹ⁸?x€15¦€19Y - make "impossible" if need be, add the row middles and output
...              - part 2, above
       ? chain's left argument = V    -  if:
         -    chain's left argument = V
   Ç             - ...then: call last link (1) as a monad
                 -          (make it an impossible cube - see link 1, below)
    ¹            - ...else: identity (do nothing)
                - for €ach
         ¦       for- apply sparsely:
       15        - ...to index: 15
     x€    19    - ...this: repeat €ach nineteen times
               Y - join with newlines
       ¦          - implicit print

ḣ9;⁾| ṁ5¤oµ€“µ½¿‘¦  Link 1, replace characters to make impossible: rows
                 ¦  apply sparsely:
            “µ½¿‘   ...to indexes: code-page indexes = [9,10,11]
      15              ...this:
          µ€          for €ach:
ḣ9                      head to index: 159
         ¤            x€   nilad 19followed by link(s) as a ...thisnilad: 
 repeat €ach nineteen⁾| times                    list of characters = ['|',' ']
      ṁ5                  mould like 5 = ['|',' ','|',' ','|']
  ;  Y  join                 concatenate
         o              logical or (vectorises) with newlinesthe row
                          (which has the effect of appending implicitthe printrest of the row)

145 bytes are a 143 digit base 250 number, which is a base-4 compression of a possible cube, with trailing spaces added to equalise the row-lengths, without new lines, and without 18 characters from the middle of each row, like this, but without newlines:

         _________________ 
        / _____________  /|
       / / ___________/ / |
      / / /| |       / /  |
     / / / | |      / /   |
    / / /| | |     / / /| |
   / / / | | |    / / / | |
  / / /  | | |   / / /| | |
 / /_/___|_|_|__/ / / | | |
/________________/ /  | | |
| ______________ | |  | | |
| | |    | | |_| | |__| | |
| | |    | |___| | |____| |
| | |   / / ___| | |_  / / 
| | |  / / /   | | |/ / /  
| | | / / /    | | | / /   
| | |/ / /     | | |/ /    
| | | / /      | |   /     
| | |/_/_______| |  /      
| |____________| | /       
|________________|/        
ḣ9;⁾| ṁ5¤oµ€“µ½¿‘¦  Link 1, replace characters to make impossible: rows
                 ¦  apply sparsely:
            “µ½¿‘   ...to indexes: code-page indexes = [9,10,11]
                    ...this:
          µ€          for €ach:
ḣ9                      head to index 9
        ¤               nilad followed by link(s) as a nilad:
   ⁾|                     list of characters = ['|',' ']
      ṁ5                  mould like 5 = ['|',' ','|',' ','|']
  ;                     concatenate
         o              logical or (vectorises) with the row
                          (which has the effect of appending the rest of the row)

 ... ’ṃ“ /|_”s27ǹ⁸?x€15¦€19Y  Main link: V
“ ...                          base 250 number (as described above)
         /|_”                  the characters to use [' ','/','|','_']
                               base decompression (0->'_', 1->' ', 2->'/', 3->'|')
              s27               split into chunks of length 27 (the rows)
                    ?           if:
                                 chain's left argument = V
                 Ç              ...then: call last link (1) as a monad
                  ¹             ...else: identity (do nothing)
                               for €ach
                         ¦        apply sparsely:
                       15         ...to index: 15
                     x€    19     ...this: repeat €ach nineteen times
                             Y  join with newlines
                                implicit print

103 bytes are a 101 digit base 250 number, which is a base-8 compression of a possible cube, with trailing spaces added to equalise the row-lengths, without new lines, and without 18 characters from the middle of each row, like this, but without newlines:

         _________________ 
        / _____________  /|
       / / ___________/ / |
      / / /| |       / /  |
     / / / | |      / /   |
    / / /| | |     / / /| |
   / / / | | |    / / / | |
  / / /  | | |   / / /| | |
 / /_/___|_|_|__/ / / | | |
/________________/ /  | | |
| ______________ | |  | | |
| | |    | | |_| | |__| | |
| | |    | |___| | |____| |
| | |   / / ___| | |_  / / 
| | |  / / /   | | |/ / /  
| | | / / /    | | | / /   
| | |/ / /     | | |/ /    
| | | / /      | |   /     
| | |/_/_______| |  /      
| |____________| | /       
|________________|/        

The 8 base-8 digits represent the strings of characters:

1      2    3    4    5    6        7        0
"   ", "_", "/", " ", "|", "/ / /", "| | |", "_____"

So the compression is then like the below where 1s, 6s, 7s and 0s are to be replaced by the strings shown above:

111000__111/ 00___  /|11 / / 00_/ / |116| |11 / /  |1  6 | |11/ /1|1 671  6| |16 71 6 | |  6  7167 6___|_|_|__6 7/000_/ /  7| 00____ | |  771 7_7__771 | |___7____| |71/ / ___7_  / / 7  6176  7 61 7 / /1761  7/ /1 7 / /11| |1/1  7/_/0__| |  /11| |00__| | /11 |000_|/11  
 _/ |/|”;€⁶;”_ṁ"“¡ẇḞ6’D¤ṃ@“ ... ’Fs27ǹ⁸?x€15¦€19Y  Main link: V
                                                     ...splitting this up...
                                                     ...Main link part 1: _/ |/|”;€⁶;”_ṁ"“¡ẇḞ6’D¤ - make the list of strings of characters
“ _/ |/|”                 - list of characters = " _/ |/|"
                         - literal space character
         ;€               - concatenate €ach -> ["  ","_ ","/ ","  ","| ","/ ","| "]
             ”_           - literal = '_'
            ;             - concatenate -> ["  ","_ ","/ ","  ","| ","/ ","| ", '_']
                        ¤ - nilad followed by link(s) as a nilad:
                 “¡ẇḞ6’   -   base 250 literal = 31111555
                       D  -   convert to decimal list -> [3,1,1,1,1,5,5,5]
                "         - zip with:
                         -   mould like
                          -   -> ["   ","_","/"," ","|","/ / /","| | |","_____"]

                                                     ...Main link, part 2:
...ṃ@“ ... ’Fs27 - make the rows of a possible cube without the middle repetitions:
...              - part 1, above
      ...      - the 101 digit base 250 number
   ṃ@            - base decompression with swapped @rguments
            F    - flatten (because the digit values we are using are actually lists)
             s27 - split into chunks of length 27 (into the rows) 

                                                     ...Main link part 3:
...ǹ⁸?x€15¦€19Y - make "impossible" if need be, add the row middles and output
...              - part 2, above
       ?         -  if:
         -    chain's left argument = V
   Ç             - ...then: call last link (1) as a monad
                 -          (make it an impossible cube - see link 1, below)
    ¹            - ...else: identity (do nothing)
                - for €ach
         ¦       - apply sparsely:
       15        - ...to index: 15
     x€    19    - ...this: repeat €ach nineteen times
               Y - join with newlines
                 - implicit print

ḣ9;⁾| ṁ5¤oµ€“µ½¿‘¦  Link 1, replace characters to make impossible: rows
                 ¦  apply sparsely:
            “µ½¿‘   ...to indexes: code-page indexes = [9,10,11]
                    ...this:
          µ€          for €ach:
ḣ9                      head to index 9
        ¤               nilad followed by link(s) as a nilad: 
   ⁾|                     list of characters = ['|',' ']
      ṁ5                  mould like 5 = ['|',' ','|',' ','|']
  ;                     concatenate
         o              logical or (vectorises) with the row
                          (which has the effect of appending the rest of the row)
5 deleted 1 character in body
source | link

Jelly,  187  168166 bytes

ḣ9;⁾| ṁ5¤oµ€“µ½¿‘¦
“ _/ |/|”;€⁶;”_ṁ"“¤¢¢¢¢¦¦¦‘ṃ@“Ė⁸ġṾṗ¢œƝṇRK⁹ṄẸŒÐ¤ɓḂı|”;€⁶;”_ṁ"“¡ẇḞ6’D¤ṃ@“Ė⁸ġṾṗ¢œƝṇRK⁹ṄẸŒÐ¤ɓḂı)ḥṆqƓị¹÷ḄƝṁPʠVW1JĊTc;[¤ÆWŒṠṬ#ʋÆ6ẉ⁷ZḷƊḤƑẹẠGḊ|qi×Ƭ®ÐėƁ1(⁸ṪU¹Bgoƭ<Gḋ×c:ȦṚƇĊ¬e*⁽%ḷİ°U’Fs27ǹ⁸?x€15¦€19Y

Try it online!Try it online!

Jelly,  187  168 bytes

ḣ9;⁾| ṁ5¤oµ€“µ½¿‘¦
“ _/ |/|”;€⁶;”_ṁ"“¤¢¢¢¢¦¦¦‘ṃ@“Ė⁸ġṾṗ¢œƝṇRK⁹ṄẸŒÐ¤ɓḂı)ḥṆqƓị¹÷ḄƝṁPʠVW1JĊTc;[¤ÆWŒṠṬ#ʋÆ6ẉ⁷ZḷƊḤƑẹẠGḊ|qi×Ƭ®ÐėƁ1(⁸ṪU¹Bgoƭ<Gḋ×c:ȦṚƇĊ¬e*⁽%ḷİ°U’Fs27ǹ⁸?x€15¦€19Y

Try it online!

Jelly,  187  166 bytes

ḣ9;⁾| ṁ5¤oµ€“µ½¿‘¦
“ _/ |/|”;€⁶;”_ṁ"“¡ẇḞ6’D¤ṃ@“Ė⁸ġṾṗ¢œƝṇRK⁹ṄẸŒÐ¤ɓḂı)ḥṆqƓị¹÷ḄƝṁPʠVW1JĊTc;[¤ÆWŒṠṬ#ʋÆ6ẉ⁷ZḷƊḤƑẹẠGḊ|qi×Ƭ®ÐėƁ1(⁸ṪU¹Bgoƭ<Gḋ×c:ȦṚƇĊ¬e*⁽%ḷİ°U’Fs27ǹ⁸?x€15¦€19Y

Try it online!

4 added 12 characters in body
source | link
3 added 27 characters in body
source | link
2 added 2772 characters in body
source | link
1
source | link