中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

p5.js臨摹動態圖形實現方法詳解

發布時間:2020-09-03 05:01:40 來源:腳本之家 閱讀:384 作者:qq_39430008 欄目:web開發

使用p5.js臨摹一個動態圖形并作出拓展,供大家參考,具體內容如下

原圖形

p5.js臨摹動態圖形實現方法詳解

由內向外,白色圓的半徑依次增大,黑色圓的半徑不變;
白色圓在上一個白色圓碰到之前就開始增大半徑;
圖中只能存在一個周期的變化;

臨摹圖形

使用P5.js,依照上文的規律進行臨摹

畫12對圓;
相鄰圓之間半徑差為25;
白色圓半徑以周期為60幀的正弦函數的正數值部分變化,變化幅度為22;
相鄰白色圓運動函數相位差為13幀;

代碼如下:

function setup() {
 createCanvas(400, 400);
 frameRate(30)//圖形設為30幀
}

function draw() {
 background(0);
 
 
 for(i=12;i>0;i--)//一共12對圓
 {
 y=22*sin(PI*frameCount/30-13*(i-1));//相鄰白色圓運動函數相位差為13幀
 if(y>=0)
 {
  a=y;
 }
 else
 {
  a=0;
 }
 fill(255);
 ellipse(200,200,a+50*i);//白色圓
 fill(0);
 ellipse(200,200,25+50*(i-1));//黑色圓
 }
}

p5.js臨摹動態圖形實現方法詳解

拓展圖形

圖形向外擴散的感覺是因為相鄰的白色圓相位差為13幀,改變相位差可實現改變視覺效果

function setup() {
 createCanvas(400, 400);
 frameRate(30)
}

function draw() {
 background(0);
 
 
 for(i=12;i>0;i--)
 {
 y=22*sin(PI*frameCount/30-12*(i-1));//相位差設為12
 if(y>=0)
 {
  a=y;
 }
 else
 {
  a=0;
 }
 fill(255);
 ellipse(200,200,a+50*i);
 fill(0);
 ellipse(200,200,25+50*(i-1));
 }
}

p5.js臨摹動態圖形實現方法詳解

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

菏泽市| 东海县| 陈巴尔虎旗| 广河县| 通榆县| 渝中区| 纳雍县| 普格县| 长顺县| 临邑县| 河间市| 西吉县| 广西| 岳西县| 尚义县| 奉节县| 拜泉县| 曲靖市| 鸡西市| 仁怀市| 英吉沙县| 靖宇县| 衡南县| 陆河县| 沭阳县| 九江县| 肥西县| 苍山县| 疏勒县| 涪陵区| 临颍县| 绍兴县| 闻喜县| 贺兰县| 黔西县| 应城市| 定远县| 阜康市| 广南县| 准格尔旗| 聂荣县|