Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.31;
Скачать: CL | DM;

Вниз

Многоугольник и окружность   Найти похожие ветки 

 
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 вся ветка

Текущий архив: 2006.12.31;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.046 c
3-1160737584
Antoxa2005
2006-10-13 15:06
2006.12.31
Подскажите, а как сменить пароль пользователя SYSDBA программно?


15-1165680832
SkySpeed
2006-12-09 19:13
2006.12.31
Глючит запись с видеокамеры и с тв-тюнера... как быть?


11-1143099799
LAutour
2006-03-23 10:43
2006.12.31
Вопрос по синхронизации прокрутки двух KolListBox


15-1166046224
Петров-Пивкин
2006-12-14 00:43
2006.12.31
Штрих Шеффера (NAND)


8-1147343765
Rule
2006-05-11 14:36
2006.12.31
как объеденить огромное количество изображений PNG