2010-10-18 72 views
3

我的C#應用​​程序中有兩個重疊形狀,由Point數組定義。我需要找到定義這兩個重疊形狀的點。在這張圖片中,我知道紅點和綠點,但我需要黃點。查找由另外兩個相交形狀創建的形狀

alt text

下面是一些僞代碼,這可能有助於:

Point[] GetIntersection(Point[] red, Point[] green) 
{ 
    Point[] yellow = ?!?; 

    return yellow; 
} 

當然有辦法,你可以做到這一點假設不錯容易矩形。在實踐中,我需要能夠處理多邊形,甚至可以圈子(儘管我可以沒有圈子生活)。

任何想法?我希望有一個漂亮的GDI +功能,將會吐出來。

回答

5

聽起來像Region::Intersect方法做你想做的。

+0

@Miky - 我嘗試了一個多邊形,它工作正常(你必須從多邊形點陣列創建一個'GraphicsPath')。 – 2010-10-18 19:20:27