iT邦幫忙

2022 iThome 鐵人賽

DAY 16
0
Modern Web

P5.js 學習之路系列 第 16

Day16 - p5.js線段的操作與不規則形狀

  • 分享至 

  • xImage
  •  

這篇要跟大家介紹製作不規則形狀,其實這篇應該跟在幾何後面的,同樣都是圖形的繪製,只是幾何圖性算是有規則的圖案,而不規則形狀可以說是你想到的都有,800邊形,要圓角要銳角,怎樣的形狀都可以,只要你願意打code

使用函數

使用到的函數其實很簡單,下列簡單介紹一下常見函數

  • beginShape()
    告訴p5我們要開始繪製圖形,可以指定很多模式,例如只有點點、不相連的線段等等
  • vertex()
    形狀的點,去指定我們要的形狀的外框點
  • curveVertex()
    與vertex類似,但是是變成以曲線的方式呈現
  • endShape()
    結束繪圖的參數

少見但會用到的

  • bezierVertex()
    貝茲曲線,就像photoshop會用到的那樣,使用前要給予一個vertex()
    定位,後續需要三個座標給程式讀取,線條會以曲線朝著第一第二第三個座標的位置前進,最終程式會畫出像弓一樣的弧形

  • quadraticVertex()
    與貝茲曲線類似,但是可以指定兩次貝塞爾曲線的坐標,可以設定控制點與錨點,也可以使用多個quadraticVertex()讓線條連接起來變成曲線很漂亮的線段喔

  • beginContour()和 endContour()
    兩兩成對出現,會在圖形裝置造出負形狀,簡單來說就是挖空形狀內部的意思,挖空的範圍也要自己用座標畫出來喔

程式結構

程式結構更簡單,這樣隨意亂畫就完成一個矩形了~~~

function setup() {

	createCanvas(windowWidth, windowHeight);
  noLoop()
	background(240);

}



function draw() {
	fill(200,204,100)

	beginShape();
	vertex(30, 20);
	vertex(85, 20);
	vertex(85, 75);
	vertex(30, 75);
	endShape(CLOSE);
	
}

小結

決定之後加開一場計算角度常常用到的座標函數家族QQ,畫線段真的好用QQ


上一篇
Day15 - 建立多個畫布
下一篇
Day17 - 進階色彩設定 blendMode()
系列文
P5.js 學習之路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言