Преобразование декартовых координат в логарифмические полярные координаты

#cartesian

#Декартово

Вопрос:

Привет, я пытаюсь разработать Java-код, который выполняет извлечение объектов из изображения. Я извлек ключевые точки из изображения. Следующий шаг — разделить область вокруг каждой ключевой точки на неперекрывающиеся области, используя логарифмическую полярную систему координат. Я искал код для преобразования декартовых координат в логарифмические полярные, но я получил код только в matlab. Мне нужен Java-код. Кто-нибудь может мне помочь

Комментарии:

1. База данных журнала что? e? 10? Угол тоже? Радианы или градусы?

2. логарифмическое основание e и угол в радианах

Ответ №1:

Объяснение очень простое в статье Википедии: http://en.wikipedia.org/wiki/Log-polar_coordinates .

 class Polar
{
    public double rho;
    public double theta;

    public void ToPolar(double x, double y)
    {
         rho = Math.log(Math.sqrt(x*x   y*y));
         theta = Math.atan2(y, x);
    }
}
  

Добавьте все, что вам нужно, но в этом нет ничего особенного, и это очень тривиально написать. Вышесказанное предполагает, что ваш логарифм имеет основание e, и вы работаете в радианах.

Комментарии:

1. Пожалуйста, проверьте, правильно ли я описываю то, что я делаю в коде.

2. Если я хочу разделить область вокруг точки (100,200), то мое значение x будет равно 100, а значение y будет равно 200. Это правильно? Также, сколько субрегионов я получу?

3. Извините, не тот код. Пожалуйста, проверьте, правильно ли я понимаю концепцию. Если я хочу разделить область вокруг точки (100,200), то мое значение x будет равно 100, а значение y будет равно 200. Это правильно? Также, сколько субрегионов я получу?