Your task is to take an ASCII art image and output it rotated clockwise by 45 degrees and scaled by a factor of \$\sqrt 2\$. The scaling comes from using a lattice pattern which introduces space between the characters.
To explain it visually, a \$3 \times 3\$ block would be processed like so:
123
456
789
becomes
1
4 2
7 5 3
8 6
9
Characters will not be transformed, so boxes will look strange after rotation:
+-+
| |
+-+
becomes
+
| -
+ +
- |
+
To explain the process more explicitly, the output consists of a diamond lattice pattern where the top row corresponds to the top-left character of the input, the next row corresponds with the right and below neighbors, next row is those neighbors, and so forth until all of the characters have been placed on the lattice.
Examples
FISHKISSFISHKIS
SFISHKISSFISHKISSFISH F
ISHK ISSFISHKISSFISHKISS FI
SHKISS FISHKISSFISHKISSFISS FIS
HKISSFISHKISSFISHKISSFISHKISSFISH KISS
FISHKISSFISHKISSFISHKISSFISHKISS FISHK
SSFISHKISSFISHKISSFISHKISSFISHKISSF
ISHKISSFISHKISSFISHKISSFISHKISSF ISHKI
SSFISHKISSFISHKISSFISHKISSFISHKIS SFIS
HKISSFISHKISSFISHKISSFISHKISS FIS
HKISSFISHKISSFISHKISSFISHK IS
SFISHKISSFISHKISSFISH K
ISSFISHKISSFISHK
Becomes
H
K S
I H I
F S K S
S I S I H S
S I S F S K F
F S H I S I
H I H K S S F
K S K S I H H I
I H I S S K I K S
H S K S F S I F S I H
K S I S I F S I S S K
I F S F S I S S F S I
S I S I H S F H I F S
S S S F S K H I K S I S
F F H I H I K S I H S F
I I K S K S I H S K H I
I S S I H I S S K S I K S
S H H S K S F S I F S I H
S K K S I S I F S I S S K
F I I F S F S I S S F S I
I S S I S I H S F H I F S
S S S S F S K H I K S I
H F F H I H I K S I H S
K I I K S K S I H S K H
I S S I H I S S K S I
S H H S K S F S I F S
S K K S I S I F S I S
F I I F S F S I S S
I S S I S I H S F S
S S S S F S K H I
H F F H I H I K S
K I I K S K S I H
S S I H I S S
H H S K S F S
K S I S I
S F S
H F K F F F
K I I I I
I I S S S
S S H S
S H S K
F K F
F I I
I S
I S
S
K
_,,ddF"""Ybb,,_
,d@#@#@#@g, `"Yb,
,d#@#V``V@#@#b "b,
d@#@#I I@#@8 "b
d@#@#@#A..A@#@#P `b
8#@#@#@#@#@#@8" 8
8@#@#@#@#@#@J 8
8#@#@#@#@#P 8
Y@#@#@#@#P ,db, ,P
Y@#@#@#@) @DWB aP
"Y#@#@#b `69' aP"
"Y@#@#g,, _,dP"
`""YBBgggddP""'
Becomes
d d ,
8 @ @ d ,
8 # # # # d _
8 @ @ @ @ @ @ ,
Y # # # # # # # ,
@ @ @ @ @ I V @ d
Y # # # # # ` # d
@ @ @ @ @ A ` @ F
" # # # # # . V # "
Y @ @ @ @ @ . @ @ "
# # # # # # A I # g "
" @ @ @ @ @ @ @ @ @ , Y
Y # # # # # # # # # b
@ @ @ P P @ @ @ @ b b
` # # ) J 8 # 8 ,
" @ b " P ` ,
" # " _
Y g Y
B , , b
B , @ d ,
g ` D b "
g 6 W , b
g 9 B ,
d ' "
d b
P _ `
" , b
" d 8
' P a 8
" P a , 8
" P P
...,?77??!~~~~!???77?<~....
..?7` `7!..
.,=` ..~7^` I ?1.
........ ..^ ?` ..?7!1 . ...??7
. .7` .,777.. .I. . .! .,7!
.. .? .^ .l ?i. . .` .,^
b .! .= .?7???7~. .>r . .=
.,.?4 , .^ 1 ` 4...
J ^ , 5 ` ?<.
.%.7; .` ., .; .=.
.+^ ., .% MML F ., ?,
P ,, J .MMN F 6 4.
l d, , .MMM! .t .. ,,
, JMa..` MMM` . .! .;
r .M# .M# .% . .~ .,
dMMMNJ..! .P7! .> . . ,,
.WMMMMMm ?^.. ..,?! .. .. , Z7` `?^.. ,,
?THB3 ?77?! .Yr . .! ?, ?^C
?, .,^.` .% .^ 5.
7, .....?7 .^ ,` ?.
`<. .= .`' 1
....dn... ... ...,7..J=!7, .,
..= G.,7 ..,o.. .? J. F
.J. .^ ,,,t ,^ ?^. .^ `?~. F
r %J. $ 5r J ,r.1 .=. .%
r .77=?4. ``, l ., 1 .. <. 4.,
.$.. .X.. .n.. ., J. r .` J. `'
.?` .5 `` .% .% .' L.' t
,. ..1JL ., J .$.?` .
1. .=` ` .J7??7<.. .;
JS.. ..^ L 7.:
`> .. J. 4.
+ r `t r ~=..G.
= $ ,. J
2 r t .;
.,7! r t`7~.. j..
j 7~L...$=.?7r r ;?1.
8. .= j ..,^ ..
r G .
.,7, j, .>=.
.J??, `T....... % ..
..^ <. ~. ,. .D
.?` 1 L .7.........?Ti..l
,` L . .% .`! `j,
.^ . .. .` .^ .?7!?7+. 1
.` . .`..`7. .^ ,` .i.;
.7<..........~<<3?7!` 4. r ` G%
J.` .! %
JiJ .`
.1. J
?1. .'
7<..%
Becomes
. .
. .
. .
b .
. .
, .
. J . .
. % ? .
+ . 4 . .
P ^ 7 ! ? .
l ; ^ 7 .
, . ` .
d , ^ .
. M r , ,
W M , =
M M d ` .
M N J , .
? M J . M ?
T M . M a , . 7
H M . # . = . ` .
? B m ! . . . , . ^ . .
, 3 ` , J % ` ^ . , .
? 7 ,
7 ? 7 7 ?
r . , ^ ? 7 7
. r J . . ? . ? 7
, ? . % . . ` . ? . ` . ?
. ` $ . J = . < . 7 . . ?
. 7 . . . . M , ~ l . ~ !
. . 7 . . ? . M M . I . 7 ~
. . = $ ^ . 7 M M L . . ^ ~
1 5 ? d 7 M M N 1 ? ` ~
J 4 , n ? . M M ? 7 ~
L . , G . ! M M ! 5 i ! !
. , . . . # ` . . 1 ?
. . 1 X 5 t , . . . ; . . I ?
. ` ^ , . . . r 7 . , F > . . ?
7 ` ? . J . . . ? . F r . 7
< ` . S ` J , . . ! . . . t . ! 7
. ^ . . . ` ^ . . . P % . ` ?
. J j , ` . ` , . ? . 7 ` <
. ? . 7 > ` . , . 7 . . ! ` ~
. ? , r 8 ! + n o . , . . .
. , 7 . = . . . . . ^ Y .
. , 7 2 . . % . . , . r . . .
. < ~ r . , 7 ` > , .
. . ` L r . l . . . 6 4 .
. 1 T . $ ^ . . . . = . . . . . . = . `
. . . r ` = . , . ? ? J ^ % . . . , 7
~ L ~ . . t t ` J % , ^ = . . ! . ^ . !
< . . . . $ ` , J . ! ` . ~ , .
< . L . G = = 7 . ` . . . 1 7 ' , . . , ? 7 .
3 . . . ~ t J $ ' , , ` ^ ! < ! .
? . . j ? . r . . . r r . J . .
7 . . . , 7 . J L J ? L . . ^ . Z . ?
! ` , r . ~ 7 ` . . . 1 7 . ? 1
` . . % j ; = 4 ? ' ` ? ` = ? .
. . . j . . ? < ` , . 7
` . % 7 . . . 7 . ?
7 ` . . r . G < J ~ 5 ?
. . , . . . . . . ,
4 . ^ ; . t ?
. . ? . . . 4
J . . . . 1 7 . = 1 .
. r ^ ^ ` . . . ; . . ,
` ! . . : , ` ,
J . . . . 4 F ? .
i . ` , . . > . . F ^ ;
J ! ` ? ? = ` , % . .
. 7 T . ' . ,
1 ! i . . ,
. ? . D . ,
7 . ? ,
? + ` l ^ ,
1 . j C
. . ,
i 1
.
7 G ;
< %
. . %
. . J `
% '
Rules and Notes
- Input and output may be in any convenient format and character encoding as long as it supports all printable ASCII characters (U+0020 - U+007E, LF)
- You may assume the input contains only printable ASCII characters (defined above)
- You must support art up to \$100 \times 100\$ characters.
- You may assume the input is right-padded, as to be a perfect rectangular grid of characters.
- If it conveniences you, you may also assume the input is padded to be exactly \$100 \times 100\$ characters.
- Use the ASCII space to align and space characters.
- Characters may be overpadded (or even underpadded) in any direction as long as the result is properly aligned.
Happy Golfing!