2014-09-05 125 views

回答

2

這產生所有的r*(r-1)*3+1六角螺旋圖案的瓷磚。 該方法的缺點是它假定您將形狀放置在(0,0)處。

public void makeHoneyComb(int radius){ 

    makeCell(ta, 0, 0); 
    for (int r = 0; r > -radius; r--) 
     for (int q = -r - 1; q > -radius - r; q--) 
      makeCell(q, r); 

    for (int r = 1; r < radius; r++) 
     for (int q = 0; q > -radius; q--) 
      makeCell(q, r); 

    for (int q = 1; q < radius; q++) 
     for (int r = -q; r < radius - q; r++) 
      makeCell(q, r); 
    } 

這是基於這樣一個事實,即像這個凸輪的形狀被分成3個相似的Rectagles和中心塊。