figured out that this was not my real problem.
Ok, my arcSegment must always draw Circle's. For this reason I calculate the Arc's Width with the following formula:
arcXRadius = (4 * Math.Pow(height, 2) + Math.Pow(distanceArcPoints, 2)) / (8 * height);
so Arcs.Size = (arcXRadius,height)
But seems that the height is scaled down when drawn. I want to add a small Circle to the Arc's middle (highest point) so when you drag it it changes the arc Height but also changes the Width so it will remain a circle.
Here's how I calculate the Circle's point:
Point middlePoint = GetMiddlePoint(arcPointA,arcPointB);
double arcYRadius = arcSegment.Size.Height;
if (arcYRadius <= 0)
double angle = arcSegment.RotationAngle;
Point ellinewPoint = new Point();
ellinewPoint.X = Math.Cos((angle + 90) * Math.PI / 180) * arcYRadius + middlePoint.X;
ellinewPoint.Y = Math.Sin((angle + 90) * Math.PI / 180) * arcYRadius + middlePoint.Y;
Until Arc's.Size.Height Property gets Closer to the Width my Circle is not at the right Point.
I'm sure this is not for this Discussion Forum but maybe someone can tell me what am I doing wrong.