Scripts/OtherJs/eCharts/echarts-2.2.1/src/layout/forceLayoutWorker.js
(开头部分) 23KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
// 1. Graph Drawing by Force-directed Placement
// 2. http://webatlas.fr/tempshare/ForceAtlas2_Paper.pdf
define(function __echartsForceLayoutWorker(require) {
'use strict';
var vec2;
// In web worker
var inWorker = typeof(window) === 'undefined' && typeof(require) === 'undefined';
if (inWorker) {
vec2 = {
create: function(x, y) {
var out = new Float32Array(2);
out[0] = x || 0;
out[1] = y || 0;
return out;
},
dist: function(a, b) {
var x = b[0] - a[0];
var y = b[1] - a[1];
return Math.sqrt(x*x + y*y);
},
len: function(a) {
var x = a[0];
var y = a[1];
return Math.sqrt(x*x + y*y);
},
scaleAndAdd: function(out, a, b, scale) {
out[0] = a[0] + b[0] * scale;
out[1] = a[1] + b[1] * scale;
return out;
},
scale: function(out, a, b) {
out[0] = a[0] * b;
out[1] = a[1] * b;
return out;
},
add: function(out, a, b) {
out[0] = a[0] + b[0];
out[1] = a[1] + b[1];
return out;
},
sub: function(out, a, b) {
out[0] = a[0] - b[0];
out[1] = a[1] - b[1];
return out;
},
dot: function (v1, v2) {
return v1[0] * v2[0] + v1[1] * v2[1];
},
normalize: function(out, a) {
var x = a[0];
var y = a[1];
var len = x*x + y*y;
if (len > 0) {
//TODO: evaluate use of glm_invsqrt here?
len = 1 / Math.sqrt(len);
out[0] = a[0] * len;
out[1] = a[1] * len;
}
后面还有 721 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
