Форум: "Media";
Текущий архив: 2006.12.31;
Скачать: [xml.tar.bz2];
ВнизМногоугольник и окружность Найти похожие ветки
← →
MasteR2 © (2006-05-14 11:48) [0]Может кто сталкивался, подскажите. Задание такое: дан многоугольник(необязательно выпуклый) координатами своих вершин, построить описанную вокруг него окружность.
Проблема в вычислении радиуса(диаметра) этой окружности и размещении её вокруг многоугольника. Многоугольник строю через Polygon, а окружность через Shape.
← →
antonn © (2006-05-14 12:04) [1]найти габариты многоугольника (крайние координаты), а дальше ничего сложного...
← →
MasteR2 © (2006-05-14 12:12) [2]Я об этом подумал, щас пробую
← →
MasteR2 © (2006-05-14 12:57) [3]Нашел. Ну а как Shape к этому многоугольнику прилепить?
← →
antonn © (2006-05-14 13:07) [4]хы-хы, а то, как я когда то делал, не совсем описывание. Т.е. не минимального радиуса:)
← →
antonn © (2006-05-14 13:17) [5]т.е. я находил границы прямоугольника, описывающего многоугольник, находил центр, выделял ближайшую и дальнуюю точку многоугольника относительно центра (расстояние до центра), брал среднее значение расстояний из этих двух точек, и сроил "новую точку центра", используя среднее расстояние к тем ближайшей и дальней точкам (т.е. равнобедренный треугольник получался). А дальше выводил окружность в "новой точке центра" и радиусом "среднего расстояния" :)
← →
MBo © (2006-05-14 14:08) [6]Для нахождения минимальной описывающей набор точек окружности есть алгоритм "Miniball", однако он довольно нетривиальный, поэтому для небольшого числа точек можно обойтись переборным O(N^4) алгоритмом - перебираем все тройки, не лежашие на одной прямой, и проверяем, что остальные точки лежат внутри построенной на очередной тройке точек окружности
← →
MasteR2 © (2006-05-14 14:24) [7]Допустим, диаметр найден. Как тогда мне Shape прилипить к многоугольнику?
Или вообще на Shape забить и использовать что-то другое? Только что?
← →
MBo © (2006-05-14 14:50) [8]Если нет необходимости использовать графический объект, то, конечно, вместо Shape надо Ellipse рисовать
← →
MasteR2 © (2006-05-14 15:51) [9]В Ellipse какие углы прямоугольника пишутся?
← →
MBo © (2006-05-14 15:52) [10]>В Ellipse какие углы прямоугольника пишутся?
В справке написано
← →
MasteR2 © (2006-05-14 16:03) [11]Верхний левый и нижний правый. Спасибо
← →
MasteR2 © (2006-05-14 19:15) [12]Слушайте, а в Delphi можно построить окружность типа Паскаля?
MoveTo(X,Y);
Circle(radiusX ,radiusY);
← →
Dead Man (2006-05-14 23:45) [13]Можно, если написать процедуру Circle.
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2006.12.31;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.05 c