Hi!
Ich muss ein sog. Physlet programmieren, hab aber fast null Ahnung von Java...
Das Problem:
n Kugeln befinden sich innerhalb 4 Wände, von denen sie abprallen. Das hab ich grad noch zusammengebracht.
Diese Kugeln (Im script: kugel[i]) sollen sich aber dann alle gegenseitig mit der funktion "ww = k+"*step(2-r)*(2-r)";" abstoßen.
Ich hätte die Schleife so geschrieben:
(shp1-4 sind die Wände - diese Interaction funktioniert)
Was nicht funktioniert ist die letzte Zeile:
document.Animator1.addInteraction(kugel[i-1],kugel[i],ww,"r");
genauer gesagt das [i-1]. Aber wie baue ich eine Interaction zwischen Objekten auf, die alle den selben "Namen" haben (kugel[i]) ??
kugel=new Array();
x=new Array();
n=10;
k=10000
ww = k+"*step(2-r)*(2-r)";
for(i=1; i<n; i++){
x[i]=3*i-15;
kugel[i]=document.Animator1.addObject("circle","x="+x[i]+",y=0,r=10");
document.Animator1.setForce(kugel[i],"0","0",x[i],0,-3,-5);
document.Animator1.addInteraction(kugel[i],shp1,"10000*step(3-x)*(3-x)","x");
document.Animator1.addInteraction(kugel[i],shp2,"10000*step(3-x)*(3-x)","x");
document.Animator1.addInteraction(kugel[i],shp3,"10000*step(3-y)*(3-y)","y");
document.Animator1.addInteraction(kugel[i],shp4,"10000*step(2-y)*(2-y)","y");
document.Animator1.addInteraction(kugel[i-1],kugel[i],ww,"r");
}
Ungefähr so sollte es dann aussehen wenns ferig ist, aber eben eleganter mit schleifen gelöst: http://physik.uibk.ac.at/erde/spezial/p…ner_Deckel.html
BITTE BITTE BITTE helft mir !!!!!