Это скорее вопрос математики, чем вопрос программирования.
2pi радиана = 360 градусов
Итак, если вы хотите, чтобы все элементы отображались, но фигура была полукругом, используйте:
Math.PI * i / numberOfItems
вместо 2 * Math.PI * i / numberOfItems
Кроме того, потому что координаты экрана начинаются в верхнем левом углу. Это сделает нижнюю половину круга первым элементом справа. Если вы хотите верхнюю половину круга с первым элементом слева, просто добавьте пи:
Math.PI + (Math.PI * i / numberOfItems)
Весь код:
for(int i=0;i<numberOfItems;i++)
{
float x = (float)(center.X + radius * Math.Cos(Math.PI + (Math.PI * i / numberOfItems)))-iconBmp.Width/2;
float y = (float)(center.Y + radius * Math.Sin(Math.PI + (Math.PI * i / numberOfItems)))-iconBmp.Height/2;
canvas.DrawBitmap(iconBmp, new SKPoint(x, y));
}