Главная страница
    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.47 MB
Время: 0.059 c
11-1142575284
Unknown Mystic
2006-03-17 09:01
2006.12.31
Ошибка в TKOLOpenDirDialog из MCK?


2-1166023874
azl
2006-12-13 18:31
2006.12.31
ArcCos x(квадрат)


15-1165593519
wl
2006-12-08 18:58
2006.12.31
вот, ищу работу програмистом. в москве...


4-1155966130
Андрей Пл
2006-08-19 09:42
2006.12.31
Вопрос по структуре DCB при работе с СОМ портом


2-1165692889
FIL-23
2006-12-09 22:34
2006.12.31
QReport





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский