2016-02-20 35 views
0

代碼工作,不尋找代碼的幫助,但我正在尋找一些任意多邊形的幫助。它可以是任何形狀,我一直在玩耍,但似乎無法得到星形。我問,如果有人有一個很酷的形狀與x,y座標,所以我可以爲我的家庭作業得到一個很好看的形狀。如果你想看到這個代碼,我可以但它是一個學術任務。因此,程序在形狀中繪製一個具有對應點的形狀,並將n值給出的線條發送到形狀的邊界,而不會越過邊界。非常感謝您的幫助!(x,y)g.drawPolygon(p)的座標。

public void drawRangeMap(Graphics g) 
{ 
    //Draw map of room 
    //int x[] = polygonX; 
    //int y[] = polygonY; 
    int [] px = {150,169,256,196,300,196,256,169,150,131,44,104,0,104,44,150,150}; 
    int [] py = {0,103,44,131,150,169,256,196,300,196,256,169,150,131,44,103,150}; 
    p = new Polygon(px, py, 14); 
    g.drawPolygon(p); 

回答

0

使用一些圖形或CAD程序繪製形狀,然後檢查角點的座標。大多數圖形軟件至少允許您顯示鼠標光標座標。

您還可以通過計算兩個同心圓上的點,以數學方式生成星形。交替從兩個圓圈中的一箇中取點。使用Math.sin和Math.cos進行計算。