Урок 3. Физические свойства объектов.

Автор: А.Г. Логов               

 

В этом примере разБерем как добавить для объектов отражение, поглащение света и прозрачность. Используем стандартное начало.


#include "colors.inc"
#include "textures.inc"

camera {
location <-11, 8,0>
look_at <-2, 4, 4>
}


light_source { <-3, 8,4> White}
 


Нарисуем небольшую комнату. Состоящую из пола и 3 стен с ипользованием plane


 plane { z, 30       // Дальняя стена
   pigment { brick } // Параметр-brick создает рисунок кирпичной стены. 
 }

 plane { x, 15        // Правая стена     
   pigment { brick }
 }

 plane { x,-25        // Левая стена   
   pigment { brick }
 }
     
 plane{ y,-10          // Пол
   pigment { checker White,Blue scale 3 }
 }                              

Получаем следующую сцену.





Нарисуем столик, состоящий из 5 параллелепипедов.

 box { <0, 0, 0>, < 10, 1, 16> // столешниа
  pigment { wood }             // wood - рисунок дерева.
 }

 box { <9, -10, 0>, < 10, 0, 1> 
  pigment { wood }
 }

 box { <0, -10, 0>, < 1, 0, 1>
  pigment { wood }
 }

 box { <0, -10, 15>, < 1, 0, 16>
  pigment { wood }
 }

 box { < 9, -10, 15>, <10, 0, 16>
  pigment { wood }
 }              





Поставим на стол белый зеркальный шар


 sphere { <4,2,7>, 1
   texture { pigment { color White }
     finish {           // Новая команда. Ее назначение - определение физических свойств объекта. 
       reflection 1     // reflection -отражение света.Значение
     }                  // равное 1 - максимальное, ну а 0 - минимальное.
   }
 }




Добавим полупрозрачный цилиндр отражающий свет
 
 cylinder {
   <4, 1, 3>,
   <4, 3, 3 >, 
   0.5
   texture { pigment 
            { color Green filter 0.8}
                          // filter - определяет прозрачность. Количество 
                          // пропускаемого света 1- максимально 
                          //(предмет полностью прозрачен)
                          // 0 - минимально. 
             finish {
                diffuse 1 //Новая команда. diffuse-количество рассеянного
                          // света 1 - максимальное, 0 - минимальное.
             }            //Завершение описания физических свойств.
   }                       //Завершение описания свойств texture.
 }


Получаем в итоге следующую сцену




Полный листинг скрипта урока 3.

 


#include "colors.inc"
#include "textures.inc"

 camera {
  location <-11, 8,0>
  look_at <-2, 4, 4>
 }


 light_source { <-3, 8,4> White} 
 

 plane { z, 30 
   pigment { brick }
 }

 plane { x, 15
   pigment { brick }
 }

 plane { x,-25
   pigment { brick }
 }

 plane{ y,-10
   pigment { checker White,Blue scale 3 }
 } 

 box { <0, 0, 0>, < 10, 1, 16> 
   pigment { wood }             
 }

 box { <9, -10, 0>, < 10, 0, 1> 
   pigment { wood }
 }

 box { <0, -10, 0>, < 1, 0, 1>
   pigment { wood }
 }

 box { <0, -10, 15>, < 1, 0, 16>
   pigment { wood }
 }

 box { < 9, -10, 15>, <10, 0, 16>
   pigment { wood }
 }  
 
  
 sphere { <4,2,7>, 1
   texture { pigment { color White }
     finish {           
       reflection 1     
                    
     }
   }
 } 
  
 cylinder { <4, 1, 3>,
              <4, 3, 3 >, 
              0.5
    texture { pigment 
            { color Green filter 0.8}
                          
             finish {
                diffuse 1 
                          
             }            
   }                      
 }