# Problem mit "PHYSLET"



## freerider19 (12. Dez 2004)

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_) 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,ww,"r"); 
genauer gesagt das [i-1]. Aber wie baue ich eine Interaction zwischen Objekten auf, die alle den selben "Namen" haben (kugel) ?? 


kugel=new Array(); 
x=new Array(); 
n=10; 
k=10000 
ww = k+"*step(2-r)*(2-r)"; 
for(i=1; i<n; i++){ 
x=3*i-15; 
kugel=document.Animator1.addObject("circle","x="+x+",y=0,r=10"); 
document.Animator1.setForce(kugel,"0","0",x,0,-3,-5); 
document.Animator1.addInteraction(kugel,shp1,"10000*step(3-x)*(3-x)","x"); 
document.Animator1.addInteraction(kugel,shp2,"10000*step(3-x)*(3-x)","x"); 
document.Animator1.addInteraction(kugel,shp3,"10000*step(3-y)*(3-y)","y"); 
document.Animator1.addInteraction(kugel,shp4,"10000*step(2-y)*(2-y)","y"); 
document.Animator1.addInteraction(kugel[i-1],kugel,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/physlets/3-Pietersteiner_Deckel.html 

BITTE BITTE BITTE helft mir !!!!!_


----------



## bygones (12. Dez 2004)

und wieder ist das JavaScript, was rein *gar nix* mit java zu tun hat...

veschoben


----------



## Roar (12. Dez 2004)

freerider19 hat gesagt.:
			
		

> hab aber fast null Ahnung von Java...



so siehts aus... anscheinend weißt ja noch nichmal was java überhaupt ist http://www.java-forum.org/de/viewtopic.php?t=6099

mist zu spät


----------



## FischGesicht (14. Dez 2004)

Hey du,

die letzte Zeile, die du meinst klappt nicht, weil dein index i-1 ist,
es den Index 0, aber garnicht gibt.

Schreibe also nach der Zeile:

kugel = new Array();

die Zeile:

kugel[0]=document.Animator1.addObject("circle","x="+-15+",y=0,r=10");  //nur zum Beispiel

Ich habe das  :idea: Java - Applet :idea:   ((JAAAAAAAAAAAAA,
mal wieder ein Thread, der zu unrecht verschoben wurde.))
mal getestet, glaube nicht, dass es so richtig ist mit 4 Kugeln, aber dazu bräuchte ich mehr Infos
was genau du willst.

Gruß


----------

