Перемещение изображения по эллиптической траектории

Я нахожусь в процессе создания приложения для Android с изображением. Изображение должно вращаться вокруг центра по эллиптической траектории. Мне потребуется функция для возврата координат X и Y эллиптического пути. Не могли бы вы помочь мне достичь этого?


person user1822729    schedule 23.02.2013    source источник


Ответы (1)


Приведенные ниже уравнения дадут вам координаты x и y эллипса.

x = a cos t 
y = b sin t

а - горизонтальное расстояние от начала координат.

b - расстояние по вертикали от начала координат

t - угол, под которым вам нужна координата. введите здесь описание изображения

List<Double> xcoord = new ArrayList<Double>();
List<Double> ycoord = new ArrayList<Double>();

public void getCoordinates() {
    for(int i=0;i<360;i++) {
        xcoord.add(10 * Math.cos(i));
        ycoord.add(20 * Math.sin(i));
    }
}

Вышеупомянутая функция добавляет все координаты от 0 до 360 в список с 10 как горизонтальное расстояние от начала и 20 как вертикальное расстояние от начала. Надеюсь это поможет.

person Vinay    schedule 23.02.2013
comment
Среднее время я получил такое же любопытное решение. Спасибо Бадди!. Я принял ваше решение :) - person user1822729; 23.02.2013
comment
@user1822729 user1822729 какое у тебя решение? - person Amrut Bidri; 27.05.2015
comment
этот ответ классный. а если ось имеет наклон? как делать тогда? - person Amrut Bidri; 28.05.2015
comment
склонность? Не понял. Не могли бы вы объяснить - person Vinay; 28.05.2015
comment
codeproject.com/KB/miscctrl/EllipticPictureTray/ - person Amrut Bidri; 28.05.2015