Как рассчитать точку на окружности эллипса? - PullRequest
3 голосов
/ 23 февраля 2012

Я хочу построить точку на эллиптической кривой в J2ME

У меня есть значения X, Y, ширины, высоты и т.

X и Y - это положение эллипса (согласно J2ME) относительно Canvas, а t - это угол относительно центра эллипса (у меня есть изображение проблемы, но, к сожалению, блогне позволяет вставить в обсуждение :))

int ePX = (X + width)+ (int) (width * Math.cos(Math.toRadians(t)));
int ePY = (Y + height)+ (int) (height * -Math.sin(Math.toRadians(t)));

Правильно ли это уравнение?или для эллипса нам нужно еще несколько вычислений?

1 Ответ

8 голосов
/ 23 февраля 2012

Если (X, Y) - центр эллипса, а ширина и высота - две оси, тогда уравнение должно быть

int ePX = X + (int) (width  * Math.cos(Math.toRadians(t)));
int ePY = Y + (int) (height * Math.sin(Math.toRadians(t)));

. Умножение -1 на Math.sin не требуется, еслиу вас есть все t для рисования всего эллипса.

...