Выведите координаты отраженного относительно нормали данного вектора. Для этого следует создать функцию в класс вектора метод getReflection(), принимающего вектор, от которого нужно отразить и возвращающий отраженный вектор.
Эта задача проверяется мультитестом.
На первой строке расположено число - количество тестов.
На следующих строках расположены тестов, каждый занимает две строки. На первой строке каждого теста три действительных координаты нормали. На второй, координаты вектора, отражение которого требуется вычислить.
Вывести троек чисел - координаты соответствующих векторов.
2 0 0 1 0 0 1 0 0 1 1 1 1
0 0 1 -1 -1 1
Дан источник света, сфера и точка на ней.
Выведите долю отраженного освещения от этого источника для этой точки.
Эта задача проверяется мультитестом.
На первой строке задается тип источника света "point" или "directional" и его координаты, если иcточник точечный или направление 1.
На второй строке пять действительных чисел - координаты центра, радиус сферы и коэффициент гладкости материала сферы.
Далее следует число - количество тестов. На следующих строках расположено по три числа - координаты точки на данной сфере.
Выведите одно число - долю отраженного света.
directional 1 0 0 0 1 1.1 1 1 1 0.408248 1.40825 0.283503
0.00552434
point -2 2 0 0 0 1.1 1 2 1 0 1 1.1
0
Рассчитывайте отражение как , где - угол между отраженным лучом от нормали в точке к источнику и лучом от точки в камеру, а - коэффициент гладкости материала поверхности сферы.
В этой задаче по данной сцене нужно сгенерировать изображение c учетом гладкости поверхности без учета теней.
В первой строке задается натуральное — количество сфер. В следующих строках расположены по восемь чисел - координаты и радиус -й сферы, ее цвет (три компоненты красная, зеленая, синяя) и коэффициент гладкости поверхности (specular).
В -й строке задается натуральное — количество источников света. В следующих строках расположены их характеристики: сначала задается тип источника света "point" или "directional", его координаты, если иcточник точечный, или направление, если направленный, и яркость (положительное действительное число).
Также в сцене должен быть добавлен рассеивающий свет яркостью 0.2.
Результатом работы вашей программы должен быть файл output.bmp c рендером сцены. Цвет фона — черный.
2 0.5 0 2 0.3 255 0 0 100 -0.5 0 2 0.3 0 255 0 300 2 d 1 -1 0 0.4 p 0 5 0 0.4
см. рисунок
Дан источник света, и набор сфер.
Известно, что все источники света располагается "за сценой", формально: не существует отрезков, соединяющих две точки любых объектов, содержащих точку, в которой располагается источник света.
Даны так же точки Viewport-а.
Определите, нужно ли учитывать свет от данного источника в каждой точке или нет.
На первой строке задается тип источника света "point" или "directional" и его координаты, если иcточник точечный или направление, если направленный.
Далее следует число - количество сфер.
На следующих строках по четыре действительных числа - координаты центра и радиус сферы.
Далее следует число - количество точек Viewport-a.
На следующих строках по два действительных числа - координаты и точки Viewport.
Выведите ответов на задачу
YES, если свет от этого источника нужно учитывать для этой точки и NO, если нет.
directional 1 0 0 2 0 0 3 1 2 0 3 1 4 0 0 -0.3 0 0.3 0 0.4 0.4
YES YES NO NO
В этой задаче по данной сцене нужно сгенерировать изображение c учетом гладкости поверхности и учетом теней.
В первой строке задается натуральное — количество сфер. В следующих строках расположены по восемь чисел - координаты и радиус -й сферы, ее цвет (три компоненты красная, зеленая, синяя) и коэффициент гладкости поверхности (specular).
В -й строке задается натуральное — количество источников света. В следующих строках расположены их характеристики: сначала задается тип источника света "point" или "directional", его координаты, если иcточник точечный, или направление, если направленный, и яркость (положительное действительное число).
Также в сцене должен быть добавлен рассеивающий свет яркостью 0.2.
Результатом работы вашей программы должен быть файл output.bmp c рендером сцены. Цвет фона — черный.
2 0.3 0 2 0.3 255 0 0 100 -0.3 0 2 0.3 0 255 0 300 2 d 1 -1 0 0.4 p 5 2 2 0.4
см. рисунок
В этой задаче нужно добавить свойство отражения к материалу и сгенерировать изображение c глубиной рекурсии 3.
В первой строке задается натуральное — количество сфер. В следующих строках расположены по девять чисел - координаты и радиус -й сферы, ее цвет (три компоненты: красная, зеленая, синяя), коэффициент гладкости поверхности (specular) и коэффициент ee отражения (reflective).
В -й строке задается натуральное — количество источников света. В следующих строках расположены их характеристики: сначала задается тип источника света "point" или "directional", его координаты, если иcточник точечный, или направление, если направленный, и яркость (положительное действительное число).
Также в сцене должен быть добавлен рассеивающий свет яркостью 0.2.
Результатом работы вашей программы должен быть файл output.bmp c рендером сцены. Цвет фона — черный.
2 0.6 0 2 0.7 255 0 0 100 0.5 -0.6 0.4 2 0.5 0 255 0 20 0.4 2 p 0 5 0 0.4 p -5 0 -5 0.4
см. рисунок