MCPcopy Create free account
hub / github.com/alignoth/alignoth / vg

Function vg

resources/vega.min.js:11980–12022  ·  view source on GitHub ↗
(t, e, n, r)

Source from the content-addressed store, hash-verified

11978 }
11979 }
11980 function vg(t, e, n, r) {
11981 const i = (function (t, e, n, r, i, o, a, s, u) {
11982 const l = dg.call(arguments);
11983 if (fg[l]) return fg[l];
11984 const c = a * sg,
11985 f = Math.sin(c),
11986 h = Math.cos(c),
11987 d = h * (s - t) * 0.5 + f * (u - e) * 0.5,
11988 p = h * (u - e) * 0.5 - f * (s - t) * 0.5;
11989 let g =
11990 (d * d) / ((n = Math.abs(n)) * n) + (p * p) / ((r = Math.abs(r)) * r);
11991 g > 1 && ((g = Math.sqrt(g)), (n *= g), (r *= g));
11992 const m = h / n,
11993 y = f / n,
11994 v = -f / r,
11995 _ = h / r,
11996 x = m * s + y * u,
11997 b = v * s + _ * u,
11998 w = m * t + y * e,
11999 k = v * t + _ * e;
12000 let A = 1 / ((w - x) * (w - x) + (k - b) * (k - b)) - 0.25;
12001 A < 0 && (A = 0);
12002 let M = Math.sqrt(A);
12003 o == i && (M = -M);
12004 const E = 0.5 * (x + w) - M * (k - b),
12005 D = 0.5 * (b + k) + M * (w - x),
12006 C = Math.atan2(b - D, x - E);
12007 let F = Math.atan2(k - D, w - E) - C;
12008 F < 0 && 1 === o ? (F += lg) : F > 0 && 0 === o && (F -= lg);
12009 const S = Math.ceil(Math.abs(F / (ug + 0.001))),
12010 $ = [];
12011 for (let t = 0; t < S; ++t) {
12012 const e = C + (t * F) / S,
12013 i = C + ((t + 1) * F) / S;
12014 $[t] = [E, D, e, i, n, r, f, h];
12015 }
12016 return (fg[l] = $);
12017 })(r[5], r[6], r[0], r[1], r[3], r[4], r[2], e, n);
12018 for (let e = 0; e < i.length; ++e) {
12019 const n = pg(i[e]);
12020 t.bezierCurveTo(n[0], n[1], n[2], n[3], n[4], n[5]);
12021 }
12022 }
12023 const _g = 0.5773502691896257,
12024 xg = {
12025 circle: {

Callers 1

ygFunction · 0.85

Calls 2

pgFunction · 0.85
bezierCurveToMethod · 0.80

Tested by

no test coverage detected