Velocity
(j
).x
= 5 * (RND - .5) Velocity
(j
).y
= 5 * (RND - .5)
Position(j).x = Position(j).x + Velocity(j).x
Position(j).y = Position(j).y + Velocity(j).y
IF (Position
(j
).x
< -_WIDTH / 2) THEN Velocity
(j
).x
= -Velocity
(j
).x
IF (Position
(j
).x
> _WIDTH / 2) THEN Velocity
(j
).x
= -Velocity
(j
).x
IF (Position
(j
).y
< -_HEIGHT / 2) THEN Velocity
(j
).y
= -Velocity
(j
).y
IF (Position
(j
).y
> _HEIGHT / 2) THEN Velocity
(j
).y
= -Velocity
(j
).y
f = 15 * CalcPotential#(j, k)
CALL CCircle
(j
, k
, 4, _RGB(255 * f
, 255 * f
/ 2, 255 * f
/ 4)) 'NEXT
'NEXT
'FOR j = -_WIDTH / 2 TO _WIDTH / 2 STEP 10
'FOR k = -_HEIGHT / 2 TO _HEIGHT / 2 STEP 10
f1 = 10 * CalcPotential#(j - 5, k - 5)
f3 = 10 * CalcPotential#(j + 5, k - 5)
f7 = 10 * CalcPotential#(j - 5, k + 5)
f9 = 10 * CalcPotential#(j + 5, k + 5)
f = .5
TheReturn = 0
dx = x0 - Position(j).x
dy = y0 - Position(j).y
r
= SQR(dx
* dx
+ dy
* dy
) TheReturn = TheReturn + 1 / r
CalcPotential# = TheReturn