陳新龍
圣誕節(jié)源自古羅馬人迎接新年的農(nóng)神節(jié),原本是宗教節(jié)日。19世紀后由于圣誕卡的流行、圣誕老人的出現(xiàn),使圣誕節(jié)開始漸漸流行起來。圣誕慶祝習(xí)俗在北歐流行后,結(jié)合著北半球冬季的圣誕裝飾也出現(xiàn)了。發(fā)展至19世紀中葉,整個歐洲、美洲開始過起了圣誕節(jié),并衍生出了相應(yīng)的圣誕文化。
今天我們通過Scratch繪制一棵圣誕樹和大家一起歡度圣誕。
首先我們需要了解“分形理論”,它是現(xiàn)代數(shù)學(xué)的一個分支,其本質(zhì)是一種新的世界觀和方法論。分形理論起源于一個問題“一個國家海岸線有多長?”海岸線作為不規(guī)則的曲線,計算其真實長度的難度非常大。但是在對比航拍圖片時,發(fā)現(xiàn)海岸線的局部形態(tài)和整體形態(tài)是自相似的。自相似便是分形理論的基點,部分形體與整體形體之間的自相似定義為分形。分形作為一種方法,在圖形學(xué)領(lǐng)域主要是利用遞歸、迭代等技術(shù)來實現(xiàn)某一部分的分形構(gòu)造。在今天的圣誕樹實驗中,我們會用到分形的繪制方法。
樹的組成大致分成四個部分,從下往上分別是樹根、樹干、樹枝、樹葉。樹根是對樹木起到支撐作用,利用畫筆工具我們首先確定好落筆的位置以及畫筆的粗細長度,并且設(shè)置一個自制積木用來繪制我們的圣誕樹(自制積木時添加一個輸入選項用來控制長度)。先嘗試把樹干部分繪制出來,首先面向0度方向移動50步,然后向左旋轉(zhuǎn)120度,面向左下角移動10步,然后朝著反方向移動10步,目前的方向依舊是左下角,我們需要向右旋轉(zhuǎn)240度將方向調(diào)整到右下角,面向著右下角移動10步,然后朝著反方向移動10步回到初始點位置,依照這個順序通過遞歸迭代的方法完成樹干的繪制(圖1)。
完成基本的框架后我們需要給圣誕樹加上屬于它自己的枝干,這里就用到分形的思想。我們在每個分叉路口都需要繪制出分支。通過遞歸迭代的方法(修改紅色方框內(nèi)的代碼內(nèi)容)讓圣誕樹左右兩邊的分支自行繪制生長,確定一個繪制的范圍(當(dāng)長度大于10的時候,樹枝部分依次遞減,直至長度小于10)。繪制完成后不要忘記讓方向回到最初的位置繼續(xù)進行迭代繪制(圖2)。
除了繪制圣誕樹之外我們還可以加以裝飾,添加上好看的漸變背景顏色,在圣誕樹上添加上圣誕禮物:平安果和鈴鐺,通過簡單的代碼讓這些裝飾品左右搖晃運動起來。別忘記加上一首《鈴兒響叮當(dāng)》渲染出圣誕節(jié)的氛圍感。小陳老師也祝大家圣誕節(jié)快樂,希望大家都能收到心儀的圣誕禮物。