Russian Qt Forum
Ноябрь 22, 2024, 06:28 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Выбор позиции камеры для попадания объекта в видимую область  (Прочитано 3241 раз)
qtkoder777
Частый гость
***
Offline Offline

Сообщений: 245


Просмотр профиля
« : Ноябрь 08, 2017, 11:11 »

Как выбрать позицию камеры, обеспечивающую видимость объекта при известном направлении взгляда?

Можно перемножить матрицы модели-вида и проекции, зависящии от параметра. Решив неравенство, определить, при каких позициях глаза, объект попает в единичный куб.

Или будем удваивать радиус-вектор глаза, определяем попал ли объект в единичный куб, перемножив матрицы, до тех пор пока не попадёт.

Что-то работать с матрицами не хочется, нет ли решения получше?
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #1 : Ноябрь 08, 2017, 13:52 »

Можно перемножить матрицы модели-вида и проекции, зависящии от параметра. Решив неравенство, определить, при каких позициях глаза, объект попает в единичный куб.
Это проходит только для изометрии (glOrtho), но не для перспективной проекции

Или будем удваивать радиус-вектор глаза, определяем попал ли объект в единичный куб, перемножив матрицы, до тех пор пока не попадёт.
Что-то работать с матрицами не хочется, нет ли решения получше?
Полегче нет, зато правильное решение потруднее Улыбающийся Чтобы определить попал ли объект в куб Вам придется каждый его вертекс умножить на матрицу MVP - и не забудьте потом поделить на w. Да, придется так бегать на каждой итерации.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.043 секунд. Запросов: 22.