Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2011, 12:29   #1
Atoris
Пользователь
 
Регистрация: 10.10.2010
Сообщений: 32
Восклицание Delphi. Canvas. Геометрия

Есть следующая работающая программа:
Курсором отметить множество точек на TImage. Провести треугольник с определёнными вершинами из множества этих точек таким образом, чтобы разность между количеством точек внутри треугольника и снаружи треугольника была наименьшей.

Задача: Переделать программу так, чтобы вместо треугольников были окружности.
Помогите пожалуйста.

ссылка на прогу http://zalil.ru/31033586
Atoris вне форума Ответить с цитированием
Старый 15.05.2011, 13:00   #2
Swarog
Форумчанин
 
Аватар для Swarog
 
Регистрация: 26.01.2010
Сообщений: 215
По умолчанию

для каждой точки находишь растояние от нее до центра картинки, сортируешь эти данные.
допустим эти длины в масссиве А, n-кол-во точек, точек должно быть минимум две
вычисляешь значение радиуса

R := round(a[n shr 1] + a[(n shr 1) + 1]) div 2;



строишь окружность с центром в центре картинки и радиусом R
Могу лишь пнуть в нужном направлении (ну или как получится)
Swarog вне форума Ответить с цитированием
Старый 15.05.2011, 13:50   #3
Atoris
Пользователь
 
Регистрация: 10.10.2010
Сообщений: 32
По умолчанию

Цитата:
Сообщение от Swarog Посмотреть сообщение
для каждой точки находишь растояние от нее до центра картинки, сортируешь эти данные.
допустим эти длины в масссиве А, n-кол-во точек, точек должно быть минимум две
вычисляешь значение радиуса

R := round(a[n shr 1] + a[(n shr 1) + 1]) div 2;



строишь окружность с центром в центре картинки и радиусом R
так центр окр-ти не всегда должен быть в центре картинки , это лишь частный случай
Atoris вне форума Ответить с цитированием
Старый 15.05.2011, 14:55   #4
Swarog
Форумчанин
 
Аватар для Swarog
 
Регистрация: 26.01.2010
Сообщений: 215
По умолчанию

тогда в качестве центра отсчета выберите любую точку, единственный минус состоит в том что окружность может выходить за рамки картинки, а так все тоже самое
Могу лишь пнуть в нужном направлении (ну или как получится)
Swarog вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Canvas. Геометрия Atoris Общие вопросы Delphi 0 15.05.2011 11:09
Canvas в Delphi Claster Помощь студентам 1 10.05.2011 16:29
Вычислительная геометрия, Delphi/Pascal holy_0dmin Фриланс 9 24.04.2011 07:26
Геометрия Delphi Alex Cones Общие вопросы Delphi 4 27.07.2009 14:11
Геометрия и Delphi Mollerat Помощь студентам 4 16.03.2009 22:54