美文网首页
[数学之美]利用p5js动态绘制花朵

[数学之美]利用p5js动态绘制花朵

作者: ericdejavu | 来源:发表于2017-12-28 16:48 被阅读0次

create by dejavu



r = 5 (1 + sin(11 u / 5)) - 4 sin4(17 u / 3) sin8(2 cos(3 u) - 28 u)
 . . . where 0 <= u <= 21 pi


x = r cos(u)
y = r sin(u)
  • 利用以上公式可绘制二维平面上,如下的图像



z的公式可以自定义
这里为了美观利用如下式子
z = (r/20+.2)*sin(r*2*PI/7);
  • 将z带入可以得到如下图像


  • p5js 代码

function setup() {
    createCanvas(1024,720,WEBGL);
}

var angle,beta = 0,0;
var rate = 40;
var z_rate=0.01;


function draw() {
    rotateY(angle);
    rotateZ(angle);

    var u = beta*21.0*PI/3000;
    var p4 = sin(17*u/3);
    var p8 = sin(2*cos(3*u)-28*u);
    var r = _rate*(5*(1+sin(11*u/5)) - 4*p4*p4*p4*p4 * p8*p8*p8*p8*p8*p8*p8*p8);

    var x = r*cos(u);
    var y = r*sin(u);
    var z = ((r*z_rate)*20+.2)*sin((r*z_rate)*(2*PI)/7);

    beta += 1;

    beginShape();
    fill(255,0,0);
    torus(0,0,0,0);
    for(var i=0;i<vec.length;i++) {
        vertex(vec[i][0],vec[i][1],vec[i][2]);
    }
    endShape();

}

原理---- 参考 paulbourke

相关文章

  • [数学之美]利用p5js动态绘制花朵

    create by dejavu 利用以上公式可绘制二维平面上,如下的图像 将z带入可以得到如下图像 p5js 代...

  • 安卓绘制动态文字

    前言: 利用安卓画板绘制文字,外部添加点击事件,改变文字属性的值,实现绘制动态文字 概述: 环境:Android ...

  • 数学之美在google中文黑板报的原文

    数学之美 系列一 -- 统计语言模型 数学之美 系列二 -- 谈谈中文分词 数学之美 系列三 -- 隐含马尔可夫模...

  • UE4 等边三角形

    数学之美

  • 164 立方体世界06-弹出动画-动态绘制

    此前已经制作了独立物体的弹出动画,但是场景中还有很多实例对象,无法使用弹出动画。 思路:利用动态绘制,权重绘制 一...

  • OpenCV中利用鼠标事件动态绘制图形

    使用鼠标事件动态绘制 对于使用OpenCV绘制图形和文本,我们已经耳熟能详了。在本文中,我们将利用OpenCV中的...

  • 05信息论

    信息熵——参看《数学之美》 第6章 86 最大熵——参看《数学之美》 第20章202

  • 955649:花儿朵朵

    人喜欢看到花儿朵朵,当看到花朵便会眼放光,心放宽,于是花朵也选择在夏天恣意挥洒,仿佛人之青春,青春之美如花儿之美,...

  • 静态之美

    动态有动态的美,静态也有静态之美。动态的美是活力四射的,静态的美则是沉静文雅的…… 在老家的山坡上...

  • 手把手教你Tableau绘制动态图(九)

    手把手教你 Tableau 绘制动态图 Tableau 也可以用来绘制好看的动态图,比如动态气泡图。 绘制动作电影...

网友评论

      本文标题:[数学之美]利用p5js动态绘制花朵

      本文链接:https://www.haomeiwen.com/subject/lijvgxtx.html