You are correct in saying that x and y are
not the centre of the shape. It represents the top left corner of the bounding box for the shape (before any rotation, if applicable, is applied).
The following code demonstrates how to centre a shape as well as demonstrating the difference:
size = 100
x = GraphicsWindow.Width / 2 ' Centre of window
y = GraphicsWindow.Height / 2
' Offset
GraphicsWindow.FillEllipse(x, y, size, size)
' Centred
GraphicsWindow.FillEllipse(x - (size/2), y - (size/2), size, size)
Best,
Jason.