摘要
像 素
千里之行,始於足下。
—老子本章主要內容:
明確畫素和座標的概念
繪製基本圖形:點、線、矩形、橢圓
顏色:灰度、rgb
顏色:alpha透明度
請注意,你在本章並不會真正開始程式設計!你只是使用基於文字的指令在螢幕上創造圖形,請盡情享受這個過程帶給你的愉悅。事實上,這些文字指令就是「**」!
1.1 座標紙
本書會教授你如何通過計算媒介進行程式設計,我們以processing開發環境(http://www. processing.org)為基礎進行討論和舉例。在一切開始之前,你要像八年級的學生一樣,拿出座標紙,在上面畫一條線。兩點之間距離最短的是經典的直線,我們的學習就從這兩點一線開始。
圖1-1展示了點a(1,0)和點b(4,5)之間的一條線段。如果你想指導乙個朋友繪製同樣的線段,你會跟他說:「請繪製一條始於點(1,0),止於點(4,5)的線段。」此刻,想象你的朋友是一台計算機,你想指導這個數碼傢伙在它的螢幕上繪製出同樣的線。其實上述指令同樣適用於計算機(只是此時你可以忽略掉朋友之間的客套寒暄,而需要留意的是精確的指令格式)。這條指令如下所示:
祝賀你,你已經寫完了第一行計算機**!稍後,我會告訴你關於這行**的具體格式要求。現在,我們為電腦提供了一條指令(我稱之為函式(function)),並且命名為直線(line)讓它來執行。此外,我們還宣告了繪製從點a(1,0)到點b(4,5)直線的實參(argument)。如果把這條線的**比作句子,那麼函式就是謂語動詞,實參則是句子的賓語。只是**以分號而不是句號結尾,如圖1-2所示。
這裡,關鍵是要注意計算機螢幕不過是一張精緻的座標紙。螢幕中的每個畫素都具有乙個座標,即兩個數值:x座標(橫座標)和y座標(縱座標)。這樣就決定了乙個點在平面中的位置。你的任務就是在這些畫素座標上指定圖形的形狀和顏色。
座標紙和電腦視窗的座標系都採用笛卡兒座標系統(cartesian coordinate system),並且將原點(0,0)置於座標系**。不同的是:座標紙的y軸正半軸朝上,x軸的正半軸朝右(y軸負半軸和x軸負半軸分別朝下和朝左);而在電腦視窗的座標系統中,y軸方向是相反的。原點(0,0)在螢幕的左上方,原點右側是x軸正半軸,原點下側是y軸正半軸,如圖1-3所示。
圖 1-3
練習1-1:通過觀察繪製一條直線的過程—line(1,0,4,5),猜想應該如何繪製矩形、圓和三角形?首先用文字寫出如何繪製,然後嘗試用**寫出。
漢語:
**:
漢語:
**:
漢語:
**:
待會回來看一下你猜想的**和processing實際的**是否一致。
Processing程式設計學習指南1 4 RGB顏色
1.4 rgb顏色 前面幾節的內容幫助你學習了畫素座標 圖形尺寸等基礎知識。現在是時候學習數字色彩的基礎知識了。回想一下童年,還記得手指畫嗎?通過混合最基礎的三種原色,我們可以得到任何顏色。如果將所有顏色混合在一起,會導致渾濁的棕色。而且你混合的顏料越多,就變得越暗。數字色彩 digital col...
劍指offer程式設計
二維陣列中的查詢 題目描述 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,...
劍指程式設計(6)
一 輸入乙個複雜鍊錶 每個節點中有節點值,以及兩個指標,乙個指向下乙個節點,另乙個特殊指標指向任意乙個節點 返回結果為複製後複雜鍊錶的head。注意,輸出結果中請不要返回引數中的節點引用,否則判題程式會直接返回空 class randomlistnode public class solution ...