Главная Новые темы Список тем Задать вопрос Поиск  

Форум "C++"


С++, его предки и потомки


 #0 Vincent 06.11.07 22:01:23 - 07.11.07 15:08:36

Проекция слайда.



Проекционный Экран.
Экран монитора представляет собой плоскость от которой на растоянии L1 и L2 удалены слайд с произвольным символом и источник света. Отобразить на экране проекцию слайда если он расположен под углами а1 и a2 к экрану соответсвенно в вертикальной и горизонтальной плоскости. Необходимо иметь возможность изменять углы наклона слайда в реальном времени.

Вот так меня на РГР озадачили...
Как бы это реализовать? В кодинге я немного разбираюсь но креатива не хватает. Цитата

 #1 Deep © 06.11.07 23:07:47

А что собственно закодировать нужно? Нужно отрисовать какой будет проекция символа со слайда?
 #2 Vincent 07.11.07 13:54:07

Ну скорей всего да отрисовать проекцию. И слайд при этом вертеть туда сюда чтоб проекция изменялась.
Не знаю что имеется в веду под символом, но как я понимаю изображение на него какое то загрузить и проецировать его с помощью направленного источника света.
Только вот как именно проецировать на экран монитора я не понимаю
Учителя уже неделю выловить не могу и распросить.
 #3 Deep © 07.11.07 15:08:36

по сути здесь геометрия + какие-то методы экстраполяции (определения цветов переходных цветов вокруг рассчетной точки при изменении размеров изображении) цветов.

Источник света должен проходить через каждую точку слайда (через любые две точки можно провести прямую линию), определять есть ли там точка символа ("непустая" точка) и если есть, то рассчитывать где она должна отобразиться на проекции (точка пересечения линии с плоскостью экрана).

Подводный камень заключается в том, что чем дальше слайд от экрана, тем больше будет растояния между полученными "рассчетными" точками на экране. Потому для получения более-менее нормального изображения эти пустоты нужно заполнить опять же рассчетным методом (если упрощенно, например, можно считать промежуточный цвет точек как среднее арифметическое цветов ранее рассчитанных точок).

Что-то вроде того.

А вообще-то, чтоб не изобретать велосипед -- надо посмотреть уже готовые функции DirectX и OpenGL. Там наверняка есть нечто подобное, но уже готовое. Потому как подобная фишка практически везде используется для отрисовки теней движущихся персонажей в тех же играх.




  • Написать ответ

    Имя: Регистрация HTML?
    smiles смайлики
    Потом перейти в:    
    паутина



      ©  webest.net, 2002-2007  

    top.mail.ru
    » Бесплатный счетчик посещений
    » Рейтинг сайтов