Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];

Вниз

Пересечение прямоугольников   Найти похожие ветки 

 
Ricks ©   (2005-09-14 11:34) [0]

Решил в игре делать пересечения так: каждую модель принимаем за прямоугольник с центром в т (x, y, z) и расстояниями до граней (rx, ry, rz). Теперь очень интересно узнать, как найти, пересекаются ли эти прямоугольники?


 
MBo ©   (2005-09-14 13:50) [1]

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


 
Ricks ©   (2005-09-14 14:19) [2]

Точно! Параллелепипеды! :)
А вот насчет проверки...
Надо проверять 14 точек одного пар..а на вхождение в другой! Или может есть какие-то еще предложения?
А чего же неудобно, напиши пожалуйста, может я что-то не так делаю...


 
Кефир87 ©   (2005-09-14 14:44) [3]

Это совсем просто, но в твоем лучае я настаиваю на круге (так как быстрее это) ну или на прямоугольнике. 8)


 
Goorus ©   (2005-09-16 16:32) [4]

Если параллелепипеды не вращаются, то тебе подойдёт метод разделяющих осей, посмотри статью "Определение столкновений выпуклых объектов движущихся с постоянными скоростями" на gamedev.ru



Страницы: 1 вся ветка

Форум: "Игры";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.04 c
3-1138261701
Janbolat
2006-01-26 10:48
2006.03.26
Непонятный глюк с ODBC драйвером


8-1129731831
Torvald
2005-10-19 18:23
2006.03.26
EnumSurfaces в контексте потока чужего процесса


5-1127814102
Schooler
2005-09-27 13:41
2006.03.26
TOwnedCollection и стандартный редактор.


4-1135935445
oleggar
2005-12-30 12:37
2006.03.26
file monitoring


15-1141100242
paza
2006-02-28 07:17
2006.03.26
Нестандартные шрифты





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский