Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2008.03.09;
Скачать: [xml.tar.bz2];

Вниз

Сортировка точек   Найти похожие ветки 

 
alsov ©   (2008-02-04 17:29) [0]

Приветствую, Мастера

Помогите пожалуйста в решении задачки.

Есть массив точек, лежащих на окружности.
Как отсортировать их по часовой стрелке?

Точки окружности нахожу по алгоритму Мичнера.
Вот тут описано http://algolist.manual.ru/graphics/painting/circle.php

Заранее спасибо.


 
хам   (2008-02-04 17:30) [1]

Найти центр окружности, дпльшн сортровать по результату функции arctan2


 
oldman ©   (2008-02-04 17:33) [2]

Собственно по координатам.
Если принять центр за 0, то х и у становятся очень понятными.
И без всякого arctan2.


 
TUser ©   (2008-02-04 17:45) [3]

Переводи в полярные координаты.


 
ketmar ©   (2008-02-04 17:49) [4]

>[1] хам (04.02.08 17:30)
не усложняй. сказали же: «на окружности». потому квадрант можно определить и без тригонометрии.


 
oldman ©   (2008-02-04 17:57) [5]


> потому квадрант можно определить и без тригонометрии.


+1
что я и сказал в [2]


 
alsov ©   (2008-02-04 18:16) [6]


> oldman ©   (04.02.08 17:33) [2]
>
> Собственно по координатам.
> Если принять центр за 0, то х и у становятся очень понятными.
>


Если я правильно понял то после приведения координат для точек, принадлежащих каждой четверти квадранта нужно отдельную сортировку делать?


 
oldman ©   (2008-02-04 18:27) [7]


> alsov ©   (04.02.08 18:16) [6]


У тебя с математикой ваще хреново?
1 квадрант - x>0, y>0
2 квадрант - x>0, y<0
3 квадрант - x<0, y<0
4 квадрант - x<0, y>0

в чем проблема?
у тебя там что, точек несколько миллионов?
для несколькоих тысяч сортировка занимает несколько секунд.


 
alsov ©   (2008-02-04 18:33) [8]


> 1 квадрант - x>0, y>0
> 2 квадрант - x>0, y<0
> 3 квадрант - x<0, y<0
> 4 квадрант - x<0, y>0

Это понятно


> в чем проблема?

набор точек - результат sql запроса
вот и думаю как лучше сделать


 
ketmar ©   (2008-02-04 18:35) [9]

>[5] oldman ©(04.02.08 17:57)
ну да, я на твой ответ и намекал.

>[6] alsov ©(04.02.08 18:16)
зачем отдельно? одной функцией и проверяй. «многоуровневая» сортировка: сначала проверяешь квадранты, потом в зависимости от квадранта координаты. несколько простых условий.


 
ketmar ©   (2008-02-04 18:35) [10]

>[7] oldman ©(04.02.08 18:27)
>для несколькоих тысяч сортировка занимает несколько секунд.
ты забыл приставку «милли» или «микро»? %-)


 
ketmar ©   (2008-02-04 18:36) [11]

>[8] alsov ©(04.02.08 18:33)
>набор точек - результат sql запроса

вы что, сговорились сегодня мою психику травмировать?!


 
alsov ©   (2008-02-04 18:45) [12]


> ketmar ©   (04.02.08 18:36) [11]

Ни в коем случае не хотел



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2008.03.09;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.058 c
15-1201771165
Noter
2008-01-31 12:19
2008.03.09
Учебник


15-1201937868
SKIPtr
2008-02-02 10:37
2008.03.09
Помогите с выбором материнской платы


2-1202839610
Igor23
2008-02-12 21:06
2008.03.09
апостроф


2-1202826052
Ega23
2008-02-12 17:20
2008.03.09
Прочитать екселевский файл, открытый из Excel


15-1201948234
ketmar
2008-02-02 13:30
2008.03.09
задачка





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский