W Karas wrote:
> wade wrote:
> > wade wrote:
> > > pramod wrote:
> > > > Karas: Can you please explain your code?
> > >
> > > I'll try.
> >
> > Sorry, I was explaining Karthik's method which seems to be correct, not
> > Karas's code, which seems to be incorrect.
> >
> > Karas's method is to sort the endpoints in order of increasing angle
> > and then run:
> >
> > for (i = 0; i < (2 * v.size()); i++)
> >       {
> >         if (ep[i].start())
> >           tot -= endNotSeen++;
> >         else
> >           tot += --endNotSeen;
> >       }
> >
> >
> >     return(tot);
>
> Oops, sorry, should be:
>
>     int endNotSeen = 0, tot = 0;
>
>     for (i = 0; i < (2 * v.size()); i++)
>       {
>         if (ep[i].start())
>           endNotSeen++;
>         else
>           {
>             endNotSeen--;
>             tot += endNotSeen;
>           }
>       }
>
>     return(tot);

Sorry, this is also incorrect.

> > Suppose I have three chords.  Their endpoint angles (in degrees) are
> >   A {1,3}
> >   B {2,5}
> >   C {4,6}
> >
> > There are two intersections (AxB and BxC), but with Kara's method, at
> > the bottom of each loop iteration, I see values for {ep[i].theta,
> > ep[i].start, endNotSeen, tot}
> >
> > {1,T,1,0}
> > {2,T,2,-1}
> > {3,F,1,0}
> > {4,T,2,-1}
> > {5,F,1,0}
> > {6,F,0,0}
> > 
> > For a final, incorrect, result of zero intersections.


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algogeeks@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/algogeeks
-~----------~----~----~----~------~----~------~--~---

Reply via email to