曲线球体变化效果代码
代码语言:html
所属分类:动画
代码描述:曲线球体变化效果代码
代码标签: 效果
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
#c
{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<canvas id="c"></canvas>
<script>
var opts = {
radius: 150,
segCount: 400,
endAngle: -Math.PI * 18,
baseRotSpeed: 5,
transformedRotSpeed: 1,
transSpeed: 2,
transEasing: function (t) {return t < .5 ? 4 * t * t * t : 1 - 4 * (t = 1 - t) * t * t;},
randMinSegSize: 10,
randMaxSegSize: 40 };
var c = document.getElementById('c'),
ctx = c.getContext('2d');
function resize()
{
c.width = c.offsetWidth;
c.height = c.offsetHeight;
ctx.translate(c.width * .5, c.height * .5);
ctx.strokeStyle = 'black';
ctx.lineCap = 'round';
ctx.lineJoin = 'round';
}
window.addEventListener('resize', resize);
resize();
function rotateX(p, a)
{
var d = Math.sqrt(p[2] * p[2] + p[1] * p[1]),
na = Math.atan2(p[1], p[2]) + a;
return [p[0], d * Math.sin(na), d * Math.cos(na)];
}
function rotateY(p, a)
{
var d = Math.sqrt(p[2] * p[2] + p[0] * p[0]),
na = Math.atan2(p[2], p[0]) + a;
return [d * Math.cos(na), p[1], d * Math.sin(na)];
}
function loxo(radius, angle, segments)
{
var r = [];
for (var i = 0; i < segments; i++)
{
var a = Math.PI * i / segments,
c.........完整代码请登录后点击上方下载按钮下载查看
网友评论0