Dave, I enjoyed your flight so much I never got to day 4! I removed at's and
atop's and then made a series of images. Now can you design the flight lines
that join the successive points to show the flight pattern with dots
connected?

load 'viewmat'
shift=: -"1 <./
grid2=: 0 $~ >:@:(>./)
grid=: 13 :'0$~ 1+>./y'
draw=: ([:i.[:#[)`([:;/[)`]}
flight=: 13 :'viewmat (draw grid) shift y'
flight P 

A=:#:i.4
viewmat i.4
flight A
B=:3 3#:i.9
viewmat i.9
flight B
viewmat i.16
C=:4 4#:i.16
flight C
viewmat i.29
flight A,(4*B),16*C
A;B;C
shift
grid
draw
flight

Linda

-----Original Message-----
From: programming-boun...@forums.jsoftware.com
[mailto:programming-boun...@forums.jsoftware.com] On Behalf Of David Lambert
Sent: Thursday, December 3, 2015 9:40 AM
To: programming
Subject: [Jprogramming] adventofcode day 3

Say P is a rank 2 list of 2D coordinates
    4{.P
  0 0
  0 1
  0 2
_1 2

Let's map the flight.

NB. shift moves origin making minimum coordinates independently 0 NB. use:
shift COORDINATES
shift=: -"1 <./

NB. grid generates an array of zeros large enough for only the positive
coords NB. use: grid COORDS
grid=: 0 $~ >:@:(>./)

NB. COORDS draw GRID  NB. color by number
draw=: (i.@#@[)`(;/@:[)`]}

load'viewmat'
flight =: viewmat @: (draw grid) @: shift

flight P

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to