函式translat + pushMatrix + popMatrix +arc用法

回覆文章
cajhbb
系統管理員
文章: 914
註冊時間: 2018年 6月 30日, 02:16

函式translat + pushMatrix + popMatrix +arc用法

文章 cajhbb »

函式translat + pushMatrix + popMatrix用法
2023-04-13_133442.png
2023-04-13_133442.png (1.22 KiB) 已瀏覽 1510 次
pushMatrix() 函式時,processing 會把當前的繪圖狀態壓入堆疊中。接著你可以做一些繪圖的操作,例如變換畫布的位置或旋轉畫布的方向等等,而這些操作不會影響到之前壓入堆疊的狀態。
當你想要恢復到之前保存的繪圖狀態時,可以呼叫 popMatrix() 函式。這個函式會將最後壓入堆疊的繪圖狀態彈出,並將當前的繪圖狀態設定為這個狀態。
----------------------------------------------------------------------
函式 translate() 是一種用來改變畫布位置的函式。它可以將畫布沿著 X 軸和 Y 軸方向移動一定的距離,讓你可以在畫布上繪製出不同位置的圖形。

代碼: 選擇全部

void setup() {
  size(400, 400);
}

void draw() {
  background(255);
  fill(0, 255, 0);//綠色
  rect(50, 50, 100, 100);//(x,y,寛,高)

 pushMatrix(); // 將當前的繪圖狀態壓入堆疊中
 translate(150, 150);//移動桌布位置
 fill(255, 0, 0);//紅色
 rect(0, 0, 100, 100);//(x,y,寛,高)
 popMatrix(); // 將最後壓入堆疊的繪圖狀態彈出,並設定當前的狀態為這個狀態
}

cajhbb
系統管理員
文章: 914
註冊時間: 2018年 6月 30日, 02:16

arc 畫弧形

文章 cajhbb »

arc() 函式是 Processing 程式中的一個圖形函式,用於畫弧形。
以下是 arc() 函式的語法

代碼: 選擇全部

arc(x, y, w, h, start, stop, mode);
其中,x 和 y 是弧形的中心座標,w 和 h 是弧形的寬度和高度,start 和 stop 是弧形的起始角度和結束角度,mode 是弧形的繪製模式。
2023-04-13_141034.png
2023-04-13_141034.png (7.62 KiB) 已瀏覽 1503 次

代碼: 選擇全部

void setup() {
  size(400, 400);
}

void draw() {
  background(255);
  stroke(0);
  strokeWeight(4);
  noFill();
  arc(200, 200, 300, 300, radians(45), radians(270), OPEN);
}

在這個範例中,我們使用 arc() 函式畫了一個弧形。弧形的中心座標是 (200, 200),寬度和高度都是 300 像素。弧形的起始角度是 45 度,結束角度是 270 度。我們還使用 stroke() 函式設定了弧形的邊框顏色為黑色,使用 strokeWeight() 函式設定了弧形的邊框寬度為 4 像素,使用 noFill() 函式將弧形的填充顏色設為透明。

在 arc() 函式中,第七個參數 mode 是弧形的繪製模式,可以是 OPEN、CHORD 或 PIE。預設值為 PIE,表示畫一個封閉的弧形。如果你將 mode 設為 CHORD,則畫一個封閉的扇形;如果你將 mode 設為 OPEN,則畫一個開放的弧形。

需要注意的是,arc() 函式的角度單位是弧度,而非角度。如果你需要在 arc() 函式中使用角度,需要先將角度轉換為弧度。可以使用 radians() 函式將角度轉換為弧度。
回覆文章