Главная страница
    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.041 c
15-1165564392
vajo
2006-12-08 10:53
2006.12.31
Американцы собираются на луну в 20году


2-1165962183
Khabibulin
2006-12-13 01:23
2006.12.31
Календарь


15-1165484004
Strate
2006-12-07 12:33
2006.12.31
Нда... Прослушка компов всего мира..


15-1165740768
Cyrax
2006-12-10 11:52
2006.12.31
Системное/низкоуровневое программирование: C vs C++


15-1165432260
Kerk
2006-12-06 22:11
2006.12.31
Погода





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