![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
art88 |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 40 Пол: Мужской Реальное имя: Артём Репутация: ![]() ![]() ![]() |
Здача:
Изобразить расположенный на поверхности гладкий красный шар(освещённый). ------------------------------------------------- Проблема: Думаю, что большую часть этой задачи я решил(см. Globe.pas). Осталось правильно раскрасить шар. Вот формула яркоти поверхности I= kр Iр + kн Iнcos(a) kр - коэффициент отражения рассеянного света (kд<1); kн - коэффициент отражения направленного света; Iр - интенсивность рассеянного света; Iн - интенсивность падающего света; а - угол между направлением света и нормалью к поверхности. I у меня считается, вопрос только в том, как задать оттенки красного. Пробовал в цикле менять угол от 0 до пи, считать I и делать SetRGBPalette(j, $FF*I, 00, 00), но кроме красного откуда-то берутся и другие цвета. Помогите пожалуйста! (Для тех, у кого не читаются комментарии globe.doc) Прикрепленные файлы ![]() |
![]() ![]() |
art88 |
![]()
Сообщение
#2
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 40 Пол: Мужской Реальное имя: Артём Репутация: ![]() ![]() ![]() |
Я тут уже почти доделал программу, она изображает матовый , освещённый шарик и тень.(см sphere.pas)
------------- Осталось только добавить блик: раскраска расчитывается по формуле Ламберта (при cos_alfa>0) и к полученному значению Интенсивности добвляется зеркальное отражние(In*km*cos_beta). beta- угол между направлением отражённого света и направлением в глаз.(см. sp,jpg) ------------- Помогите доделать последнюю задачу(спасибо Volvo за пирамиду). cos_beta не правильно считается(см.globe.pas). Эскизы прикрепленных изображений ![]() Прикрепленные файлы ![]() ![]() |
![]() ![]() |
![]() |
Текстовая версия | 23.06.2025 8:24 |