class CrystalCell::Povray::Camera

Attributes

angle[RW]

camera { orthographic

// orthographic       // これを入れる場合は location の前に。
location <  3.0, 3.0, 3.0 > // camera location
look_at  <  0.0, 0.0, 0.0 > // 注視点
sky      <  0.0, 0.0, 1.0 >
right    <-1.00, 0.0, 0.0 >
up       <  0.0, 1.0, 0.0 >
angle    68                 // カメラの水平方向の画角。左右合計の角度。

} @orthographic = true @location = [ 3.0, 3.0, 3.0 ] @look_at = [ 0.0, 0.0, 0.0 ] @sky = [ 0.0, 0.0, 1.0 ] @right = @up = [ 0.0, 1.0, 0.0 ] @angle = 68

camera_type[RW]

camera { orthographic

// orthographic       // これを入れる場合は location の前に。
location <  3.0, 3.0, 3.0 > // camera location
look_at  <  0.0, 0.0, 0.0 > // 注視点
sky      <  0.0, 0.0, 1.0 >
right    <-1.00, 0.0, 0.0 >
up       <  0.0, 1.0, 0.0 >
angle    68                 // カメラの水平方向の画角。左右合計の角度。

} @orthographic = true @location = [ 3.0, 3.0, 3.0 ] @look_at = [ 0.0, 0.0, 0.0 ] @sky = [ 0.0, 0.0, 1.0 ] @right = @up = [ 0.0, 1.0, 0.0 ] @angle = 68

direction[RW]

camera { orthographic

// orthographic       // これを入れる場合は location の前に。
location <  3.0, 3.0, 3.0 > // camera location
look_at  <  0.0, 0.0, 0.0 > // 注視点
sky      <  0.0, 0.0, 1.0 >
right    <-1.00, 0.0, 0.0 >
up       <  0.0, 1.0, 0.0 >
angle    68                 // カメラの水平方向の画角。左右合計の角度。

} @orthographic = true @location = [ 3.0, 3.0, 3.0 ] @look_at = [ 0.0, 0.0, 0.0 ] @sky = [ 0.0, 0.0, 1.0 ] @right = @up = [ 0.0, 1.0, 0.0 ] @angle = 68

location[RW]

camera { orthographic

// orthographic       // これを入れる場合は location の前に。
location <  3.0, 3.0, 3.0 > // camera location
look_at  <  0.0, 0.0, 0.0 > // 注視点
sky      <  0.0, 0.0, 1.0 >
right    <-1.00, 0.0, 0.0 >
up       <  0.0, 1.0, 0.0 >
angle    68                 // カメラの水平方向の画角。左右合計の角度。

} @orthographic = true @location = [ 3.0, 3.0, 3.0 ] @look_at = [ 0.0, 0.0, 0.0 ] @sky = [ 0.0, 0.0, 1.0 ] @right = @up = [ 0.0, 1.0, 0.0 ] @angle = 68

look_at[RW]

camera { orthographic

// orthographic       // これを入れる場合は location の前に。
location <  3.0, 3.0, 3.0 > // camera location
look_at  <  0.0, 0.0, 0.0 > // 注視点
sky      <  0.0, 0.0, 1.0 >
right    <-1.00, 0.0, 0.0 >
up       <  0.0, 1.0, 0.0 >
angle    68                 // カメラの水平方向の画角。左右合計の角度。

} @orthographic = true @location = [ 3.0, 3.0, 3.0 ] @look_at = [ 0.0, 0.0, 0.0 ] @sky = [ 0.0, 0.0, 1.0 ] @right = @up = [ 0.0, 1.0, 0.0 ] @angle = 68

right[RW]

camera { orthographic

// orthographic       // これを入れる場合は location の前に。
location <  3.0, 3.0, 3.0 > // camera location
look_at  <  0.0, 0.0, 0.0 > // 注視点
sky      <  0.0, 0.0, 1.0 >
right    <-1.00, 0.0, 0.0 >
up       <  0.0, 1.0, 0.0 >
angle    68                 // カメラの水平方向の画角。左右合計の角度。

} @orthographic = true @location = [ 3.0, 3.0, 3.0 ] @look_at = [ 0.0, 0.0, 0.0 ] @sky = [ 0.0, 0.0, 1.0 ] @right = @up = [ 0.0, 1.0, 0.0 ] @angle = 68

sky[RW]

camera { orthographic

// orthographic       // これを入れる場合は location の前に。
location <  3.0, 3.0, 3.0 > // camera location
look_at  <  0.0, 0.0, 0.0 > // 注視点
sky      <  0.0, 0.0, 1.0 >
right    <-1.00, 0.0, 0.0 >
up       <  0.0, 1.0, 0.0 >
angle    68                 // カメラの水平方向の画角。左右合計の角度。

} @orthographic = true @location = [ 3.0, 3.0, 3.0 ] @look_at = [ 0.0, 0.0, 0.0 ] @sky = [ 0.0, 0.0, 1.0 ] @right = @up = [ 0.0, 1.0, 0.0 ] @angle = 68

up[RW]

camera { orthographic

// orthographic       // これを入れる場合は location の前に。
location <  3.0, 3.0, 3.0 > // camera location
look_at  <  0.0, 0.0, 0.0 > // 注視点
sky      <  0.0, 0.0, 1.0 >
right    <-1.00, 0.0, 0.0 >
up       <  0.0, 1.0, 0.0 >
angle    68                 // カメラの水平方向の画角。左右合計の角度。

} @orthographic = true @location = [ 3.0, 3.0, 3.0 ] @look_at = [ 0.0, 0.0, 0.0 ] @sky = [ 0.0, 0.0, 1.0 ] @right = @up = [ 0.0, 1.0, 0.0 ] @angle = 68

Public Class Methods

new(camera_type: nil, location: nil, right: [-1.33, 0.0, 0.0], up: nil, direction: nil, sky: [0.0, 0.0, 1.0], angle: nil, look_at: nil ) click to toggle source

camera_type: perspectice, orthographic, etc. Note: default values of some setting is modified from original povray

because of left-handed coordinate system.
This library provide only on right-handed system in crystallography.

---------------------------------------------
setting       default_orig  default_this
camera_type   perspective   
location      <0,0,0>       
direction     <0,0,1>       
right         <1.33,0,0>    [-1.33, 0.0, 0.0],
sky           <0,1,0>       [  0.0, 0.0, 1.0],
up            <0,1,0>       
look_at       <0,0,1>
# File lib/crystalcell/povray/camera.rb, line 43
def initialize(camera_type:      nil, # perspective
               location:         nil, # <0,0,0>
               right:            [-1.33, 0.0, 0.0],
               up:               nil,
               direction:        nil,
               sky:              [0.0, 0.0, 1.0],
               angle:            nil,
               #camera_modifiers: nil,
               look_at:          nil
               )
  @camera_type  = camera_type
  @location     = location
  @right        = right
  @up           = up
  @direction    = direction
  @sky          = sky
  @angle        = angle
  #@camera_modifiers    = camera_modifiers
  @look_at      = look_at
end

Public Instance Methods

dump(io) click to toggle source
# File lib/crystalcell/povray/camera.rb, line 64
def dump(io)
  io.puts "camera {"
  io.printf("  %s\n", @camera_type) if @camera_type
  io.printf("  location  <%f, %f, %f >\n", *@location)  if @location
  io.printf("  right     <%f, %f, %f >\n", *@right)     if @right
  io.printf("  up        <%f, %f, %f >\n", *@up)        if @up
  io.printf("  direction <%f, %f, %f >\n", *@direction) if @direction
  io.printf("  sky       <%f, %f, %f >\n", *@sky)       if @sky
  io.printf("  angle     %f\n"           , @angle)      if @angle
  #@camera_modifiers.each do |i|
  #  io.puts i
  #end
  io.printf("  look_at   <%f, %f, %f >\n", *@look_at) if @look_at
  io.puts "}"
end