ここでC#で説明されているBentley-Ottmannアルゴリズムを実装しようとしています。特に、スイープラインステータス構造のSegmentクラスにIComparable<T>を実装する際に問題が発生します。セグメントクラスは次のとおりです。
public class SweepLineSegment : IComparable<SweepLineSegment>
{
public int Edge { get; set; }
public PointF LeftmostVertexPoint { get; set; }
public PointF RightmostVertexPoint { get; set; }
public SweepLineSegment Above { get; set; }
public SweepLineSegment Below { get; set;}
public int CompareTo(SweepLineSegment other)
{
?????
}
}
2つのセグメントをスイープラインステータス構造に追加するときに、2つのセグメントをどのように比較すればよいかが明確にわかりません。