Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   програмное рисование (http://www.flasher.ru/forum/showthread.php?t=67229)

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

Цитата:

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

А MovieClip.getBounds() придумали зря ;)

iNils 28.07.2005 18:35

Цитата:

Сообщение от Romasty
А 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

Цитата:

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

Мало того мне по этим точкам еще прийдется перерисовывать, плюс градиенты. Я думаю массивы для этого использовать.
Спасибо за советы, но пока от этого не легче, слишком много условий, буду пробовать.

D12 28.07.2005 20:58

Вложений: 1
эх .........................

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

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

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


Часовой пояс GMT +4, время: 17:29.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.