Represented the paper as a binary matrix, but didn't use Fold for the
folds. Instead - with the folds along the x and y axis being defined as fx
and fy resp. - the folding sequence is constructed from the axes a and
folds f as one sentence and then executed with ".

   rd=: 3 : 0
d=: ".&> 0&{:: y=. <;._2 ,&a: <;._2 y NB. Dots
a=: ; 2{"1 y=. ;:&> 1&{:: y           NB. Axes to fold along
f=: ".&> {:"1 y                       NB. Fold positions
)
   rd 0 : 0
6,10
0,14
9,10
0,3
10,4
4,11
6,0
6,12
4,1
0,13
10,12
3,4
3,0
8,4
1,10
2,14
8,10
9,0

fold along y=7
fold along x=5
)
7 5
   p=: |: 1 (;/d)} $&0 >: >./d NB. The paper as a binary matrix
   fy=: {. +. |.@({.~ -)~      NB. Fold along y
   fx=: fy&.|:                 NB. Fold along x
   +/, ". (":@{.f),' f', ' p',~  {.a                     NB. (*)
17
   _ * -. ". ' p',~ (, ' '&,)/ |. (":@,.f),. ' f',"1 ,.a NB. (**)
0 0 0 0 0
0 _ _ _ 0
0 _ _ _ 0
0 _ _ _ 0
0 0 0 0 0
_ _ _ _ _
_ _ _ _ _
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to