p5.js繪制旋轉(zhuǎn)的正方形
使用p5.js繪制旋轉(zhuǎn)的正方形,供大家參考,具體內(nèi)容如下
要還原的效果圖
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
首先建立畫布大小,按照比例應(yīng)該是5:3
function setup() { createCanvas(500, 300); }
設(shè)定矩形繪制格式,以及邊線粗細
function setup() { createCanvas(500, 300); rectMode(100); strokeWeight(4); }
讓我們根據(jù)畫布坐標先把靜態(tài)的圖形畫出來
(關(guān)于顏色的rgb數(shù)據(jù)可以通過ps取色器獲得)
只需要用到rect()進行繪制即可
仔細觀察可以發(fā)現(xiàn),圖中的矩形為圓角矩形,繪制圓角矩形可以直接在rect()里加入四個角的弧度
以左一黑色矩形為例
rect(77.5,122.5, 55, 55, [5], [5], [5], [5]);
[ ]里的則是每個角的圓角弧度,按順序分別是左上,右上,左下,右下
經(jīng)過修改后的圖像
目前基本圖形已經(jīng)構(gòu)建好了,目前我們需要做的就是讓他旋轉(zhuǎn)起來
這里需要用到幾個函數(shù)
translate()
rotate()
我們用translate()將旋轉(zhuǎn)中心設(shè)定為矩形中心,再調(diào)用rotate()讓圖像旋轉(zhuǎn)起來
但是我們會發(fā)現(xiàn)一個問題,經(jīng)過設(shè)定后,啟動程序,我們會發(fā)現(xiàn)整個圖形進行了旋轉(zhuǎn),這并沒有達到我們想要的效果,所以現(xiàn)在需要使用到push()和pop()兩個函數(shù)將矩形分隔開來
push(); angle=angle+0.01; let c=angle+PI; translate(100,150); rotate(c); stroke(255,255,255); fill(0,0,0); rect(-22.5-22.5, 55, 55, [5], [5], [5], [5]); pop();
運行即可讓左邊第一個矩形旋轉(zhuǎn)起來。要介紹的是,angle后所加的數(shù)值(此處為0.01)所代表的含義為旋轉(zhuǎn)速率的大小
如果需要反向旋轉(zhuǎn),將rotate()中的參數(shù)轉(zhuǎn)換為負數(shù)即可
按照第一個矩形將另外三個矩形也更改過來,就可以得到圖中的效果啦!
最后完成的效果↓
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
概述javascript在Google IE中的調(diào)試技巧
本篇文章主要是對javascript在Google IE中的調(diào)試技巧進行了介紹,需要的朋友可以過來參考下2016-11-11javascript 操作cookies及正確使用cookies的屬性
在 JS(JavaScript) 操作cookies比較復(fù)雜,在 ASP 里面我們只需要知道 cookie 的名稱、cookie 的值就行了,而 JS 里面,我們面對的是 cookie 的字符串,你自己編寫這個字符串寫入客戶端,然后自己解析這個字符串。2009-10-10BOM系列第二篇之定時器requestAnimationFrame
這篇文章主要介紹了BOM系列第二篇之定時器requestAnimationFrame 的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-08-08js如何構(gòu)造elementUI樹狀菜單的數(shù)據(jù)結(jié)構(gòu)詳解
由于業(yè)務(wù)需要,要求實現(xiàn)樹形菜單,且菜單數(shù)據(jù)由后臺返回,下面這篇文章主要給大家介紹了關(guān)于js如何構(gòu)造elementUI樹狀菜單的數(shù)據(jù)結(jié)構(gòu)的相關(guān)資料,需要的朋友可以參考下2021-05-05Electron中實現(xiàn)大文件上傳和斷點續(xù)傳功能
Electron是開源的框架,可以使用h5來開發(fā)跨平臺pc桌面應(yīng)用,這樣前端開發(fā)這可以開發(fā)桌面應(yīng)用了。這篇文章主要介紹了Electron中實現(xiàn)大文件上傳和斷點續(xù)傳功能,需要的朋友可以參考下2018-10-10前端實現(xiàn)圖片或視頻預(yù)覽的三種方法總結(jié)
在JavaScript中實現(xiàn)前端圖片上傳即時預(yù)覽功能是一項常見的需求,特別是在網(wǎng)頁交互設(shè)計中,這篇文章主要給大家介紹了關(guān)于前端實現(xiàn)圖片或視頻預(yù)覽的三種方法,需要的朋友可以參考下2024-06-06js實現(xiàn)選項卡內(nèi)容切換以及折疊和展開效果【推薦】
本文主要介紹了js實現(xiàn)選項卡內(nèi)容切換以及文字折疊和展開效果的示例代碼。具有一定的參考價值,下面跟著小編一起來看下吧2017-01-01