protected SizeF GetSliceDisplacement(float angle, float displacementFactor)
{
Debug.Assert(displacementFactor > 0F && displacementFactor <= 1F);
if (displacementFactor == 0F)
return SizeF.Empty;
float xDisplacement = (float)(TopEllipseSize.Width * displacementFactor / 2 * Math.Cos(angle * Math.PI / 180));
float yDisplacement = (float)(TopEllipseSize.Height * displacementFactor / 2 * Math.Sin(angle * Math.PI / 180));
return new SizeF(xDisplacement, yDisplacement);
}