Update: An image of the result is available on my homenode.
#!/usr/bin/perl use strict; use PDL;use PDL::NiceSlice;use PDL::Graphics::TriD;sub _{map(ord()-80,&_::(shift))}sub _::{split//,shift}$}=pdl(__(8665)) *ones(28,3);{$_=pdl[_('TPRRRPJZPRVJSSRTPTRPNLXPPVPP')], [_('VNNPRZPPDVPPVJJP\PNNNPJ\JPVD')],[0];for my $pdl(1..27){$_($pdl) +=$_($pdl-1)}line3d(::($_),::($}));}sub __{&_::(join('0',map(1x$_, &_::)))}sub ::{{{{}}}shift->xchg(0,1)}
Update: Futzing around a bit more, and using some techniques from teamster_jr's recent spoiler I pared this down to 5 x 72.
#!/usr/bin/perl $_=q^use PDL;use PDLKGraphicsKTriD;H _{map ord()-80,&_K(Q)}H _K{split/ +/, Q}H K{Q->xchg(0,1)}$}=pdl(__(8665))*ones(28,3);H __{&_K(join(0,map(1x$ +_, &_K)))}$_=pdl ITPRRRPJZPRVJSSRTPTRPNLXMVM)],I'VNNPRZMDVMVJJP\PNNNPJ\JP +VD ')],[0];for $p(1..27){O)+=O-1)}line3d(K($_),K($}))^;for $r(qw.sub [_( +J :: L PP N $_->slice($p P shift.){$l=chr(72+$c++);s/$l/$r/g}s/\n//g;eva +l;
|
---|