Second view to visualize different aspects of the same agents

Sometimes, I want to visualize different aspects of the same agents. For example, maybe there is a network aspect to the model and a spatial aspect. If I visualize the agents spatially, then the network is not informative. If I arrange them based on a spring layout from the network, then I can’t see spatial information. Or maybe I have two different networks and want to visualize them separately. It would be really cool if I could add a second view and visualize turtles differently. Some initial ideas:

  • You would need to define new turtle variables for all of the default turtle properties (color, xcor, ycor, etc) except for who and breed which would be the same since they are the identity of the turtle. Maybe new versions of these are created for turtles automatically (xcor2, ycor2, etc.) , but it is likely that you would want most of them to be the same (e.g., color and size). So, I think more likely the use would need to manually choose which variables determine these visualization properties in the new view and they default to the same as in the original view.
  • patches would also potentially need a separate pcolor for the second view if the user wants to visualize something else with them (and plabel and plabel-color if desired).
  • Links would also potentially need separate visualization variables.

This would certainly be “high ceiling” feature, but I don’t think it would raise the threshold of NetLogo at all since new users wouldn’t need to even be aware of it.

Another use for this feature: I have wanted to create an interaction in one view that affects the agents in the other. Specifically, I want the user to draw an interatomic potential function in one view and keep that visible, and then have atoms in the other view interacting according to that interatomic potential.