這是互動**第一次作業,要求手繪一幅靜態畫,然後再用**將靜態畫實現。將兩幅用不同形式畫出來的畫進行對比,得出一定結論。
這裡我手繪作品所用工具:數字板,碼繪使用p5.js
手繪準備
每乙個美術生,上課的第一件事不是讓你練排線,而是讓你去觀察臨摹本的線條為什麼要這麼排,這個物體的結構為什麼要這麼畫,這幅畫面的透視,這些畫的明暗交界線在哪……就拿一幅結構素描舉例——
試想一下,假如我們要畫的就是這樣一幅畫,我們應該從什麼地方入手?
如果是我的話,我會先把這些物體的大概範圍,位置確定好,比如:罐子中線以上,右中大蘋果,後面藏著西紅柿,左前高腳杯,最下大梨子……
接下來是透視,明顯俯視角度,所以越在下面的物體,透視越大。在結構素描中具體表現為切面從下到上變形程度遞增。
再接下來就是明暗交界線劃分以及排線(這兩部分跟本文沒啥太多聯絡就不細說了)
以上是手繪的觀察,那麼**跟它比起來,需要準備些什麼呢?
碼繪準備
首先你得有一張畫布。
其次你需要確定你畫的畫中心點在**(這一點可以和手繪的位置確定對應起來)
然後是根據客觀的物理存在抽象出一定的數學邏輯。比如說之前提到的透視,物理邏輯是——小俯視,越往上透視越大。那麼在數學邏輯裡,你可以抽象成一條線段和乙個位移變數y,y越小(在p5中畫布中y值從上到下遞增)線段越短……當然你也可以抽象成圓的半徑,旋轉角度等等。總之,你需要根據現實的物理世界建立乙個**的邏輯世界。
最後才是動手寫**……
手繪說到傳統畫畫,其實就是點線面的組合。
還是回到上面的結構素描,你可以發現,這一幅畫幾乎就是用線條構成的!什麼罐子結構線是弧,瞎扯,其實都是線段連線而成的!手繪到這裡就沒話說了,排線吧,順著紋理來,排到最後畫也就出來了。
碼繪碼繪選擇的基本元素其實挺多,點線基本幾何體都可以成為你的基本元素,你需要做的就是根據規則把這些基本元素正確排放……
當時p5還不是很熟練,只是大概清楚了一些基本的點線基本圖形,所以根據實際情況,我選擇了只有黑白灰變化的素描……話不多說,先放一張自己板繪的一張眼睛——
是我高估了自己對貝塞爾曲線的掌握程度,每次畫出來的曲線都要調整很久才能勉強達到自己對這幅畫的需求。
下面附上沒有技術含量的完整**……
function setup()
function draw()
function createmeis(x,y)
function createmei1(x,y)
function createmei2(x,y)
function createmei3(x,y)
function createmei4(x,y)
function createeye()
**沒有啥技術含量,值得一提的是畫眉毛的時候用了乙個自己寫的函式:
function createmei1(x,y)
現在看看當時自己寫**的方式真的很愚鈍,可以說是為了畫而去湊**,湊座標。其實可以根據實際情況確定乙個中心點,再由這個中心點進行擴充套件,這樣會比較方便靈活。 一次失敗的嘗試 Ubuntu 故障修復
今天在用vmware的ubuntu虛擬機器的時候,發現ssh連不上,圖形介面輸入密碼後也進不去。出現如下報錯 removed slice user slice of 然後我在開機過程中按shift鍵,選擇recovery mode。進入後報錯 failed failed to start recov...
一次軟工嘗試
轉眼間一學期的軟體工程的課程就結束了,我覺得經過這乙個學期軟工的學習,從最初的個人的程式設計規範到測試,到團隊的協作去共同完成乙個稍大一點的專案,以及周二的需求分析的課程,我覺得在軟工課上學到的有兩個方面,乙個是如何對自己頭腦中的模糊的目標進行一步步逐漸加強的設計,到自己對這個目標或者專案的各個環節...
第一次嘗試
python是資料結構筆記一 引入 以一道題來展示 如果a b c 1000,且a 2 b 2 c 2 a,b,c為自然數 求a,b,c可能的組合 解析 列舉法 思路 a 0.b 0.c 先讓其中的乙個數a去不變,b變化,當b確定乙個數的時候c去變化 也就是利用迴圈巢狀的方式 乙個個的試,那麼就有多...