Я хочу использовать Path
, чтобы нарисовать частично круг, такой как круг 25% (1/4, круг 90 градусов, 360 градусов - полный круг)
Я могу использовать ArcSegment
для этого, но 25% легко, потому что число простое, и вы можете легко угадать суть. Но когда я хочу нарисовать 20% -ый круг 1/5 72-градусного круга), я не могу больше предположить, потому что это не значение с плавающей точкой, поэтому я придумал 4 уравнения
For 0->90 degree (unit value = Degree (Eg: 20degree)) x,y = ArcSegment.Point(x,y)
x = (PathWidth / 2) + [Sin(value) *50]
y = [Sin(value) *50]
For 90->180 degree
x, y= (PathWidth / 2) + [Sin(value) *50]
For 180->270 : Sorry I don't know ;(
Например, я хочу 25% -ный круг на пути 100x100 (начальная точка 50,0), тогда 25% - это 1/4 = 90 градусов:
Применим мое уравнение, которое я упомянул выше, у нас есть:
x = (100/2) + Sin(90) * 50 = 100
y = Sin(90) * 50 = 50
Итак, ArcSegment.Point = "100,50" и мы на 50% кругом
Но я думаю, что уравнение неэффективно и, возможно, (я пока не проверяю) неточно, и нам нужно 4 уравнения, чтобы выполнить круг с частичной окружностью (1-> 99%). Не могли бы вы улучшить уравнение, которое я использую выше
Извините за мой плохой английский, потому что английский не мой родной язык.