Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование игр, графики и искусственного интеллекта > Луч


Автор: KonovalovSerega 19.1.2007, 20:40
Привет!!!
Я тут разбирался с DirectX и у меня возникла одна проблема.   
Суть проблемы такова:
               У меня есть луч опред.  вектором начала и направления и 
есть много прямоугольников. Мне нужно определить в какой прямоугольник попал луч(если вообше попал).
Кто знает как решить эту проблему, напишите как(желательно по понятней).

Зарание спосибо!   

Автор: Bitter 20.1.2007, 01:10
Это вечный вопрос, поскольку нормального метода нет smile. Надо изощраться. (я имею ввиду если писать самому, так как есть уже готовые функции, правда я их не знаюsmile )

ну если навскидку, можно придумать такой метод:

1. расположить вспомогательную камеру в точке начала луча
2. направить камеру по направлению луча.
3. спроецировать прямоугольник, умножив его на видовую матрицу и матрицу проекции (тут я наверное ошибся smile )
4. если вершины описаны вокруг центра экрана, значит луч, попал в прямоугольник smile

Автор: DragonFire 20.1.2007, 12:49
Да, очень интересно))
Как вообще расчитать какие объекты рисовать а какие нет, если у нас есть камера, заданная центром и вектором направления? Общий алгоритм какой-то, теже лучи, есть наверное?

Автор: Bitter 20.1.2007, 14:58
DragonFire, согласен! алгоритм был придуман на лету, и все его ньюансы я не рассматривал smile. По поводу какие рисовать, а какие нет: проверять все по очреди (довольно таки затратно).


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)