Create a experiment with dots appearing random on a screen
David McFarlane
mcfarla9 at msu.edu
Thu Mar 5 20:52:07 UTC 2009
I recently contemplated this very problem while working on a spatial
foraging task. I am still a long way from implementing my planned
solution, so I have no code to show, but allow me to sketch out my strategy.
In short, I plan to first divide the screen up into a number of
non-overlapping zones. If I have at least as many zones as I have
dots, then I can put each dot into a random position within its own
zone, and that will guarantee that no dots overlap. Dots in adjacent
zones might still touch each other and form "clumps", but if I wanted
to avoid that then I would just add a limit to where each dot could
go within its own zone.
If I make exactly as many zones as dots, then the dots will disperse
about the entire screen with some degree of jitter between the
dots. If I want to allow for greater jitter across the screen, I
could create more zones than dots. In that case I would put the
zones into a list, shuffle the list, then pick the first nDots zones
for my dots, and then put each dot in a random place within its zone
(perhaps with a limit as described above to prevent dots from
toucing). This would then allow some degree of clumping of dots
across the screen. In fact if I were serious about this I would
parameterize it all so that I could easily reuse and control the
procedure, something like GrowLandscape( nItems, nZones, zoneBuffer ).
Looking at this in a more theoretical and general way, we can
separate the solution space into three domains, nZones < nDots,
nZones = nDots, and nZones > nDots. nZones < nDots leaves the
possibility of dots overlapping; nZones = nDots prevents overlapping
dots and produces the most even dispersal of dots across the screen;
and nZones > nDots also prevents overlapping dots, while allowing for
greater jitter overall and the possibility of some clumping. In the
limit, nZones = 1 is just your current situation and has the most
problem with overlap, while nZones = nPixels prevents overlap while
allowing for the greatest jitter and clumping. Sor for your
puprposes I think you want nZones somewhere between nDots and nPixels.
I hope this helps somewhat, at least I enjoyed documenting this for
myself. I at least would be very interested to learn what you come
up with, so please post back.
-- David McFarlane, Professional Faultfinder
>Hi,
>
>we are trying to create an experiment in eprime where participants
>will see purple and green dots for 500 ms on a screen. Their job is to
>determine whether their was more purple or green dots presented to
>them.
>
>The dots will be various size, however, we do want the area covered
>(i.e. pixels) to be the same between the different colored dots even
>though you might see e.g. more purple dots than green. The maximum
>dots shown for each color is 15.
>
>We have tried to created the experiment for a while, however, we keep
>on running into a couple of issues.
>
>1) The dots overlap each other
>2) We have to manually make a list for each dot and then have it run
>random during the experiment, however, this is very tedious as we can
>have up to 32 dots and thus 32 list for a screen.
>
>Anyways, appreciate any help we can get.
>
>Thanks!
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "E-Prime" group.
To post to this group, send email to e-prime at googlegroups.com
To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com
For more options, visit this group at http://groups.google.com/group/e-prime?hl=en
-~----------~----~----~----~------~----~------~--~---
More information about the Eprime
mailing list