Текущий архив: 2011.11.06;
Скачать: CL | DM;
Вниз
Как найти точки пересечения 2-х прямоугольников? Найти похожие ветки
← →
eXAAAXe (2011-07-09 12:54) [0]Всем привет.
Есть 2 прямоугольника, если они пересекаются (InterSectRect), то
необходимо найти точки их пересечения. Таких точек будет понятно что тоже 2. При условии не вложенности одного прямоугольника в другой.
← →
Palladin © (2011-07-09 12:58) [1]с этой задачей даже школьник справится, который знает уравнение нахождения точки пересечения двух прямых
← →
MBo © (2011-07-09 13:17) [2]А какие у этой функции параметры?
← →
Andy BitOff © (2011-07-09 13:24) [3]Насколько мне известно, функция вернет рект образованный and"ом пересечения ректов, а отсюда вычеслить где у них были пересечения даже школьником быть не надо, достаточно в детский сад было ходить.
← →
Andy BitOff © (2011-07-09 13:32) [4]*вычислить
=)
← →
palva © (2011-07-09 13:33) [5]В отличие от программистов школьник знает, что пересечение прямоугольников может быть восьмиугольником.
← →
antonn © (2011-07-09 15:03) [6]
> В отличие от программистов школьник знает, что пересечение
> прямоугольников может быть восьмиугольником.
InterSectRect
← →
oldman © (2011-07-09 15:07) [7]
> Таких точек будет понятно что тоже 2. При условии не вложенности
> одного прямоугольника в другой.
да ну?
а соприкасание сторонами мы не учитываем?
← →
Inovet © (2011-07-09 15:16) [8]> [5] palva © (09.07.11 13:33)
> В отличие от программистов школьник знает, что пересечение
> прямоугольников может быть восьмиугольником.
И одноугольником.
← →
Palladin © (2011-07-09 19:30) [9]
> Andy BitOff © (09.07.11 13:24) [3]
Ну панимаишь... прямоугольники совсем не обязательно должны быть параллены и перпендикулярны осям ) :P
← →
Palladin © (2011-07-09 19:31) [10]* параллельны
← →
Inovet © (2011-07-09 19:58) [11]> [9] Palladin © (09.07.11 19:30)
> прямоугольники совсем не обязательно должны быть параллены и перпендикулярны осям
И плоскостям. Таких ограничений в условии нет.
← →
antonn © (2011-07-09 20:15) [12]там есть латинские буковки которые сужают направление ваших фантазий
← →
Palladin © (2011-07-09 20:18) [13]если те латинские буковки объединить с текстом вопроса то можно сделать заключение, что автор совсем даун.... вообще напрочь даун... на бумажке не мочь нарисовать два пересекающихся прямоугольника и разобратся какой X и какой Y будут точками, это реально надо быть дауном... а если то что написал Andy имеет место быть, то ниже дауном быть уже нельзя...
← →
Andy BitOff © (2011-07-09 21:58) [14]> Palladin © (09.07.11 19:30) [9]
> Ну панимаишь...
Дык я-то понимаю ;) Но...
Смотрим условия задачи:
> если они пересекаются (InterSectRect), то
Т.е. (имхо) то, что они пересекаются уже определено или будет определенно в ближайшее время. И именно с помощью данной функции, а она может принять в качестве параметра только структуру Rect, что само по себе исключает возможность не параллельных и не перпендикулярных осям прямоугольников. Что в свою очередь исключает "что пересечение прямоугольников может быть восьмиугольником".
Единственная проблема, эта та, которую озвучил автор, но она тоже решается индивидуами из детского сада.
Вот, собстно, такая имха =)
← →
Palladin © (2011-07-09 22:00) [15]это все хорошо.... )) но поводу Детского Сада "Малинка" я уже рассказал в 13 )
и вопще... че так мало 500кб/с..
← →
Andy BitOff © (2011-07-09 22:08) [16]> Palladin © (09.07.11 22:00) [15]
> это все хорошо.... )) но поводу Детского Сада "Малинка"
> я уже рассказал в 13 )
А-а-а, ну эта... Я дальше 10 не читал =)
> Palladin © (09.07.11 22:00) [15]
> и вопще... че так мало 500кб/с..
Фига ты дал... Мало ему... Я, чай, не провайдер и собственного жирного провода не имею =))))
← →
antonn © (2011-07-09 22:10) [17]
> но поводу Детского Сада "Малинка" я уже рассказал в 13 )
как приятно быть умным, да? :)
← →
Inovet © (2011-07-09 22:19) [18]> [15] Palladin © (09.07.11 22:00)
> и вопще... че так мало 500кб/с..
Каких ещё 500 кб/с? Где бесплатно раздают?
← →
* © (2011-07-10 00:09) [19]
> как приятно быть умным, да? :)
им приятно считать себя умными
← →
Palladin © (2011-07-10 07:30) [20]среди такого количества тупизны, даже средней руки соображающий человек, может себя гением считать...
← →
Palladin © (2011-07-10 07:34) [21]
> * © (10.07.11 00:09) [19]
))) какая глупокомысленная поправка ) ну, звЁзды они как жирафы, выше всех, им видней
← →
Очень злой (2011-07-10 10:26) [22]
> Таких точек будет
> понятно что тоже 2.
Почему 2? Кому понятно?
← →
Andy BitOff © (2011-07-10 13:15) [23]> Очень злой (10.07.11 10:26) [22]
> Почему 2? Кому понятно?
Еще один? =)
← →
Омлет © (2011-07-10 15:35) [24]Точек пересечения двух прямоугольников может быть от 1 до бесконечности.
← →
oldman © (2011-07-10 21:45) [25]
> Омлет © (10.07.11 15:35) [24]
От 0 до бесконечности
← →
Очень злой (2011-07-11 00:06) [26]
> Омлет © (10.07.11 15:35) [24]
>
> Точек пересечения двух прямоугольников может быть от 1 до
> бесконечности.
Вроде как, если стороны прямоугольников параллельны координатным осям, то 1,2,4, бесконечность...
← →
Amoeba_ (2011-07-11 00:32) [27]
> Вроде как, если стороны прямоугольников параллельны координатным
> осям, то 1,2,4, бесконечность...
... про 0 тоже не стоит забывать ...
Что же касается бесконечности, то это совершенно верно с точки зрения геометрии, но никак не компьютера - тут их количество всегда будет конечным.
← →
Marser © (2011-07-11 10:35) [28]По координатам вершин прямоугольника создаются уравнения прямых по сторонам прямоугольников, затем по ним находятся пересечения прямых первого прямоугольника со вторым в значимых пределах, т.е., в пределах его вершин.
Точек может быть разное количество, так как в условии ничего не сказано о параллельности и равенстве сторон.
← →
Очень злой (2011-07-11 10:44) [29]
> Marser © (11.07.11 10:35) [28]
> ...
> Точек может быть разное количество, так как в условии ничего
> не сказано о параллельности и равенстве сторон.
Что имеется ввиду под равенством сторон?
← →
>|< (2011-07-11 14:54) [30]
> Есть 2 прямоугольника, если они пересекаются (InterSectRect),
> то
> необходимо найти точки их пересечения. Таких точек будет
> понятно что тоже 2. При условии не вложенности одного прямоугольника
> в другой.
Если прямоугольники пересекаются, значит 0 не вариант ответа.
Если их стороны не смежны, значит бесконечность тоже не вариант.
При произвольном пересечении может быть 1, 2, 3, 4, 5, 6, 7, 8 точек пересечения. При непарном количестве точек пересечения одна из вершин первого прямоугольника принадлежит стороне другого.
При парном имеет место пересечение их сторон.
← →
Омлет © (2011-07-11 15:56) [31]> Amoeba_ (11.07.11 00:32) [27]
> Что же касается бесконечности, то это совершенно верно с точки зрения геометрии, но никак не компьютера - тут их количество всегда будет конечным.
Компьютер с точки зрения eXAAAXe найдет только 2 точки )
← →
Inovet © (2011-07-11 16:04) [32]> [30] >|< (11.07.11 14:54)
> При непарном
А при парнОм в 11-мерном пространстве Калаби-Яу? Не знаю чё эт такое, но, говорят, может целая Вселенная, и не одна, получиться. Рядом в ветке про Большой Взрыв.
Страницы: 1 вся ветка
Текущий архив: 2011.11.06;
Скачать: CL | DM;
Память: 0.52 MB
Время: 0.003 c