簡體   English   中英

Java-填充重疊的多邊形

[英]Java - filling an overlapping polygon

我正在嘗試在AWT中繪制5點星。 2d網格中的每個點相隔72度-因此,我認為可以通過將點之間相距144度進行排序而僅使用5個點來繪制多邊形,因此多邊形以1,3,5,2,4的順序饋入點

不幸的是,這涉及許多相交的線,最終結果是有5個三角形具有我想要的顏色,並圍繞一個未着色的五邊形。

縱觀它,它與奇數規則有關,即不會填充相交的點。

我需要動態繪制恆星,並使用所描述的特定形狀(用於縮放等)。 如果我手動繪制相交的點,我的恆星形狀會出現一些人為錯誤。

有沒有辦法關閉此功能,否則,是否有辦法使多邊形返回直線相交的x []和y []數組,因此我可以在其中繪制另一個?

謝謝。

用兩個交替半徑的十個點(相隔36度)繪制它。

按照relet的建議並如本示例所示,在笛卡爾坐標中建立10點Polygon 請注意,坐標系統如何以原點為中心,以便於旋轉,縮放和平移。 由於Polygon實現了Shape接口,因此可以應用AffineTransformcreateTransformedShape()方法。 這里可以找到更高級的形狀庫。

有沒有辦法讓多邊形返回線相交的x[]y[]數組?

盡管通常不需要,但是您可以使用Shape's PathIterator檢查組件坐標。 我發現在調用createTransformedShape()之前和之后檢查坐標createTransformedShape()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM