Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Простая фигура, описывающая две другие 
:(
    Опции темы
EKoshelev
Дата 26.11.2004, 08:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 509
Регистрация: 1.9.2004

Репутация: нет
Всего: нет



val, четырёхугольник может быть не выпуклым? (не знаю как правильно сказать)


--------------------
Вежливым и адекватным предлагаю общаться на "ты".
PM MAIL   Вверх
val
Дата 26.11.2004, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Program developer
**


Профиль
Группа: Участник Клуба
Сообщений: 992
Регистрация: 14.1.2003
Где: г. Киев

Репутация: 1
Всего: 7



Цитата
val, четырёхугольник может быть не выпуклым? (не знаю как правильно сказать)


Да. Вот пример невыпуклого четырёхугольника...

Код



                                       /\
                                      /  \
                                     /    \
                                    /      \
                                   /   /\   \
                                  /  /    \  \
                                 / /        \ \
                                //            \\
                               /                \


Добавлено @ 10:29
Пришлось воспользоваться тегом для кода, чтобы картинка не испортилась... smile

Это сообщение отредактировал(а) val - 26.11.2004, 10:28


--------------------
Терпимость - величайшее благо человечества...
Ярчайший признак интеллекта – постоянно хорошее настроение…
PM MAIL ICQ   Вверх
EKoshelev
Дата 26.11.2004, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 509
Регистрация: 1.9.2004

Репутация: нет
Всего: нет



val Может ты не понял. Это перефразировка моего вопроса об угле больше 180 градусов.


--------------------
Вежливым и адекватным предлагаю общаться на "ты".
PM MAIL   Вверх
Guest
Дата 26.11.2004, 23:35 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











А полученный прямоугольник не бедет ведь наименьшим четырехугольником?
Тогда нужно искать четырк точки: верх-низ и лево-право.

Кстати, Cardinal, на чем вы реализовали данный алгоритм?
  Вверх
cardinal
Дата 27.11.2004, 01:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 5
Всего: 99



Цитата(Guest @ 26.11.2004, 22:35)
полученный прямоугольник не бедет ведь наименьшим четырехугольником?

Кстати о птичках... Ты прав... Что делать... Наверно нумерически решать придется, то есть касательные к крайним точкам вертеть и смотреть на результат.
Цитата(Guest @ 26.11.2004, 22:35)
Кстати, Cardinal, на чем вы реализовали данный алгоритм?

Начем? Не знаю... smile Сидел, сидел и придумал smile Но эту фишку с треугольниками еще доказать надо...



--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Joni
Дата 27.11.2004, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 21.11.2004

Репутация: нет
Всего: нет



Вот засада!
Мысль насчет четырех крайних точках не в счет. Ведь можно получить случаи
отсечения заданных фигур.

Cardinal, рисунок вы в графичем редакторе нарисовали?

PM MAIL   Вверх
cardinal
Дата 27.11.2004, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 5
Всего: 99



Цитата(Joni @ 27.11.2004, 18:15)
Ведь можно получить случаи
отсечения заданных фигур.

Это помоему нет, но вот минимальную площадь таким образом не получить. То есть этот прямоугольник не будет иметь наименьшую площадь...
Цитата(Joni @ 27.11.2004, 18:15)
Cardinal, рисунок вы в графичем редакторе нарисовали?

Можно на ты smile Да, зашел в paint и нарисовал smile Так попонятней просто должно быть, что я имел в виду...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Joni
Дата 27.11.2004, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 21.11.2004

Репутация: нет
Всего: нет



А может провести четыре линии так, чтобы каждая содержала максимальное число точек.
Получим какое-то множество четырехугольников (т.к. линий может окакзаться больше чем 4)
Посчитать площади. И выбрать минимальный. smile
PM MAIL   Вверх
cardinal
Дата 27.11.2004, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 5
Всего: 99



Цитата(Joni @ 27.11.2004, 18:47)
четырехугольников

А вообще четырехугольник с прямыми углами или нет?


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Joni
Дата 27.11.2004, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 21.11.2004

Репутация: нет
Всего: нет



Необязательно.
Можно рассматривать любой четырехугольник.
PM MAIL   Вверх
Joni
Дата 28.11.2004, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 21.11.2004

Репутация: нет
Всего: нет



Val вы говорили:
Есть такая вещь, как рекурсивный алгоритм заливки области
Итак зальем данные фигуры, но ведь они не будут простыми smile
PM MAIL   Вверх
cardinal
Дата 29.11.2004, 00:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 5
Всего: 99



Joni, то что предложил val не прокатит... Зальется офигенная площадь, а не минимальная smile Таким образом нельзя задать нормально условия, чтобы рекурсия правильно закончилась... Тем более что у val ошибки в том, что он написал.
Надо было по крайней мере так написать:
Код

DrawPixel(int x, int y)
{
while (/* покрыли ли мы всё ) */)
{
  DrawPixel (x + 1, y);
  DrawPixel (x, y + 1);
  DrawPixel (x - 1, y);
  DrawPixel (x, y - 1);
}
}



--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Joni
Дата 1.12.2004, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 21.11.2004

Репутация: нет
Всего: нет



Ой-ой что же делать!
Вот не ммогу найти как по координатам фигуры найти её центр (н-р, тяжести)
Думаю, что эта найденная точка поможет в нахождении минимыльной окружности.
PM MAIL   Вверх
cardinal
Дата 1.12.2004, 21:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 5
Всего: 99



Ладно... Смотрим на картинку и не пугаемся smile

У нас два объекта, в этом примере это будет треугольник и "почтикруг" smile
Залиты они или нет разницы не имеет (если я ошибаюсь, то поправьте меня smile) Поэтому мы их заливаем. Как? Без разницы, тут пока не в эффективности дело. Берем и заливаем рекурсивно, как до этого было описано начиная с любой внутренней точки объекта (например центр круга).
Теперь есть две формулы, по которым мы получим x и y координату точки равновесия (центр тяжести). На картинке попытался объяснить кто такие xi и yi. Это координаты каждой точки Pi, которая пренадлежит той или иной фигуре (какой без разницы). Gi эта сила, которая давит на каждую точку. Здесь все силу равны поэтому все Gi = 1, то есть сумма Gi просто равна кол-ву точек. Ну короче я сейчас подумал, что все вообще просто становится smile Сверху в стоит просто сумма xi (или yi), т.к. все Gi = 1. Ну и остается поделить сумму всех координат точек по оси x на кол-во точек и получить xs. Точно также: сумма всех координат точек по оси y поделенная на кол-во точек обоих фигур (уже посчитали раньше) даст ys. Точка S(xs|ys) и будет центром тяжести...

О... Идея smile
Половина того, что написано выше делать не надо smile То есть делаем все также, но фигуры не заливаем. Меньше точек - быстрее посчитается, а результат будет тем же.

Действуй. smile

Присоединённый файл ( Кол-во скачиваний: 1 )
Присоединённый файл  schwerp.jpg


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
~FoX~
Дата 2.12.2004, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 2
Всего: 68



А не овал ли будет с наименьшей площадью?


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0859 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.