canvas曲线线条运动动画效果代码
代码语言:html
所属分类:动画
代码描述:canvas曲线线条运动动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<style>
html {
background: #000;
}
canvas {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
</style>
<script>
! function(t, n) {
if ("object" == typeof exports && "object" == typeof module) module.exports = n();
else if ("function" == typeof define && define.amd) define(n);
else {
var r = n();
for (var a in r)("object" == typeof exports ? exports : t)[a] = r[a]
}
}(this, function() {
return function(t) {
function n(a) {
if (r[a]) return r[a].exports;
var e = r[a] = {
exports: {},
id: a,
loaded: !1
};
return t[a].call(e.exports, e, e.exports, n), e.loaded = !0, e.exports
}
var r = {};
return n.m = t, n.c = r, n.p = "", n(0)
}([
function(t, n, r) {
n.glMatrix = r(1), n.mat2 = r(2), n.mat2d = r(3), n.mat3 = r(4), n.mat4 = r(5), n.quat = r(6), n.vec2 = r(9), n.vec3 = r(7), n.vec4 = r(8)
},
function(t, n) {
var r = {};
r.EPSILON = 1e-6, r.ARRAY_TYPE = "undefined" != typeof Float32Array ? Float32Array : Array, r.RANDOM = Math.random, r.setMatrixArrayType = function(t) {
GLMAT_ARRAY_TYPE = t
};
var a = Math.PI / 180;
r.toRadian = function(t) {
return t * a
}, t.exports = r
},
function(t, n, r) {
var a = r(1),
e = {};
e.create = function() {
var t = new a.ARRAY_TYPE(4);
return t[0] = 1, t[1] = 0, t[2] = 0, t[3] = 1, t
}, e.clone = function(t) {
var n = new a.ARRAY_TYPE(4);
return n[0] = t[0], n[1] = t[1], n[2] = t[2], n[3] = t[3], n
}, e.copy = function(t, n) {
return t[0] = n[0], t[1] = n[1], t[2] = n[2], t[3] = n[3], t
}, e.identity = function(t) {
return t[0] = 1, t[1] = 0, t[2] = 0, t[3] = 1, t
}, e.transpose = function(t, n) {
if (t === n) {
var r = n[1];
t[1] = n[2], t[2] = r
} else t[0] = n[0], t[1] = n[2], t[2] = n[1], t[3] = n[3];
return t
}, e.invert = function(t, n) {
var r = n[0],
a = n[1],
e = n[2],
u = n[3],
o = r * u - e * a;
return o ? (o = 1 / o, t[0] = u * o, t[1] = -a * o, t[2] = -e * o, t[3] = r * o, t) : null
}, e.adjoint = function(t, n) {
var r = n[0];
return t[0] = n[3], t[1] = -n[1], t[2] = -n[2], t[3] = r, t
}, e.determinant = function(t) {
return t[0] * t[3] - t[2] * t[1]
}, e.multiply = function(t, n, r) {
var a = n[0],
e = n[1],
u = n[2],
o = n[3],
i = r[0],
c = r[1],
f = r[2],
s = r[3];
return t[0] = a * i + u * c, t[1] = e * i + o * c, t[2] = a * f + u * s, t[3] = e * f + o * s, t
}, e.mul = e.multiply, e.rotate = function(t, n, r) {
var a = n[0],
e = n[1],
u = n[2],
o = n[3],
i = Math.sin(r),
c = Math.cos(r);
return t[0] = a * c + u * i, t[1] = e * c + o * i, t[2] = a * -i + u * c, t[3] = e * -i + o * c, t
}, e.scale = function(t, n, r) {
var a = n[0],
e = n[1],
u = n[2],
o = n[3],
i = r[0],
c = r[1];
return t[0] = a * i, t[1] = e * i, t[2] = u * c, t[3] = o * c, t
}, e.fromRotation = function(t, n) {
var r = Math.sin(n),
a = Math.cos(n);
return t[0] = a, t[1] = r, t[2] = -r, t[3] = a, t
}, e.fromScaling = function(t, n) {
return t[0] = n[0], t[1] = 0, t[2] = 0, t[3] = n[1], t
}, e.str = function(t) {
return "mat2(" + t[0] + ", " + t[1] + ", " + t[2] + ", " + t[3] + ")"
}, e.frob = function(t) {
return Math.sqrt(Math.pow(t[0], 2) + Math.pow(t[1], 2) + Math.pow(t[2], 2) + Math.pow(t[3], 2))
}, e.LDU = function(t, n, r, a) {
return t[2] = a[2] / a[0], r[0] = a[0], r[1] = a[1], r[3] = a[3] - t[2] * r[1], [t, n, r]
}, t.exports = e
},
function(t, n, r) {
var a = r(1),
e = {};
e.create = function() {
var t = new a.ARRAY_TYPE(6);
return t[0] = 1, t[1] = 0, t[2] = 0, t[3] = 1, t[4] = 0, t[5] = 0, t
}, e.clone = function(t) {
var n = new a.ARRAY_TYPE(6);
return n[0] = t[0], n[1] = t[1], n[2] = t[2], n[3] = t[3], n[4] = t[4], n[5] = t[5], n
}, e.copy = function(t, n) {
return t[0] = n[0], t[1] = n[1], t[2] = n[2], t[3] = n[3], t[4] = n[4], t[5] = n[5], t
}, e.identity = function(t) {
return t[0] = 1, t[1] = 0, t[2] = 0, t[3] = 1, t[4] = 0, t[5] = 0, t
}, e.invert = function(t, n) {
var r = n[0],
a = n[1],
e = n[2],
u = n[3],
o = n[4],
i = n[5],
c = r * u - a * e;
return c ? (c = 1 / c, t[0] = u * c, t[1] = -a * c, t[2] = -e * c, t[3] = r * c, t[4] = (e * i - u * o) * c, t[5] = (a * o - r * i) * c, t) : null
}, e.determinant = function(t) {
return t[0] * t[3] - t[1] * t[2]
}, e.multiply = function(t, n, r) {
var a = n[0],
e = n[1],
u = n[2],
o = n[3],
i = n[4],
c = n[5],
f = r[0],
s = r[1],
h = r[2],
M = r[3],
l = r[4],
v = r[5];
return t[0] = a * f + u * s, t[1] = e * f + o * s, t[2] = a * h + u * M, t[3] = e * h + o * M, t[4] = a * l + u * v + i, t[5] = e * l + o * v + c, t
}, e.mul = e.multiply, e.rotate = function(t, n, r) {
var a = n[0],
e = n[1],
u = n[2],
o = n[3],
i = n[4],
c = n[5],
f = Math.sin(r),
s = Math.cos(r);
return t[0] = a * s + u * f, t[1] = e * s + o * f, t[2] = a * -f + u * s, t[3] = e * -f + o * s, t[4] = i, t[5] = c, t
}, e.scale = function(t, n, r) {
var a = n[0],
e = n[1],
u = n[2],
o = n[3],
i = n[4],
c = n[5],
f = r[0],
s = r[1];
return t[0] = a * f, t[1] = e * f, t[2] = u * s, t[3] = o * s, t[4] = i, t[5] = c, t
}, e.translate = function(t, n, r) {
var a = n[0],
e = n[1],
u = n[2],
o = n[3],
i = n[4],
c = n[5],
f = r[0],
s = r[1];
return t[0] = a, t[1] = e, t[2] = u, t[3] = o, t[4] = a * f + u * s + i, t[5] = e * f + o * s + c, t
}, e.fromRotation = function(t, n) {
var r = Math.sin(n),
a = Math.cos(n);
return t[0] = a, t[1] = r, t[2] = -r, t[3] = a, t[4] = 0, t[5] = 0, t
}, e.fromScaling = function(t, n) {
return t[0] = n[0], t[1] = 0, t[2] = 0, t[3] = n[1], t[4] = 0, t[5] = 0, t
}, e.fromTranslation = function(t, n) {
return t[0] = 1, t[1] = 0, t[2] = 0, t[3] = 1, t[4] = n[0], t[5] = n[1], t
}, e.str = function(t) {
return "mat2d(" + t[0] + ", " + t[1] + ", " + t[2] + ", " + t[3] + ", " + t[4] + ", " + t[5] + ")"
}, e.frob = function(t) {
return Math.sqrt(Math.pow(t[0], 2) + Math.pow(t[1], 2) + Math.pow(t[2], 2) + Math.pow(t[3], 2) + Math.pow(t[4], 2) + Math.pow(t[5], 2) + 1)
}, t.exports = e
},
function(t, n, r) {
var a = r(1),
e = {};
e.create = function() {
var t = new a.ARRAY_TYPE(9);
return t[0] = 1, t[1] = 0, t[2] = 0, t[3] = 0, t[4] = 1, t[5] = 0, t[6] = 0, t[7] = 0, t[8] = 1, t
}, e.fromMat4 = function(t, n) {
return t[0] = n[0], t[1] = n[1], t[2] = n[2], t[3] = n[4], t[4] = n[5], t[5] = n[6], t[6] = n[8], t[7] = n[9], t[8] = n[10], t
}, e.clone = function(t) {
var n = new a.ARRAY_TYPE(9);
return n[0] = t[0], n[1] = t[1], n[2] = t[2], n[3] = t[3], n[4] = t[4], n[5] = t[5], n[6] = t[6], n[7] = t[7], n[8] = t[8], n
}, e.copy = function(t, n) {
return t[0] = n[0], t[1] = n[1], t[2] = n[2], t[3] = n[3], t[4] = n[4], t[5] = n[5], t[6] = n[6], t[7] = n[7], t[8] = n[8], t
}, e.identity = function(t) {
return t[0] = 1, t[1] = 0, t[2] = 0, t[3] = 0, t[4] = 1, t[5] = 0, t[6] = 0, t[7] = 0, t[8] = 1, t
}, e.transpose = function(t, n) {
if (t === n) {
var r = n[1],
a = n[2],
e = n[5];
t[1] = n[3], t[2] = n[6], t[3] = r, t[5] = n[7], t[6] = a, t[7] = e
} else t[0] = n[0], t[1] = n[3], t[2] = n[6], t[3] = n[1], t[4] = n[4], t[5] = n[7], t[6] = n[2], t[7] = n[5], t[8] = n[8];
return t
}, e.invert = function(t, n) {
var r = n[0],
a = n[1],
e = n[2],
u = n[3],
o = n[4],
i = n[5],
c = n[6],
f = n[7],
s = n[8],
h = s * o - i * f,
M = -s * u + i * c,
l = f * u - o * c,
v = r * h + a * M + e * l;
return v ? (v = 1 / v, t[0] = h * v, t[1] = (-s * a + e * f) * v, t[2] = (i * a - e * o) * v, t[3] = M * v, t[4] = (s * r - e * c) * v, t[5] = (-i * r + e * u) * v, t[6] = l * v, t[7] = (-f * r + a * c) * v, t[8] = (o * r - a * u) * v, t) : null
}, e.adjoint = function(t, n) {
var r = n[0],
a = n[1],
e = n[2],
u = n[3],
o = n[4],
i = n[5],
c = n[6],
f = n[7],
s = n[8];
return t[0].........完整代码请登录后点击上方下载按钮下载查看
网友评论0