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] = o * s - i * f, t[1] = e * f - a * s, t[2] = a * i - e * o, t[3] = i * c - u * s, t[4] = r * s - e * c, t[5] = e * u - r * i, t[6] = u * f - o * c, t[7] = a * c - r * f, t[8] = r * o - a * u, t
            }, e.determinant = function(t) {
                var n = t[0],
                    r = t[1],
                    a = t[2],
                    e = t[3],
                    u = t[4],
                    o = t[5],
                    i = t[6],
                    c = t[7],
                    f = t[8];
                return n * (f * u - o * c) + r * (-f * e + o * i) + a * (c * e - u * i)
            }, 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 = n[6],
                    s = n[7],
                    h = n[8],
                    M = r[0],
                    l = r[1],
                    v = r[2],
                    m = r[3],
                    p = r[4],
                    d = r[5],
                    A = r[6],
                    R = r[7],
                    w = r[8];
                return t[0] = M * a + l * o + v * f, t[1] = M * e + l * i + v * s, t[2] = M * u + l * c + v * h, t[3] = m * a + p * o + d * f, t[4] = m * e + p * i + d * s, t[5] = m * u + p * c + d * h, t[6] = A * a + R * o + w * f, t[7] = A * e + R * i + w * s, t[8] = A * u + R * c + w * h, t
            }, e.mul = e.multiply, 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 = n[6],
                    s = n[7],
                    h = n[8],
                    M = r[0],
                    l = r[1];
                return t[0] = a, t[1] = e, t[2] = u, t[3] = o, t[4] = i, t[5] = c, t[6] = M * a + l * o + f, t[7] = M * e + l * i + s, t[8] = M * u + l * c + h, t
            }, 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 = n[6],
                    s = n[7],
                    h = n[8],
                    M = Math.sin(r),
                    l = Math.cos(r);
                return t[0] = l * a + M * o, t[1] = l * e + M * i, t[2] = l * u + M * c, t[3] = l * o - M * a, t[4] = l * i - M * e, t[5] = l * c - M * u, t[6] = f, t[7] = s, t[8] = h, t
            }, e.scale = function(t, n, r) {
                var a = r[0],
                    e = r[1];
                return t[0] = a * n[0], t[1] = a * n[1], t[2] = a * n[2], t[3] = e * n[3], t[4] = e * n[4], t[5] = e * n[5], t[6] = n[6], t[7] = n[7], t[8] = n[8], t
            }, e.fromTranslation = function(t, n) {
                return t[0] = 1, t[1] = 0, t[2] = 0, t[3] = 0, t[4] = 1, t[5] = 0, t[6] = n[0], t[7] = n[1], t[8] = 1, t
            }, e.fromRotation = function(t, n) {
                var r = Math.sin(n),
                    a = Math.cos(n);
                return t[0] = a, t[1] = r, t[2] = 0, t[3] = -r, t[4] = a, t[5] = 0, t[6] = 0, t[7] = 0, t[8] = 1, t
            }, e.fromScaling = function(t, n) {
                return t[0] = n[0], t[1] = 0, t[2] = 0, t[3] = 0, t[4] = n[1], t[5] = 0, t[6] = 0, t[7] = 0, t[8] = 1, t
            }, e.fromMat2d = function(t, n) {
                return t[0] = n[0], t[1] = n[1], t[2] = 0, t[3] = n[2], t[4] = n[3], t[5] = 0, t[6] = n[4], t[7] = n[5], t[8] = 1, t
            }, e.fromQuat = function(t, n) {
                var r = n[0],
                    a = n[1],
                    e = n[2],
                    u = n[3],
                    o = r + r,
                    i = a + a,
                    c = e + e,
                    f = r * o,
                    s = a * o,
                    h = a * i,
                    M = e * o,
                    l = e * i,
                    v = e * c,
                    m = u * o,
                    p = u * i,
                    d = u * c;
                return t[0] = 1 - h - v, t[3] = s - d, t[6] = M + p, t[1] = s + d, t[4] = 1 - f - v, t[7] = l - m, t[2] = M - p, t[5] = l + m, t[8] = 1 - f - h, t
            }, e.normalFromMat4 = 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 = n[9],
                    M = n[10],
                    l = n[11],
                    v = n[12],
                    m = n[13],
                    p = n[14],
                    d = n[15],
                    A = r * i - a * o,
                    R = r * c - e * o,
                    w = r * f - u * o,
                    q = a * c - e * i,
                    Y = a * f - u * i,
                    g = e * f - u * c,
                    y = s * m - h * v,
                    x = s * p - M * v,
                    P = s * d - l * v,
                    E = h * p - M * m,
                    T = h * d - l * m,
                    b = M * d - l * p,
                    D = A * b - R * T + w * E + q * P - Y * x + g * y;
                return D ? (D = 1 / D, t[0] = (i * b - c * T + f * E) * D, t[1] = (c * P - o * b - f * x) * D, t[2] = (o * T - i * P + f * y) * D, t[3] = (e * T - a * b - u * E) * D, t[4] = (r * b - e * P + u * x) * D, t[5] = (a * P - r * T - u * y) * D, t[6] = (m * g - p * Y + d * q) * D, t[7] = (p * w - v * g - d * R) * D, t[8] = (v * Y - m * w + d * A) * D, t) : null
            }, e.str = function(t) {
                return "mat3(" + t[0] + ", " + t[1] + ", " + t[2] + ", " + t[3] + ", " + t[4] + ", " + t[5] + ", " + t[6] + ", " + t[7] + ", " + t[8] + ")"
            }, 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) + Math.pow(t[6], 2) + Math.pow(t[7], 2) + Math.pow(t[8], 2))
            }, t.exports = e
        },
        function(t, n, r) {
            var a = r(1),
                e = {};
            e.create = function() {
                var t = new a.ARRAY_TYPE(16);
                return t[0] = 1, t[1] = 0, t[2] = 0, t[3] = 0, t[4] = 0, t[5] = 1, t[6] = 0, t[7] = 0, t[8] = 0, t[9] = 0, t[10] = 1, t[11] = 0, t[12] = 0, t[13] = 0, t[14] = 0, t[15] = 1, t
            }, e.clone = function(t) {
                var n = new a.ARRAY_TYPE(16);
                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[9] = t[9], n[10] = t[10], n[11] = t[11], n[12] = t[12], n[13] = t[13], n[14] = t[14], n[15] = t[15], 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[9] = n[9], t[10] = n[10], t[11] = n[11], t[12] = n[12], t[13] = n[13], t[14] = n[14], t[15] = n[15], t
            }, e.identity = function(t) {
                return t[0] = 1, t[1] = 0, t[2] = 0, t[3] = 0, t[4] = 0, t[5] = 1, t[6] = 0, t[7] = 0, t[8] = 0, t[9] = 0, t[10] = 1, t[11] = 0, t[12] = 0, t[13] = 0, t[14] = 0, t[15] = 1, t
            }, e.transpose = function(t, n) {
                if (t === n) {
                    var r = n[1],
                        a = n[2],
                        e = n[3],
                        u = n[6],
                        o = n[7],
                        i = n[11];
                    t[1] = n[4], t[2] = n[8], t[3] = n[12], t[4] = r, t[6] = n[9], t[7] = n[13], t[8] = a, t[9] = u, t[11] = n[14], t[12] = e, t[13] = o, t[14] = i
                } else t[0] = n[0], t[1] = n[4], t[2] = n[8], t[3] = n[12], t[4] = n[1], t[5] = n[5], t[6] = n[9], t[7] = n[13], t[8] = n[2], t[9] = n[6], t[10] = n[10], t[11] = n[14], t[12] = n[3], t[13] = n[7], t[14] = n[11], t[15] = n[15];
                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 = n[9],
                    M = n[10],
                    l = n[11],
                    v = n[12],
                    m = n[13],
                    p = n[14],
                    d = n[15],
                    A = r * i - a * o,
                    R = r * c - e * o,
                    w = r * f - u * o,
                    q = a * c - e * i,
                    Y = a * f - u * i,
                    g = e * f - u * c,
                    y = s * m - h * v,
                    x = s * p - M * v,
                    P = s * d - l * v,
                    E = h * p - M * m,
                    T = h * d - l * m,
                    b = M * d - l * p,
                    D = A * b - R * T + w * E + q * P - Y * x + g * y;
                return D ? (D = 1 / D, t[0] = (i * b - c * T + f * E) * D, t[1] = (e * T - a * b - u * E) * D, t[2] = (m * g - p * Y + d * q) * D, t[3] = (M * Y - h * g - l * q) * D, t[4] = (c * P - o * b - f * x) * D, t[5] = (r * b - e * P + u * x) * D, t[6] = (p * w - v * g - d * R) * D, t[7] = (s * g - M * w + l * R) * D, t[8] = (o * T - i * P + f * y) * D, t[9] = (a * P - r * T - u * y) * D, t[10] = (v * Y - m * w + d * A) * D, t[11] = (h * w - s * Y - l * A) * D, t[12] = (i * x - o * E - c * y) * D, t[13] = (r * E - a * x + e * y) * D, t[14] = (m * R - v * q - p * A) * D, t[15] = (s * q - h * R + M * A) * D, 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],
                    h = n[9],
                    M = n[10],
                    l = n[11],
                    v = n[12],
                    m = n[13],
                    p = n[14],
                    d = n[15];
                return t[0] = i * (M * d - l * p) - h * (c * d - f * p) + m * (c * l - f * M), t[1] = -(a * (M * d - l * p) - h * (e * d - u * p) + m * (e * l - u * M)), t[2] = a * (c * d - f * p) - i * (e * d - u * p) + m * (e * f - u * c), t[3] = -(a * (c * l - f * M) - i * (e * l - u * M) + h * (e * f - u * c)), t[4] = -(o * (M * d - l * p) - s * (c * d - f * p) + v * (c * l - f * M)), t[5] = r * (M * d - l * p) - s * (e * d - u * p) + v * (e * l - u * M), t[6] = -(r * (c * d - f * p) - o * (e * d - u * p) + v * (e * f - u * c)), t[7] = r * (c * l - f * M) - o * (e * l - u * M) + s * (e * f - u * c), t[8] = o * (h * d - l * m) - s * (i * d - f * m) + v * (i * l - f * h), t[9] = -(r * (h * d - l * m) - s * (a * d - u * m) + v * (a * l - u * h)), t[10] = r * (i * d - f * m) - o * (a * d - u * m) + v * (a * f - u * i), t[11] = -(r * (i * l - f * h) - o * (a * l - u * h) + s * (a * f - u * i)), t[12] = -(o * (h * p - M * m) - s .........完整代码请登录后点击上方下载按钮下载查看

网友评论0