PDA

Просмотр полной версии : програмное рисование


Futs
28.07.2005, 12:37
каким образом можно отловить точки пересечения линий у двух прямоугольников?

iNils
28.07.2005, 16:28
по координатам прямоугольников и их размерам.

Король
28.07.2005, 16:37
iNils, не все так просто. я тоже так подумал. а если прямоугольники пересекаются под углом?

Futs
28.07.2005, 16:45
вот то-то и оно под углом, и координаты могут меняться

iNils
28.07.2005, 16:47
тогда надо задачу ставить подробнее. то что было сказано про прямоугольники, а не про произвольные фигуры, трактовалось мной как одинаковая ориентация.

Король
28.07.2005, 16:56
ну вообще-то задача решаемая. ща я те нарисую и выложу

Futs
28.07.2005, 17:01
спасибо, а то я долго уже думаю над этим вопросом, и проект не могу доделать

genius
28.07.2005, 17:16
2 Futs: если с математикой проблем нет, то задача решается достаточно просто

1. определяются координаты вершин прямоугольников
2. определяются уравнения прямых, на которых лежат стороны прямоугольников
3. определяются точки пересечения прямых
4. из этих точек выбираются те, которые лежат в пределах отрезков - сторон прямоугольника, которые ты проверял на пересечение

Король
28.07.2005, 17:25
вообще genius дело говорит. я тригрнометрически нашел, а у него проще способ и универсальнее

iNils
28.07.2005, 17:33
вообще genius дело говорит. я тригрнометрически нашел, а у него проще способ и универсальнее
Это очевидно же. Можно сразу в прямоугольники пустые объекты ставить по углам, чтобы они свои координаты давали.

Futs
28.07.2005, 17:51
спасибо всем, буду делать, если не будет получаться, напишу

Ромастый
28.07.2005, 18:17
Это очевидно же. Можно сразу в прямоугольники пустые объекты ставить по углам, чтобы они свои координаты давали.
А MovieClip.getBounds() придумали зря ;)

iNils
28.07.2005, 18:35
А MovieClip.getBounds() придумали зря ;)
Нет :) Совсем забыл... Но мой вариант имеет один плюс, его можно спокойно применять и в трехугольнике и в пятиугольнике...
Хотя тут конечно getBounds() лучше.

Futs
28.07.2005, 18:43
MovieClip.getBounds() подойдет к прямоугольнику, а к паралелограму нет

Ромастый
28.07.2005, 18:49
Дык, речь шла о прямоугольниках... нет? :)
А вообще самое грамотной решение у genius'а.

iNils
28.07.2005, 18:52
а других тут и не было.

Futs
28.07.2005, 19:10
Дык, речь шла о прямоугольниках... нет? :)
А вообще самое грамотной решение у genius'а.
Мало того мне по этим точкам еще прийдется перерисовывать, плюс градиенты. Я думаю массивы для этого использовать.
Спасибо за советы, но пока от этого не легче, слишком много условий, буду пробовать.

D12
28.07.2005, 20:58
эх .........................

меня только тут и нехватало ))))

вам про гет бвунс дело говорят а они в тригонометрию )))
в данном случае если вам делать нечего то нужно строить колизью )))
но мы ведь умные люди для прямоугольников можно обойтись и обычным хит тестом .
а вот если с умом использовать гет баунс , то можно отследить все что угодно )))))))

P.s. старо как флеш ))))))))))))))
а до построения колизий вам еще рано этим заниматся )