js html5混合,HTML5数学之美 - 使用P5.js实现正余弦混合波动

JavaScript

语言:

JaveScriptBabelCoffeeScript

确定

var num = 600,

frms = 60,

z = 15;

var angle = 0,

theta = 0;

function setup() {

createCanvas(windowWidth, windowHeight);

noStroke();

}

function draw() {

background(238);

translate(width / 2, height / 2);

var h = height / 2;

for (var i = 0; i < z; i++) {

f = (i % 2 === 0) ? 238 : 34;

drawThing(h - (h * .95 / z * i), f, i);

}

theta += TWO_PI / frms;

//if (frameCount

}

function drawThing(diam, col, n) {

fill(col);

beginShape();

var d = 0;

for (var i = 0; i < num; i++) {

var offSet = PI / z * n;

var angle = TWO_PI / num * i;

var s = 0.7 + 0.4 * sin(sq(offSet) + theta + angle * 4.0);

d = 0.25 + 0.2 * pow(s, 0.8);

d += 0.08 * pow(0.5 + 0.5 + cos(4 * angle), 1.0);

var x = cos(angle) * d * diam;

var y = sin(angle) * d * diam;

vertex(x, y);

}

endShape(CLOSE);

}

function windowResized() {

resizeCanvas(windowWidth, windowHeight);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值