Проверка нахождения объекта внутри другого
Нужно проверить находится ли объект внутри ограничительного бокса. Не как не могу понять как это сделать.
Проверять по радиусу от центра бокса не получится, ведь это не сфера. На булке ничего подходящего не нашёл. Использовать типо MeshWidth, MeshHeight, MeshDepth? Скорость выполнения неважна, т. к. не для реал тайма. Прошу помочь с алгоритмом, спасибо. |
Ответ: Проверка нахождения объекта внутри другого
Вложений: 1
Есть такой код от H@NON вроде. Типа система тригеров.
|
Ответ: Проверка нахождения объекта внутри другого
ну чего тут думать то
Если Х искомой точки больше min X бокса и меньше max X бокса, значит точка в боксе по оси Х. Такие же проверки по YZ. Это для AABB. Если бокс ротированный (OBB), то надо сначала умножить точку на инверсию его ротации (матрицу, кватернион), чтобы привести её в пространство бокса а дальше проверять так же как с AABB. Если надо проверить нахождение в боксе не точки а другого бокса, то проверяешь все точки этого другого бокса. Или там даже все точки меша, если совсем точно надо. |
Ответ: Проверка нахождения объекта внутри другого
Для AABB
Код:
Function IsPointInsideAABB%( point, box ) |
Ответ: Проверка нахождения объекта внутри другого
Цитата:
|
Ответ: Проверка нахождения объекта внутри другого
Всем спасибо, прошу прощения что создал эту тему. Плохая идея не спать по ночам, голова не варит.
У Wegox оказывается готовый код идеально подходящий под решение моей задачи. Был вчера в той теме, но слона и не приметил. Wegox, огромное спасибо :super: |
Часовой пояс GMT +4, время: 05:31. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot