Silverlight 3 ArcSegment to always draw circle's
- by kapaboo
Hi everyone,
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 (highest) point:
Point middlePoint = GetMiddlePoint(arcPointA,arcPointB);
double arcYRadius = arcSegment.Size.Height;
if (arcYRadius <= 0)
return middlePoint;
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.
So maybe someone can give me a hint or tell me what am I doing wrong.
Cheers,
kapaboo