X = (float)Math.Round(x0 + R * Math.Asin(a));
Y =(float) Math.Round(y0 + R * Math.Acos(a));
скорее всего так. попытайся приводить нужные числа к нужным типам. подскащки какие имеена числа не совпадают по типам студия обычно даёт
X = Math.Round(x0 + R * (float)Math.Asin(a));
Y = Math.Round(y0 + R * (float)Math.Acos(a));
или так
) нужно смотреть конкретно