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