Одесса: 6°С (вода 9°С)
Киев: 1°С
Львов: -1°С

Тема: Зеркальное отражение цилиндра с++

Ответить в теме
Показано с 1 по 18 из 18
  1. Вверх #1

    По умолчанию Зеркальное отражение цилиндра с++

    Всем добрый день,проблема следующего рода,мне дали задание на курсовой проект.Работаю в borland c++ builder 6.0

    Полностью
    Тема звучит так:Використання метода Гуро для отримання зеркального відображення у циліндрі.

    Умови
    Радіус 25.
    Вісь перпендикулярна напряму спостережання.
    Використовувати просту модель освітлення.

    OpenGl и др. не стандартные методы исп.запрпещено.

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

    Буду рад любой помощи.
    Заранее благодарен.


  2. Вверх #2

  3. Вверх #3
    Цитата Сообщение от jagero Посмотреть сообщение
    Тема звучит так:Використання метода Гуро для отримання зеркального відображення у циліндрі.
    Умови
    Радіус 25.
    Вісь перпендикулярна напряму спостережання.
    Використовувати просту модель освітлення.

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

  4. Вверх #4
    Не покидает форум Аватар для Fallout
    Пол
    Мужской
    Сообщений
    6,915
    Репутация
    795
    Обычно когда упоминают метод Гуро обычно подразумевают тонирование модели.

    И еще есть вот такая книга Программирование трехмерных игр для Windows. Советы профессионала по трехмерной графике и растеризации там много чего объясняется с азов, но не помню есть ли там про отражение, так как обычно в играх отражения реализуется не совсем "по честному"

  5. Вверх #5
    Всем спасибо.

  6. Вверх #6
    если будут еще идеи буду рад услышать.

  7. Вверх #7
    Значит зада звучит так нарисовать Шахматную доску на ней будет цилиндр в котором будет что-то любой отражать какой-то предмет.
    Это простыми словами.Зарисовку по Гуру надо будет тоже выполнить когда залью цилиндр.

  8. Вверх #8
    Постоялец форума Аватар для EgorOrda
    Пол
    Мужской
    Возраст
    37
    Сообщений
    1,284
    Репутация
    442
    Надо нарисовать цилиндр в котором будет отражаться объект (объекты). Простейший вариант это цилиндр на шахматной доске (я это объяснял несколько раз)

  9. Вверх #9
    Не покидает форум Аватар для Fallout
    Пол
    Мужской
    Сообщений
    6,915
    Репутация
    795
    EgorOrda и есть постановщик задачи ?

  10. Вверх #10
    Постоялец форума Аватар для EgorOrda
    Пол
    Мужской
    Возраст
    37
    Сообщений
    1,284
    Репутация
    442
    Угу

  11. Вверх #11
    ups,spasibo bolshoe vsem.
    voobshem teorii mnogo,a kak eto realisovat uma ne priloshu.

  12. Вверх #12
    Не покидает форум Аватар для Fallout
    Пол
    Мужской
    Сообщений
    6,915
    Репутация
    795
    http://habrahabr.ru/blogs/algorithm/112944/ - вариант raytrace алгоритма на яваскрипте, только там фонг заменить на гуро.

  13. Вверх #13
    Постоялец форума Аватар для EgorOrda
    Пол
    Мужской
    Возраст
    37
    Сообщений
    1,284
    Репутация
    442
    Типа того, только джаву заменить на плюсы, шары на цилиндр, фонга на гуро. И для уменьшения количества расчетов, попиксельную обработку заменить на полигональную

  14. Вверх #14
    Не покидает форум Аватар для Fallout
    Пол
    Мужской
    Сообщений
    6,915
    Репутация
    795
    Цитата Сообщение от EgorOrda Посмотреть сообщение
    Типа того, только джаву заменить на плюсы, шары на цилиндр, фонга на гуро. И для уменьшения количества расчетов, попиксельную обработку заменить на полигональную
    Ну с первыми то понятно, а вот с последним - в свете того что этот цилиндр еще и должен быть зеркальной поверхностью, ссылочкой на описание такого алгоритма не поделитесь?

  15. Вверх #15
    Постоялец форума Аватар для EgorOrda
    Пол
    Мужской
    Возраст
    37
    Сообщений
    1,284
    Репутация
    442
    Например:
    http://compgraph.tpu.ru/Guro.htm
    Тем самым, уменьшиться количество расчетов, по формуле для выбранной модели освещения, т.к. расчеты надо будет произвести только в узловых точках полигонов, а остальные точки закрашиваются используя билинейную интерполяцию. Правда, чем полигонов больше, тем расчетов больше и если свести полигон к точке, получим приведенный Вами алгоритм.

  16. Вверх #16
    Cпасибо ув.EgorOrda и Fallout.

  17. Вверх #17
    Не покидает форум Аватар для Fallout
    Пол
    Мужской
    Сообщений
    6,915
    Репутация
    795
    Цитата Сообщение от EgorOrda Посмотреть сообщение
    Например:
    http://compgraph.tpu.ru/Guro.htm
    Тем самым, уменьшиться количество расчетов, по формуле для выбранной модели освещения, т.к. расчеты надо будет произвести только в узловых точках полигонов, а остальные точки закрашиваются используя билинейную интерполяцию. Правда, чем полигонов больше, тем расчетов больше и если свести полигон к точке, получим приведенный Вами алгоритм.
    Ну с затенением то все понятно, а с отражением? Или тут подразумевается что вклад отражение также просчитывается только на вершинах полигонов, гм тогда цилиндр должен содержать их много для нормального эффекта.

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

  18. Вверх #18
    Постоялец форума Аватар для EgorOrda
    Пол
    Мужской
    Возраст
    37
    Сообщений
    1,284
    Репутация
    442
    Или тут подразумевается что вклад отражение также просчитывается только на вершинах полигонов, гм тогда цилиндр должен содержать их много для нормального эффекта.
    Вобщем да. Задача курсового, чтобы студент продемонстрировал усвоенный метод, Так что, если будет два-три десятка полигонов, вместо нескольких сотен - это не критично

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


Ответить в теме

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения