Creating landmarks on a circle

OS: Win10
PsychoPy version: 2020.1.3
Standard Standalone? yes
What are you trying to achieve?:

Hi there, I’m trying to create landmarks around on a circle with a certain radius like in this picture:

What did you try to make it work?:

So far I drew an invisible circle with the specific radius I need. Now I want to put the landmarks on this circle. It seems like there should be a relatively easy solution to this but I’m really struggling with the implementation. So far I put a few landmarks on the circle but I’m doing it one by one right now and this really doesn’t seem efficient. Does anyone have an idea of how I could do this in a “nice” way?

If you create a Polygon component and set its type to be a “regular polygon”, it will essentially create a low-res circle. If you set the number of vertices to the number of dots you want, you can then access these via polygon.vertices. Vertices are relative to the size and position of the component, so you’ll need to do some adjusting, but you can use the vertices along with the size and pos of your polygon to define the position of landmarks.

Attached is a minimal example in Builder - I’ve made an invisible circle with 64 vertices (I think I counted right that that’s how many are in your example?), used a Code component to create an ElementArrayStim with dots in the locations of each vertex, then made another Polygon component to be the landmark which moves along each point one by one. If you change the value set to index in the Code component which moves the landmark, you can control which dot it’s on, according to your experimental design.

indexingVertices.psyexp (9.9 KB)