Langlet's Atlas of Natural Shapes
Author Message
Langlet's Atlas of Natural Shapes

NB.
NB. Those of you who read the preceedings of APL93 recall Langlet's
NB. Atlas of Natural Shapes. Well, here is the translation into j 7.0.
NB. For example :
NB.

NB. 255   0
NB. 255 255
NB.   0 255
NB.   0   0
NB. 255   0

NB. 255  93
NB.  49 243
NB. 128   0
NB. 206 243
NB.   0  93
NB. 255  93
NB.
NB. Experiment with plotting combinations such as :
NB.   4 _1 shapes 3 17
NB.   3 _1 shapes 3
NB.

shapes =. 0 : 0
0 0 shapes y.
:

NB. 0 { s is symmetry
NB. 1 { s designates transformation type, helical(_1), none(0), and cognical(1)
NB. 0 { n is the recursive order (though recursion is not explicitly used)
NB. 1 { n is the differential integro number
b =. ,0
d =. 0.5
t =. 2 4 \$ 0 1 0 1 1 1 0 1

i =. >. d * \$ b
b =. i {. b
l =. {. 0 < k =. {. }. s
s =. {. 1&{. s

l =. 0 > k
s =. s + 6 * s = 0

m =. (2 1)&o. o. 2 % s
m =. m , |. 1 _1 * m
i =. s,\$ k =. m =. 2 2 \$ m
i =. 0
t =. k
m =. ,: m
sm1=. s - 1
l0)
m =. m , (t =. t +/ .* k)
sm1 =. <: sm1
\$.=. >(sm1 >0){l1 ; l0
l1)
b =. {. ~:/\ ^: (1&{. 1&}. n) b
k =. s * \$ b
k =. k * >: i =. ~:/ k \$ b
k =. |. 2 , <. k + d
m =. k \$ ; 0&{"1 m
i =. >: 2&{. <. s * d
t =. s | <: _1&|. +/\((0&{k)\$b){i
t =. t { m
t =. +/\ t
k =. \$ t =. <. d + t * i =. 255  NB. use any factor
t =. ; t - k \$ <./ t
k =. i % >./ t
t =. <. d + t * k
t =. t, 2 {. t
)

cog =. 0 : 0
n =. q =. {. \$ b =. y.
f =. g =. ~:/\ q {. 1
l0)
f =. f, g=. ~:/\ g
n =. <: n
\$.=.>(n>1){l1;l0
l1)
g =. (q,q) \$ f
r =. g ~:/ . *. |. b
)

hel =. 0 : 0
n =. q =. {. \$ b =. y.
f =. g =. ~:/\ q {. 1
l0)
f =. f, g=. ~:/\ g
n =. <: n
\$.=.>(n>1){l1;l0
l1)
g =. (q,q) \$ f
r =. |."1 g ~:/ . *. b
)

Sat, 01 Feb 1997 13:15:12 GMT

 Page 1 of 1 [ 1 post ]

Relevant Pages