Maybe I oversimplified, but I found the nodes with infinite area by
appending the top, right, bottom, and left edges of the tightly bounded
grid, and nubbing the result:
rot =. [: |. |:
edges =. 3 : 0
top =. 0 { y
right =. 0 { rot^:1 y
bottom =. 0 { rot^:2 y
left =. 0 { rot^:3 y
~. top , right , bottom , left
)
My intuition was that, because of how Manhattan distance works, every node
that extends to the edge of my tightly bound rectangle will have at least
one infinite line of closest points either to the North, East, South, or
West of it.
It worked for my input, but it's a very hand-wavy solution.
On Mon, Dec 10, 2018 at 3:25 PM Brian Schott <[email protected]> wrote:
> Yes, we all get different data.
>
> On Mon, Dec 10, 2018 at 5:21 PM 'Mike Day' via Programming <
> [email protected]> wrote:
>
> > Don’t we all get different data sets? My day 6 data is also 50 by 2, but
> > starts
> > 195, 221
> > 132, 132
> > 333, 192
> > 75, 354
> > and ends
> > 258, 305
> > 241, 157
> > 117, 162
> > 96, 301
> >
> > Mike
> >
> > Please reply to [email protected].
> > Sent from my iPad
> >
> > > On 10 Dec 2018, at 19:42, Brian Schott <[email protected]> wrote:
> > >
> > > Jimmy,
> > >
> > > I tried to perform your steps on the day 6 part a sample data, but must
> > be
> > > doing something wrong because I get 23 vectors in the final step, which
> > > means that 23 areas can be eliminated, but according to my other
> > analysis,
> > > that eliminates too many (infinite) areas. According to my work, the
> 10th
> > > area of 3890 was largest corresponding to 149,172 .
> > >
> > > _50]\5!:5 <'data6a'
> > > 50 2$81 157 209 355 111 78 179 211 224 268 93 268
> > > 237 120 345 203 72 189 298 265 190 67 319 233 328
> > > 40 323 292 125 187 343 186 46 331 106 350 247 332
> > > 349 145 217 329 48 177 105 170 257 166 225 113 44
> > > 98 358 92 251 209 206 215 115 283 206 195 144 157
> > > 246 302 306 157 185 353 117 344 251 155 160 48 119
> > > 131 343 349 223 291 256 89 133 96 240 271 322 73
> > > 324 56 149 272 161 107 172 171 301 291
> > > coordinates=. (4 $. $.)@:$&1
> > > notborder =. ,/(<({.each@{.}.each i.each@{:)@(<./,:>./) data6a){
> > > ($coordinates) 359 359
> > > border =. notborder -.~ coordinates 359 359
> > > $distance =: +/"1|data6a-"1"1 2 border
> > > 50 29971
> > > $min=:(<./distance) ="1 distance
> > > 50 29971
> > > $I. +./"1 (1=+/min)#"1 min
> > > 23
> > > I. +./"1 (1=+/min)#"1 min
> > > 1 2 5 7 9 10 11 12 13 15 16 17 18 19 21 25 26 34 35 37 39 41 45
> > >
> > >
> > >> On Sun, Dec 9, 2018 at 7:59 PM Jimmy Gauvin <[email protected]>
> > wrote:
> > >>
> > >> Hi,
> > >>
> > >> The method I used to determine the infinite vertices is very close to
> > >> David's approach.
> > >> The main difference is to drop the border points that are equidistant
> > to 2
> > >> or more input points.
> > >>
> > >> - calculate the coordinates of all border points (all points just
> > >> outside the minimum and maximum of input coordinates)
> > >>
> > >> - calculate the distance between all border points and input
> coordinates
> > >> input and border are n by 2 matrices
> > >> distance =: +/"1|input-"1"1 2 border
> > >>
> > >> - tag the input points that are a minimum distance to each border
> > >> coordinate
> > >> min=:(<./distance) ="1 distance
> > >>
> > >> - keep border points that correspond to only one input point
> > >> min=: (1=+/min)#"1 min
> > >>
> > >> - list infinite vertices
> > >> I. +./"1 min
> > >> ----------------------------------------------------------------------
> > >> For information about J forums see
> http://www.jsoftware.com/forums.htm
> > >
> > >
> > >
> > > --
> > > (B=) <-----my sig
> > > Brian Schott
> > > ----------------------------------------------------------------------
> > > For information about J forums see http://www.jsoftware.com/forums.htm
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
>
>
>
> --
> (B=) <-----my sig
> Brian Schott
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm