View Full Version : окружность
BlackMoon
May 31, 2004, 13:14
дана матрица
две точки
p1(х1,у1), p2(х2,у2).
p1 является центром окружности
нужно найти p3, где p3 является следующей точкой
по часавой или против не важно.
смещение можно взять за угол <=10 градусов.
1. выбираем из матрицы те точки, расстояние которых к p1 равно (либо ~ равно, с каким-нить threshold-ом) distance(p1, p(i)) ~= distance(p1, p2)
(кстати, этот threshold и определяет "градусность" <=10 )
2. поиск ближайшей точки к точке p2 среди множества отобранных точек.
----------------------------
resume: Тебе нужна 1 функция расчета расстояния между двумя точками , и больше ничего.
;)
BlackMoon
Jun 1, 2004, 04:36
этот вариант у мениа тоже был
просто стало интересно
возможн ли более оптимальное решение?
т.к. матрица не сортирована, более оптимального не может быть.
функция расчета расстояния: можно не расчитывать квадратный корень, а брать модуль, побыстрее будет.
vBulletin® v3.6.8, Copyright ©2000-2008, Jelsoft Enterprises Ltd.