Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Помогите пожалуйста построить 3D куб в canvas  (Прочитано 10825 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Aleksey
Гость
« : 11-06-2008 18:26 » 

Помогите если можете,задали курсовую,получется в OpenGl,а в Canvas нет.Разработать классы для изображения некоторого простого трехмерного графического объекта куб. Размеры и положение объекта указываются пользователем (в ходе выполнения программы). Объект (по команде пользователя) должен вращаться вокруг одной из осей координат. Скорость вращения объекта является одним из свойств класса. При создании объекта пользователь должен иметь возможность задавать: цвет объекта
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #1 : 23-06-2008 17:22 » 

ещё актуально?
Записан

Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


WWW
« Ответ #2 : 23-06-2008 17:28 » 

Последняя активность:  15-06-2008 06:29
думаю, не дождался он уже )
Записан

Aleksey
Гость
« Ответ #3 : 23-06-2008 17:41 » 

Да нет еще,всегда рад помощи)))!
Записан
marat_
Шеф-повар
Опытный

ru
Offline Offline

« Ответ #4 : 24-06-2008 05:41 » 

Aleksey, о бэктрэйсинге что-нибудь слышал?
Записан
Aleksey
Гость
« Ответ #5 : 24-06-2008 12:00 » 

Нет,если честно!Пояснишь?
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


WWW
« Ответ #6 : 24-06-2008 17:04 » 

Aleksey, обратная трассировка луча , это такая хитрая штука: имеется экран проекции, "зритель" (точка перед экраном) и объекты (за экраном) . Экран состоит их X*Y пикселей , все пикселы сканируются: из зрителя через каждый пиксел проводится луч, луч продолжается до пересечения с одним из полигонов одного из объектов. Пиксел экрана окрашивается в цвет пиксела полигона. Если объектов на пути луча нет, пиксел экрана - чёрный (или некий цвет фона)
Так можно получить простенькие проекции 3D (причём с перспективой) , зато быстродействие пропорционально практически только количеству пикселов экрана (хотя, если объектом очень много, это тоже будет сказываться)
« Последнее редактирование: 24-06-2008 17:06 от Алексей1153++ » Записан

marat_
Шеф-повар
Опытный

ru
Offline Offline

« Ответ #7 : 24-06-2008 23:40 » 

ну вот. ликбез пройден. добавлю только, что при помощи этого метода получал вполне приличные картинки, с перспективой, бликами, тенями и пр.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


WWW
« Ответ #8 : 25-06-2008 03:33 » 

для бликов и теней алгоритм сложнее будет - надо учитывать свойства материала полигона, в который упёрся луч. К примеру, учитываем одно отражение: Рассчитываем, куда луч отразился один раз, смотрим, куда пришёл:
1) в молоко - цвет фона
2) в не светящийся объект - цвет тени
3) в источник света - цвет источника (плюс поправка яркости на расстояние)
Записан

Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines