Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
8-1147428756
Torin
2006-05-12 14:12
2006.12.31
Модем, проиграть wav и записать ответ


15-1165826256
zdm
2006-12-11 11:37
2006.12.31
Перенос параметров


15-1165410940
Gero
2006-12-06 16:15
2006.12.31
Mylene Farmer «California»


1-1163360090
RASkov
2006-11-12 22:34
2006.12.31
"Всплывающее окно"


2-1165921849
max999
2006-12-12 14:10
2006.12.31
Вопрос по TTable





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский