p5实现一个粒子旋涡旋转动画效果代码

代码语言:html

所属分类:粒子

代码描述:p5实现一个粒子旋涡旋转动画效果代码

代码标签: p5 粒子 旋涡 动画

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en">

<head>

    <meta charset="UTF-8">



    <style>
        body {
          background: linear-gradient(to bottom, #ccc, #999);
          height: 100vh;
        }
        
        .canvas {
          border-radius: 4px;
          box-shadow: 0 16px 20px -8px rgba(0, 0, 0, 0.9);
          height: 500px;
          left: 50%;
          position: absolute;
          top: 50%;
          transform: translateX(-50%) translateY(-50%);
          width: 500px;
        }
        
        .info {
          bottom: 0;
          background: rgba(0, 0, 0, 0.65);
          border-top-right-radius: 4px;
          color: white;
          font-family: monospace;
          font-size: 16px;
          font-style: italic;
          left: 0;
          padding: 4px 8px;
          position: fixed;
        }
    </style>



</head>

<body>
    <p class="info">sketch::vortex
        </p>

            <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/p5.1.4.0.js"></script>
            <script>
                const canvasSize = 500
    const center = .5 * canvasSize
    const particleCount = 1000
    const hueBase = 10
    const hueRange = 40
    const fadeInOut = (t, m) => {
      let hm = 0.5 * m
      return abs((t + hm) % m - hm) / hm
    }
    const angle = (x1, y1, x2, y2) => atan2(y2 - y1, x2 - x1)
    
    let buffer
    let particles
    let dOffset
    let dOffset2
    
    class AttributeArray {
      constructor(count, attrs) {
        this.count = count
        this.attrs = attrs
        this.spread = attrs.length
        this.values = new Float32Array(count * this.spread)
      }
    
      get length() {
        ret.........完整代码请登录后点击上方下载按钮下载查看

网友评论0