JavaScript

语言:

JaveScriptBabelCoffeeScript

确定

"use strict";

// @see: https://en.wikipedia.org/wiki/Superformula

var canvas = document.querySelector("canvas"),

context = canvas.getContext("2d");

var SCALE = 150;

var VALUES = [];

for (var index = 0; index < 30; index++) {

VALUES.push(Math.random() * 20000 + 100);

}

function superformula(phi, a, b, m, n1, n2, n3) {

return Math.pow(Math.pow(Math.abs(Math.cos(m * phi / 4) / a), n2) + Math.pow(Math.abs(Math.sin(m * phi / 4) / b), n3), -1 / n1);

}

function renderFormula(now, t1, t2, t3, i) {

var s1 = now / t1;

var s2 = now / t2;

var s3 = now / t3;

var a = Math.abs(Math.sin(s1));

var b = Math.abs(Math.sin(s1));

var m = Math.abs(Math.sin(s2) * 50);

var n1 = Math.abs(Math.sin(s3) * 50);

var n2 = Math.abs(Math.sin(s2) * 50);

var n3 = Math.abs(Math.sin(s1) * 50);

context.beginPath();

for (var index = 0; index < 360; index++) {

var radius = superformula(index / 360 * Math.PI * 2, a, b, m, n1, n2, n3);

var x = Math.cos(index / 360 * Math.PI * 2) * radius * SCALE;

var y = Math.sin(index / 360 * Math.PI * 2) * radius * SCALE;

if (index === 0) {

context.moveTo(x, y);

} else {

context.lineTo(x, y);

}

}

context.closePath();

context.globalCompositeOperation = "lighten";

context.shadowColor = "#0cf";

context.shadowBlur = 32;

context.lineWidth = i;

context.strokeStyle = "#fff";

context.stroke();

}

function update() {}

function render(now) {

var s1 = now / 1000;

var s2 = now / 250;

var s3 = now / 500;

var a = Math.abs(Math.sin(s1));

var b = Math.abs(Math.sin(s1));

var m = Math.abs(Math.sin(s2) * 50);

var n1 = Math.abs(Math.sin(s3) * 50);

var n2 = Math.abs(Math.sin(s2) * 50);

var n3 = Math.abs(Math.sin(s1) * 50);

context.clearRect(0, 0, canvas.width, canvas.height);

context.save();

context.translate(canvas.width * 0.5, canvas.height * 0.5);

for (var index = 0; index < VALUES.length; index += 3) {

renderFormula(now, VALUES[index], VALUES[index + 1], VALUES[index + 2], index + 1);

}

context.restore();

}

function frame(now) {

update();

render(now);

window.requestAnimationFrame(frame);

}

function resize() {

canvas.width = window.innerWidth;

canvas.height = window.innerHeight;

}

window.requestAnimationFrame(frame);

window.addEventListener("resize", resize);

window.dispatchEvent(new Event("resize"));

html5 漫画效果,HTML5 卡通动画里面常见的大爆炸动画特效相关推荐

  1. solidworks动画制作教程——装配体爆炸动画

    首先,啥叫爆炸视图呢?百度给了我们明确的定义:爆炸图,就是立体装配图,在日常生活中购买的各种各样的日常生活用品的使用说明书中都有装配示意图,它是图解说明各构件的.可以说这个具有立体感的分解说明图就是个 ...

  2. html5倒计时效果,html5+css3进度条倒计时动画特效代码【推荐】

    html5+css3进度条倒计时动画特效这个作品在今天上网找网络资源的时候无意中发现的,看到效果非常棒并且很实用,就第一时间把它整理出来与大家分享了,主要用到了html5.javascript和css ...

  3. html5 地图效果,html5 echarts图表插件炫光的分布地图动画特效

    特效描述:图表插件 炫光的动画 分布地图动画 动画特效.html5地图动画,html5 echarts图表插件 代码结构 1. 引入JS 2. HTML代码  ECharts $('#documen ...

  4. html5波浪效果,html5 canvas粒子波浪动画特效

    特效描述:html5 canvas 粒子波浪动画特效.html5基于canvas绘制波涛汹涌的粒子波浪动画. 代码结构 1. HTML代码 'use strict'; var FastRandom = ...

  5. html5 雨滴效果,html5 canvas下雨滴掉落动画特效

    特效描述:html5 canvas 雨滴掉落动画 动画特效.html5 canvas绘制下雨场景动画.雨滴动画. 代码结构 1. 引入JS 2. HTML代码 // TO DO // Remove r ...

  6. html5 漫画效果,CSS3和js打造四格漫画风格的LightBox特效

    在这篇文章中我们想制作一个很有意思四格漫画风格的Lightbox特效.以前在报纸上可以看到很多的四格漫画,我们做的这个特效类似于这个风格,一个大方框中包含4格等宽等高的图片,当点击任意图片的时候,该图 ...

  7. html5液体效果,HTML5/CSS3/SVG实现的液体掉落(滑落)动画

    CSS 语言: CSSSCSS 确定 @import url("https://fonts.googleapis.com/css?family=Raleway:300,700,900&quo ...

  8. html5 仪表盘 效果,html5动效系列十四:jQuery仪表盘指示器动画插件 6种仪表样式...

    每一个扁平化界面设计,都是我们的心灵碰撞致力于最棒的 metro ui 设计 今天我们要来分享一组很酷的 HTML代码: JavaScript代码: // Dynamic examples var a ...

  9. html5 抽奖效果,html5+css3实现抽奖活动的效果

    看过我博客的知道,前几天我发过一个通过form表单来实现和用户交互效果,上次是通关过table实现用户注册页面,那么今天我们也是通过table的表单效果来画出抽奖的页面,通过css3和javascri ...

最新文章

  1. 应用Etherchannel扩展企业服务的高可用性
  2. javascript object 转换int_关于javascript 中类型转换那些事你知道吗?
  3. 向左滚动,每次滚动的长度可以设置,然后暂停后继续滚动
  4. Linux CentOS 7 安装 JAVA(jdk-8u181-linux-x64)
  5. DiskGenius 强行拆分黑苹果HFS硬盘分区以给Windows扩容
  6. vb.net SpeechLib 播报语音封装类
  7. Rainmeter天气不能更新、win地图不能检测定位
  8. 生成淘口令发现的一个趣事 c#
  9. 取消word文档中某些页面的页眉
  10. python用keras库做个股票分析小程序
  11. LTspice绘制方波
  12. android gps 方位角,GPS坐标系中的方位角计算
  13. Excel工作表事件(2)- Change事件
  14. 【二】Centos 7.6下载与安装
  15. FL Studio 教程之扫弦简介
  16. [CVPR2021-oral]Learning to Aggregate and Personalize 3D Face from In-the-Wild Photo Collection
  17. r5 5600u和r5 4600u参数对比哪个好?
  18. 关于五常膝关节矫形器的介绍
  19. 《微SaaS创富周刊》第5期:基于A/B测试的20+创富项目盘点
  20. ai人工智能在手机的应用_何时更重要地在产品中利用人工智能

热门文章

  1. SAP MM 物料价格的修改记录查询
  2. android webview 加载图片一直显示正在加载中
  3. 文章6:多功能智能跟随行李箱控制系统设计 | 本科毕业设计 - 【关键技术 - 定位技术相关资料(UWB WIFI 蓝牙)】
  4. CSS精简笔记(三)------盒子模型
  5. (6)常用的Java工具类
  6. 安信可 GPRS A9G二次开发使用
  7. 30-【什么叫规矩 什么叫体统】deque容器
  8. 关于CSS--基础样式、盒子模型和颜色
  9. 高德api覆盖区域由层级控制显示和隐藏
  10. 如何化身BAT面试收割机?Android篇