Sean, Thanks for the quick response to my question. I now have a follow-up question. I guess I should first explain what I am trying to do. I am using a continuous field (e.g. Continuous2D(1.0,100,100)) for both predators the prey. Each predator point represents a single predator. However, I am assuming that each prey point represents a super-individual, such as a large school of fish. Therefore, I am treating each prey point as the center of a school of fish, which will be represented by a disk in the visualization. So each large disk OvalPortrayal2D(6) represents a school of prey and each small disk OvalPortrayal2D() represents a single predator. However, I would like the size (width) of the OvalPortrayal2D to reflect the actual size of the school, if possible. The idea is that while the predator (small disk) is inside the school (large disk), the number of fish in the school will decrease due to predation. In the visualization, I can represent this decrease in the number of fish either by making the large disk more transparent or by making the large disk shrink. However, the predator (small disk) needs to determine if it is inside one or more schools of prey (large disks) so that it can choose one at random and feed while inside the school. I am accomplishing this by obtaining a bag of all the schools in which the predator is closer to the center of the school than the radius of the school. For instance, if the school has diameter 6 (and hence radius 3), then the predator would have to be within 3 units from the center of the school in order to be inside the school. In the predator’s code I have: Bag bag = baysim.fishSpace.getObjectsExactlyWithinDistance(myNewLoc, 3); where myNewLoc is the location of the predator and 3 is the radius of the school OvalPortrayal2D(6). I think this accomplishes the same thing as what you suggested: Disk A overlaps with disk B if (A.X - B.X) * (A.X - B. X) + (A.Y - B.Y) * (A.Y - B.Y) <= (A.R + B.R) * (A.R + B.R) Am I correct in that assumption? You also mentioned that: The width [and correspondingly height] of the portrayed disk is defined as 1.0 * W * S + O, where W is the scaling factor of the underlying field, S is the "scale" value of the OvalPortrayal2D (in your example, it's the "6"), and O is an additional offset in pixels. The W changes as the user zooms in and out, that's handled automatically for you. How can I display a disk whose size (width) represents the actual size of the school? Does a scale value of S=6 of the OvalPortrayal2D(6) mean that the displayed disk will have a width of 6 times the default width of OvalPortrayal2D()? If so, what is the default width if no scale value is set, as in OvalPortrayal2D()? Also, what is the additional offset in pixels O? Thanks for all your help. Joaquin