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