Показать сообщение отдельно
Старый 16.12.2012, 20:03   #10
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Ближайшая вершина бокса до прямой в 3д

Platon, что-то твой алгоритм не работает. Записал так
        Vector2f vectorA = line.getA().sub(box.getPos());
        Vector2f vectorB = line.getB().sub(box.getPos());
        Vector2f min_vector = ( vectorA.lengthSquared() < vectorB.lengthSquared() ) ? vectorA : vectorB;
        float x = sign( min_vector.x ) * box.getExtents().x;
        float y = sign( min_vector.y ) * box.getExtents().y;
        return box.getPos().add( box.getDirX().mul(x) ).add( box.getDirY().mul(y) );
Вот 2д проект, если с java знаком, то можешь глянуть. Там сейчас мой алгоритм работает.
Вложения
Тип файла: rar BoxLineIntersection.rar (41.1 Кб, 450 просмотров)
(Offline)
 
Ответить с цитированием