Kontrol af et grid af points

Tags:    java

Hej alle jeg har en opgave der er ved at få mig til at gå ud af mit gode skind.
vil lige skrive opgaven ind her så folk kan se hvad mit problem går ud på:

"Consider the N x N grid of natural numbers, that is, all pairs of numbers(x,y), where x,y E{0,1,.....,(n-1)}.
Opgave a)
Three particles are placed on a randomly chosen grid point. They then start to move around the grid. A move is done by adding random integer numbers from the interval [-s;s] to the coordinates of the current position of each particle."

Denne opgave ,(a), har jeg løst mit problem kommer i spørgsmål b.

Opgave b)
"Augment your program bt the following modification. When the distance between two particles is less than some value c, then they move directly towards each other. When the two particles collide, they combine into a singe particle at that position."

Håber nogen kan hjælpe mig med dette problem!?
Er ikke en super Java programmør, men har lavet et par programmer efterhånden.
Skriv endelig hvis du kan hjælpe mig.!

Simon



Indlæg senest redigeret d. 08.10.2010 13:43 af Bruger #16186
3 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 6 karma
Sorter efter stemmer Sorter efter dato
Ud fra matematik ved du hvordan du udregner en distance for 2 punkter i 2d (pythagoras).

dist = sqrt((x1-x2)^2 + (y1-y2)^2)

Du laver da bare to for lykker inde i hinanden som prøver alle muligheder mellem to partikler og hvis dist værdien er mindre en c så begynder dine partikler at bevæge sig mod hinanden.
Hvis du ved lidt om vektorer ved du også at retningen fra din partikel a til partikel b er vektoren (xb, yb) (x koordinatet for b og y koordinatet for b) hvis du så regner enhedsvektoren ud for denne vektor gør du ved at dividere længden af vektoren med vektoren selv altså:

aVektorToB = (xb/dist, yb/dist)

Du har du den retning a skal gå for at komme mod b. du kan så bare gange begge tal med en faktor som du selv bestemmer (hvor hurtigt de går mod hinanden) og så ligge dette til a's koordinater.

Jeg håber det giver mening. ellers sprøg.



Skriver den lige på siden her i stedet:

Fold kodeboks ind/udKode 




He he. Du har "Indledende programmering" på DTU.

Har også lavet den opgave engang for et stykke tid siden. Jeg har lige rodet mine gamler filer og har fundet min gamle besvarelse på opgaven:
http://dl.dropbox.com/u/1012230/Opgave2.java

Der benyttes StdDraw...



Indlæg senest redigeret d. 09.10.2010 14:05 af Bruger #5097
t