нарисовать дугу, учитывая 3 балла в SWT

Я использую java-библиотеку swt, и у меня возникла проблема.

метод gc draw arc принимает следующие аргументы: GC.drawArc(int x, int y, int width, int height, int startAngle, int endAngle);

но я хочу иметь возможность рисовать дугу, используя 3 аргумента: источник, пункт назначения и контрольные точки.

есть ли формула для преобразования между этими параметрами?

Класс QuadCurve2D делает именно то, что я хочу, но это AWT, а не swt... и я пытался использовать java2d под swt, но это было очень медленно....

любые решения?

ОБНОВЛЕНИЕ:

я нашел решение:

используя метод createArcByCenter в объекте Arc2d, я могу дать ему 3 параметра, а затем получить эквивалент x, y, ширину и высоту.. чтобы использовать их с объектом gc

есть ли лучшие решения?


person Ahmed Kotb    schedule 14.05.2010    source источник


Ответы (1)


если кто-то все еще блуждает (через 3 месяца), как я уже сказал, я использовал метод createArcByCenter в объекте Arc2d (пришлось выполнить некоторую математику, чтобы получить эти 3 параметра, но проще, чем параметры x и y)

вы можете посмотреть демо здесь

person Ahmed Kotb    schedule 30.08.2010