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);

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