more fun!
This commit is contained in:
parent
19b2a00122
commit
ce9f7b5797
68
chain.pov
Normal file
68
chain.pov
Normal 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
BIN
demo.png
Binary file not shown.
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 116 KiB |
57
demo.pov
57
demo.pov
@ -1,20 +1,53 @@
|
|||||||
|
// Just following along the tutorial (mostly)
|
||||||
|
|
||||||
#include "colors.inc"
|
#include "colors.inc"
|
||||||
#include "stones.inc"
|
#include "stones.inc"
|
||||||
|
|
||||||
background { rgb < 0.4, 0.28, 0.42 > }
|
background { rgb < 0.5, 0.5, 0.5 > }
|
||||||
|
|
||||||
camera {
|
camera {
|
||||||
location <0, 2, -3>
|
location <0, 2, -4>
|
||||||
look_at <0, 1, 2>
|
look_at <0, 1, 2>
|
||||||
}
|
}
|
||||||
|
|
||||||
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 }
|
light_source { <2, 4, -3> color White }
|
||||||
|
|
||||||
|
|
||||||
|
sphere {
|
||||||
|
<0, 1, 2>, 2
|
||||||
|
texture {
|
||||||
|
pigment { color rgb < 0.16, 0.79, 0.04 > }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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
73
povray.ini
Normal 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
BIN
tordemo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 44 KiB |
64
tordemo.pov
Normal file
64
tordemo.pov
Normal 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 }
|
||||||
|
|
Loading…
Reference in New Issue
Block a user