25.05.2019, 09:40 [+3 UTC]
в нашей команде: 3 642 чел. | участники онлайн: 7 (рекорд: 21)

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

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

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.75 (18.05.2019)
JS-v.1.33 | CSS-v.3.35

Общие новости:
28.04.2019, 09:13

Форум:
16.05.2019, 21:07

Последний вопрос:
24.05.2019, 16:23
Всего: 149691

Последний ответ:
24.05.2019, 22:45
Всего: 258518

Последняя рассылка:
25.05.2019, 04:45

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

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

Наша кнопка:

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

Отзывы о нас:
24.11.2009, 14:39 »
AnarHist
Полезный познавательный ресурс. Пожалуй, зарегистрируюсь.
03.04.2010, 17:59 »
Konstantin Shvetski
Огромное спасибо за профессиональную квалифицированную помощь smile [вопрос № 177614, ответ № 260541]
13.12.2010, 15:21 »
Савенков М.В.
Хорошо и подробно все расписано + быстро ответили. Мне понравилось smile [вопрос № 181260, ответ № 264702]

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

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

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

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

Коцюрбенко Алексей Владимирович
Статус: Модератор
Рейтинг: 615
Зенченко Константин Николаевич
Статус: Старший модератор
Рейтинг: 293
solowey
Статус: Практикант
Рейтинг: 267

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

0

[подробно]

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

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

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

Яндекс Rambler's Top100

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

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

© 2001-2019, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.75 от 18.05.2019
Версия JS: 1.33 | Версия CSS: 3.35