Last updated: November 2008. Kajiyama             [ 目次に戻る ]

透視投影と平行投影の図的表現の違い


・平行線が交わる透視投影法
・遠くのものは小さく表現する
・ルネサンスの遠近法

サンプル camera_08-pers.pov

//camera_08-pers.pov
//  POV-Ray  3.6  scene  file  by  Kajiyama

#include  "colors.inc"
#include  "shapes.inc"

//perspective  projection
//点光源・放射光源によるカメラ設定(デフォルト)
camera{            //透視投影法によるカメラ設定(デフォルト)
 location  <  0,10,-20>//視点
 look_at  <0,4,3>//注視点
 angle  45//画角
}

//コメント            
text  {
ttf  "timrom.ttf"  
       "Perspective"  0.2,0
       pigment  {  Red  }
       rotate  x*90
       translate  <-2,0.3,-0.9>
       scale  1.5
         }
text  {
ttf  "timrom.ttf"  
       "Projection"  0.2,0
       pigment  {  Red  }
       rotate  x*90
       translate  <-2,0.3,-1.9>
       scale  1.5
         }



//ライト設定
light_source{
 <15,25,-8>  color  White*1.7
shadowless//影を消す
}

//  XYZ座標空間
//  チェック柄の床
object{
 Plane_XZ
 pigment{checker    color  Gray  color  White*0.9}
 translate  <0,0,0>
}  

//  座標系の表示
//  Z軸
cylinder{<0,0,-5>,<0,0,17>,0.05
             pigment{color  Red}
             finish{phong  1  reflection  0.1}
}
cone{<0,0,17>,0.3
         <0,0,18.5>,0
             pigment{color  Red}
}
//  Z文字
cylinder{<-0.5,0.5,0>,<0.5,0.5,0>,0.08
             pigment{color  Red}
             finish{phong  1  reflection  0.1}        
             translate  <0,1.1,19>
}
cylinder{<0.5,0.5,0>,<-0.5,-0.5,0>,0.08
               pigment{color  Red}
               finish{phong  1  reflection  0.1}      
               translate  <0,1.1,19>
}
cylinder{  <-0.5,-0.5,0>,  <0.5,-0.5,0>,0.08
               pigment{color  Red}
               finish{phong  1  reflection  0.1}
               translate  <0,1.1,19>
}
//  X軸
cylinder{<-5,0,0>,<7,0,0>,0.05
               pigment{color  Green}
               finish{phong  1  reflection  0.1}
}
cone{<7,0,0>,0.3
         <8.5,0,0>,0
             pigment{color  Green}
}
//  X文字
cylinder{<-0.5,-0.5,0>,<0.5,0.5,0>,0.08
             pigment{color  Green}
               finish{phong  1  reflection  0.1}
               rotate  y*90        
               translate  <9,1.1,0>
}
cylinder{  <-0.5,0.5,0>,  <0.5,-0.5,0>,0.08
               pigment{color  Green}
               finish{phong  1  reflection  0.1}
               rotate  y*90
               translate  <9,1.1,0>
}

//  Y軸
cylinder{<0,-5,0>,<0,7,0>,0.05
             pigment{color  Blue}
             finish{phong  1  reflection  0.1}
}
cone{<0,7,0>,0.3
         <0,8.5,0>,0
             pigment{color  Blue}
}
//  Y文字
cylinder{<-0.5,0.5,0>,<0,0,0>,0.08
               pigment{color  Blue}
               finish{phong  1  reflection  0.1}              
               translate  <0,9,0>
}
cylinder{<0.5,0.5,0>,<0,0,0>,0.08
               finish{phong  1  reflection  0.1}              
               translate  <0,9,0>
}
cylinder{  <0,0,0>,  <0,-0.5,0>,0.08
               pigment{color  Blue}
               finish{phong  1  reflection  0.1}
               translate  <0,9,0>
}

//■■■増殖の図形操作■■■

#declare    D=0;
#while(D<80)


 box{<-2.5,0,-0.05+D>,<-2.4,5,0.05+D>  //
             pigment{color  rgb<0.5,0.8,0.4>}
}

 box{<2.4,0,-0.05+D>,<2.5,5,0.05+D>  //
             pigment{color  rgb<0.5,0.8,0.4>}
}

#declare  D=D+3;
#end

background{color  White}

・平行線は交わらない平行投影法
・見る位置で大きさを変えない
・日本の伝統的表現法

サンプルcamera_08-orthog-2.pov

//camera_08-orthog.pov
//  POV-Ray  3.6  scene  file  by  Kajiyama

#include  "colors.inc"
#include  "shapes.inc"

//orthographic  projection
//平行光線によるカメラ設定
camera{
 orthographic//平行投影法によるカメラ設定に変更
 location  <  -10,20,-20>//視点
 look_at  <0,4,4>//注視点
 angle  45//画角
}

//コメント            
text  {
ttf  "timrom.ttf"  
       "Orthographic"  0.2,0
       pigment  {  Red  }
       rotate  x*90
       translate  <-3,0.3,-0.9>
       scale  1.5
         }
text  {
ttf  "timrom.ttf"  
       "Projection"  0.2,0
       pigment  {  Red  }
       rotate  x*90
       translate  <-3,0.3,-2.9>
       scale  1.5
         }



//ライト設定
light_source{
 <15,25,-8>  color  White*1.7
shadowless//影を消す
}

//  XYZ座標空間
//  チェック柄の床
object{
 Plane_XZ
 pigment{checker    color  Gray  color  White*0.9}
 translate  <0,0,0>
}  

//  座標系の表示
//  Z軸
cylinder{<0,0,-5>,<0,0,17>,0.05
             pigment{color  Red}
             finish{phong  1  reflection  0.1}
}
cone{<0,0,17>,0.3
         <0,0,18.5>,0
             pigment{color  Red}
}
//  Z文字
cylinder{<-0.5,0.5,0>,<0.5,0.5,0>,0.08
             pigment{color  Red}
             finish{phong  1  reflection  0.1}        
             translate  <0,1.1,19>
}
cylinder{<0.5,0.5,0>,<-0.5,-0.5,0>,0.08
               pigment{color  Red}
               finish{phong  1  reflection  0.1}      
               translate  <0,1.1,19>
}
cylinder{  <-0.5,-0.5,0>,  <0.5,-0.5,0>,0.08
               pigment{color  Red}
               finish{phong  1  reflection  0.1}
               translate  <0,1.1,19>
}
//  X軸
cylinder{<-5,0,0>,<7,0,0>,0.05
               pigment{color  Green}
               finish{phong  1  reflection  0.1}
}
cone{<7,0,0>,0.3
         <8.5,0,0>,0
             pigment{color  Green}
}
//  X文字
cylinder{<-0.5,-0.5,0>,<0.5,0.5,0>,0.08
             pigment{color  Green}
               finish{phong  1  reflection  0.1}
               rotate  y*90        
               translate  <9,1.1,0>
}
cylinder{  <-0.5,0.5,0>,  <0.5,-0.5,0>,0.08
               pigment{color  Green}
               finish{phong  1  reflection  0.1}
               rotate  y*90
               translate  <9,1.1,0>
}

//  Y軸
cylinder{<0,-5,0>,<0,7,0>,0.05
             pigment{color  Blue}
             finish{phong  1  reflection  0.1}
}
cone{<0,7,0>,0.3
         <0,8.5,0>,0
             pigment{color  Blue}
}
//  Y文字
cylinder{<-0.5,0.5,0>,<0,0,0>,0.08
               pigment{color  Blue}
               finish{phong  1  reflection  0.1}              
               translate  <0,9,0>
}
cylinder{<0.5,0.5,0>,<0,0,0>,0.08
               finish{phong  1  reflection  0.1}              
               translate  <0,9,0>
}
cylinder{  <0,0,0>,  <0,-0.5,0>,0.08
               pigment{color  Blue}
               finish{phong  1  reflection  0.1}
               translate  <0,9,0>
}

//■■■増殖の図形操作■■■

#declare    D=0;
#while(D<80)


 box{<-2.5,0,-0.05+D>,<-2.4,5,0.05+D>  //
             pigment{color  rgb<0.5,0.8,0.4>}
}

 box{<2.4,0,-0.05+D>,<2.5,5,0.05+D>  //
             pigment{color  rgb<0.5,0.8,0.4>}
}

#declare  D=D+3;
#end

background{color  White}


[ 目次に戻る ]