I just thought you had invented the problem to create the nice image. It was interesting to see what you were actually got the problem.
Linda -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Raul Miller Sent: Tuesday, June 03, 2014 11:35 AM To: Programming forum Subject: Re: [Jprogramming] Turtle graphics, Gaussian integers and Mechanical action... It's certainly possible to use numbers (or bits) instead of literals for the underlying fractal. I used characters because of the task specification: That fractal task explicitly depended on http://rosettacode.org/wiki/Fibonacci_word so it made sense to me to use a common implementation. But with current versions of J, I prefer to avoid recursion. I know that recursion is a popular subject, but I think that recursive implementations can get in the way of proper understanding. (Sometimes they are the right choice, but sometimes they are just a mistake.) Thanks, -- Raul On Tue, Jun 3, 2014 at 6:57 AM, Linda Alvord <[email protected]> wrote: > Raul, Both F_Words and f deal with characters. However when you get to > plot you need numbers. > > '0'=_1{::F_Words 8 > 1 0 1 1 0 1 0 1 1 0 1 1 0 1 0 1 1 0 1 0 1 > '0'=_1{::f 8 > 1 0 1 1 0 1 0 1 1 0 1 1 0 1 0 1 1 0 1 0 1 > > Would it be possible to write a recursive function that would get your list > directly as numbers. > > 'A B'=:1 `0 > ]A > 1 > ]B > 0 > ]A=:B,A > 0 1 > ]B=:A,B > 0 1 0 > ]A=:B,A > 0 1 0 0 1 > ]B=:A,B > 0 1 0 0 1 0 1 0 > ]A=:B,A > 0 1 0 0 1 0 1 0 0 1 0 0 1 > ]B=:A,B > 0 1 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 1 0 1 0 > > > (-.0 1 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 1 0 1 0)-:'0'=_1{::f 8 > 1 > > I'm not yet very good at doing that yet. > > Linda > > > > -----Original Message----- > From: [email protected] > [mailto:[email protected]] On Behalf Of Linda > Alvord > Sent: Thursday, May 29, 2014 11:45 PM > To: [email protected] > Subject: Re: [Jprogramming] Turtle graphics, Gaussian integers and > Mechanical action... > > I learned a lot untangling F_Words. > > require 'plot' > > F_Words=:(, <@;@:{~&_1 _2)@]^:(2 -~ [)&('1';'0') > > NB.plot }:+/\ 0,*/\(^~ 0j_1 0j1 $~ #)'0'=_1{::F_Words 20 > > F_Words 5 > --T-T--T---T-----┐ > │1│0│01│010│01001│ > L-+-+--+---+------ > > > A=:_1 _2 > > B=:('1';'0') > > f=: 13 :'(y([:(,_1 _2 (([:([:<;){)~)~] )])^:(2-~[) (''1'';''0''))' > > f 5 > --T-T--T---T-----┐ > │1│0│01│010│01001│ > L-+-+--+---+------ > > F_Words > (, <@;@:{~&_1 _2)@]^:(2 -~ [)&('1';'0') > > 5!:4 <'F_Words' > -- , > │ -- < > ------+ -- @ -+- ; > │ │ -- ~ ----- @: -+- { > -- @ -+ L- & -+- _1 _2 > │ L- ] > -- ^: ----+ > │ │ -- 2 > -- & -+ L-----+- ~ --- - > │ L- [ > L- '1';'0' > > f > ('1';'0') ([: (, (_1 _2 ([: ([: < ;) {)~~ ])) ])^:(2 -~ [)~ ] > > 5!:4 <'f' > -- '1';'0' > │ -- [: > │ │ -- , > │ │ │ -- _1 _2 > │ +-----+ │ -- [: > │ │ │ │ │ -- [: > │ --+ L---+- ~ ----- ~ ---+----+- < > │ │ │ │ │ L- ; > --+ │ │ │ L- { > │ │ │ L- ] > +- ~ ------- ^: -+ L- ] > │ │ > │ │ -- 2 > │ L-+- ~ --- - > │ L- [ > L- ] > > plot }:+/\ 0,*/\(^~ 0j_1 0j1 $~ #)'0'=_1{:: f 20 > > > Linda > > -----Original Message----- > From: [email protected] > [mailto:[email protected]] On Behalf Of Raul Miller > Sent: Sunday, May 18, 2014 2:07 PM > To: Programming forum > Subject: [Jprogramming] Turtle graphics, Gaussian integers and Mechanical > action... > > I added a rosettacode entry, yesterday, which was inspired by Brian > Schott's turtle graphics work: > http://rosettacode.org/wiki/Fibonacci_word/fractal#J > > Repeating the code here: > > F_Words=: (,<@;@:{~&_1 _2)@]^:(2-~[)&('1';'0') > require 'plot' > plot }:+/\ 0,*/\(^~ 0j_1 0j1 $~ #)'0'=_1{::F_Words 20 > > This uses complex number arithmetic to achieve a sort of simplified "turtle > graphics" system - basically just drawing a parametric curve constructed of > unit length line segments with a heading which is a unit-length complex > integer. > > And then today, I saw this: > > http://507movements.com > > This is a book from 1868, that someone must have taken years to write, > originally. And, now Matt Keveney is working through it, translating the > original woodcut images to code driving html5 canvas rendered animations. > (This also looks like it took significant time to write, though the code > looks like it might have been obfuscated and I do not know what tools and > source material he used to build it out.) > > This is obviously considerably more complex than my little bit of code > (which Cliff Reiter probably has already written and discarded several > times and maybe even forgotten about), but perhaps this sort of thing can > inspire someone else's work? > > (But it's a lot simpler than what people building airplanes deal with. I > think...) > > Thanks, > > -- > Raul > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
