PDA

View Full Version : окружность


BlackMoon
May 31, 2004, 13:14
дана матрица
две точки
p1(х1,у1), p2(х2,у2).
p1 является центром окружности
нужно найти p3, где p3 является следующей точкой
по часавой или против не важно.
смещение можно взять за угол <=10 градусов.

greka
May 31, 2004, 16:02
1. выбираем из матрицы те точки, расстояние которых к p1 равно (либо ~ равно, с каким-нить threshold-ом) distance(p1, p(i)) ~= distance(p1, p2)

(кстати, этот threshold и определяет "градусность" <=10 )

2. поиск ближайшей точки к точке p2 среди множества отобранных точек.

----------------------------

resume: Тебе нужна 1 функция расчета расстояния между двумя точками , и больше ничего.

;)

BlackMoon
Jun 1, 2004, 04:36
этот вариант у мениа тоже был
просто стало интересно
возможн ли более оптимальное решение?

greka
Jun 1, 2004, 07:14
т.к. матрица не сортирована, более оптимального не может быть.

greka
Jun 1, 2004, 19:47
функция расчета расстояния: можно не расчитывать квадратный корень, а брать модуль, побыстрее будет.