28.05.2018, 09:24 [+3 UTC]
в нашей команде: 2 794 чел. | участники онлайн: 5 (рекорд: 21)

:: РЕГИСТРАЦИЯ

:: задать вопрос

:: все разделы

:: правила

:: новости

:: участники

:: доска почёта

:: форум

:: блоги

:: поиск

:: статистика

:: наш журнал

:: наши встречи

:: наша галерея

:: отзывы о нас

:: поддержка

:: руководство

Версия системы:
7.47 (16.04.2018)

Общие новости:
13.04.2018, 10:33

Форум:
15.05.2018, 18:49

Последний вопрос:
28.05.2018, 07:43

Последний ответ:
28.05.2018, 08:55

Последняя рассылка:
28.05.2018, 02:15

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
26.01.2010, 22:26 »
Dimon4ik
Даже не мог подумать, что все так просто! Я как только не пробовал обратиться к Sender. Ничего не выходило. А сейчас, попробовал как Вы написали - все работает! Это на много упростит код моих программ в дальнейшем. Отличный ответ! [вопрос № 176317, ответ № 258973]
06.03.2010, 00:29 »
Даниил Цветков
Содержательный и полный ответ. Спасибо большое [вопрос № 177048, ответ № 259911]

РАЗДЕЛ • С / С++

Создание программ на языках C и C++.

[администратор рассылки: Андрей Кузнецов aka Dr_Andrew (Старший модератор)]

Лучшие эксперты в этом разделе

Коцюрбенко Алексей aka Жерар
Статус: Мастер-Эксперт
Рейтинг: 232
CradleA
Статус: Профессор
Рейтинг: 113
solowey
Статус: 10-й класс
Рейтинг: 101

Перейти к консультации №:
 

Консультация онлайн # 66766
Раздел: • С / С++
Автор вопроса: Антонов Никита Вячеславович
Отправлена: 13.12.2006, 07:20
Поступило ответов: 1

Здравствуйте, уважаемые эксперты! Я вот пробую написать 2d игру, столкнулся с проблемой, как проверить, сталкиваются ли 2 прямоугольника, если они не просто имеют x и y (ну и ширину, длину), но и могут поворачиваться на произвольный угол.

Тоесть как проверить столкновение вращающихся спрайтов?

Желательно естествено пример с кодом, ибо в тригонометрии я не очень хорошо чешу (в школе ещё не проходили)

Заранее благодарен)

Состояние: Консультация закрыта

Здравствуйте, Антонов Никита Вячеславович!

Если они повёрнуты, то это уже полигоны. Соответственно к ним и другие алгоритмы применяются. Возможно, поможет то, что они выпуклые.

Я на память знаю только как проверить находится ли точка внутри полигона. Все методы весьма простые, но неочевидные. Так что придется их искать.

Чтобы не быть голословным - его словесное описание.

Из точки проводится произвольный луч (в реальности горизонтальный или вертикальный отрезок достаточно далеко) и для каждой стороны многоугольника проверяется пересекается ли она с ним. Если количество пересечений нечетное - то точка внутри.

Как проверить пересекаются ли два отрезка - это отдельный метод, такой же простой, но но такой же неочевидный если его не знать.


Консультировал: Хватов Сергей (Академик)
Дата отправки: 13.12.2006, 13:07

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.15487 сек.

© 2001-2018, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.47 от 16.04.2018