Я хочу определить и использовать пользовательскую силу, такую как центрирование, радиальные силы, для которых у меня уже есть векторное поле.
Это функция силы, которую я хочу использовать:
function force(alpha) {
viewNode= nodes[0];
//console.log("hey!!!");
var thetaArray= [];
for (var i = 1, n = nodes.length, node; i < n; ++i) {
node = nodes[i];
var theta=Math.atan(node.y/node.x);
if(node.x<0)
{
theta+=Math.PI;
}
thetaArray.push({theta:theta,index:i});
}
thetaArray.sort(function(a,b){return a.theta-b.theta});
for (var i = 1, n = nodes.length, node1, node2, k = alpha * 1; i < n; ++i) {
node1 = nodes[(thetaArray[i].index)%n];
node2 = nodes[(thetaArray[i].index+1)%n];
node1.vx -= (node1.y) * k;
node1.vy += (node1.x) * k;
node2.vx += (node2.y) * k;
node2.vy -= (node2.x) * k;
}
}