more fun!

This commit is contained in:
Mark Moser 2014-02-01 15:20:51 -06:00
parent 19b2a00122
commit ce9f7b5797
7 changed files with 250 additions and 12 deletions

BIN
chain.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

68
chain.pov Normal file
View File

@ -0,0 +1,68 @@
#version 3.7;
#include "colors.inc"
global_settings {
assumed_gamma 1
}
camera {
right x*1280/720
location <-25, -75.1, -60>
look_at 0.1
angle 30
}
background { color Gray30 }
light_source { <300, 300, -1000> White }
#declare half_torus = difference {
torus {
4,1
sturm
rotate x*-90 // so we can see it from the top
}
box { <-5, -5, -1>, <5, 0, 1> }
}
#declare chain_segment = cylinder { <0,4,0>, <0,-4,0>, 1 }
#declare flip_it = x*180;
#declare torus_trans = 8;
#declare link_trans = torus_trans*2-2*y;
#declare chain_texture = texture {
pigment { color rgb <.49, .56, .59> }
finish {
ambient .1
diffuse .4
reflection .35
specular 1
metallic
}
}
#declare chain_link = union {
object { half_torus translate y*torus_trans/2 }
object { half_torus rotate flip_it translate -y*torus_trans/2 }
object { chain_segment translate x*torus_trans/2 }
object { chain_segment translate -x*torus_trans/2 }
translate y*60
}
#declare chain = union { // needs loop with random range
object { chain_link } // 0
object { chain_link translate -y*link_trans rotate y*78 } // 90
object { chain_link translate -y*link_trans*2 rotate y*8 } // 0
object { chain_link translate -y*link_trans*3 rotate y*112 } // 90
object { chain_link translate -y*link_trans*4 rotate y*-10 } // 0
object { chain_link translate -y*link_trans*5 rotate y*90 } // 90
object { chain_link translate -y*link_trans*6 rotate y*18 } // 0
object { chain_link translate -y*link_trans*7 rotate y*72 } // 90
texture { chain_texture }
}
//======= RENDER
object { chain scale .45 }
// object { chain scale .45 translate < 10, 0, -20 > rotate y*20 }
// object { chain scale .45 translate < -10, 0, 20 > rotate y*35 }

BIN
demo.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

After

Width:  |  Height:  |  Size: 116 KiB

View File

@ -1,20 +1,53 @@
// Just following along the tutorial (mostly)
#include "colors.inc"
#include "stones.inc"
background { rgb < 0.4, 0.28, 0.42 > }
background { rgb < 0.5, 0.5, 0.5 > }
camera {
location <0, 2, -3>
location <0, 2, -4>
look_at <0, 1, 2>
}
}
sphere {
light_source { <2, 4, -3> color White }
sphere {
<0, 1, 2>, 2
texture {
/*pigment { color Yellow }*/
pigment { color rgb < 0.16, 0.79, 0.04 > }
}
}
light_source { <2, 4, -3> color White }
// box {
// <-1, 0, -1>, // Near lower left corner
// < 1, 0.5, 3> // Far upper right corner
// texture {
// T_Stone25 // Pre-defined from stones.inc
// scale 2 // Scale by the same amount in all
// // directions
// }
// rotate y*20 // Equivalent to "rotate <0,20,0>"
// }
// cone {
// <0, 1, 0>, 0.03 // Center and radius of one end
// <1, 2, 3>, 1.0 // Center and radius of other end
// texture { T_Stone25 scale 1 }
// }
// cylinder {
// <0, 1, 0>, // Center of one end
// <1, 2, 3>, // Center of other end
// 0.5 // Radius
// open // Remove end caps
// texture { T_Stone25 scale 1 }
// }
plane { y, -1
pigment {
checker color rgb < .13, .16, .13 > , color rgb < .42, .42, .42 >
}
}

73
povray.ini Normal file
View File

@ -0,0 +1,73 @@
; PERSISTENCE OF VISION RAY TRACER
;
; POV-Ray VERSION 3.7
;
; SAMPLE POVRAY.INI FILE
;
; The general form of the options is "Variable=value". Everything
; between the equals sign and the end of the line is considered part
; of the value. The spacing and layout is free-form but only one option
; per line is allowed. Variables and values are not case-sensitive.
;
; Note: characters after a semi-colon are treated as a comment
;
; Traditional POV-Ray switches beginning with + or - are also allowed
; and they may be given with more than one switch per line.
;
; Add your own options at the bottom and/or edit these to suit. See the
; general documentation for full instructions on how to use INI options.
;
; Width of image in pixels. Accepts integer values.
Width = 1280
;
; Height of image in pixels. Accepts integer values.
Height = 720
;
; Sets minimum number of objects before auto bounding kicks in.
Bounding_Threshold = 3
;
;
; Turn display on
Display=On
;
; Turn verbose mode on
Verbose=On
;
;
; Specify path to search for any files not found in current directory.
; For example: Library_Path="C:\Program Files\POV-Ray for Windows\include"
; There may be some entries already here; if there are they were
; probably added by the install process or whoever set up the
; software for you. At the least you can expect an entry that
; points to the standard POV-Ray include files directory; on
; some operating systems there may also be one which points to
; the system's fonts directory.
;
; Note that some platforms (e.g. Windows, unless this feature is
; turned off via the configuration file) will automatically append
; standard locations like those mentioned above to the library
; path list after reading this file, so in those cases you don't
; necessarily have to have anything at all here.
;
;; Search path for #include source files or command line ini files not
;; found in the current directory. New directories are added to the
;; search path, up to a maximum of 25.
Library_Path="/usr/local/Cellar/povray/3.7.0.0/share/povray-3.7"
Library_Path="/usr/local/Cellar/povray/3.7.0.0/share/povray-3.7/ini"
Library_Path="/usr/local/Cellar/povray/3.7.0.0/share/povray-3.7/include"
;; File output type control.
;; T Uncompressed Targa-24
;; C Compressed Targa-24
;; P UNIX PPM
;; N PNG (8-bits per colour RGB)
;; Nc PNG ('c' bit per colour RGB where 5 <= c <= 16)
Output_to_File=true
Output_File_Type=N16 ;; (+/-Ftype)
+A

BIN
tordemo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

64
tordemo.pov Normal file
View File

@ -0,0 +1,64 @@
#include "colors.inc"
camera {
location <0, .1, -75>
look_at 0.1
angle 30
}
background { color Gray50 } // to make the torus easy to see
light_source { <300, 300, -1000> White }
#declare full_tor = torus {
4, 1 // major and minor radius
rotate -90*x // so we can see it from the top
pigment { Green }
}
#declare half_tor = difference {
torus {
4, 1
rotate x*-90 // so we can see it from the top
}
box { <-5, -5, -1>, <5, 0, 1> }
pigment { Green }
}
#declare tor_trans = 8; // twice the major radius
#declare flip_it = 180*x;
#declare snake = union {
object { half_tor }
object { half_tor
rotate flip_it
translate x*tor_trans
}
object { half_tor
translate x*tor_trans*2
}
object { half_tor
rotate flip_it
translate x*tor_trans*3
}
object { half_tor
rotate flip_it
translate -x*tor_trans
}
object { half_tor
translate -x*tor_trans*2
}
object { half_tor
rotate flip_it
translate -x*tor_trans*3
}
object { half_tor
translate -x*tor_trans*4
}
rotate y*45
translate z*20
}
object { snake }