Главная страница
    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.053 c
15-1202094345
Slider007
2008-02-04 06:05
2008.03.09
С днем рождения ! 4 февраля 2008 понедельник


2-1202659042
Strate
2008-02-10 18:57
2008.03.09
Скрыть вкладки в TPageControl


15-1202038145
Галинка
2008-02-03 14:29
2008.03.09
Вопрос к преподавателям


2-1202820730
dusha
2008-02-12 15:52
2008.03.09
И снова динамические ставки


15-1202135900
oldman
2008-02-04 17:38
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский