![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 | |
Форумчанин
Регистрация: 02.09.2008
Сообщений: 340
|
![]()
Все привет......известен центр и радиус, как узнать ближайшую точку к курсору в это радиусе?
Цитата:
|
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 28.07.2009
Сообщений: 189
|
![]()
по теореме пифагора!
с^2= (x1-x2)^2+(y1-y2)^2; находишь минимальный c^2 это и будет искомая точка
пишу программы для студентов и школьников на Pascal, Delphi, C++, WINAPI, assembler
обучаю программированию на паскале(дистанционно);mail: hruslow@gmail.com |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 09.06.2011
Сообщений: 388
|
![]()
Как то так ...
Код:
на неконкретные вопросы даю неконкретные ответы ...
Последний раз редактировалось Step_UA; 22.07.2011 в 19:29. |
![]() |
![]() |
![]() |
#4 | |
Форумчанин
Регистрация: 02.09.2008
Сообщений: 340
|
![]()
Перенес все на компоненты.............вопрос а как узнать ближайшую точку в области радиуса?
Код:
Цитата:
|
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 09.06.2011
Сообщений: 388
|
![]()
если вы под выражением "в области радиуса" подразумеваете точку на окружности, то изначально все так и было ... x0,y0 - центр круга; x1,y1 - любая точка; r - радиус; x,y-ближайшая точка на окружности
ЗЫ немного подправил код
на неконкретные вопросы даю неконкретные ответы ...
|
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 03.06.2009
Сообщений: 1,871
|
![]()
Вам надо в цикле перебрать все известные точки, сравнивая расстояние от них до центра. А самое минимальное значение нужно запомнить. вот и всё.
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
|
![]() |
![]() |
![]() |
#7 | |
Форумчанин
Регистрация: 02.09.2008
Сообщений: 340
|
![]() Код:
Цитата:
|
|
![]() |
![]() |
![]() |
#8 |
Участник клуба
Регистрация: 03.06.2009
Сообщений: 1,871
|
![]()
допустим, r - радиус вашей окружности. одна из точек - это конец курсора с точками xc:=Mouse.CursorPos.X и yc:=Mouse.CursorPos.Y. а остальные точки вокруг курсора могут быть у вас в массиве pixX[i] и pixY[i], где i=1..100, скажем так.
вам нужно перебрать все значения по индексу i: Код:
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
Последний раз редактировалось NetSpace; 26.07.2011 в 14:53. |
![]() |
![]() |
![]() |
#9 | |
Форумчанин
Регистрация: 02.09.2008
Сообщений: 340
|
![]()
ок спасибо.......может подскажите еще почему курсор мерцает и как я понимаю получает сразу 2 координаты
Код:
Цитата:
|
|
![]() |
![]() |
![]() |
#10 |
Участник клуба
Регистрация: 03.06.2009
Сообщений: 1,871
|
![]()
Хм, мерцает, если щёлкнуть правой клавишей мышки, а левая всё мерцание вылечивает. причём рисуются координатные оси...
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
рисование линии противоположно курсору | fate | Общие вопросы Delphi | 3 | 20.05.2011 22:42 |
Графика в TurboPascal: Процедуры, рисующие на экране смешанный лес (лес состоит из елей) по курсору | GreenDay | Помощь студентам | 2 | 04.05.2011 13:31 |
Точка доступа | SNUPY | Компьютерное железо | 9 | 18.02.2011 17:30 |
Ближайшая точка к заданной. Язык си | MirandaX | Помощь студентам | 6 | 26.05.2009 18:25 |
Точка на полигоне? | Роман Радер | Общие вопросы Delphi | 14 | 12.02.2007 17:08 |