Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 2 412

/ вопрос открыт /

Приветствую, уважаемые эксперты!
имеется 2 массива точек с координатами (Х . У). каждый массив представляет собой замкнутую фигуру на плоскости. Как мне найти площадь пересечения этих фигур?Как найти узлы(вершины-как хотите) полученной в пересечении фигуры? Мне нужна хотя бы площадь! Может кто встречался с такой задачей?

MAGGA Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: MAGGA (статус: Посетитель)
Вопрос отправлен: 12 февраля 2009, 16:32
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 6; последнее сообщение — 25 февраля 2009, 15:38; участников в обсуждении: 2.
Вадим К

Вадим К (статус: Академик), 12 февраля 2009, 19:08 [#1]:

Можно решить, почему нет. например графически. Можете ли их нарисовать для начала?
А можно и геометрически. Где то была формула, для определения, находиться ли точка внутри фигуры или нет. А дальше просто в цикле перебираем точки одной фигуры на предмет вхождения в другую и наоборот. Сумманое кол-во этих точек и будет искомая фигура. Но тут есть загогулина. Если одна с фигур не является выпуклой, то возможно двойное и больше пересечение. А тут уже засада...
Галочка "подтверждения прочтения" - вселенское зло.
MAGGA

MAGGA (статус: Посетитель), 16 февраля 2009, 09:01 [#2]:

Формулу для определения нах-ся ли точка в контуре или нет у меня есть-но перебор точек будет слишком долгим. Нарисовать? ну я лучше словами:если на листе бумаги в клетку нарисовать любой замкнутый контур(может быть и невыпуклым), то мне нужны площади каждой клетки попавшей в контур
Вадим К

Вадим К (статус: Академик), 16 февраля 2009, 09:39 [#3]:

Перебор будет слишком долгий? Вы что вручую перебирать собрались. Компьютер на то и компьютер, пусть перебирает.
А нарисовать... я имел ввиду нарисовать на форме. а не на бумаге в клеточку. Но считать клеточки (пиксели) надо. Другое дело, как...
Галочка "подтверждения прочтения" - вселенское зло.
MAGGA

MAGGA (статус: Посетитель), 16 февраля 2009, 16:20 [#4]:

223 -количество клеток по Х 184-количество клеток по У
1.21800000000000E+0005 1.44100000000000E+0005 - это границы поХ
5.11000000000000E+0004 6.95000000000000E+0004- это границы поY
а вот сам контур, по которому нужно определить площади клеток, попавших в него
#Contour:
1.27515000000000E+0005 5.74320000000000E+0004
1.27100000000000E+0005 5.72740000000000E+0004
1.26524000000000E+0005 5.73630000000000E+0004
1.26386000000000E+0005 5.78640000000000E+0004
1.26451000000000E+0005 5.83870000000000E+0004
1.26278000000000E+0005 5.89030000000000E+0004
1.25927000000000E+0005 5.91830000000000E+0004
1.25803000000000E+0005 5.96210000000000E+0004
1.26115000000000E+0005 5.98870000000000E+0004
1.26596000000000E+0005 6.00470000000000E+0004
1.27083000000000E+0005 6.03490000000000E+0004
1.26881000000000E+0005 6.11640000000000E+0004
1.27149000000000E+0005 6.15040000000000E+0004
1.27145000000000E+0005 6.21830000000000E+0004
1.27553000000000E+0005 6.29190000000000E+0004
1.27561000000000E+0005 6.29180000000000E+0004
1.28082000000000E+0005 6.29770000000000E+0004
1.28082000000000E+0005 6.33030000000000E+0004
1.28221000000000E+0005 6.34560000000000E+0004
1.27957000000000E+0005 6.40920000000000E+0004
1.28775000000000E+0005 6.38940000000000E+0004
1.29344000000000E+0005 6.39170000000000E+0004
1.29751000000000E+0005 6.38390000000000E+0004
1.29869000000000E+0005 6.38150000000000E+0004
1.30298000000000E+0005 6.37040000000000E+0004
1.31946000000000E+0005 6.43020000000000E+0004
1.32517000000000E+0005 6.41650000000000E+0004
1.32835000000000E+0005 6.40680000000000E+0004
1.32937000000000E+0005 6.40370000000000E+0004
1.33511000000000E+0005 6.38440000000000E+0004
1.33654000000000E+0005 6.37880000000000E+0004
1.33961000000000E+0005 6.36630000000000E+0004
1.34382000000000E+0005 6.33790000000000E+0004
1.34842000000000E+0005 6.31310000000000E+0004
1.35221000000000E+0005 6.31590000000000E+0004
1.35461000000000E+0005 6.30940000000000E+0004
1.35556000000000E+0005 6.29480000000000E+0004
1.35854000000000E+0005 6.24620000000000E+0004
1.36089000000000E+0005 6.23360000000000E+0004
1.36153000000000E+0005 6.17250000000000E+0004
1.36875000000000E+0005 6.13830000000000E+0004
1.37145000000000E+0005 6.12290000000000E+0004
1.38221000000000E+0005 6.09460000000000E+0004
1.38273000000000E+0005 6.07190000000000E+0004
1.37452000000000E+0005 6.05960000000000E+0004
1.36955000000000E+0005 6.04350000000000E+0004
1.36816000000000E+0005 6.00200000000000E+0004
1.36846000000000E+0005 5.97740000000000E+0004
1.36271000000000E+0005 5.95620000000000E+0004
1.36312000000000E+0005 5.91740000000000E+0004
1.34916000000000E+0005 5.77190000000000E+0004
1.34537000000000E+0005 5.75070000000000E+0004
1.34647000000000E+0005 5.69400000000000E+0004
1.34253000000000E+0005 5.69370000000000E+0004
1.33888000000000E+0005 5.69390000000000E+0004
1.33286000000000E+0005 5.72950000000000E+0004
1.32334000000000E+0005 5.77540000000000E+0004
1.31865000000000E+0005 5.78990000000000E+0004
1.31535000000000E+0005 5.80360000000000E+0004
1.31290000000000E+0005 5.82360000000000E+0004
1.30935000000000E+0005 5.83660000000000E+0004
1.29992000000000E+0005 5.83450000000000E+0004
1.29088000000000E+0005 5.85990000000000E+0004
1.28580000000000E+0005 5.86230000000000E+0004
1.28236000000000E+0005 5.85140000000000E+0004
1.27996000000000E+0005 5.83100000000000E+0004
1.27747000000000E+0005 5.79150000000000E+0004
Вадим К

Вадим К (статус: Академик), 16 февраля 2009, 16:54 [#5]:

То было два контура, теперь один и какие то границы. Определитесь
Галочка "подтверждения прочтения" - вселенское зло.
MAGGA

MAGGA (статус: Посетитель), 25 февраля 2009, 15:38 [#6]:

223 -количество клеток по Х 184-количество клеток по У
Ax=1.21800000000000E+0005 Bx=1.44100000000000E+0005 - это границы поХ
Ay=5.11000000000000E+0004 By=6.95000000000000E+0004- это границы поY
223*184-количество клеток с координатами(границы клеток и есть контур)
т.е. 1ая клетка имеет контур:
AX AY
AX+(BX-AX)/223 AY
AX+(BX-AX)/223 AY+(BY-BX)/184
AX AY+(BY-BX)/184

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 26 сентября 2020, 05:02
Выполнено за 0.02 сек.
Рейтинг@Mail.ru