2012-06-27

spider-web 白色(藍色?)蜘蛛網 XD

幾天前在遮雨棚下方發現一個直徑約 40 公分的蜘蛛網,好幾次見它殘破不堪,破損原因也可能是捕到獵物所致,隔天它便完好如初,編織者又安穩地盤踞網中央,等待獵物上門。直到泰利颱風來襲 ...

在歷經狂風暴雨的摧殘後,蜘蛛網消失了 ~
我心想 : 編織者也許已遭強風暴雨的蹂躪 ... 屍骨無存了吧 !

颱風過後幾天,我不經意地抬頭望向遮雨棚下方,那張美麗又危險的蜘蛛網又再度出現,還隨著微風的韻律而輕輕搖曳著,編織者的身影依然堅定地鎮守在網中央 ! 不由得讓我想起以前有一篇小故事,鼓勵人們學習蜘蛛織網努力不懈的精神。

我讚嘆這動物的奇妙工藝與異常堅忍的毅力 !
我要向你(蜘蛛)致敬 ^_^
因此,我用程式來繪製蜘蛛網的型態 ^口^

白色 ~ 蜘蛛網

Spider_webActivity.java 的程式碼
public class Spider_webActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(new web(this));
    }
}


web.java 的程式碼
public class web extends View{

    Paint p1;
    int N = 10, ped = 30, begin = 60;
    float x, y, x_next, y_next, angle;
    float r_max = 220;
    float x_center = 160;
    float y_center = 200;
   
    public web(Context context) {
        super(context);
        // TODO Auto-generated constructor stub
        p1 = new Paint();
        p1.setColor(Color.WHITE);
        p1.setStrokeWidth(2);
        p1.setAntiAlias(true);
        p1.setTextSize(24);
    }
   
    public void onDraw(Canvas canvas){
       
        //各頂點連接到圓心
        for (int i = 0; i < N; i++){
            comXY(i, r_max);
            canvas.drawLine(x, y, x_center, y_center, p1);
        }
       
        //將每一層的頂點都連(圍)起來
        for (float j = r_max - begin; j >= 0  ; j -= ped){
            for (int i = 0; i < N; i++){
                comXY((i+1) % N, j);
                x_next = x;
                y_next = y;
                comXY(i, j);
                canvas.drawLine(x, y, x_next, y_next, p1);
            }
        }
    }
   
    public void comXY (int cN, float cR){
        angle = (float) (cN * Math.PI * 2 / N);
        x = (float) (cR * Math.cos(angle) + x_center);
        y = (float) (cR * Math.sin(angle) + y_center);
    }
}

我知道,你沒有看到『藍色蜘蛛網』是不會善罷甘休的 XD
所以囉 ! 我改了參數值,再補上 ~

藍色蜘蛛網 XD

歡迎您繼續閱覽 蜘蛛網 (續集)

4 則留言:

  1. 記得高中上電腦課時有教過
    用程式來劃圖形 編寫音樂
    可是畢業後全還給老師了^^
    現在是有看沒有懂了@@

    回覆刪除
    回覆
    1. 原來你也學過程式設計 ^_^
      久沒碰的話 ~ 會生疏是很正常的
      總之,只要有興趣,不管從事哪方面都能持續下去 ^_^
      我呢 ~ 跟你不同,我沒有東西可以還給老師,因為老師教過的東西 ... 我幾乎完全沒有吸收,我更慘 XD

      刪除
  2. 白色和藍色蜘蛛網其實各有千秋,只不過...多了一位戴著圓框眼鏡,帶點平平又陰森語氣的OS旁白人員^^...可能會略勝一籌喔^_^
    你還真是厲害耶,可以將文章和程式以及圖例並列。給你一個贊喔~~還要自己想像鼓掌的畫面喔^^
    蜘蛛的結網,蠶寶寶的吐絲結繭,都讓人稱奇不已。和萬物比起來,人類的生命力實在很脆弱!

    回覆刪除
    回覆
    1. 哈哈哈 ~ 妳指的是那位 盛x如 主播吧 ~
      經妳這麼一說,如果在文末貼上 盛主播 的肖像 XD,"笑"果一定更好 XDD

      雖然人的生命脆弱,但是人的意志也可以非常堅韌!
      我請 盛主播 來幫我結尾一下 :
      『事情到底會如何演變呢? 讓我們繼續看下去 ~』XD

      刪除

搜尋此網誌