m ピクセルの 2D サーフェスに p 個のノードがあるとします。ノードが互いに引き付けられて、離れているほど引き付け力が強くなるようにします。しかし、2 つのノード間の距離、たとえば d(A,B) が、たとえば k などのしきい値よりも小さい場合、それらは反発し始めます。ノードの座標を時間の経過とともに更新する方法について、誰かが私にいくつかのコードを始めてもらえますか。
アトラクションを開始する以下のコードに少し似たものがありますが、アドバイスを探しています。(PSこれを行うために既存のライブラリを使用することはできません)。
public class node{
float posX;
float posY;
}
public class mySimulator{
ArrayList<node> myNodes = new ArrayList<node>();
// Imagine I add a load of nodes to myNodes
myNodes.add(.....
// Now image this is the updating routine that is called at every fixed time increment
public void updateLocations(){
for(int i =0; i <= myNodes.size(); i++){
for(int i =0; i <= myNodes.size(); i++){
myNodes.get(i).posX = myNodes.get(i).posX + "some constant"*(myNodes.get(j).posX -myNodes.get(i).posX);
myNodes.get(i).posY = myNodes.get(i).posY + "some constant"*(myNodes.get(j).posY -myNodes.get(i).posY);
}
}
}
}
}