Mass rename/move to get rid of Haskell stuff
454
you_still_need_this/assets/1999-12-21-moo.pi
Normal file
@@ -0,0 +1,454 @@
|
||||
//PROGRAM: moo.pi GENERATED WITH POVCAD 2.0a(c) Alfonso Hermida 1993
|
||||
//Created on 12/21/1999
|
||||
|
||||
include "colors.inc"
|
||||
include "texture.inc"
|
||||
|
||||
viewpoint {
|
||||
from <-0.2, 1.2, -2.0>
|
||||
at <0.0, 0.0, 0.0>
|
||||
up <0.0, 1.0, 0.0>
|
||||
angle 45
|
||||
hither 1.0e-3
|
||||
resolution 1024,1024
|
||||
aspect 1.0
|
||||
yon 1.0e5
|
||||
//dither_rays
|
||||
//dither_objects
|
||||
max_trace_depth 5
|
||||
//focal_distance
|
||||
}
|
||||
|
||||
// RAW DATA
|
||||
object{
|
||||
polygon 3,
|
||||
<-0.743697, 0.366594, 0>,
|
||||
<-0.773109, -0.201735, 0>,
|
||||
<-0.773109, -0.201735, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<-0.743697, 0.366594, 0.3>,
|
||||
<-0.743697, 0.366594, 0>,
|
||||
<-0.773109, -0.201735, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<-0.592437, 0.127983, 0>,
|
||||
<-0.743697, 0.366594, 0>,
|
||||
<-0.743697, 0.366594, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<-0.592437, 0.127983, 0.3>,
|
||||
<-0.592437, 0.127983, 0>,
|
||||
<-0.743697, 0.366594, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<-0.411765, 0.383948, 0>,
|
||||
<-0.592437, 0.127983, 0>,
|
||||
<-0.592437, 0.127983, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<-0.411765, 0.383948, 0.3>,
|
||||
<-0.411765, 0.383948, 0>,
|
||||
<-0.592437, 0.127983, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<-0.432773, -0.214751, 0>,
|
||||
<-0.411765, 0.383948, 0>,
|
||||
<-0.411765, 0.383948, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<-0.432773, -0.214751, 0.3>,
|
||||
<-0.432773, -0.214751, 0>,
|
||||
<-0.411765, 0.383948, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<-0.432773, -0.214751, 0.3>,
|
||||
<-0.432773, -0.214751, 0>,
|
||||
<-0.411765, 0.383948, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
|
||||
// RAW DATA
|
||||
object{
|
||||
polygon 3,
|
||||
<-0.147059, 0.370933, 0>,
|
||||
<-0.252101, 0.219089, 0>,
|
||||
<-0.252101, 0.219089, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<-0.147059, 0.370933, 0.3>,
|
||||
<-0.147059, 0.370933, 0>,
|
||||
<-0.252101, 0.219089, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.0210084, 0.37961, 0>,
|
||||
<-0.147059, 0.370933, 0>,
|
||||
<-0.147059, 0.370933, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.0210084, 0.37961, 0.3>,
|
||||
<0.0210084, 0.37961, 0>,
|
||||
<-0.147059, 0.370933, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.092437, 0.232104, 0>,
|
||||
<0.0210084, 0.37961, 0>,
|
||||
<0.0210084, 0.37961, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.092437, 0.232104, 0.3>,
|
||||
<0.092437, 0.232104, 0>,
|
||||
<0.0210084, 0.37961, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.0840336, -0.0932755, 0>,
|
||||
<0.092437, 0.232104, 0>,
|
||||
<0.092437, 0.232104, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.0840336, -0.0932755, 0.3>,
|
||||
<0.0840336, -0.0932755, 0>,
|
||||
<0.092437, 0.232104, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.00840336, -0.206074, 0>,
|
||||
<0.0840336, -0.0932755, 0>,
|
||||
<0.0840336, -0.0932755, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.00840336, -0.206074, 0.3>,
|
||||
<0.00840336, -0.206074, 0>,
|
||||
<0.0840336, -0.0932755, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<-0.0840336, -0.214751, 0>,
|
||||
<0.00840336, -0.206074, 0>,
|
||||
<0.00840336, -0.206074, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<-0.0840336, -0.214751, 0.3>,
|
||||
<-0.0840336, -0.214751, 0>,
|
||||
<0.00840336, -0.206074, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<-0.214286, -0.123644, 0>,
|
||||
<-0.0840336, -0.214751, 0>,
|
||||
<-0.0840336, -0.214751, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<-0.214286, -0.123644, 0.3>,
|
||||
<-0.214286, -0.123644, 0>,
|
||||
<-0.0840336, -0.214751, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<-0.239496, 0.18872, 0>,
|
||||
<-0.214286, -0.123644, 0>,
|
||||
<-0.214286, -0.123644, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<-0.239496, 0.18872, 0.3>,
|
||||
<-0.239496, 0.18872, 0>,
|
||||
<-0.214286, -0.123644, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<-0.239496, 0.18872, 0.3>,
|
||||
<-0.239496, 0.18872, 0>,
|
||||
<-0.214286, -0.123644, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
|
||||
// RAW DATA
|
||||
object{
|
||||
polygon 3,
|
||||
<0.214286, -0.0889371, 0>,
|
||||
<0.193277, 0.266811, 0>,
|
||||
<0.193277, 0.266811, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.214286, -0.0889371, 0.3>,
|
||||
<0.214286, -0.0889371, 0>,
|
||||
<0.193277, 0.266811, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.298319, -0.197397, 0>,
|
||||
<0.214286, -0.0889371, 0>,
|
||||
<0.214286, -0.0889371, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.298319, -0.197397, 0.3>,
|
||||
<0.298319, -0.197397, 0>,
|
||||
<0.214286, -0.0889371, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.478992, -0.201735, 0>,
|
||||
<0.298319, -0.197397, 0>,
|
||||
<0.298319, -0.197397, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.478992, -0.201735, 0.3>,
|
||||
<0.478992, -0.201735, 0>,
|
||||
<0.298319, -0.197397, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.546219, -0.106291, 0>,
|
||||
<0.478992, -0.201735, 0>,
|
||||
<0.478992, -0.201735, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.546219, -0.106291, 0.3>,
|
||||
<0.546219, -0.106291, 0>,
|
||||
<0.478992, -0.201735, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.537815, 0.258134, 0>,
|
||||
<0.546219, -0.106291, 0>,
|
||||
<0.546219, -0.106291, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.537815, 0.258134, 0.3>,
|
||||
<0.537815, 0.258134, 0>,
|
||||
<0.546219, -0.106291, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.478992, 0.388286, 0>,
|
||||
<0.537815, 0.258134, 0>,
|
||||
<0.537815, 0.258134, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.478992, 0.388286, 0.3>,
|
||||
<0.478992, 0.388286, 0>,
|
||||
<0.537815, 0.258134, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.264706, 0.383948, 0>,
|
||||
<0.478992, 0.388286, 0>,
|
||||
<0.478992, 0.388286, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.264706, 0.383948, 0.3>,
|
||||
<0.264706, 0.383948, 0>,
|
||||
<0.478992, 0.388286, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.197479, 0.310195, 0>,
|
||||
<0.264706, 0.383948, 0>,
|
||||
<0.264706, 0.383948, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.197479, 0.310195, 0.3>,
|
||||
<0.197479, 0.310195, 0>,
|
||||
<0.264706, 0.383948, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.197479, 0.310195, 0.3>,
|
||||
<0.197479, 0.310195, 0>,
|
||||
<0.264706, 0.383948, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
|
||||
// RAW DATA
|
||||
object{
|
||||
polygon 3,
|
||||
<0.705882, 0.401302, 0>,
|
||||
<0.65126, 0.292842, 0>,
|
||||
<0.65126, 0.292842, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.705882, 0.401302, 0.3>,
|
||||
<0.705882, 0.401302, 0>,
|
||||
<0.65126, 0.292842, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.869748, 0.409978, 0>,
|
||||
<0.705882, 0.401302, 0>,
|
||||
<0.705882, 0.401302, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.869748, 0.409978, 0.3>,
|
||||
<0.869748, 0.409978, 0>,
|
||||
<0.705882, 0.401302, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.962185, 0.266811, 0>,
|
||||
<0.869748, 0.409978, 0>,
|
||||
<0.869748, 0.409978, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.962185, 0.266811, 0.3>,
|
||||
<0.962185, 0.266811, 0>,
|
||||
<0.869748, 0.409978, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.823529, -0.0021692, 0>,
|
||||
<0.962185, 0.266811, 0>,
|
||||
<0.962185, 0.266811, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.823529, -0.0021692, 0.3>,
|
||||
<0.823529, -0.0021692, 0>,
|
||||
<0.962185, 0.266811, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.819328, -0.140998, 0>,
|
||||
<0.823529, -0.0021692, 0>,
|
||||
<0.823529, -0.0021692, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.819328, -0.140998, 0.3>,
|
||||
<0.819328, -0.140998, 0>,
|
||||
<0.823529, -0.0021692, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.819328, -0.140998, 0.3>,
|
||||
<0.819328, -0.140998, 0>,
|
||||
<0.823529, -0.0021692, 0.3>
|
||||
Reflective_gold
|
||||
}
|
||||
|
||||
// RAW DATA
|
||||
object{
|
||||
polygon 3,
|
||||
<0.819328, -0.227766, 0>,
|
||||
<0.819328, -0.184382, 0>,
|
||||
<0.819328, -0.184382, 0.3>
|
||||
translate <0, -0.1, 0>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.819328, -0.227766, 0.3>,
|
||||
<0.819328, -0.227766, 0>,
|
||||
<0.819328, -0.184382, 0.3>
|
||||
translate <0, -0.1, 0>
|
||||
Reflective_gold
|
||||
}
|
||||
object{
|
||||
polygon 3,
|
||||
<0.819328, -0.227766, 0.3>,
|
||||
<0.819328, -0.227766, 0>,
|
||||
<0.819328, -0.184382, 0.3>
|
||||
translate <0, -0.1, 0>
|
||||
Reflective_gold
|
||||
}
|
||||
|
||||
// LIGHT_SOURCE
|
||||
light <0, 0, -0.5>
|
||||
|
||||
|
||||
// PLANE (Polygon)
|
||||
object {
|
||||
// normal in Z direction
|
||||
polygon 4, <-1,1,0>, <1,1,0>, <1,-1,0>, <-1,-1,0>
|
||||
scale <1.5, 1.5, 1.5>
|
||||
translate <0, 0, 0.3>
|
||||
Sapphire_agate
|
||||
}
|
||||
|
||||
// LIGHT_SOURCE
|
||||
light <0, 0.5, 0>
|
||||
|
||||
|
||||
// LIGHT_SOURCE
|
||||
light <0, -0.5, 0>
|
||||
|
||||
|
||||
115
you_still_need_this/assets/1999-12-22-table.pi
Normal file
@@ -0,0 +1,115 @@
|
||||
//PROGRAM: polyray\table.pi GENERATED WITH POVCAD 2.0a(c) Alfonso Hermida 1993
|
||||
//Created on 12/22/1999
|
||||
|
||||
include "colors.inc"
|
||||
include "texture.inc"
|
||||
|
||||
viewpoint {
|
||||
from <-0.5, 1.0, -2.5>
|
||||
at <0.0, 0.6, 0.0>
|
||||
up <0.0, 1.0, 0.0>
|
||||
angle 45
|
||||
hither 1.0e-3
|
||||
resolution 2560,2048
|
||||
//resolution 1280,1024
|
||||
aspect 1.0
|
||||
yon 1.0e5
|
||||
//dither_rays
|
||||
//dither_objects
|
||||
max_trace_depth 5
|
||||
//focal_distance
|
||||
}
|
||||
|
||||
// PLANE (Polygon)
|
||||
object {
|
||||
// normal in Y direction
|
||||
polygon 4, <-1,0,1>, <-1,0,-1>, <1,0,-1>, <1,0,1>
|
||||
Reflective_gold
|
||||
}
|
||||
|
||||
// CONE
|
||||
object {
|
||||
cone <0.0, -0.5, 0.0>, 0.1, <0.0, 0.0, 0.0>, 0.0
|
||||
translate <-0.3, 0.5, -0.3>
|
||||
Sapphire_agate
|
||||
}
|
||||
|
||||
// CONE
|
||||
object {
|
||||
cone <0.0, -0.5, 0.0>, 0.1, <0.0, 0.0, 0.0>, 0.0
|
||||
translate <0.3, 0.5, -0.3>
|
||||
Sapphire_agate
|
||||
}
|
||||
|
||||
// CONE
|
||||
object {
|
||||
cone <0.0, -0.5, 0.0>, 0.1, <0.0, 0.0, 0.0>, 0.0
|
||||
translate <-0.3, 0.5, 0.3>
|
||||
Sapphire_agate
|
||||
}
|
||||
|
||||
// CONE
|
||||
object {
|
||||
cone <0.0, -0.5, 0.0>, 0.1, <0.0, 0.0, 0.0>, 0.0
|
||||
translate <0.3, 0.5, 0.3>
|
||||
Sapphire_agate
|
||||
}
|
||||
|
||||
// BOX
|
||||
object {
|
||||
box <-1, -1, -1>, <1, 1, 1>
|
||||
scale <0.7, 0.05, 0.7>
|
||||
translate <0, 0.55, 0>
|
||||
White_marble
|
||||
}
|
||||
|
||||
// LIGHT_SOURCE
|
||||
// light <0, 1.1, 0>
|
||||
|
||||
|
||||
// LIGHT_SOURCE
|
||||
light <0.8, 0.4, 0>
|
||||
|
||||
|
||||
// LIGHT_SOURCE
|
||||
light <-0.8, 0.4, 0>
|
||||
|
||||
|
||||
// SPHERE
|
||||
object {
|
||||
sphere < 0, 0.85, 0>, 0.25
|
||||
Mirror
|
||||
}
|
||||
|
||||
// PLANE (Polygon)
|
||||
object {
|
||||
// normal in X direction
|
||||
polygon 4, <0,-1,1>, <0,1,1>, <0,1,-1>, <0,-1,-1>
|
||||
translate <1, 1, 0>
|
||||
Sapphire_agate
|
||||
}
|
||||
|
||||
// PLANE (Polygon)
|
||||
object {
|
||||
// normal in Z direction
|
||||
polygon 4, <-1,1,0>, <1,1,0>, <1,-1,0>, <-1,-1,0>
|
||||
translate <0, 1, 1>
|
||||
Reflective_gold
|
||||
}
|
||||
|
||||
// PLANE (Polygon)
|
||||
object {
|
||||
// normal in X direction
|
||||
polygon 4, <0,-1,1>, <0,1,1>, <0,1,-1>, <0,-1,-1>
|
||||
translate <-1, 1, 0>
|
||||
Sapphire_agate
|
||||
}
|
||||
|
||||
// PLANE (Polygon)
|
||||
object {
|
||||
// normal in Y direction
|
||||
polygon 4, <-1,0,1>, <-1,0,-1>, <1,0,-1>, <1,0,1>
|
||||
translate <0, 2, 0>
|
||||
Sapphire_agate
|
||||
}
|
||||
|
||||
358
you_still_need_this/assets/2004-07-15-kpovmodeler-test.pov
Normal file
@@ -0,0 +1,358 @@
|
||||
global_settings {
|
||||
adc_bailout 0.0039216
|
||||
assumed_gamma 1.5
|
||||
noise_generator 2
|
||||
|
||||
radiosity {
|
||||
brightness 0.3
|
||||
}
|
||||
}
|
||||
|
||||
light_source {
|
||||
<1.23333, 2.5, -3.63333>, rgb <1, 1, 1>
|
||||
fade_distance 10
|
||||
fade_power 1
|
||||
//*PMRawBegin
|
||||
photons {
|
||||
refraction on
|
||||
reflection on
|
||||
}
|
||||
//*PMRawEnd
|
||||
}
|
||||
|
||||
light_source {
|
||||
<-3.9667, 2.5, -2.7667>, rgb <0.992157, 1, 0.862745>
|
||||
fade_distance 10
|
||||
fade_power 1
|
||||
//*PMRawBegin
|
||||
photons {
|
||||
refraction on
|
||||
reflection on
|
||||
}
|
||||
//*PMRawEnd
|
||||
}
|
||||
|
||||
plane {
|
||||
<0, 1, 0>, 0
|
||||
//*PMRawBegin
|
||||
normal { dents 1.5 scale 0.05 }
|
||||
//*PMRawEnd
|
||||
|
||||
finish {
|
||||
diffuse 0.2
|
||||
brilliance 0.8
|
||||
phong 0.5
|
||||
metallic 0.8
|
||||
specular 0.8
|
||||
|
||||
reflection {
|
||||
rgb <0.458824, 0.964706, 1>
|
||||
}
|
||||
}
|
||||
|
||||
pigment {
|
||||
color rgb <0.964706, 0.980392, 0.956863>
|
||||
}
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
text {
|
||||
//*PMName text2
|
||||
ttf "/usr/lib/X11/fonts/TTF/arial.ttf"
|
||||
"KPovModeler"
|
||||
0.25, <0, 0>
|
||||
scale 0.5
|
||||
|
||||
pigment {
|
||||
color rgb <0.247059, 0, 1>
|
||||
}
|
||||
|
||||
finish {
|
||||
diffuse 0.4
|
||||
brilliance 0.9
|
||||
metallic 0.8
|
||||
specular 0.9
|
||||
roughness 0.05
|
||||
|
||||
reflection {
|
||||
rgb <0.247059, 0.368627, 0.901961>
|
||||
}
|
||||
}
|
||||
rotate x*45
|
||||
translate <-1.95, 0.125, -0.45>
|
||||
}
|
||||
|
||||
text {
|
||||
ttf "/usr/lib/X11/fonts/TTF/gothic.ttf"
|
||||
"PovRay"
|
||||
0.2, <0, 0>
|
||||
//*PMRawBegin
|
||||
photons {
|
||||
refraction on
|
||||
reflection on
|
||||
target
|
||||
collect on
|
||||
}
|
||||
//*PMRawEnd
|
||||
|
||||
pigment {
|
||||
color rgbt <0.89804, 0.28627, 0.29412, 0.9>
|
||||
}
|
||||
|
||||
interior {
|
||||
media {
|
||||
intervals 1
|
||||
samples 1,5
|
||||
emission rgb <0.870588, 0.45098, 0.513725>
|
||||
}
|
||||
ior 1.2
|
||||
caustics 1
|
||||
}
|
||||
scale 1
|
||||
//*PMRawBegin
|
||||
normal { bumps 0.3 scale 0.04 }
|
||||
//*PMRawEnd
|
||||
|
||||
finish {
|
||||
diffuse 0.1
|
||||
brilliance 0.5
|
||||
phong 1
|
||||
phong_size 200
|
||||
specular 0.6
|
||||
roughness 0.05
|
||||
|
||||
reflection {
|
||||
rgb <0.0313725, 0.294118, 0.388235>
|
||||
}
|
||||
}
|
||||
rotate <0, 0, 0>
|
||||
translate <-1.93333, 0.25, 0>
|
||||
}
|
||||
|
||||
camera {
|
||||
//*PMName main
|
||||
perspective
|
||||
location <0.21667, 2.3519, -3.8202>
|
||||
sky <0, 1, 0>
|
||||
direction <0, 0, 1>
|
||||
right <1.3333, 0, 0>
|
||||
up <0, 1, 0>
|
||||
look_at <-0.37, 0.5, 0>
|
||||
angle 45
|
||||
}
|
||||
|
||||
sphere {
|
||||
<-2.9333, 0.7333, 0.63333>, 0.25
|
||||
|
||||
pigment {
|
||||
color rgb <1, 1, 1>
|
||||
}
|
||||
|
||||
finish {
|
||||
diffuse 0
|
||||
brilliance 1
|
||||
metallic 1
|
||||
specular 1
|
||||
roughness 0.05
|
||||
|
||||
reflection {
|
||||
rgb <0.92549, 0.866667, 0.72549>
|
||||
}
|
||||
}
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
sphere {
|
||||
//*PMName R
|
||||
<-2.3333, 0.7333, 0.63333>, 0.25
|
||||
|
||||
pigment {
|
||||
color rgb <0.5, 0, 0>
|
||||
}
|
||||
|
||||
finish {
|
||||
diffuse 0
|
||||
brilliance 1
|
||||
metallic 1
|
||||
specular 1
|
||||
roughness 0.05
|
||||
|
||||
reflection {
|
||||
rgb <0.5, 0, 0>
|
||||
}
|
||||
}
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
sphere {
|
||||
//*PMName O
|
||||
<-1.7333, 0.7333, 0.63333>, 0.25
|
||||
|
||||
pigment {
|
||||
color rgb <0.5, 0.25, 0>
|
||||
}
|
||||
|
||||
finish {
|
||||
diffuse 0
|
||||
brilliance 1
|
||||
metallic 1
|
||||
specular 1
|
||||
roughness 0.05
|
||||
|
||||
reflection {
|
||||
rgb <0.498039, 0.247059, 0>
|
||||
}
|
||||
}
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
sphere {
|
||||
//*PMName Y
|
||||
<-1.1333, 0.7333, 0.63333>, 0.25
|
||||
|
||||
pigment {
|
||||
color rgb <0.498039, 0.498039, 0>
|
||||
}
|
||||
|
||||
finish {
|
||||
diffuse 0
|
||||
brilliance 1
|
||||
metallic 1
|
||||
specular 1
|
||||
roughness 0.05
|
||||
|
||||
reflection {
|
||||
rgb <0.498039, 0.498039, 0>
|
||||
}
|
||||
}
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
sphere {
|
||||
//*PMName G
|
||||
<-0.5333, 0.7333, 0.63333>, 0.25
|
||||
|
||||
pigment {
|
||||
color rgb <0, 0.5, 0>
|
||||
}
|
||||
|
||||
finish {
|
||||
diffuse 0
|
||||
brilliance 1
|
||||
metallic 1
|
||||
specular 1
|
||||
roughness 0.05
|
||||
|
||||
reflection {
|
||||
rgb <0, 0.498039, 0>
|
||||
}
|
||||
}
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
sphere {
|
||||
//*PMName B
|
||||
<0.066666, 0.7333, 0.63333>, 0.25
|
||||
|
||||
pigment {
|
||||
color rgb <0, 0, 0.5>
|
||||
}
|
||||
|
||||
finish {
|
||||
diffuse 0
|
||||
brilliance 1
|
||||
metallic 1
|
||||
specular 1
|
||||
roughness 0.05
|
||||
|
||||
reflection {
|
||||
rgb <0, 0, 0.498039>
|
||||
}
|
||||
}
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
sphere {
|
||||
//*PMName I
|
||||
<0.66667, 0.73333, 0.63333>, 0.25
|
||||
|
||||
pigment {
|
||||
color rgb <0.25, 0, 0.5>
|
||||
}
|
||||
|
||||
finish {
|
||||
diffuse 0
|
||||
brilliance 1
|
||||
metallic 1
|
||||
specular 1
|
||||
roughness 0.05
|
||||
|
||||
reflection {
|
||||
rgb <0.25, 0, 0.5>
|
||||
}
|
||||
}
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
sphere {
|
||||
//*PMName V
|
||||
<1.2667, 0.73333, 0.63333>, 0.25
|
||||
|
||||
pigment {
|
||||
color rgb <0.5, 0, 0.5>
|
||||
}
|
||||
|
||||
finish {
|
||||
diffuse 0
|
||||
brilliance 1
|
||||
metallic 1
|
||||
specular 1
|
||||
roughness 0.05
|
||||
|
||||
reflection {
|
||||
rgb <0.5, 0, 0.5>
|
||||
}
|
||||
}
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
sphere {
|
||||
<1.8667, 0.73333, 0.63333>, 0.25
|
||||
|
||||
pigment {
|
||||
color rgb <1, 1, 1>
|
||||
}
|
||||
|
||||
finish {
|
||||
diffuse 0
|
||||
brilliance 1
|
||||
metallic 1
|
||||
specular 1
|
||||
roughness 0.05
|
||||
|
||||
reflection {
|
||||
rgb <0.92549, 0.866667, 0.72549>
|
||||
}
|
||||
}
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
692
you_still_need_this/assets/2004-07-16-crunchy-bubbles.pov
Normal file
@@ -0,0 +1,692 @@
|
||||
global_settings {
|
||||
adc_bailout 0.0039216
|
||||
assumed_gamma 1.5
|
||||
noise_generator 2
|
||||
}
|
||||
|
||||
box {
|
||||
<-10, -1, -10>, <10, -2, 10>
|
||||
|
||||
pigment {
|
||||
color rgbft <0.92157, 1, 0.89412, 0.1, 0.08>
|
||||
}
|
||||
|
||||
finish {
|
||||
diffuse 0.1
|
||||
brilliance 0.9
|
||||
metallic 1.1
|
||||
specular 0.9
|
||||
roughness 0.05
|
||||
|
||||
reflection {
|
||||
rgb <0.92549, 0.866667, 0.72549>
|
||||
}
|
||||
}
|
||||
//*PMRawBegin
|
||||
normal { dents 0.4 scale 0.1 }
|
||||
//*PMRawEnd
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
light_source {
|
||||
<4, 5, -5>, rgb <1, 1, 1>
|
||||
//*PMRawBegin
|
||||
photons {
|
||||
refraction on
|
||||
reflection on
|
||||
}
|
||||
//*PMRawEnd
|
||||
}
|
||||
|
||||
difference {
|
||||
box {
|
||||
<-1, -1, -1>, <1, 1, 1>
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
union {
|
||||
sphere {
|
||||
<-1, 0, 1>, 1
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
sphere {
|
||||
<-1, 0, -1>, 1
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
sphere {
|
||||
<1, 0, 1>, 1
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
sphere {
|
||||
<1, 0, -1>, 1
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
}
|
||||
//*PMRawBegin
|
||||
photons {
|
||||
refraction on
|
||||
reflection on
|
||||
target
|
||||
collect on
|
||||
}
|
||||
//*PMRawEnd
|
||||
|
||||
pigment {
|
||||
color rgbft <1, 0, 0, 0.02, 0.9>
|
||||
}
|
||||
|
||||
interior {
|
||||
media {
|
||||
intervals 1
|
||||
samples 1,5
|
||||
emission rgb <0.490196, 0, 0>
|
||||
|
||||
scattering {
|
||||
1, rgb <0.533333, 0.533333, 0.533333>
|
||||
}
|
||||
}
|
||||
ior 1.9
|
||||
caustics 1
|
||||
}
|
||||
|
||||
finish {
|
||||
diffuse 0.3
|
||||
brilliance 0.5
|
||||
phong 1
|
||||
phong_size 200
|
||||
specular 0.6
|
||||
roughness 0.05
|
||||
|
||||
reflection {
|
||||
rgb <0.490196, 0, 0>
|
||||
}
|
||||
}
|
||||
rotate y*20.1
|
||||
translate <-4.63333, 0, -2.36667>
|
||||
}
|
||||
|
||||
difference {
|
||||
box {
|
||||
<-1, -1, -1>, <1, 1, 1>
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
union {
|
||||
sphere {
|
||||
<-1, 0, 1>, 1
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
sphere {
|
||||
<-1, 0, -1>, 1
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
sphere {
|
||||
<1, 0, 1>, 1
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
sphere {
|
||||
<1, 0, -1>, 1
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
}
|
||||
//*PMRawBegin
|
||||
photons {
|
||||
refraction on
|
||||
reflection on
|
||||
target
|
||||
collect on
|
||||
}
|
||||
//*PMRawEnd
|
||||
|
||||
pigment {
|
||||
color rgbft <1, 1, 0, 0.02, 0.9>
|
||||
}
|
||||
|
||||
interior {
|
||||
media {
|
||||
intervals 1
|
||||
samples 1,5
|
||||
emission rgb <0.5, 0.5, 0>
|
||||
|
||||
scattering {
|
||||
1, rgb <0.533333, 0.533333, 0.533333>
|
||||
}
|
||||
}
|
||||
ior 1.9
|
||||
caustics 1
|
||||
}
|
||||
|
||||
finish {
|
||||
diffuse 0.3
|
||||
brilliance 0.5
|
||||
phong 1
|
||||
phong_size 200
|
||||
specular 0.6
|
||||
roughness 0.05
|
||||
|
||||
reflection {
|
||||
rgb <0.490196, 0, 0>
|
||||
}
|
||||
}
|
||||
rotate y*30.9
|
||||
translate <-5.03333, 0, 0.733334>
|
||||
}
|
||||
|
||||
difference {
|
||||
box {
|
||||
<-1, -1, -1>, <1, 1, 1>
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
union {
|
||||
sphere {
|
||||
<-1, 0, 1>, 1
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
sphere {
|
||||
<-1, 0, -1>, 1
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
sphere {
|
||||
<1, 0, 1>, 1
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
sphere {
|
||||
<1, 0, -1>, 1
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
}
|
||||
//*PMRawBegin
|
||||
photons {
|
||||
refraction on
|
||||
reflection on
|
||||
target
|
||||
collect on
|
||||
}
|
||||
//*PMRawEnd
|
||||
|
||||
pigment {
|
||||
color rgbft <0, 1, 0, 0.02, 0.9>
|
||||
}
|
||||
|
||||
interior {
|
||||
media {
|
||||
intervals 1
|
||||
samples 1,5
|
||||
emission rgb <0, 0.498039, 0>
|
||||
|
||||
scattering {
|
||||
1, rgb <0.533333, 0.533333, 0.533333>
|
||||
}
|
||||
}
|
||||
ior 1.9
|
||||
caustics 1
|
||||
}
|
||||
|
||||
finish {
|
||||
diffuse 0.3
|
||||
brilliance 0.5
|
||||
phong 1
|
||||
phong_size 200
|
||||
specular 0.6
|
||||
roughness 0.05
|
||||
|
||||
reflection {
|
||||
rgb <0, 0.498039, 0>
|
||||
}
|
||||
}
|
||||
rotate y*1.2
|
||||
translate <-1.63333, 0, 0.333333>
|
||||
}
|
||||
|
||||
difference {
|
||||
box {
|
||||
<-1, -1, -1>, <1, 1, 1>
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
union {
|
||||
sphere {
|
||||
<-1, 0, 1>, 1
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
sphere {
|
||||
<-1, 0, -1>, 1
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
sphere {
|
||||
<1, 0, 1>, 1
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
sphere {
|
||||
<1, 0, -1>, 1
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
}
|
||||
//*PMRawBegin
|
||||
photons {
|
||||
refraction on
|
||||
reflection on
|
||||
target
|
||||
collect on
|
||||
}
|
||||
//*PMRawEnd
|
||||
|
||||
pigment {
|
||||
color rgbft <0, 1, 1, 0.02, 0.9>
|
||||
}
|
||||
|
||||
interior {
|
||||
media {
|
||||
intervals 1
|
||||
samples 1,5
|
||||
emission rgb <0, 0.5, 0.5>
|
||||
|
||||
scattering {
|
||||
1, rgb <0.533333, 0.533333, 0.533333>
|
||||
}
|
||||
}
|
||||
ior 1.9
|
||||
caustics 1
|
||||
}
|
||||
|
||||
finish {
|
||||
diffuse 0.3
|
||||
brilliance 0.5
|
||||
phong 1
|
||||
phong_size 200
|
||||
specular 0.6
|
||||
roughness 0.05
|
||||
|
||||
reflection {
|
||||
rgb <0, 0.5, 0.5>
|
||||
}
|
||||
}
|
||||
rotate y*18.8
|
||||
translate <-1.9, 0, 3.53333>
|
||||
}
|
||||
|
||||
difference {
|
||||
box {
|
||||
<-1, -1, -1>, <1, 1, 1>
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
union {
|
||||
sphere {
|
||||
<-1, 0, 1>, 1
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
sphere {
|
||||
<-1, 0, -1>, 1
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
sphere {
|
||||
<1, 0, 1>, 1
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
sphere {
|
||||
<1, 0, -1>, 1
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
}
|
||||
//*PMRawBegin
|
||||
photons {
|
||||
refraction on
|
||||
reflection on
|
||||
target
|
||||
collect on
|
||||
}
|
||||
//*PMRawEnd
|
||||
|
||||
pigment {
|
||||
color rgbft <0, 0, 1, 0.02, 0.9>
|
||||
}
|
||||
|
||||
interior {
|
||||
media {
|
||||
intervals 1
|
||||
samples 1,5
|
||||
emission rgb <0, 0, 0.5>
|
||||
|
||||
scattering {
|
||||
1, rgb <0.533333, 0.533333, 0.533333>
|
||||
}
|
||||
}
|
||||
ior 1.9
|
||||
caustics 1
|
||||
}
|
||||
|
||||
finish {
|
||||
diffuse 0.3
|
||||
brilliance 0.5
|
||||
phong 1
|
||||
phong_size 200
|
||||
specular 0.6
|
||||
roughness 0.05
|
||||
|
||||
reflection {
|
||||
rgb <0, 0, 0.5>
|
||||
}
|
||||
}
|
||||
rotate y*12
|
||||
translate <2.43333, 0, 1.46667>
|
||||
}
|
||||
|
||||
difference {
|
||||
box {
|
||||
<-1, -1, -1>, <1, 1, 1>
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
union {
|
||||
sphere {
|
||||
<-1, 0, 1>, 1
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
sphere {
|
||||
<-1, 0, -1>, 1
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
sphere {
|
||||
<1, 0, 1>, 1
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
sphere {
|
||||
<1, 0, -1>, 1
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
}
|
||||
//*PMRawBegin
|
||||
photons {
|
||||
refraction on
|
||||
reflection on
|
||||
target
|
||||
collect on
|
||||
}
|
||||
//*PMRawEnd
|
||||
|
||||
pigment {
|
||||
color rgbft <1, 0, 1, 0.02, 0.9>
|
||||
}
|
||||
|
||||
interior {
|
||||
media {
|
||||
intervals 1
|
||||
samples 1,5
|
||||
emission rgb <0.5, 0, 0.5>
|
||||
|
||||
scattering {
|
||||
1, rgb <0.533333, 0.533333, 0.533333>
|
||||
}
|
||||
}
|
||||
ior 1.9
|
||||
caustics 1
|
||||
}
|
||||
|
||||
finish {
|
||||
diffuse 0.3
|
||||
brilliance 0.5
|
||||
phong 1
|
||||
phong_size 200
|
||||
specular 0.6
|
||||
roughness 0.05
|
||||
|
||||
reflection {
|
||||
rgb <0.5, 0, 0.5>
|
||||
}
|
||||
}
|
||||
rotate y*13.4
|
||||
translate <1.7, 0, 4.6>
|
||||
}
|
||||
|
||||
difference {
|
||||
box {
|
||||
<-1, -1, -1>, <1, 1, 1>
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
union {
|
||||
sphere {
|
||||
<-1, 0, 1>, 1
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
sphere {
|
||||
<-1, 0, -1>, 1
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
sphere {
|
||||
<1, 0, 1>, 1
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
sphere {
|
||||
<1, 0, -1>, 1
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
}
|
||||
//*PMRawBegin
|
||||
photons {
|
||||
refraction on
|
||||
reflection on
|
||||
target
|
||||
collect on
|
||||
}
|
||||
//*PMRawEnd
|
||||
|
||||
pigment {
|
||||
color rgbft <0.341176, 0.341176, 0.341176, 0.02, 0.9>
|
||||
}
|
||||
|
||||
interior {
|
||||
media {
|
||||
intervals 1
|
||||
samples 1,5
|
||||
emission rgb <0.870588, 0.45098, 0.513725>
|
||||
|
||||
scattering {
|
||||
1, rgb <0.533333, 0.533333, 0.533333>
|
||||
}
|
||||
}
|
||||
ior 1.9
|
||||
caustics 1
|
||||
}
|
||||
|
||||
finish {
|
||||
diffuse 0.3
|
||||
brilliance 0.5
|
||||
phong 1
|
||||
phong_size 200
|
||||
specular 0.6
|
||||
roughness 0.05
|
||||
|
||||
reflection {
|
||||
rgb <0.415686, 0.415686, 0.415686>
|
||||
}
|
||||
}
|
||||
rotate y*0.4
|
||||
translate <-0.633333, 0, -3.03333>
|
||||
}
|
||||
|
||||
difference {
|
||||
box {
|
||||
<-1, -1, -1>, <1, 1, 1>
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
union {
|
||||
sphere {
|
||||
<-1, 0, 1>, 1
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
sphere {
|
||||
<-1, 0, -1>, 1
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
sphere {
|
||||
<1, 0, 1>, 1
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
sphere {
|
||||
<1, 0, -1>, 1
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
}
|
||||
//*PMRawBegin
|
||||
photons {
|
||||
refraction on
|
||||
reflection on
|
||||
target
|
||||
collect on
|
||||
}
|
||||
//*PMRawEnd
|
||||
|
||||
pigment {
|
||||
color rgbft <1, 1, 1, 0.02, 0.9>
|
||||
}
|
||||
|
||||
interior {
|
||||
media {
|
||||
intervals 1
|
||||
samples 1,5
|
||||
emission rgb <0.498039, 0.498039, 0.498039>
|
||||
|
||||
scattering {
|
||||
1, rgb <0.533333, 0.533333, 0.533333>
|
||||
}
|
||||
}
|
||||
ior 1.9
|
||||
caustics 1
|
||||
}
|
||||
|
||||
finish {
|
||||
diffuse 0.3
|
||||
brilliance 0.5
|
||||
phong 1
|
||||
phong_size 200
|
||||
specular 0.6
|
||||
roughness 0.05
|
||||
|
||||
reflection {
|
||||
rgb <0.443137, 0.443137, 0.443137>
|
||||
}
|
||||
}
|
||||
rotate y*(-23.8)
|
||||
translate <3.66667, 0, -2.06667>
|
||||
}
|
||||
|
||||
camera {
|
||||
perspective
|
||||
location <5.9666, 3.12071, -4.95569>
|
||||
sky <0, 1, 0>
|
||||
direction <0, 0, 1>
|
||||
right <1.3333, 0, 0>
|
||||
up <0, 1, 0>
|
||||
look_at <0, -2.5, 0>
|
||||
rotate x*(-0.9)
|
||||
}
|
||||
159
you_still_need_this/assets/2004-09-19-roses.pov
Normal file
@@ -0,0 +1,159 @@
|
||||
/*
|
||||
* JPatch POV-Ray include file
|
||||
*/
|
||||
|
||||
/*
|
||||
* New Material
|
||||
*/
|
||||
|
||||
union {
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.4069938,2.4654262,0.92561436>,<0.50058657,2.5282931,0.8104142>,<0.5458608,2.5712624,0.69181824>,<0.5334475,2.5902162,0.57046604>,<0.35798192,1.8612365,0.72670424>,<0.45157468,1.9241035,0.6115041>,<0.4323318,1.9012327,0.6742358>,<0.41991845,1.9201864,0.5528837>,<0.3260259,1.1866684,0.8375052>,<0.37717515,1.1971412,0.8157104>,<0.42670512,1.2293565,0.73965883>,<0.4378359,1.2401483,0.70314586>,<0.19512051,0.61939645,0.77494764>,<0.24626973,0.6298692,0.75315285>,<0.27893057,0.64052653,0.72441983>,<0.29006135,0.6513183,0.68790686> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.5334475,2.5902162,0.57046604>,<0.5195069,2.6115026,0.434182>,<0.37181258,2.6061997,0.19459726>,<0.26008266,2.557377,0.15209132>,<0.41991845,1.9201864,0.5528837>,<0.40597785,1.941473,0.41659963>,<0.4444036,1.9688857,0.3904736>,<0.3326737,1.920063,0.34796768>,<0.4378359,1.2401483,0.70314586>,<0.45009446,1.2520335,0.6629336>,<0.3856378,1.2622768,0.52159953>,<0.3513378,1.2657077,0.4972003>,<0.29006135,0.6513183,0.68790686>,<0.30231988,0.6632035,0.6476946>,<0.2787332,0.6839656,0.5622361>,<0.2444332,0.68739665,0.5378368> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.26008266,2.557377,0.15209132>,<0.14702037,2.5079725,0.10907853>,<0.012734227,2.419555,0.16593413>,<-0.1431433,2.291432,0.32444906>,<0.3326737,1.920063,0.34796768>,<0.2196114,1.8706586,0.3049549>,<0.28859782,1.9687376,0.1098569>,<0.13272029,1.8406146,0.26837185>,<0.3513378,1.2657077,0.4972003>,<0.31702718,1.2691399,0.47279346>,<0.19896749,1.2067622,0.4953617>,<0.12643707,1.1929868,0.5222549>,<0.2444332,0.68739665,0.5378368>,<0.21012257,0.69082874,0.51342994>,<0.15670647,0.6856591,0.5146671>,<0.084176034,0.6718837,0.5415603> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.25690603,2.4566057,0.74154735>,<0.2864765,2.5429611,0.528126>,<0.26648107,2.5557735,0.40995842>,<0.21496728,2.5198748,0.35953307>,<0.29224768,1.8575095,0.59925175>,<0.3218181,1.9438651,0.3858304>,<0.35263738,1.9238966,0.48716158>,<0.3011236,1.8879979,0.43673623>,<0.28330964,1.1983967,0.74236596>,<0.31304452,1.2177966,0.68001604>,<0.30757305,1.2376156,0.5921054>,<0.28942603,1.2412431,0.57243216>,<0.17592004,0.63656974,0.7043662>,<0.20565492,0.6559697,0.6420163>,<0.20580566,0.6659748,0.6047278>,<0.18765864,0.66960245,0.58505464> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.21496728,2.5198748,0.35953307>,<0.17550752,2.4923763,0.3209071>,<0.11755401,2.4362962,0.32202965>,<0.04921837,2.3627956,0.35053545>,<0.3011236,1.8879979,0.43673623>,<0.26166382,1.8604991,0.39811027>,<0.30144393,1.8995631,0.389219>,<0.23310828,1.8260624,0.4177248>,<0.28942603,1.2412431,0.57243216>,<0.27598724,1.2439296,0.55786324>,<0.2238187,1.2083476,0.5497122>,<0.19489412,1.2052646,0.55144006>,<0.18765864,0.66960245,0.58505464>,<0.17421985,0.6722889,0.57048565>,<0.15074629,0.671478,0.56557715>,<0.12182172,0.66839504,0.5673051> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <-0.14463466,2.2318792,0.7692888>,<-0.14057523,2.1863832,0.6047746>,<-0.11050329,2.1794972,0.5002857>,<-0.05448749,2.2111201,0.45566428>,<0.07650392,1.775965,0.5958692>,<0.08056335,1.730469,0.431355>,<0.12006511,1.733428,0.498825>,<0.17608091,1.7650508,0.4542036>,<0.07074815,1.1383929,0.741201>,<0.07593282,1.1563103,0.67608464>,<0.09943747,1.1558211,0.5973954>,<0.12577404,1.1605443,0.5886706>,<0.02468781,0.6236961,0.7012905>,<0.029872485,0.6416135,0.6361742>,<0.046338066,0.65254855,0.60092986>,<0.07267464,0.6572718,0.59220505> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <-0.05448749,2.2111201,0.45566428>,<0.0014299043,2.2426875,0.41112125>,<0.14175588,2.3961983,0.44041878>,<0.19075474,2.420841,0.5008496>,<0.17608091,1.7650508,0.4542036>,<0.2319983,1.796618,0.40966058>,<0.24340639,1.8132179,0.42977422>,<0.29240525,1.8378606,0.49020505>,<0.12577404,1.1605443,0.5886706>,<0.15003672,1.1648955,0.5806328>,<0.25383326,1.2113075,0.61473453>,<0.26441216,1.2061888,0.63741404>,<0.07267464,0.6572718,0.59220505>,<0.09693731,0.6616231,0.58416724>,<0.15891421,0.6602309,0.61031306>,<0.16949311,0.6551121,0.6329926> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.19075474,2.420841,0.5008496>,<0.24161287,2.4464192,0.5635735>,<0.19616303,2.3235276,0.8221811>,<0.23336011,2.3456762,0.8410821>,<0.29240525,1.8378606,0.49020505>,<0.34326336,1.8634388,0.5529289>,<0.23657027,1.7927697,0.6198492>,<0.27376735,1.8149185,0.63875014>,<0.26441216,1.2061888,0.63741404>,<0.2747841,1.2011702,0.65964997>,<0.23110735,1.1685774,0.76554585>,<0.2411745,1.1664166,0.776106>,<0.16949311,0.6551121,0.6329926>,<0.17986503,0.65009344,0.6552285>,<0.12919998,0.6297827,0.71481>,<0.13926715,0.6276219,0.72537017> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.23336011,2.3456762,0.8410821>,<0.26963696,2.3672767,0.8595155>,<0.40372264,2.5051928,0.7190726>,<0.40614885,2.5418165,0.63336265>,<0.27376735,1.8149185,0.63875014>,<0.31004423,1.836519,0.6571835>,<0.3609441,1.8564451,0.65016556>,<0.3633703,1.8930688,0.5644556>,<0.2411745,1.1664166,0.776106>,<0.25199515,1.1640941,0.7874565>,<0.3640829,1.2179531,0.7324003>,<0.37567586,1.2254537,0.70784783>,<0.13926715,0.6276219,0.72537017>,<0.1500878,0.62529933,0.7367207>,<0.23508173,0.63926,0.70850754>,<0.24667469,0.6467606,0.6839551> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.40614885,2.5418165,0.63336265>,<0.408915,2.5835717,0.5356432>,<0.33525938,2.5853088,0.41556135>,<0.16907907,2.5380018,0.26985586>,<0.3633703,1.8930688,0.5644556>,<0.3661365,1.9348242,0.4667362>,<0.44455838,1.9514802,0.53693104>,<0.27837807,1.904173,0.39122558>,<0.37567586,1.2254537,0.70784783>,<0.38934144,1.2342952,0.67890584>,<0.33422095,1.241166,0.5864556>,<0.26476926,1.2534716,0.52203697>,<0.24667469,0.6467606,0.6839551>,<0.26034027,0.65560216,0.6550131>,<0.23750529,0.6660645,0.61012423>,<0.16805357,0.6783701,0.54570556> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.13836819,2.4120846,0.6488564>,<0.052315056,2.3521137,0.66881317>,<-0.0023288243,2.3061981,0.70130646>,<-0.009809854,2.2824774,0.7498667>,<0.2510465,1.8380578,0.5501299>,<0.16499338,1.7780867,0.5700867>,<0.16994976,1.8123379,0.5494522>,<0.16246873,1.788617,0.59801245>,<0.22965768,1.1939131,0.69425464>,<0.19080159,1.1902604,0.694752>,<0.14244738,1.159334,0.7147424>,<0.13459842,1.15449,0.7301671>,<0.14062646,0.6428183,0.669116>,<0.10177036,0.6391655,0.66961336>,<0.076691814,0.63494754,0.67687774>,<0.06884285,0.6301036,0.69230247> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <-0.009809854,2.2824774,0.7498667>,<-0.019387212,2.2521098,0.8120344>,<0.048333526,2.2581184,0.9005351>,<0.22640702,2.3175821,1.0227761>,<0.16246873,1.788617,0.59801245>,<0.15289137,1.7582493,0.6601801>,<0.064333975,1.7541609,0.6171682>,<0.24240747,1.8136245,0.73940927>,<0.13459842,1.15449,0.7301671>,<0.12557936,1.148924,0.7478913>,<0.1764532,1.154552,0.814118>,<0.2181705,1.1472409,0.85550565>,<0.06884285,0.6301036,0.69230247>,<0.059823804,0.6245376,0.7100267>,<0.07355423,0.618145,0.73852557>,<0.11527154,0.6108339,0.7799132> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.30030966,2.3290267,0.9233979>,<0.3164099,2.3692636,0.99703807>,<0.34278885,2.4190412,1.0601618>,<0.38185966,2.4711123,1.0765009>,<0.2936649,1.811391,0.6856722>,<0.3097651,1.8516278,0.7593124>,<0.27900243,1.8251119,0.78477395>,<0.3180732,1.8771828,0.801113>,<0.25693345,1.1573688,0.8148483>,<0.2612129,1.1501149,0.8433665>,<0.28857177,1.1789061,0.89101124>,<0.3063603,1.1772882,0.9030622>,<0.14497653,0.6207086,0.753101>,<0.14925596,0.61345476,0.7816192>,<0.15888725,0.60732996,0.80773294>,<0.1766758,0.60571206,0.8197839> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.38185966,2.4711123,1.0765009>,<0.45657477,2.5706878,1.1077458>,<0.80548316,2.7410617,0.58382535>,<0.7621178,2.7443216,0.4033463>,<0.3180732,1.8771828,0.801113>,<0.3927883,1.9767585,0.8323579>,<0.58758825,2.0126936,0.6807122>,<0.5442229,2.0159535,0.5002331>,<0.3063603,1.1772882,0.9030622>,<0.33939016,1.1742841,0.92543864>,<0.555648,1.2703671,0.7189938>,<0.56198865,1.2861868,0.66209716>,<0.1766758,0.60571206,0.8197839>,<0.20970567,0.60270804,0.84216034>,<0.37175584,0.64912033,0.72372526>,<0.37809646,0.66494,0.66682863> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.7621178,2.7443216,0.4033463>,<0.72736377,2.746934,0.2587062>,<0.5436375,2.6868672,0.096615046>,<0.39721334,2.6164072,0.045781195>,<0.5442229,2.0159535,0.5002331>,<0.50946885,2.018566,0.35559303>,<0.5461546,2.0288494,0.35497427>,<0.39973044,1.9583893,0.30414042>,<0.56198865,1.2861868,0.66209716>,<0.5670328,1.2987717,0.6168344>,<0.4715309,1.2824812,0.5015652>,<0.42848545,1.2868698,0.4706363>,<0.37809646,0.66494,0.66682863>,<0.3831406,0.677525,0.62156594>,<0.34412777,0.6915921,0.5558795>,<0.3010823,0.6959806,0.5249505> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.39721334,2.6164072,0.045781195>,<0.21313411,2.527827,-0.018125296>,<-0.011890635,2.3915637,0.039244294>,<-0.28452533,2.193616,0.26784146>,<0.39973044,1.9583893,0.30414042>,<0.21565121,1.8698094,0.24023393>,<0.2862593,1.9533558,0.121080756>,<0.013624579,1.755408,0.34967792>,<0.42848545,1.2868698,0.4706363>,<0.37345356,1.2924805,0.43109494>,<0.17910513,1.1956058,0.44880337>,<0.052491207,1.1742367,0.48575443>,<0.3010823,0.6959806,0.5249505>,<0.24605045,0.70159125,0.48540914>,<0.16008718,0.6961775,0.47655523>,<0.03347326,0.6748084,0.5135063> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.03859926,2.3141422,0.59689>,<-0.06910537,2.286306,0.711938>,<-0.13219766,2.2743096,0.8236662>,<-0.11797289,2.2887235,0.9189179>,<0.21149802,1.8010674,0.51966316>,<0.10379339,1.773231,0.63471127>,<0.056099728,1.7730947,0.61058784>,<0.0703245,1.7875084,0.7058395>,<0.16508684,1.1747494,0.65822035>,<0.12838547,1.1630015,0.68965816>,<0.0879802,1.1533697,0.7671405>,<0.090817094,1.1448677,0.7998291>,<0.09311791,0.6460855,0.6408632>,<0.05641655,0.6343376,0.67230093>,<0.034783177,0.6235515,0.70524275>,<0.037620075,0.6150495,0.7379314> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <-0.11797289,2.2887235,0.9189179>,<-0.09794591,2.3090165,1.053022>,<0.07533574,2.381658,1.1544671>,<0.49314028,2.5361447,1.1865375>,<0.0703245,1.7875084,0.7058395>,<0.09035148,1.8078012,0.83994365>,<-0.04871559,1.7569695,0.85228086>,<0.36908895,1.9114562,0.8843514>,<0.090817094,1.1448677,0.7998291>,<0.09465114,1.1333774,0.8440076>,<0.23830405,1.1843052,0.92432165>,<0.3547391,1.1844236,0.9632385>,<0.037620075,0.6150495,0.7379314>,<0.041454118,0.6035592,0.78210986>,<0.08998373,0.596241,0.82582605>,<0.20641878,0.5963594,0.8647429> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.13825706,0.6427598,0.6685333>,<0.09788627,0.6389647,0.6690502>,<0.07183017,0.6345823,0.67659783>,<0.063675314,0.6295495,0.69262385>,<0.13904685,0.64277923,0.6687275>,<0.098676056,0.6389842,0.6692444>,<0.07355268,0.63476694,0.67649066>,<0.06539783,0.62973416,0.6925167>,<0.13983665,0.6427988,0.66892177>,<0.10098055,0.63914603,0.66941905>,<0.0749693,0.63476276,0.6769848>,<0.067120336,0.6299189,0.6924096>,<0.14062646,0.6428183,0.669116>,<0.10177036,0.6391655,0.66961336>,<0.076691814,0.63494754,0.67687774>,<0.06884285,0.6301036,0.69230247> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.063675314,0.6295495,0.69262385>,<0.054304775,0.6237664,0.71103895>,<0.06857057,0.6171246,0.74064875>,<0.11191425,0.6095285,0.78364944>,<0.06539783,0.62973416,0.6925167>,<0.056027293,0.6239511,0.7109318>,<0.06968966,0.61755973,0.73940325>,<0.11303334,0.6099636,0.782404>,<0.067120336,0.6299189,0.6924096>,<0.05810129,0.62435293,0.7101338>,<0.07243514,0.6177099,0.7397709>,<0.11415244,0.61039877,0.78115857>,<0.06884285,0.6301036,0.69230247>,<0.059823804,0.6245376,0.7100267>,<0.07355423,0.618145,0.73852557>,<0.11527154,0.6108339,0.7799132> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.017797066,0.62289196,0.70196176>,<0.023186455,0.64150846,0.63430583>,<0.040295713,0.6528698,0.59768814>,<0.06765957,0.65777695,0.58862424>,<0.020093981,0.62316,0.701738>,<0.025483372,0.6417765,0.6340821>,<0.0419674,0.6527014,0.5988817>,<0.06933126,0.6576085,0.5898178>,<0.022390895,0.62342805,0.70151424>,<0.02757557,0.6413455,0.63639796>,<0.044666372,0.65271693,0.5997362>,<0.071002945,0.6574402,0.5910114>,<0.02468781,0.6236961,0.7012905>,<0.029872485,0.6416135,0.6361742>,<0.046338066,0.65254855,0.60092986>,<0.07267464,0.6572718,0.59220505> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.06765957,0.65777695,0.58862424>,<0.092867985,0.66229755,0.58027434>,<0.15725584,0.66085064,0.6074389>,<0.16824743,0.6555324,0.6310024>,<0.06933126,0.6576085,0.5898178>,<0.09453967,0.66212904,0.58146787>,<0.15767106,0.6607105,0.6081023>,<0.16866265,0.6553923,0.6316658>,<0.071002945,0.6574402,0.5910114>,<0.09526562,0.6617915,0.5829736>,<0.15849897,0.660371,0.60964966>,<0.16907787,0.65525216,0.6323292>,<0.07267464,0.6572718,0.59220505>,<0.09693731,0.6616231,0.58416724>,<0.15891421,0.6602309,0.61031306>,<0.16949311,0.6551121,0.6329926> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.16824743,0.6555324,0.6310024>,<0.17902407,0.6503182,0.65410507>,<0.12644383,0.6291195,0.7154465>,<0.13684762,0.6269712,0.7269808>,<0.16866265,0.6553923,0.6316658>,<0.17943928,0.65017813,0.65476847>,<0.12725034,0.6293364,0.71490955>,<0.13765413,0.6271881,0.7264439>,<0.16907787,0.65525216,0.6323292>,<0.1794498,0.65023345,0.6545651>,<0.12839347,0.6295657,0.7153468>,<0.13846064,0.6274049,0.725907>,<0.16949311,0.6551121,0.6329926>,<0.17986503,0.65009344,0.6552285>,<0.12919998,0.6297827,0.71481>,<0.13926715,0.6276219,0.72537017> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.13684762,0.6269712,0.7269808>,<0.14824152,0.6246185,0.7396129>,<0.24125668,0.640992,0.7099478>,<0.25311667,0.64899564,0.68408656>,<0.13765413,0.6271881,0.7264439>,<0.14904803,0.6248353,0.739076>,<0.23910934,0.64024687,0.70990396>,<0.25096932,0.6482506,0.6840427>,<0.13846064,0.6274049,0.725907>,<0.1492813,0.6250824,0.7372575>,<0.23722905,0.640005,0.7085513>,<0.248822,0.6475056,0.6839989>,<0.13926715,0.6276219,0.72537017>,<0.1500878,0.62529933,0.7367207>,<0.23508173,0.63926,0.70850754>,<0.24667469,0.6467606,0.6839551> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.25311667,0.64899564,0.68408656>,<0.2669202,0.65831095,0.65398747>,<0.24144498,0.6685333,0.6072255>,<0.166758,0.6796983,0.540311>,<0.25096932,0.6482506,0.6840427>,<0.26477283,0.65756583,0.65394354>,<0.24187684,0.6680905,0.6090237>,<0.16718985,0.67925555,0.54210913>,<0.248822,0.6475056,0.6839989>,<0.26248762,0.65634716,0.65505683>,<0.23707342,0.66650724,0.60832596>,<0.1676217,0.67881286,0.54390734>,<0.24667469,0.6467606,0.6839551>,<0.26034027,0.65560216,0.6550131>,<0.23750529,0.6660645,0.61012423>,<0.16805357,0.6783701,0.54570556> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.17492485,0.6362673,0.705158>,<0.2058196,0.6564235,0.64037764>,<0.20597635,0.6668186,0.60163563>,<0.18712217,0.6705879,0.58119535>,<0.17525658,0.6363681,0.70489407>,<0.20615134,0.6565243,0.6401137>,<0.20615518,0.6664901,0.60292196>,<0.18730098,0.67025936,0.58248174>,<0.17558831,0.6364689,0.70463014>,<0.20532319,0.65586877,0.6422802>,<0.20562682,0.66630334,0.60344136>,<0.18747981,0.66993093,0.5837682>,<0.17592004,0.63656974,0.7043662>,<0.20565492,0.6559697,0.6420163>,<0.20580566,0.6659748,0.6047278>,<0.18765864,0.66960245,0.58505464> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.18712217,0.6705879,0.58119535>,<0.17315991,0.67337924,0.5660585>,<0.1487721,0.67253685,0.5609583>,<0.11872123,0.6693342,0.56275284>,<0.18730098,0.67025936,0.58248174>,<0.17333871,0.67305076,0.5673449>,<0.14980559,0.6722238,0.5624758>,<0.11975472,0.6690211,0.56427026>,<0.18747981,0.66993093,0.5837682>,<0.174041,0.6726174,0.5691992>,<0.14971279,0.6717911,0.56405973>,<0.12078822,0.6687081,0.5657877>,<0.18765864,0.66960245,0.58505464>,<0.17421985,0.6722889,0.57048565>,<0.15074629,0.671478,0.56557715>,<0.12182172,0.66839504,0.5673051> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.19487718,0.61842525,0.7784903>,<0.24802166,0.6293063,0.75584614>,<0.28195643,0.64037913,0.72599316>,<0.29352117,0.6515916,0.6880567>,<0.19495828,0.61874896,0.7773094>,<0.24810275,0.62962997,0.75466526>,<0.28080314,0.64028805,0.7259432>,<0.29236788,0.65150046,0.68800676>,<0.19503939,0.6190727,0.77612853>,<0.24618861,0.62954545,0.75433373>,<0.28008384,0.6406176,0.7244698>,<0.29121462,0.6514094,0.6879568>,<0.19512051,0.61939645,0.77494764>,<0.24626973,0.6298692,0.75315285>,<0.27893057,0.64052653,0.72441983>,<0.29006135,0.6513183,0.68790686> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.29352117,0.6515916,0.6880567>,<0.3062576,0.6639402,0.6462767>,<0.281749,0.6855118,0.55748546>,<0.246111,0.68907654,0.5321349>,<0.29236788,0.65150046,0.68800676>,<0.30510432,0.66384906,0.64622676>,<0.2811897,0.6849519,0.55938613>,<0.24555172,0.68851656,0.5340355>,<0.29121462,0.6514094,0.6879568>,<0.30347311,0.66329455,0.64774454>,<0.27929243,0.6845256,0.5603354>,<0.24499245,0.6879566,0.5359361>,<0.29006135,0.6513183,0.68790686>,<0.30231988,0.6632035,0.6476946>,<0.2787332,0.6839656,0.5622361>,<0.2444332,0.68739665,0.5378368> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.246111,0.68907654,0.5321349>,<0.21046188,0.69264245,0.50677645>,<0.15496266,0.687271,0.5080621>,<0.07960405,0.67295825,0.5360044>,<0.24555172,0.68851656,0.5340355>,<0.20990261,0.6920825,0.5086771>,<0.15648666,0.6869128,0.50991404>,<0.081128046,0.67260003,0.53785634>,<0.24499245,0.6879566,0.5359361>,<0.21068183,0.6913887,0.5115292>,<0.15518247,0.6860173,0.5128151>,<0.08265203,0.67224187,0.5397083>,<0.2444332,0.68739665,0.5378368>,<0.21012257,0.69082874,0.51342994>,<0.15670647,0.6856591,0.5146671>,<0.084176034,0.6718837,0.5415603> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.09311791,0.6460855,0.6408632>,<0.05641655,0.6343376,0.67230093>,<0.034783177,0.6235515,0.70524275>,<0.037620075,0.6150495,0.7379314>,<0.091710165,0.6461082,0.6403023>,<0.055008814,0.6343603,0.67174006>,<0.032655068,0.623171,0.70594335>,<0.03549197,0.61466897,0.73863196>,<0.09030242,0.646131,0.6397414>,<0.05217135,0.63392514,0.6724051>,<0.030415827,0.62312174,0.70536983>,<0.033363864,0.6142885,0.7393326>,<0.08889468,0.64615375,0.63918054>,<0.05076361,0.6339479,0.67184424>,<0.028287722,0.62274134,0.7060704>,<0.03123576,0.61390805,0.74003327> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.037620075,0.6150495,0.7379314>,<0.041454118,0.6035592,0.78210986>,<0.08998373,0.596241,0.82582605>,<0.20641878,0.5963594,0.8647429>,<0.03549197,0.61466897,0.73863196>,<0.039326012,0.6031786,0.78281045>,<0.090049624,0.5956179,0.82817376>,<0.20648468,0.59573627,0.8670905>,<0.033363864,0.6142885,0.7393326>,<0.03734813,0.6023505,0.7852334>,<0.08557615,0.5949898,0.82900596>,<0.20655058,0.59511316,0.8694382>,<0.03123576,0.61390805,0.74003327>,<0.035220023,0.60196996,0.785934>,<0.08564204,0.59436667,0.83135366>,<0.20661649,0.59449005,0.8717859> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.14277598,0.6197879,0.75579286>,<0.14722282,0.61225176,0.7854213>,<0.15723005,0.6058886,0.81255174>,<0.17571217,0.6042079,0.82507205>,<0.14350949,0.6200948,0.7548955>,<0.14795634,0.61255866,0.78452396>,<0.15755126,0.60639,0.810789>,<0.17603338,0.60470927,0.8233093>,<0.144243,0.6204016,0.7539982>,<0.14852244,0.61314785,0.78251636>,<0.15856606,0.6068286,0.80949557>,<0.17635459,0.60521066,0.82154655>,<0.14497653,0.6207086,0.753101>,<0.14925596,0.61345476,0.7816192>,<0.15888725,0.60732996,0.80773294>,<0.1766758,0.60571206,0.8197839> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.17571217,0.6042079,0.82507205>,<0.21003014,0.60108703,0.84832>,<0.3783942,0.64930713,0.72527176>,<0.3849827,0.66574347,0.66615784>,<0.17603338,0.60470927,0.8233093>,<0.21035135,0.60158837,0.84655726>,<0.37609875,0.64903927,0.72549534>,<0.38268727,0.6654756,0.6663814>,<0.17635459,0.60521066,0.82154655>,<0.20938444,0.6022066,0.843923>,<0.3740512,0.6493882,0.7235017>,<0.38039187,0.6652078,0.666605>,<0.1766758,0.60571206,0.8197839>,<0.20970567,0.60270804,0.84216034>,<0.37175584,0.64912033,0.72372526>,<0.37809646,0.66494,0.66682863> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.3849827,0.66574347,0.66615784>,<0.3902241,0.678819,0.6191309>,<0.3496917,0.69343466,0.55088323>,<0.30496883,0.6979944,0.5187484>,<0.38268727,0.6654756,0.6663814>,<0.38792866,0.6785511,0.6193545>,<0.34839618,0.6927634,0.5529505>,<0.30367333,0.69732314,0.52081573>,<0.38039187,0.6652078,0.666605>,<0.385436,0.6777928,0.6213423>,<0.34542328,0.6922633,0.553812>,<0.30237782,0.6966519,0.5228831>,<0.37809646,0.66494,0.66682863>,<0.3831406,0.677525,0.62156594>,<0.34412777,0.6915921,0.5558795>,<0.3010823,0.6959806,0.5249505> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.30496883,0.6979944,0.5187484>,<0.24779217,0.7038238,0.4776651>,<0.1584777,0.69819915,0.46846592>,<0.02692663,0.67599684,0.506858>,<0.30367333,0.69732314,0.52081573>,<0.24649668,0.7031525,0.4797324>,<0.16065991,0.69780296,0.47068202>,<0.029108837,0.67560065,0.5090741>,<0.30237782,0.6966519,0.5228831>,<0.24734598,0.7022626,0.4833417>,<0.15790498,0.6965736,0.47433913>,<0.03129105,0.6752045,0.5112902>,<0.3010823,0.6959806,0.5249505>,<0.24605045,0.70159125,0.48540914>,<0.16008718,0.6961775,0.47655523>,<0.03347326,0.6748084,0.5135063> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.4069938,2.4654262,0.92561436>,<0.50058657,2.5282931,0.8104142>,<0.5458608,2.5712624,0.69181824>,<0.5334475,2.5902162,0.57046604>,<0.46232766,3.1475492,1.1501817>,<0.5559204,3.210416,1.0349815>,<0.67060757,3.307497,0.7111379>,<0.6581942,3.3264508,0.5897857>,<0.48822862,3.811929,1.5748734>,<0.8938322,4.0224257,1.1244357>,<0.87772226,4.0172243,1.1491389>,<0.823612,4.090974,0.68077874>,<0.47831154,4.446621,2.2356079>,<0.88391507,4.657118,1.7851701>,<1.0889256,4.808837,1.3222868>,<1.0348153,4.8825865,0.85392666> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.5334475,2.5902162,0.57046604>,<0.5195069,2.6115026,0.434182>,<0.37181258,2.6061997,0.19459726>,<0.26008266,2.557377,0.15209132>,<0.6581942,3.3264508,0.5897857>,<0.6442535,3.3477373,0.4535017>,<0.28871137,3.3357885,-0.029639378>,<0.17698145,3.2869656,-0.07214531>,<0.823612,4.090974,0.68077874>,<0.75972533,4.178048,0.1277982>,<0.49651557,4.199292,-0.27517235>,<-0.014566839,4.032557,-0.3894316>,<1.0348153,4.8825865,0.85392666>,<0.9709286,4.9696608,0.30094612>,<0.17427427,4.952891,-0.7021912>,<-0.33680815,4.7861557,-0.8164505> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.26008266,2.557377,0.15209132>,<0.14702037,2.5079725,0.10907853>,<0.012734227,2.419555,0.16593413>,<-0.1431433,2.291432,0.32444906>,<0.17698145,3.2869656,-0.07214531>,<0.06391916,3.237561,-0.11515811>,<-0.34826118,3.0094953,0.23931688>,<-0.5041387,2.881372,0.3978318>,<-0.014566839,4.032557,-0.3894316>,<-0.6564877,3.8231363,-0.5329416>,<-0.43238592,4.041798,-1.002618>,<-1.2461332,3.286302,0.71906227>,<-0.33680815,4.7861557,-0.8164505>,<-0.978729,4.576735,-0.95996046>,<-1.7059598,4.1339393,-0.32405216>,<-2.5197072,3.3784432,1.3976281> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.25690603,2.4566057,0.74154735>,<0.2864765,2.5429611,0.528126>,<0.26648107,2.5557735,0.40995842>,<0.21496728,2.5198748,0.35953307>,<0.21805242,3.115235,0.8979831>,<0.24762285,3.2015908,0.6845617>,<0.17191264,3.2493455,0.32521737>,<0.12039885,3.213447,0.274792>,<0.10038236,3.7627172,1.2184843>,<0.15221012,4.112584,0.28022718>,<0.1591649,4.0688324,0.37757397>,<-0.094065994,3.9245071,0.18768473>,<-0.107564606,4.3925133,1.7263477>,<-0.055736847,4.74238,0.78809065>,<-0.19207987,4.7949824,0.28835994>,<-0.44531077,4.6506577,0.09847069> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.21496728,2.5198748,0.35953307>,<0.17550752,2.4923763,0.3209071>,<0.11755401,2.4362962,0.32202965>,<0.04921837,2.3627956,0.35053545>,<0.12039885,3.213447,0.274792>,<0.080939084,3.1859486,0.236166>,<-0.08544442,3.028803,0.24785846>,<-0.15378006,2.9553022,0.2763643>,<-0.094065994,3.9245071,0.18768473>,<-0.28804153,3.8139534,0.04222907>,<-0.2613622,3.8069506,0.04855232>,<-0.56046915,3.510396,0.2088635>,<-0.44531077,4.6506577,0.09847069>,<-0.6392863,4.5401044,-0.04698497>,<-0.90184706,4.314002,-0.010637835>,<-1.2009541,4.0174475,0.14967334> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <-0.14463466,2.2318792,0.7692888>,<-0.14057523,2.1863832,0.6047746>,<-0.11050329,2.1794972,0.5002857>,<-0.05448749,2.2111201,0.45566428>,<-0.4419932,2.8449337,1.002481>,<-0.43793374,2.7994375,0.8379668>,<-0.3704565,2.682416,0.5019325>,<-0.3144407,2.7140388,0.4573111>,<-1.0733916,3.2762375,1.542419>,<-1.0575001,3.0786285,0.5194683>,<-1.1617455,2.9228554,0.77049935>,<-0.82693374,3.118195,0.52223897>,<-2.185036,3.377203,2.526915>,<-2.1691446,3.1795943,1.5039644>,<-1.9718893,3.2032425,0.9107854>,<-1.6370773,3.3985825,0.66252506> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <-0.05448749,2.2111201,0.45566428>,<0.0014299043,2.2426875,0.41112125>,<0.14175588,2.3961983,0.44041878>,<0.19075474,2.420841,0.5008496>,<-0.3144407,2.7140388,0.4573111>,<-0.2585233,2.745606,0.41276807>,<0.034748167,3.0099032,0.45162433>,<0.08374703,3.0345457,0.51205516>,<-0.82693374,3.118195,0.52223897>,<-0.5419948,3.2844377,0.31095898>,<-0.3908705,3.5443182,0.35034287>,<-0.1467832,3.6414747,0.58541816>,<-1.6370773,3.3985825,0.66252506>,<-1.3521384,3.564825,0.45124507>,<-0.7544653,4.1426573,0.49075377>,<-0.51037794,4.239814,0.725829> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.19075474,2.420841,0.5008496>,<0.24161287,2.4464192,0.5635735>,<0.19616303,2.3235276,0.8221811>,<0.23336011,2.3456762,0.8410821>,<0.08374703,3.0345457,0.51205516>,<0.13460514,3.0601237,0.57477903>,<0.15144184,2.91095,1.0461146>,<0.18863893,2.9330988,1.0650156>,<-0.1467832,3.6414747,0.58541816>,<0.106565624,3.7423177,0.82941306>,<-0.12220973,3.37821,1.4368346>,<0.051668763,3.4649725,1.4991038>,<-0.51037794,4.239814,0.725829>,<-0.25702912,4.3406568,0.9698239>,<-0.36581963,3.8406167,2.1128185>,<-0.19194114,3.9273791,2.1750877> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.23336011,2.3456762,0.8410821>,<0.26963696,2.3672767,0.8595155>,<0.40372264,2.5051928,0.7190726>,<0.40614885,2.5418165,0.63336265>,<0.18863893,2.9330988,1.0650156>,<0.22491577,2.9546993,1.0834489>,<0.45016307,3.2094738,0.7938781>,<0.45258927,3.2460976,0.70816815>,<0.051668763,3.4649725,1.4991038>,<0.22124553,3.5495887,1.5598326>,<0.505409,3.8186512,1.2607981>,<0.48621354,3.9700751,0.8880749>,<-0.19194114,3.9273791,2.1750877>,<-0.022364378,4.0119953,2.2358165>,<0.5243162,4.5609846,1.5588901>,<0.50512075,4.712408,1.1861669> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.40614885,2.5418165,0.63336265>,<0.408915,2.5835717,0.5356432>,<0.33525938,2.5853088,0.41556135>,<0.16907907,2.5380018,0.26985586>,<0.45258927,3.2460976,0.70816815>,<0.45535547,3.2878525,0.6104487>,<0.21137047,3.3037455,0.27799046>,<0.045190156,3.2564383,0.13228497>,<0.48621354,3.9700751,0.8880749>,<0.46432853,4.1427164,0.4631263>,<0.56348455,4.16006,0.5013869>,<-0.2278607,3.9909205,-0.04487475>,<0.50512075,4.712408,1.1861669>,<0.48323575,4.8850493,0.7612183>,<0.11306086,4.9042006,0.27855003>,<-0.6782844,4.7350607,-0.26771158> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.13836819,2.4120846,0.6488564>,<0.052315056,2.3521137,0.66881317>,<-0.0023288243,2.3061981,0.70130646>,<-0.009809854,2.2824774,0.7498667>,<0.015079044,3.0401673,0.75688>,<-0.07097409,2.9801965,0.77683675>,<-0.20272587,2.8806639,0.87794566>,<-0.2102069,2.8569434,0.9265059>,<-0.24797282,3.647243,0.99663454>,<-0.6054163,3.4247575,1.1152929>,<-0.5905241,3.4526324,1.0676749>,<-0.62191194,3.3450284,1.2951078>,<-0.66970944,4.2261667,1.3860093>,<-1.0271529,4.003681,1.5046678>,<-1.2612662,3.8217123,1.6717072>,<-1.2926542,3.714108,1.8991401> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <-0.009809854,2.2824774,0.7498667>,<-0.019387212,2.2521098,0.8120344>,<0.048333526,2.2581184,0.9005351>,<0.22640702,2.3175821,1.0227761>,<-0.2102069,2.8569434,0.9265059>,<-0.21978426,2.8265758,0.9886737>,<0.0286434,2.8782873,1.2492456>,<0.2067169,2.9377513,1.3714868>,<-0.62191194,3.3450284,1.2951078>,<-0.664101,3.200395,1.6008048>,<-0.7844941,3.235724,1.5011699>,<0.09862614,3.441988,2.0542576>,<-1.2926542,3.714108,1.8991401>,<-1.3348433,3.569475,2.204837>,<-1.0107777,3.5591931,2.6196442>,<-0.12765747,3.7654572,3.1727316> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.30030966,2.3290267,0.9233979>,<0.3164099,2.3692636,0.99703807>,<0.34278885,2.4190412,1.0601618>,<0.38185966,2.4711123,1.0765009>,<0.30780387,2.9128354,1.1915137>,<0.3239041,2.953072,1.2651538>,<0.42087555,3.146124,1.3972888>,<0.4599464,3.1981947,1.413628>,<0.25441042,3.4245486,1.7026129>,<0.3675247,3.5986636,2.0077848>,<0.34102243,3.6560059,2.0125253>,<0.52954865,3.8710837,2.0600843>,<0.12836188,3.8431857,2.5000029>,<0.24147618,4.0173006,2.8051746>,<0.39634362,4.2290697,3.0596251>,<0.5848698,4.444147,3.1071842> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.38185966,2.4711123,1.0765009>,<0.45657477,2.5706878,1.1077458>,<0.80548316,2.7410617,0.58382535>,<0.7621178,2.7443216,0.4033463>,<0.4599464,3.1981947,1.413628>,<0.53466153,3.2977705,1.4448729>,<1.0646043,3.607238,0.46860737>,<1.0212389,3.6104982,0.28812832>,<0.52954865,3.8710837,2.0600843>,<0.89006716,4.2823763,2.1510313>,<1.6838217,4.510252,0.9158298>,<1.4163471,4.523738,0.15993327>,<0.5848698,4.444147,3.1071842>,<0.9453883,4.8554397,3.198131>,<2.2465537,5.4606566,0.7740681>,<1.9790792,5.474142,0.018171608> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.7621178,2.7443216,0.4033463>,<0.72736377,2.746934,0.2587062>,<0.5436375,2.6868672,0.096615046>,<0.39721334,2.6164072,0.045781195>,<1.0212389,3.6104982,0.28812832>,<0.9864848,3.6131108,0.14348823>,<0.54066676,3.4634821,-0.20830911>,<0.39424258,3.3930218,-0.25914297>,<1.4163471,4.523738,0.15993327>,<1.2019873,4.534545,-0.4458595>,<1.0085256,4.458645,-0.5650579>,<0.3391727,4.1908092,-0.710549>,<1.9790792,5.474142,0.018171608>,<1.7647192,5.484949,-0.58762115>,<0.8873439,5.2644086,-1.1951182>,<0.21799105,4.9965725,-1.3406093> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.39721334,2.6164072,0.045781195>,<0.21313411,2.527827,-0.018125296>,<-0.011890635,2.3915637,0.039244294>,<-0.28452533,2.193616,0.26784146>,<0.39424258,3.3930218,-0.25914297>,<0.21016335,3.3044417,-0.32304946>,<-0.40400195,2.9678717,-0.0683828>,<-0.67663664,2.7699242,0.16021436>,<0.3391727,4.1908092,-0.710549>,<-0.5023134,3.8540955,-0.89345527>,<-0.32181358,3.9647028,-1.0688434>,<-1.4379237,3.2001262,0.054997645>,<0.21799105,4.9965725,-1.3406093>,<-0.623495,4.6598587,-1.5235156>,<-1.5975859,4.136803,-1.1624933>,<-2.713696,3.3722265,-0.0386523> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.03859926,2.3141422,0.59689>,<-0.06910537,2.286306,0.711938>,<-0.13219766,2.2743096,0.8236662>,<-0.11797289,2.2887235,0.9189179>,<-0.15156934,2.8784652,0.6818306>,<-0.25927398,2.8506289,0.7968786>,<-0.3737441,2.9172645,1.0970013>,<-0.3595193,2.9316783,1.1922531>,<-0.53736824,3.3870249,0.8830135>,<-0.9538946,3.3037598,1.4284334>,<-0.95737576,3.3937924,1.3419878>,<-0.8491549,3.4585538,1.7432964>,<-1.1466849,3.827245,1.2172191>,<-1.5632112,3.74398,1.762639>,<-1.7858495,3.7167857,2.2721453>,<-1.6776285,3.7815473,2.673454> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <-0.11797289,2.2887235,0.9189179>,<-0.09794591,2.3090165,1.053022>,<0.07533574,2.381658,1.1544671>,<0.49314028,2.5361447,1.1865375>,<-0.3595193,2.9316783,1.1922531>,<-0.33949235,2.9519715,1.3263571>,<0.23396009,3.1804466,1.5408723>,<0.65176463,3.3349333,1.5729427>,<-0.8491549,3.4585538,1.7432964>,<-0.69679165,3.5497315,2.3082955>,<-0.9862938,3.524044,2.3761032>,<0.8599433,4.0799084,2.310453>,<-1.6776285,3.7815473,2.673454>,<-1.5252652,3.872725,3.2384534>,<-0.7170855,4.1461744,3.5889878>,<1.1291516,4.702039,3.5233376> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.13825706,0.6427598,0.6685333>,<0.09788627,0.6389647,0.6690502>,<0.07183017,0.6345823,0.67659783>,<0.063675314,0.6295495,0.69262385>,<-0.014158063,0.16562554,0.6203276>,<-0.054528847,0.16183043,0.6208445>,<-0.068740055,0.15954602,0.6245661>,<-0.07689491,0.15451327,0.64059216>,<-0.16657314,-0.31150857,0.5721219>,<-0.18770915,-0.31349546,0.57239246>,<-0.21319562,-0.3178879,0.58017015>,<-0.21746509,-0.32052284,0.58856046>,<-0.31898826,-0.7886428,0.52391624>,<-0.34012425,-0.79062974,0.52418685>,<-0.35376585,-0.79292417,0.52813846>,<-0.35803533,-0.79555905,0.5365288> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.13825706,0.6427598,0.6685333>,<0.13904685,0.64277923,0.6687275>,<0.13983665,0.6427988,0.66892177>,<0.14062646,0.6428183,0.669116>,<-0.014158063,0.16562554,0.6203276>,<-0.013368271,0.165645,0.6205218>,<0.05758974,0.13369823,0.6456988>,<0.058379553,0.13371772,0.645893>,<-0.16657314,-0.31150857,0.5721219>,<-0.16615957,-0.31149834,0.57222366>,<-0.16536975,-0.31147885,0.57241786>,<-0.16495623,-0.31146863,0.57251954>,<-0.31898826,-0.7886428,0.52391624>,<-0.3185747,-0.7886326,0.52401793>,<-0.31816113,-0.7886224,0.5241196>,<-0.3177476,-0.7886121,0.5242213> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.063675314,0.6295495,0.69262385>,<0.054304775,0.6237664,0.71103895>,<0.06857057,0.6171246,0.74064875>,<0.11191425,0.6095285,0.78364944>,<-0.07689491,0.15451327,0.64059216>,<-0.086265445,0.14873016,0.6590073>,<-0.07966077,0.14526802,0.6741607>,<-0.036317095,0.13767192,0.7171614>,<-0.21746509,-0.32052284,0.58856046>,<-0.2223711,-0.32355058,0.59820175>,<-0.20724106,-0.33020747,0.62816024>,<-0.18454841,-0.33418456,0.6506734>,<-0.35803533,-0.79555905,0.5365288>,<-0.36294132,-0.79858685,0.5461701>,<-0.35547245,-0.80206406,0.5616723>,<-0.33277977,-0.8060411,0.58418536> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.063675314,0.6295495,0.69262385>,<0.06539783,0.62973416,0.6925167>,<0.067120336,0.6299189,0.6924096>,<0.06884285,0.6301036,0.69230247>,<-0.07689491,0.15451327,0.64059216>,<-0.075172395,0.1546979,0.64048505>,<0.0046224073,0.13151145,0.6564207>,<0.006344922,0.13169613,0.65631366>,<-0.21746509,-0.32052284,0.58856046>,<-0.21656328,-0.3204261,0.5885043>,<-0.21484077,-0.32024133,0.58839726>,<-0.21393898,-0.32014465,0.5883411>,<-0.35803533,-0.79555905,0.5365288>,<-0.3571335,-0.7954623,0.5364727>,<-0.35623172,-0.7953656,0.5364166>,<-0.35532993,-0.7952689,0.5363605> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.11191425,0.6095285,0.78364944>,<0.11303334,0.6099636,0.782404>,<0.11415244,0.61039877,0.78115857>,<0.11527154,0.6108339,0.7799132>,<-0.036317095,0.13767192,0.7171614>,<-0.035198003,0.138107,0.7159159>,<0.01833418,0.110903084,0.71076775>,<0.01945328,0.1113382,0.7095224>,<-0.18454841,-0.33418456,0.6506734>,<-0.18396258,-0.33395672,0.6500213>,<-0.18284345,-0.3335216,0.64877594>,<-0.18225764,-0.3332938,0.64812386>,<-0.33277977,-0.8060411,0.58418536>,<-0.3321939,-0.8058133,0.5835333>,<-0.3316081,-0.8055855,0.5828812>,<-0.33102226,-0.8053577,0.58222914> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.017797066,0.62289196,0.70196176>,<0.023186455,0.64150846,0.63430583>,<0.040295713,0.6528698,0.59768814>,<0.06765957,0.65777695,0.58862424>,<-0.115486905,0.14891309,0.6484471>,<-0.11009752,0.16752958,0.58079123>,<-0.1009073,0.17335057,0.56217337>,<-0.073543444,0.1782577,0.5531095>,<-0.24877083,-0.3250657,0.59493244>,<-0.24594927,-0.31531918,0.5595114>,<-0.22907269,-0.3038305,0.5223403>,<-0.21474643,-0.3012614,0.5175949>,<-0.3820548,-0.7990446,0.54141784>,<-0.37923324,-0.78929806,0.5059968>,<-0.37027574,-0.78334975,0.48682564>,<-0.35594946,-0.7807807,0.48208022> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.017797066,0.62289196,0.70196176>,<0.020093981,0.62316,0.701738>,<0.022390895,0.62342805,0.70151424>,<0.02468781,0.6236961,0.7012905>,<-0.115486905,0.14891309,0.6484471>,<-0.113189995,0.14918113,0.6482234>,<-0.021758705,0.13008273,0.6632594>,<-0.01946179,0.13035077,0.66303563>,<-0.24877083,-0.3250657,0.59493244>,<-0.24756831,-0.32492542,0.59481525>,<-0.24527138,-0.32465732,0.5945915>,<-0.2440689,-0.32451704,0.5944743>,<-0.3820548,-0.7990446,0.54141784>,<-0.38085228,-0.7989043,0.54130065>,<-0.3796498,-0.798764,0.5411835>,<-0.3784473,-0.7986237,0.5410663> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.06765957,0.65777695,0.58862424>,<0.092867985,0.66229755,0.58027434>,<0.15725584,0.66085064,0.6074389>,<0.16824743,0.6555324,0.6310024>,<-0.073543444,0.1782577,0.5531095>,<-0.04833503,0.1827783,0.54475963>,<7.778406E-5,0.18168789,0.5651938>,<0.011069365,0.17636967,0.5887573>,<-0.21474643,-0.3012614,0.5175949>,<-0.20154858,-0.29889464,0.51322323>,<-0.15186328,-0.30000854,0.5341755>,<-0.14610866,-0.30279297,0.5465122>,<-0.35594946,-0.7807807,0.48208022>,<-0.34275162,-0.77841395,0.47770858>,<-0.30904135,-0.77917135,0.49193048>,<-0.30328673,-0.7819557,0.5042671> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.06765957,0.65777695,0.58862424>,<0.06933126,0.6576085,0.5898178>,<0.071002945,0.6574402,0.5910114>,<0.07267464,0.6572718,0.59220505>,<-0.073543444,0.1782577,0.5531095>,<-0.07187176,0.17808926,0.55430317>,<0.018949218,0.16407865,0.5944762>,<0.020620912,0.16391027,0.59566987>,<-0.21474643,-0.3012614,0.5175949>,<-0.21387118,-0.30134952,0.5182197>,<-0.21219945,-0.30151796,0.51941335>,<-0.21132424,-0.30160615,0.52003825>,<-0.35594946,-0.7807807,0.48208022>,<-0.3550742,-0.78086877,0.4827051>,<-0.35419893,-0.780957,0.48332998>,<-0.3533237,-0.7810452,0.4839549> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.16824743,0.6555324,0.6310024>,<0.17902407,0.6503182,0.65410507>,<0.12644383,0.6291195,0.7154465>,<0.13684762,0.6269712,0.7269808>,<0.011069365,0.17636967,0.5887573>,<0.021845996,0.17115545,0.6118599>,<-0.025747433,0.1544928,0.65795827>,<-0.015343651,0.15234447,0.6694926>,<-0.14610866,-0.30279297,0.5465122>,<-0.1404666,-0.30552292,0.55860746>,<-0.17298171,-0.32115734,0.6059656>,<-0.16753489,-0.32228214,0.61200446>,<-0.30328673,-0.7819557,0.5042671>,<-0.29764467,-0.7846857,0.5163624>,<-0.325173,-0.79578406,0.5484775>,<-0.31972617,-0.79690886,0.5545163> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.16824743,0.6555324,0.6310024>,<0.16866265,0.6553923,0.6316658>,<0.16907787,0.65525216,0.6323292>,<0.16949311,0.6551121,0.6329926>,<0.011069365,0.17636967,0.5887573>,<0.011484593,0.17622954,0.5894207>,<0.08118835,0.14498705,0.6282352>,<0.08160357,0.14484698,0.6288986>,<-0.14610866,-0.30279297,0.5465122>,<-0.14589131,-0.30286622,0.5468596>,<-0.14547607,-0.3030063,0.5475229>,<-0.14525875,-0.30307975,0.54787034>,<-0.30328673,-0.7819557,0.5042671>,<-0.30306938,-0.78202903,0.5046145>,<-0.30285203,-0.78210235,0.50496185>,<-0.30263472,-0.7821758,0.5053092> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.13684762,0.6269712,0.7269808>,<0.14824152,0.6246185,0.7396129>,<0.24125668,0.640992,0.7099478>,<0.25311667,0.64899564,0.68408656>,<-0.015343651,0.15234447,0.6694926>,<-0.0039497465,0.14999175,0.68212473>,<0.070599854,0.16286737,0.6592721>,<0.08245983,0.17087102,0.6334108>,<-0.16753489,-0.32228214,0.61200446>,<-0.16156965,-0.32351375,0.618618>,<-0.09440622,-0.3114437,0.5962746>,<-0.08819696,-0.30725348,0.5827351>,<-0.31972617,-0.79690886,0.5545163>,<-0.31376094,-0.7981405,0.5611298>,<-0.26506305,-0.7895683,0.54559886>,<-0.2588538,-0.7853781,0.53205943> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.13684762,0.6269712,0.7269808>,<0.13765413,0.6271881,0.7264439>,<0.13846064,0.6274049,0.725907>,<0.13926715,0.6276219,0.72537017>,<-0.015343651,0.15234447,0.6694926>,<-0.014537141,0.15256137,0.6689557>,<0.04323587,0.12394178,0.67849827>,<0.044042386,0.12415874,0.67796135>,<-0.16753489,-0.32228214,0.61200446>,<-0.16711265,-0.3221686,0.6117234>,<-0.16630614,-0.32195175,0.6111865>,<-0.1658839,-0.3218382,0.61090547>,<-0.31972617,-0.79690886,0.5545163>,<-0.31930393,-0.7967953,0.5542352>,<-0.3188817,-0.79668176,0.5539542>,<-0.31845945,-0.7965683,0.55367315> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.25311667,0.64899564,0.68408656>,<0.2669202,0.65831095,0.65398747>,<0.24144498,0.6685333,0.6072255>,<0.166758,0.6796983,0.540311>,<0.08245983,0.17087102,0.6334108>,<0.09626338,0.18018633,0.6033118>,<0.08450338,0.18553257,0.57938373>,<0.009816416,0.19669753,0.5124693>,<-0.08819696,-0.30725348,0.5827351>,<-0.08097011,-0.3023765,0.5669768>,<-0.10802281,-0.29214847,0.51966065>,<-0.14712512,-0.28630307,0.48462757>,<-0.2588538,-0.7853781,0.53205943>,<-0.25162694,-0.7805011,0.51630116>,<-0.2649644,-0.7751492,0.491819>,<-0.30406672,-0.7693038,0.45678592> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.25311667,0.64899564,0.68408656>,<0.25096932,0.6482506,0.6840427>,<0.248822,0.6475056,0.6839989>,<0.24667469,0.6467606,0.6839551>,<0.08245983,0.17087102,0.6334108>,<0.08031249,0.17012596,0.63336694>,<0.13318983,0.12878525,0.6625823>,<0.13104251,0.12804025,0.66253847>,<-0.08819696,-0.30725348,0.5827351>,<-0.08932117,-0.30764353,0.5827122>,<-0.09146848,-0.3083886,0.5826683>,<-0.092592694,-0.3087786,0.5826453>,<-0.2588538,-0.7853781,0.53205943>,<-0.259978,-0.78576815,0.5320364>,<-0.2611022,-0.7861582,0.5320134>,<-0.2622264,-0.78654826,0.5319904> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.166758,0.6796983,0.540311>,<0.16718985,0.67925555,0.54210913>,<0.1676217,0.67881286,0.54390734>,<0.16805357,0.6783701,0.54570556>,<0.009816416,0.19669753,0.5124693>,<0.010248274,0.19625479,0.51426744>,<0.080497205,0.16074365,0.5652287>,<0.08092908,0.16030091,0.567027>,<-0.14712512,-0.28630307,0.48462757>,<-0.14689901,-0.2865348,0.48556894>,<-0.14646715,-0.28697747,0.48736715>,<-0.14624107,-0.28720927,0.48830855>,<-0.30406672,-0.7693038,0.45678592>,<-0.3038406,-0.76953554,0.45772728>,<-0.3036145,-0.7697673,0.45866868>,<-0.30338842,-0.7699991,0.4596101> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.17492485,0.6362673,0.705158>,<0.2058196,0.6564235,0.64037764>,<0.20597635,0.6668186,0.60163563>,<0.18712217,0.6705879,0.58119535>,<0.016686313,0.16016418,0.65113574>,<0.047581077,0.18032038,0.58635545>,<0.045800686,0.1852647,0.5673008>,<0.026946492,0.18903401,0.54686046>,<-0.1415522,-0.31593883,0.5971135>,<-0.1253773,-0.3053862,0.56319785>,<-0.12335807,-0.29449308,0.5232271>,<-0.13322915,-0.29251972,0.5125256>,<-0.29979074,-0.792042,0.5430913>,<-0.28361583,-0.7814894,0.50917566>,<-0.28353372,-0.776047,0.48889232>,<-0.29340482,-0.7740736,0.47819078> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.17492485,0.6362673,0.705158>,<0.17525658,0.6363681,0.70489407>,<0.17558831,0.6364689,0.70463014>,<0.17592004,0.63656974,0.7043662>,<0.016686313,0.16016418,0.65113574>,<0.01701805,0.16026497,0.65087175>,<0.07769883,0.124343455,0.66999197>,<0.07803055,0.124444306,0.66972804>,<-0.1415522,-0.31593883,0.5971135>,<-0.14137858,-0.31588602,0.5969753>,<-0.14104685,-0.3157853,0.5967114>,<-0.14087325,-0.31573254,0.5965732>,<-0.29979074,-0.792042,0.5430913>,<-0.2996171,-0.7919892,0.5429531>,<-0.2994435,-0.79193646,0.54281485>,<-0.2992699,-0.7918837,0.5426767> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.18712217,0.6705879,0.58119535>,<0.17315991,0.67337924,0.5660585>,<0.1487721,0.67253685,0.5609583>,<0.11872123,0.6693342,0.56275284>,<0.026946492,0.18903401,0.54686046>,<0.012984246,0.19182539,0.5317236>,<-5.4033846E-4,0.19118214,0.52955234>,<-0.030591212,0.18797946,0.5313469>,<-0.13322915,-0.29251972,0.5125256>,<-0.14053905,-0.2910583,0.50460076>,<-0.1641705,-0.29169846,0.49900156>,<-0.17990361,-0.29337513,0.49994105>,<-0.29340482,-0.7740736,0.47819078>,<-0.30071473,-0.7726122,0.47026592>,<-0.31348294,-0.77305317,0.4675957>,<-0.32921606,-0.77472985,0.46853518> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.18712217,0.6705879,0.58119535>,<0.18730098,0.67025936,0.58248174>,<0.18747981,0.66993093,0.5837682>,<0.18765864,0.66960245,0.58505464>,<0.026946492,0.18903401,0.54686046>,<0.027125299,0.18870544,0.54814684>,<0.0954127,0.15277815,0.59518754>,<0.095591545,0.15244967,0.596474>,<-0.13322915,-0.29251972,0.5125256>,<-0.13313556,-0.2926917,0.5131991>,<-0.13295674,-0.29302013,0.5144855>,<-0.1328632,-0.29319218,0.515159>,<-0.29340482,-0.7740736,0.47819078>,<-0.29331124,-0.77424556,0.47886425>,<-0.2932177,-0.7744175,0.47953773>,<-0.29312414,-0.77458954,0.48021126> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.11872123,0.6693342,0.56275284>,<0.11975472,0.6690211,0.56427026>,<0.12078822,0.6687081,0.5657877>,<0.12182172,0.66839504,0.5673051>,<-0.030591212,0.18797946,0.5313469>,<-0.029557727,0.18766642,0.53286433>,<0.052002788,0.16333544,0.58072186>,<0.053036287,0.1630224,0.58223933>,<-0.17990361,-0.29337513,0.49994105>,<-0.17936254,-0.29353893,0.5007355>,<-0.17832905,-0.2938519,0.50225294>,<-0.17778802,-0.29401594,0.50304747>,<-0.32921606,-0.77472985,0.46853518>,<-0.328675,-0.7748937,0.46932966>,<-0.32813394,-0.77505755,0.47012413>,<-0.3275929,-0.7752215,0.47091866> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.02468781,0.6236961,0.7012905>,<0.029872485,0.6416135,0.6361742>,<0.046338066,0.65254855,0.60092986>,<0.07267464,0.6572718,0.59220505>,<-0.01946179,0.13035077,0.66303563>,<-0.014277115,0.14826816,0.59791934>,<-0.0057156608,0.15918702,0.6043947>,<0.020620912,0.16391027,0.59566987>,<-0.2440689,-0.32451704,0.5944743>,<-0.24135435,-0.31513643,0.56038284>,<-0.22511268,-0.30407894,0.524606>,<-0.21132424,-0.30160615,0.52003825>,<-0.3784473,-0.7986237,0.5410663>,<-0.37573275,-0.7892431,0.5069748>,<-0.36711216,-0.783518,0.4885227>,<-0.3533237,-0.7810452,0.4839549> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.07267464,0.6572718,0.59220505>,<0.09693731,0.6616231,0.58416724>,<0.15891421,0.6602309,0.61031306>,<0.16949311,0.6551121,0.6329926>,<0.020620912,0.16391027,0.59566987>,<0.044883586,0.16826159,0.58763206>,<0.07102467,0.14996576,0.60621905>,<0.08160357,0.14484698,0.6288986>,<-0.21132424,-0.30160615,0.52003825>,<-0.19862157,-0.29932797,0.5158301>,<-0.15079731,-0.3003999,0.53599656>,<-0.14525875,-0.30307975,0.54787034>,<-0.3533237,-0.7810452,0.4839549>,<-0.34062102,-0.77876705,0.47974676>,<-0.30817327,-0.7794959,0.49343538>,<-0.30263472,-0.7821758,0.5053092> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.16949311,0.6551121,0.6329926>,<0.17986503,0.65009344,0.6552285>,<0.12919998,0.6297827,0.71481>,<0.13926715,0.6276219,0.72537017>,<0.08160357,0.14484698,0.6288986>,<0.09197548,0.13982832,0.6511345>,<0.033975214,0.12631953,0.6674012>,<0.044042386,0.12415874,0.67796135>,<-0.14525875,-0.30307975,0.54787034>,<-0.13982859,-0.30570722,0.5595118>,<-0.17115453,-0.32070696,0.6053767>,<-0.1658839,-0.3218382,0.61090547>,<-0.30263472,-0.7821758,0.5053092>,<-0.29720455,-0.7848033,0.5169507>,<-0.32373008,-0.795437,0.5481444>,<-0.31845945,-0.7965683,0.55367315> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.13926715,0.6276219,0.72537017>,<0.1500878,0.62529933,0.7367207>,<0.23508173,0.63926,0.70850754>,<0.24667469,0.6467606,0.6839551>,<0.044042386,0.12415874,0.67796135>,<0.054863036,0.121836185,0.68931186>,<0.119449556,0.120539665,0.687091>,<0.13104251,0.12804025,0.66253847>,<-0.1658839,-0.3218382,0.61090547>,<-0.1602188,-0.3230542,0.6168481>,<-0.09866217,-0.31270552,0.59549963>,<-0.092592694,-0.3087786,0.5826453>,<-0.31845945,-0.7965683,0.55367315>,<-0.31279436,-0.7977842,0.55961573>,<-0.26829588,-0.79047513,0.54484475>,<-0.2622264,-0.78654826,0.5319904> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.24667469,0.6467606,0.6839551>,<0.26034027,0.65560216,0.6550131>,<0.23750529,0.6660645,0.61012423>,<0.16805357,0.6783701,0.54570556>,<0.13104251,0.12804025,0.66253847>,<0.1447081,0.13688183,0.63359654>,<0.15038079,0.1479953,0.63144565>,<0.08092908,0.16030091,0.567027>,<-0.092592694,-0.3087786,0.5826453>,<-0.08543807,-0.30414963,0.56749284>,<-0.10987967,-0.29365188,0.5220348>,<-0.14624107,-0.28720927,0.48830855>,<-0.2622264,-0.78654826,0.5319904>,<-0.2550718,-0.78191924,0.5168379>,<-0.26702702,-0.7764417,0.49333638>,<-0.30338842,-0.7699991,0.4596101> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.19487718,0.61842525,0.7784903>,<0.24802166,0.6293063,0.75584614>,<0.28195643,0.64037913,0.72599316>,<0.29352117,0.6515916,0.6880567>,<0.03346985,0.14515576,0.7128216>,<0.08661434,0.15603685,0.69017744>,<0.10488269,0.16184217,0.6746868>,<0.11644742,0.17305464,0.63675034>,<-0.12793745,-0.32811362,0.64715296>,<-0.10011381,-0.3224169,0.63529754>,<-0.06668097,-0.3113525,0.6053057>,<-0.06062629,-0.30548218,0.58544403>,<-0.2893448,-0.80138314,0.5814843>,<-0.26152116,-0.7956865,0.56962883>,<-0.24375471,-0.78988945,0.5539993>,<-0.23770005,-0.7840191,0.5341377> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.19487718,0.61842525,0.7784903>,<0.19495828,0.61874896,0.7773094>,<0.19503939,0.6190727,0.77612853>,<0.19512051,0.61939645,0.77494764>,<0.03346985,0.14515576,0.7128216>,<0.033550948,0.14547944,0.7116407>,<0.07709965,0.10798663,0.719767>,<0.077180766,0.1083104,0.7185861>,<-0.12793745,-0.32811362,0.64715296>,<-0.12789494,-0.32794416,0.6465347>,<-0.12781382,-0.3276204,0.6453537>,<-0.1277713,-0.32745087,0.6447354>,<-0.2893448,-0.80138314,0.5814843>,<-0.28930226,-0.8012136,0.580866>,<-0.28925973,-0.8010441,0.58024764>,<-0.28921723,-0.8008746,0.5796293> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.29352117,0.6515916,0.6880567>,<0.3062576,0.6639402,0.6462767>,<0.281749,0.6855118,0.55748546>,<0.246111,0.68907654,0.5321349>,<0.11644742,0.17305464,0.63675034>,<0.12918386,0.18540323,0.59497035>,<0.11220488,0.20102167,0.5309422>,<0.07656686,0.20458639,0.50559163>,<-0.06062629,-0.30548218,0.58544403>,<-0.053958178,-0.29901707,0.56357014>,<-0.074319065,-0.28177,0.49232066>,<-0.09297724,-0.27990362,0.47904843>,<-0.23770005,-0.7840191,0.5341377>,<-0.23103192,-0.77755404,0.51226383>,<-0.24386321,-0.76626015,0.46577743>,<-0.2625214,-0.7643938,0.45250523> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.29352117,0.6515916,0.6880567>,<0.29236788,0.65150046,0.68800676>,<0.29121462,0.6514094,0.6879568>,<0.29006135,0.6513183,0.68790686>,<0.11644742,0.17305464,0.63675034>,<0.11529413,0.1729635,0.6367004>,<0.16024274,0.1295321,0.67445064>,<0.15908948,0.12944102,0.6744007>,<-0.06062629,-0.30548218,0.58544403>,<-0.061230034,-0.30552983,0.58541775>,<-0.062383294,-0.3056209,0.5853678>,<-0.062987074,-0.30566853,0.5853417>,<-0.23770005,-0.7840191,0.5341377>,<-0.23830378,-0.78406674,0.5341115>,<-0.23890755,-0.78411436,0.53408533>,<-0.23951131,-0.78416204,0.53405917> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.246111,0.68907654,0.5321349>,<0.21046188,0.69264245,0.50677645>,<0.15496266,0.687271,0.5080621>,<0.07960405,0.67295825,0.5360044>,<0.07656686,0.20458639,0.50559163>,<0.040917724,0.2081523,0.4802332>,<0.011862658,0.20534074,0.48090434>,<-0.06349595,0.19102797,0.50884664>,<-0.09297724,-0.27990362,0.47904843>,<-0.11164129,-0.2780367,0.46577203>,<-0.16714191,-0.2834087,0.46705973>,<-0.20659593,-0.29090217,0.48168892>,<-0.2625214,-0.7643938,0.45250523>,<-0.28118542,-0.76252687,0.43922883>,<-0.31024194,-0.765339,0.439902>,<-0.34969592,-0.77283245,0.4545312> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.246111,0.68907654,0.5321349>,<0.24555172,0.68851656,0.5340355>,<0.24499245,0.6879566,0.5359361>,<0.2444332,0.68739665,0.5378368>,<0.07656686,0.20458639,0.50559163>,<0.076007575,0.2040264,0.5074922>,<0.14895102,0.1684109,0.57244325>,<0.14839177,0.16785097,0.5743439>,<-0.09297724,-0.27990362,0.47904843>,<-0.09327006,-0.2801968,0.48004347>,<-0.093829334,-0.28075677,0.48194408>,<-0.09412219,-0.2810499,0.48293915>,<-0.2625214,-0.7643938,0.45250523>,<-0.26281422,-0.76468694,0.45350027>,<-0.26310706,-0.7649801,0.4544953>,<-0.2633999,-0.7652733,0.45549035> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.07960405,0.67295825,0.5360044>,<0.081128046,0.67260003,0.53785634>,<0.08265203,0.67224187,0.5397083>,<0.084176034,0.6718837,0.5415603>,<-0.06349595,0.19102797,0.50884664>,<-0.061971955,0.19066978,0.51069856>,<0.04221207,0.17359352,0.5581819>,<0.043736063,0.17323536,0.5600338>,<-0.20659593,-0.29090217,0.48168892>,<-0.20579803,-0.2910897,0.4826585>,<-0.20427406,-0.29144788,0.48451042>,<-0.20347619,-0.29163545,0.48548>,<-0.34969592,-0.77283245,0.4545312>,<-0.34889805,-0.77301997,0.45550075>,<-0.3481002,-0.77320755,0.4564703>,<-0.34730232,-0.77339506,0.4574399> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.19512051,0.61939645,0.77494764>,<0.24626973,0.6298692,0.75315285>,<0.27893057,0.64052653,0.72441983>,<0.29006135,0.6513183,0.68790686>,<0.077180766,0.1083104,0.7185861>,<0.12832999,0.118783176,0.6967913>,<0.1479587,0.118649244,0.71091366>,<0.15908948,0.12944102,0.6744007>,<-0.1277713,-0.32745087,0.6447354>,<-0.10099232,-0.32196796,0.63332474>,<-0.068814576,-0.31131864,0.604458>,<-0.062987074,-0.30566853,0.5853417>,<-0.28921723,-0.8008746,0.5796293>,<-0.26243824,-0.7953916,0.5682186>,<-0.2453388,-0.7898121,0.55317545>,<-0.23951131,-0.78416204,0.53405917> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.29006135,0.6513183,0.68790686>,<0.30231988,0.6632035,0.6476946>,<0.2787332,0.6839656,0.5622361>,<0.2444332,0.68739665,0.5378368>,<0.15908948,0.12944102,0.6744007>,<0.171348,0.14132619,0.6341884>,<0.18269178,0.16441995,0.5987432>,<0.14839177,0.16785097,0.5743439>,<-0.062987074,-0.30566853,0.5853417>,<-0.05656916,-0.2994461,0.5642886>,<-0.076164484,-0.28284627,0.49571335>,<-0.09412219,-0.2810499,0.48293915>,<-0.23951131,-0.78416204,0.53405917>,<-0.23309341,-0.77793956,0.5130061>,<-0.24544221,-0.7670696,0.46826452>,<-0.2633999,-0.7652733,0.45549035> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.2444332,0.68739665,0.5378368>,<0.21012257,0.69082874,0.51342994>,<0.15670647,0.6856591,0.5146671>,<0.084176034,0.6718837,0.5415603>,<0.14839177,0.16785097,0.5743439>,<0.114081144,0.17128307,0.549937>,<0.11626649,0.18701077,0.53314054>,<0.043736063,0.17323536,0.5600338>,<-0.09412219,-0.2810499,0.48293915>,<-0.11208546,-0.27925307,0.47016096>,<-0.16550297,-0.28442335,0.47140008>,<-0.20347619,-0.29163545,0.48548>,<-0.2633999,-0.7652733,0.45549035>,<-0.2813632,-0.7634764,0.4427122>,<-0.3093291,-0.7661829,0.44335997>,<-0.34730232,-0.77339506,0.4574399> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.09311791,0.6460855,0.6408632>,<0.05641655,0.6343376,0.67230093>,<0.034783177,0.6235515,0.70524275>,<0.037620075,0.6150495,0.7379314>,<0.024820521,0.14439183,0.62439156>,<-0.011880837,0.13264394,0.6558293>,<-0.0151033625,0.12670445,0.6471969>,<-0.0122664645,0.11820245,0.67988557>,<-0.19737455,-0.30923927,0.553241>,<-0.21658951,-0.31538987,0.5697001>,<-0.23672962,-0.325966,0.60236275>,<-0.23524441,-0.33041716,0.6194768>,<-0.3426208,-0.7869017,0.50942993>,<-0.36183572,-0.7930523,0.52588904>,<-0.3731619,-0.7986994,0.5431355>,<-0.37167668,-0.80315053,0.56024957> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.09311791,0.6460855,0.6408632>,<0.091710165,0.6461082,0.6403023>,<0.09030242,0.646131,0.6397414>,<0.08889468,0.64615375,0.63918054>,<0.024820521,0.14439183,0.62439156>,<0.023412779,0.14441454,0.6238307>,<-0.054273084,0.16845769,0.5961975>,<-0.055680826,0.16848049,0.59563667>,<-0.19737455,-0.30923927,0.553241>,<-0.1981116,-0.30922735,0.5529473>,<-0.19951928,-0.30920458,0.5523864>,<-0.20025632,-0.30919266,0.5520928>,<-0.3426208,-0.7869017,0.50942993>,<-0.3433578,-0.7868898,0.50913626>,<-0.3440948,-0.7868779,0.5088426>,<-0.34483182,-0.78686595,0.508549> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.037620075,0.6150495,0.7379314>,<0.041454118,0.6035592,0.78210986>,<0.08998373,0.596241,0.82582605>,<0.20641878,0.5963594,0.8647429>,<-0.0122664645,0.11820245,0.67988557>,<-0.008432422,0.10671216,0.724064>,<-0.039346695,0.08346832,0.7399411>,<0.077088356,0.08358669,0.77885795>,<-0.23524441,-0.33041716,0.6194768>,<-0.23323715,-0.3364328,0.64260626>,<-0.18102145,-0.3432325,0.6856338>,<-0.12006177,-0.34317055,0.70600855>,<-0.37167668,-0.80315053,0.56024957>,<-0.36966944,-0.80916625,0.58337903>,<-0.34426177,-0.8129976,0.6062666>,<-0.28330207,-0.8129356,0.6266414> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.037620075,0.6150495,0.7379314>,<0.03549197,0.61466897,0.73863196>,<0.033363864,0.6142885,0.7393326>,<0.03123576,0.61390805,0.74003327>,<-0.0122664645,0.11820245,0.67988557>,<-0.01439457,0.11782193,0.6805862>,<-0.10205441,0.14173639,0.67977154>,<-0.10418251,0.14135593,0.68047214>,<-0.23524441,-0.33041716,0.6194768>,<-0.23635852,-0.33061635,0.6198436>,<-0.23848659,-0.33099675,0.6205443>,<-0.23960075,-0.33119607,0.62091106>,<-0.37167668,-0.80315053,0.56024957>,<-0.37279078,-0.80334973,0.5606164>,<-0.37390488,-0.80354893,0.5609832>,<-0.375019,-0.80374825,0.56135> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.20641878,0.5963594,0.8647429>,<0.20648468,0.59573627,0.8670905>,<0.20655058,0.59511316,0.8694382>,<0.20661649,0.59449005,0.8717859>,<0.077088356,0.08358669,0.77885795>,<0.07715425,0.082963586,0.78120553>,<0.043278858,0.12564504,0.78895247>,<0.043344766,0.1250219,0.7913002>,<-0.12006177,-0.34317055,0.70600855>,<-0.1200273,-0.3434968,0.7072377>,<-0.11996138,-0.3441199,0.7095854>,<-0.11992693,-0.34444615,0.71081454>,<-0.28330207,-0.8129356,0.6266414>,<-0.2832676,-0.8132618,0.62787056>,<-0.2832331,-0.813588,0.6290997>,<-0.28319865,-0.8139143,0.6303289> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.17592004,0.63656974,0.7043662>,<0.20565492,0.6559697,0.6420163>,<0.20580566,0.6659748,0.6047278>,<0.18765864,0.66960245,0.58505464>,<0.07803055,0.124444306,0.66972804>,<0.107765436,0.14384425,0.6073781>,<0.11373857,0.14882201,0.61614716>,<0.095591545,0.15244967,0.596474>,<-0.14087325,-0.31573254,0.5965732>,<-0.12530553,-0.30557585,0.5639298>,<-0.12336233,-0.2950914,0.5254588>,<-0.1328632,-0.29319218,0.515159>,<-0.2992699,-0.7918837,0.5426767>,<-0.2837022,-0.78172696,0.51003337>,<-0.28362328,-0.7764888,0.49051106>,<-0.29312414,-0.77458954,0.48021126> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.18765864,0.66960245,0.58505464>,<0.17421985,0.6722889,0.57048565>,<0.15074629,0.671478,0.56557715>,<0.12182172,0.66839504,0.5673051>,<0.095591545,0.15244967,0.596474>,<0.082152754,0.15513611,0.581905>,<0.08196086,0.16610533,0.58051133>,<0.053036287,0.1630224,0.58223933>,<-0.1328632,-0.29319218,0.515159>,<-0.13989905,-0.2917856,0.50753146>,<-0.16264462,-0.29240185,0.5021428>,<-0.17778802,-0.29401594,0.50304747>,<-0.29312414,-0.77458954,0.48021126>,<-0.30016,-0.773183,0.4725837>,<-0.3124495,-0.7736075,0.47001398>,<-0.3275929,-0.7752215,0.47091866> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.08889468,0.64615375,0.63918054>,<0.05076361,0.6339479,0.67184424>,<0.028287722,0.62274134,0.7060704>,<0.03123576,0.61390805,0.74003327>,<-0.055680826,0.16848049,0.59563667>,<-0.0938119,0.15627462,0.6283003>,<-0.10713055,0.15018922,0.6465093>,<-0.10418251,0.14135593,0.68047214>,<-0.20025632,-0.30919266,0.5520928>,<-0.22021973,-0.3155831,0.5691937>,<-0.24114418,-0.32657146,0.60313>,<-0.23960075,-0.33119607,0.62091106>,<-0.34483182,-0.78686595,0.508549>,<-0.36479524,-0.7932564,0.5256499>,<-0.37656245,-0.79912364,0.5435689>,<-0.375019,-0.80374825,0.56135> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.03123576,0.61390805,0.74003327>,<0.035220023,0.60196996,0.785934>,<0.08564204,0.59436667,0.83135366>,<0.20661649,0.59449005,0.8717859>,<-0.10418251,0.14135593,0.68047214>,<-0.10019825,0.12941784,0.72637284>,<-0.077629685,0.12489855,0.75086796>,<0.043344766,0.1250219,0.7913002>,<-0.23960075,-0.33119607,0.62091106>,<-0.23751485,-0.33744633,0.64494216>,<-0.183263,-0.3445109,0.68964624>,<-0.11992693,-0.34444615,0.71081454>,<-0.375019,-0.80374825,0.56135>,<-0.37293312,-0.8099985,0.58538115>,<-0.34653473,-0.8139791,0.6091606>,<-0.28319865,-0.8139143,0.6303289> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.14277598,0.6197879,0.75579286>,<0.14722282,0.61225176,0.7854213>,<0.15723005,0.6058886,0.81255174>,<0.17571217,0.6042079,0.82507205>,<-0.010356732,0.14630195,0.6937288>,<-0.00590989,0.13876587,0.7233572>,<-0.0011335164,0.13487709,0.739485>,<0.017348602,0.13319632,0.75200534>,<-0.16348942,-0.32718384,0.6316649>,<-0.1611613,-0.33112943,0.64717686>,<-0.15069121,-0.33693516,0.67238367>,<-0.14101493,-0.33781514,0.6789387>,<-0.31662214,-0.8006698,0.56960094>,<-0.31429404,-0.8046154,0.5851129>,<-0.3090548,-0.80794674,0.5993171>,<-0.2993785,-0.8088267,0.60587204> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.14277598,0.6197879,0.75579286>,<0.14350949,0.6200948,0.7548955>,<0.144243,0.6204016,0.7539982>,<0.14497653,0.6207086,0.753101>,<-0.010356732,0.14630195,0.6937288>,<-0.0096232295,0.14660889,0.6928315>,<0.039630905,0.11894858,0.6963018>,<0.04036443,0.11925554,0.6954045>,<-0.16348942,-0.32718384,0.6316649>,<-0.16310543,-0.32702315,0.63119507>,<-0.16237187,-0.32671618,0.6302978>,<-0.16198792,-0.32655555,0.6298281>,<-0.31662214,-0.8006698,0.56960094>,<-0.31623814,-0.80050904,0.56913114>,<-0.31585413,-0.80034834,0.5686614>,<-0.31547016,-0.8001877,0.56819165> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.17571217,0.6042079,0.82507205>,<0.21003014,0.60108703,0.84832>,<0.3783942,0.64930713,0.72527176>,<0.3849827,0.66574347,0.66615784>,<0.017348602,0.13319632,0.75200534>,<0.051666573,0.13007545,0.7752533>,<0.18679476,0.16852266,0.6774434>,<0.1933833,0.184959,0.61832947>,<-0.14101493,-0.33781514,0.6789387>,<-0.12304789,-0.33944917,0.69111025>,<-0.0016654432,-0.30443048,0.6014501>,<0.001783967,-0.29582533,0.5705011>,<-0.2993785,-0.8088267,0.60587204>,<-0.28141147,-0.8104607,0.61804354>,<-0.19326484,-0.78521496,0.55362177>,<-0.18981543,-0.7766098,0.5226728> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.17571217,0.6042079,0.82507205>,<0.17603338,0.60470927,0.8233093>,<0.17635459,0.60521066,0.82154655>,<0.1766758,0.60571206,0.8197839>,<0.017348602,0.13319632,0.75200534>,<0.017669812,0.13369775,0.7502426>,<0.06066996,0.095338106,0.7472584>,<0.060991168,0.0958395,0.7454958>,<-0.14101493,-0.33781514,0.6789387>,<-0.14084685,-0.33755255,0.6780158>,<-0.14052564,-0.33705115,0.6762531>,<-0.1403576,-0.33678862,0.6753302>,<-0.2993785,-0.8088267,0.60587204>,<-0.29921043,-0.8085641,0.6049491>,<-0.29904237,-0.80830157,0.60402626>,<-0.29887432,-0.80803907,0.6031034> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.3849827,0.66574347,0.66615784>,<0.3902241,0.678819,0.6191309>,<0.3496917,0.69343466,0.55088323>,<0.30496883,0.6979944,0.5187484>,<0.1933833,0.184959,0.61832947>,<0.19862473,0.19803452,0.57130253>,<0.17079985,0.20752817,0.526466>,<0.126077,0.21208796,0.49433118>,<0.001783967,-0.29582533,0.5705011>,<0.0045280755,-0.28897965,0.5458802>,<-0.02940017,-0.27620554,0.4867381>,<-0.052814804,-0.27381837,0.469914>,<-0.18981543,-0.7766098,0.5226728>,<-0.18707132,-0.76976407,0.49805188>,<-0.20829202,-0.7621121,0.46232092>,<-0.23170665,-0.75972486,0.4454968> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.3849827,0.66574347,0.66615784>,<0.38268727,0.6654756,0.6663814>,<0.38039187,0.6652078,0.666605>,<0.37809646,0.66494,0.66682863>,<0.1933833,0.184959,0.61832947>,<0.19108784,0.18469113,0.61855304>,<0.22316343,0.13403958,0.6706505>,<0.22086802,0.13377178,0.6708741>,<0.001783967,-0.29582533,0.5705011>,<5.8218837E-4,-0.29596555,0.57061815>,<-0.0017132163,-0.2962333,0.5708418>,<-0.0029150248,-0.29637367,0.57095885>,<-0.18981543,-0.7766098,0.5226728>,<-0.19101721,-0.77675,0.52278984>,<-0.19221899,-0.7768903,0.5229069>,<-0.1934208,-0.7770306,0.52302396> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.30496883,0.6979944,0.5187484>,<0.24779217,0.7038238,0.4776651>,<0.1584777,0.69819915,0.46846592>,<0.02692663,0.67599684,0.506858>,<0.126077,0.21208796,0.49433118>,<0.06890035,0.21791738,0.4532479>,<0.023743771,0.21578628,0.4459371>,<-0.10780729,0.193584,0.48432916>,<-0.052814804,-0.27381837,0.469914>,<-0.082749546,-0.27076626,0.4484049>,<-0.17366791,-0.27720475,0.44170034>,<-0.2425412,-0.2888287,0.46180037>,<-0.23170665,-0.75972486,0.4454968>,<-0.26164138,-0.7566728,0.42398775>,<-0.30840185,-0.7596176,0.4191715>,<-0.3772751,-0.77124155,0.43927157> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.30496883,0.6979944,0.5187484>,<0.30367333,0.69732314,0.52081573>,<0.30237782,0.6966519,0.5228831>,<0.3010823,0.6959806,0.5249505>,<0.126077,0.21208796,0.49433118>,<0.12478149,0.21141666,0.49639857>,<0.18956664,0.17343956,0.5709765>,<0.18827114,0.1727683,0.5730439>,<-0.052814804,-0.27381837,0.469914>,<-0.053493053,-0.2741698,0.47099632>,<-0.05478856,-0.27484107,0.4730637>,<-0.055466823,-0.2751925,0.47414604>,<-0.23170665,-0.75972486,0.4454968>,<-0.23238489,-0.7600763,0.44657913>,<-0.23306315,-0.7604277,0.44766146>,<-0.2337414,-0.76077914,0.44874382> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.02692663,0.67599684,0.506858>,<0.029108837,0.67560065,0.5090741>,<0.03129105,0.6752045,0.5112902>,<0.03347326,0.6748084,0.5135063>,<-0.10780729,0.193584,0.48432916>,<-0.105625086,0.19318777,0.48654526>,<0.012679819,0.18645734,0.53844845>,<0.014862031,0.1860612,0.5406646>,<-0.2425412,-0.2888287,0.46180037>,<-0.24139869,-0.28903615,0.4629606>,<-0.23921645,-0.2894323,0.46517664>,<-0.23807397,-0.28963977,0.4663369>,<-0.3772751,-0.77124155,0.43927157>,<-0.3761326,-0.77144897,0.44043177>,<-0.3749901,-0.7716564,0.44159198>,<-0.3738476,-0.77186394,0.44275224> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.14497653,0.6207086,0.753101>,<0.14925596,0.61345476,0.7816192>,<0.15888725,0.60732996,0.80773294>,<0.1766758,0.60571206,0.8197839>,<0.04036443,0.11925554,0.6954045>,<0.044643864,0.11200172,0.7239227>,<0.043202624,0.09745741,0.7334448>,<0.060991168,0.0958395,0.7454958>,<-0.16198792,-0.32655555,0.6298281>,<-0.15974754,-0.33035326,0.6447588>,<-0.14967066,-0.33594155,0.6690209>,<-0.1403576,-0.33678862,0.6753302>,<-0.31547016,-0.8001877,0.56819165>,<-0.31322977,-0.8039854,0.5831223>,<-0.3081874,-0.807192,0.59679407>,<-0.29887432,-0.80803907,0.6031034> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.1766758,0.60571206,0.8197839>,<0.20970567,0.60270804,0.84216034>,<0.37175584,0.64912033,0.72372526>,<0.37809646,0.66494,0.66682863>,<0.060991168,0.0958395,0.7454958>,<0.09402102,0.092835486,0.7678722>,<0.21452737,0.11795211,0.7277708>,<0.22086802,0.13377178,0.6708741>,<-0.1403576,-0.33678862,0.6753302>,<-0.123064995,-0.33836138,0.68704545>,<-0.0062346756,-0.30465615,0.600747>,<-0.0029150248,-0.29637367,0.57095885>,<-0.29887432,-0.80803907,0.6031034>,<-0.28158173,-0.8096118,0.61481863>,<-0.19674045,-0.785313,0.5528121>,<-0.1934208,-0.7770306,0.52302396> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.37809646,0.66494,0.66682863>,<0.3831406,0.677525,0.62156594>,<0.34412777,0.6915921,0.5558795>,<0.3010823,0.6959806,0.5249505>,<0.22086802,0.13377178,0.6708741>,<0.22591215,0.14635676,0.6256114>,<0.23131663,0.16837978,0.6039729>,<0.18827114,0.1727683,0.5730439>,<-0.0029150248,-0.29637367,0.57095885>,<-2.7416646E-4,-0.2897848,0.5472616>,<-0.032930464,-0.27749014,0.4903388>,<-0.055466823,-0.2751925,0.47414604>,<-0.1934208,-0.7770306,0.52302396>,<-0.19077994,-0.7704418,0.49932674>,<-0.21120504,-0.76307684,0.4649366>,<-0.2337414,-0.76077914,0.44874382> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.3010823,0.6959806,0.5249505>,<0.24605045,0.70159125,0.48540914>,<0.16008718,0.6961775,0.47655523>,<0.03347326,0.6748084,0.5135063>,<0.18827114,0.1727683,0.5730439>,<0.13323927,0.17837894,0.5335026>,<0.14147595,0.2074303,0.5037135>,<0.014862031,0.1860612,0.5406646>,<-0.055466823,-0.2751925,0.47414604>,<-0.08427867,-0.27225518,0.45344424>,<-0.17178547,-0.27845192,0.44699126>,<-0.23807397,-0.28963977,0.4663369>,<-0.2337414,-0.76077914,0.44874382>,<-0.26255324,-0.75784177,0.42804202>,<-0.30755913,-0.7606761,0.4234066>,<-0.3738476,-0.77186394,0.44275224> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.14062646,0.6428183,0.669116>,<0.10177036,0.6391655,0.66961336>,<0.076691814,0.63494754,0.67687774>,<0.06884285,0.6301036,0.69230247>,<0.058379553,0.13371772,0.645893>,<0.019523442,0.13006496,0.6463903>,<0.014193885,0.13654006,0.6408889>,<0.006344922,0.13169613,0.65631366>,<-0.16495623,-0.31146863,0.57251954>,<-0.18529934,-0.31338096,0.5727799>,<-0.20982963,-0.31760848,0.5802655>,<-0.21393898,-0.32014465,0.5883411>,<-0.3177476,-0.7886121,0.5242213>,<-0.33809072,-0.7905245,0.52448165>,<-0.35122058,-0.7927328,0.52828485>,<-0.35532993,-0.7952689,0.5363605> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <0.06884285,0.6301036,0.69230247>,<0.059823804,0.6245376,0.7100267>,<0.07355423,0.618145,0.73852557>,<0.11527154,0.6108339,0.7799132>,<0.006344922,0.13169613,0.65631366>,<-0.0026741251,0.1261301,0.67403793>,<-0.022264026,0.118649304,0.6681348>,<0.01945328,0.1113382,0.7095224>,<-0.21393898,-0.32014465,0.5883411>,<-0.21866089,-0.32305872,0.5976206>,<-0.2040987,-0.329466,0.6264553>,<-0.18225764,-0.3332938,0.64812386>,<-0.35532993,-0.7952689,0.5363605>,<-0.36005187,-0.79818296,0.54564>,<-0.3528633,-0.8015299,0.56056064>,<-0.33102226,-0.8053577,0.58222914> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <-0.2992699,-0.7918837,0.5426767>,<-0.2837022,-0.78172696,0.51003337>,<-0.28362328,-0.7764888,0.49051106>,<-0.29312414,-0.77458954,0.48021126>,<-0.2994435,-0.79193646,0.54281485>,<-0.28387582,-0.78177977,0.51017153>,<-0.28371686,-0.77631676,0.48983753>,<-0.2932177,-0.7744175,0.47953773>,<-0.2996171,-0.7919892,0.5429531>,<-0.2834422,-0.78143656,0.5090375>,<-0.2834401,-0.7762189,0.4895658>,<-0.29331124,-0.77424556,0.47886425>,<-0.29979074,-0.792042,0.5430913>,<-0.28361583,-0.7814894,0.50917566>,<-0.28353372,-0.776047,0.48889232>,<-0.29340482,-0.7740736,0.47819078> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <-0.29312414,-0.77458954,0.48021126>,<-0.30016,-0.773183,0.4725837>,<-0.3124495,-0.7736075,0.47001398>,<-0.3275929,-0.7752215,0.47091866>,<-0.2932177,-0.7744175,0.47953773>,<-0.30025357,-0.77301097,0.47191018>,<-0.31299055,-0.7734435,0.46921945>,<-0.32813394,-0.77505755,0.47012413>,<-0.29331124,-0.77424556,0.47886425>,<-0.30062115,-0.77278423,0.4709394>,<-0.31294185,-0.7732171,0.46839017>,<-0.328675,-0.7748937,0.46932966>,<-0.29340482,-0.7740736,0.47819078>,<-0.30071473,-0.7726122,0.47026592>,<-0.31348294,-0.77305317,0.4675957>,<-0.32921606,-0.77472985,0.46853518> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <-0.3426208,-0.7869017,0.50942993>,<-0.36183572,-0.7930523,0.52588904>,<-0.3731619,-0.7986994,0.5431355>,<-0.37167668,-0.80315053,0.56024957>,<-0.3433578,-0.7868898,0.50913626>,<-0.36257273,-0.7930404,0.5255954>,<-0.37427604,-0.7988986,0.54350233>,<-0.37279078,-0.80334973,0.5606164>,<-0.3440948,-0.7868779,0.5088426>,<-0.36405826,-0.7932683,0.5259435>,<-0.3754483,-0.7989243,0.54320204>,<-0.37390488,-0.80354893,0.5609832>,<-0.34483182,-0.78686595,0.508549>,<-0.36479524,-0.7932564,0.5256499>,<-0.37656245,-0.79912364,0.5435689>,<-0.375019,-0.80374825,0.56135> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <-0.37167668,-0.80315053,0.56024957>,<-0.36966944,-0.80916625,0.58337903>,<-0.34426177,-0.8129976,0.6062666>,<-0.28330207,-0.8129356,0.6266414>,<-0.37279078,-0.80334973,0.5606164>,<-0.37078357,-0.8093654,0.58374584>,<-0.3442273,-0.81332374,0.6074958>,<-0.2832676,-0.8132618,0.62787056>,<-0.37390488,-0.80354893,0.5609832>,<-0.37181896,-0.8097992,0.58501434>,<-0.34656918,-0.81365275,0.6079314>,<-0.2832331,-0.813588,0.6290997>,<-0.375019,-0.80374825,0.56135>,<-0.37293312,-0.8099985,0.58538115>,<-0.34653473,-0.8139791,0.6091606>,<-0.28319865,-0.8139143,0.6303289> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <-0.3820548,-0.7990446,0.54141784>,<-0.37923324,-0.78929806,0.5059968>,<-0.37027574,-0.78334975,0.48682564>,<-0.35594946,-0.7807807,0.48208022>,<-0.38085228,-0.7989043,0.54130065>,<-0.37803072,-0.78915775,0.50587964>,<-0.36940044,-0.78343785,0.48745048>,<-0.3550742,-0.78086877,0.4827051>,<-0.3796498,-0.798764,0.5411835>,<-0.37693524,-0.7893834,0.507092>,<-0.3679874,-0.78342986,0.48789775>,<-0.35419893,-0.780957,0.48332998>,<-0.3784473,-0.7986237,0.5410663>,<-0.37573275,-0.7892431,0.5069748>,<-0.36711216,-0.783518,0.4885227>,<-0.3533237,-0.7810452,0.4839549> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <-0.35594946,-0.7807807,0.48208022>,<-0.34275162,-0.77841395,0.47770858>,<-0.30904135,-0.77917135,0.49193048>,<-0.30328673,-0.7819557,0.5042671>,<-0.3550742,-0.78086877,0.4827051>,<-0.34187633,-0.7785021,0.47833347>,<-0.308824,-0.77924466,0.49227786>,<-0.30306938,-0.78202903,0.5046145>,<-0.35419893,-0.780957,0.48332998>,<-0.34149623,-0.7786789,0.4791218>,<-0.30839062,-0.7794225,0.493088>,<-0.30285203,-0.78210235,0.50496185>,<-0.3533237,-0.7810452,0.4839549>,<-0.34062102,-0.77876705,0.47974676>,<-0.30817327,-0.7794959,0.49343538>,<-0.30263472,-0.7821758,0.5053092> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <-0.30328673,-0.7819557,0.5042671>,<-0.29764467,-0.7846857,0.5163624>,<-0.325173,-0.79578406,0.5484775>,<-0.31972617,-0.79690886,0.5545163>,<-0.30306938,-0.78202903,0.5046145>,<-0.29742736,-0.78475904,0.5167098>,<-0.32475072,-0.7956705,0.5481963>,<-0.31930393,-0.7967953,0.5542352>,<-0.30285203,-0.78210235,0.50496185>,<-0.29742187,-0.78472984,0.51660335>,<-0.3241523,-0.79555047,0.54842544>,<-0.3188817,-0.79668176,0.5539542>,<-0.30263472,-0.7821758,0.5053092>,<-0.29720455,-0.7848033,0.5169507>,<-0.32373008,-0.795437,0.5481444>,<-0.31845945,-0.7965683,0.55367315> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <-0.31972617,-0.79690886,0.5545163>,<-0.31376094,-0.7981405,0.5611298>,<-0.26506305,-0.7895683,0.54559886>,<-0.2588538,-0.7853781,0.53205943>,<-0.31930393,-0.7967953,0.5542352>,<-0.3133387,-0.79802704,0.5608487>,<-0.26618725,-0.78995836,0.54557586>,<-0.259978,-0.78576815,0.5320364>,<-0.3188817,-0.79668176,0.5539542>,<-0.31321663,-0.7978977,0.5598968>,<-0.26717168,-0.7900851,0.54486775>,<-0.2611022,-0.7861582,0.5320134>,<-0.31845945,-0.7965683,0.55367315>,<-0.31279436,-0.7977842,0.55961573>,<-0.26829588,-0.79047513,0.54484475>,<-0.2622264,-0.78654826,0.5319904> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <-0.2588538,-0.7853781,0.53205943>,<-0.25162694,-0.7805011,0.51630116>,<-0.2649644,-0.7751492,0.491819>,<-0.30406672,-0.7693038,0.45678592>,<-0.259978,-0.78576815,0.5320364>,<-0.2527511,-0.7808912,0.51627815>,<-0.26473826,-0.77538097,0.49276036>,<-0.3038406,-0.76953554,0.45772728>,<-0.2611022,-0.7861582,0.5320134>,<-0.25394756,-0.7815292,0.51686084>,<-0.2672531,-0.7762099,0.49239492>,<-0.3036145,-0.7697673,0.45866868>,<-0.2622264,-0.78654826,0.5319904>,<-0.2550718,-0.78191924,0.5168379>,<-0.26702702,-0.7764417,0.49333638>,<-0.30338842,-0.7699991,0.4596101> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <-0.28921723,-0.8008746,0.5796293>,<-0.26243824,-0.7953916,0.5682186>,<-0.2453388,-0.7898121,0.55317545>,<-0.23951131,-0.78416204,0.53405917>,<-0.28925973,-0.8010441,0.58024764>,<-0.26248074,-0.7955612,0.5688369>,<-0.24473503,-0.7897644,0.55320156>,<-0.23890755,-0.78411436,0.53408533>,<-0.28930226,-0.8012136,0.580866>,<-0.26147866,-0.79551697,0.5690105>,<-0.24435845,-0.78993714,0.5539731>,<-0.23830378,-0.78406674,0.5341115>,<-0.2893448,-0.80138314,0.5814843>,<-0.26152116,-0.7956865,0.56962883>,<-0.24375471,-0.78988945,0.5539993>,<-0.23770005,-0.7840191,0.5341377> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <-0.23951131,-0.78416204,0.53405917>,<-0.23309341,-0.77793956,0.5130061>,<-0.24544221,-0.7670696,0.46826452>,<-0.2633999,-0.7652733,0.45549035>,<-0.23890755,-0.78411436,0.53408533>,<-0.23248965,-0.7778919,0.5130323>,<-0.24514937,-0.7667764,0.46726948>,<-0.26310706,-0.7649801,0.4544953>,<-0.23830378,-0.78406674,0.5341115>,<-0.23163566,-0.7776016,0.51223755>,<-0.24415606,-0.7665533,0.46677244>,<-0.26281422,-0.76468694,0.45350027>,<-0.23770005,-0.7840191,0.5341377>,<-0.23103192,-0.77755404,0.51226383>,<-0.24386321,-0.76626015,0.46577743>,<-0.2625214,-0.7643938,0.45250523> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <-0.2633999,-0.7652733,0.45549035>,<-0.2813632,-0.7634764,0.4427122>,<-0.3093291,-0.7661829,0.44335997>,<-0.34730232,-0.77339506,0.4574399>,<-0.26310706,-0.7649801,0.4544953>,<-0.28107035,-0.7631832,0.44171715>,<-0.31012696,-0.7659954,0.44239038>,<-0.3481002,-0.77320755,0.4564703>,<-0.26281422,-0.76468694,0.45350027>,<-0.2814783,-0.76282,0.44022387>,<-0.30944407,-0.7655265,0.4408716>,<-0.34889805,-0.77301997,0.45550075>,<-0.2625214,-0.7643938,0.45250523>,<-0.28118542,-0.76252687,0.43922883>,<-0.31024194,-0.765339,0.439902>,<-0.34969592,-0.77283245,0.4545312> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <-0.3177476,-0.7886121,0.5242213>,<-0.33809072,-0.7905245,0.52448165>,<-0.35122058,-0.7927328,0.52828485>,<-0.35532993,-0.7952689,0.5363605>,<-0.31816113,-0.7886224,0.5241196>,<-0.33850425,-0.79053473,0.52437997>,<-0.35212237,-0.7928294,0.52834094>,<-0.35623172,-0.7953656,0.5364166>,<-0.3185747,-0.7886326,0.52401793>,<-0.33971065,-0.79061943,0.52428854>,<-0.35286403,-0.7928275,0.5280824>,<-0.3571335,-0.7954623,0.5364727>,<-0.31898826,-0.7886428,0.52391624>,<-0.34012425,-0.79062974,0.52418685>,<-0.35376585,-0.79292417,0.52813846>,<-0.35803533,-0.79555905,0.5365288> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <-0.35532993,-0.7952689,0.5363605>,<-0.36005187,-0.79818296,0.54564>,<-0.3528633,-0.8015299,0.56056064>,<-0.33102226,-0.8053577,0.58222914>,<-0.35623172,-0.7953656,0.5364166>,<-0.36095363,-0.79827964,0.545696>,<-0.3534491,-0.8017577,0.5612128>,<-0.3316081,-0.8055855,0.5828812>,<-0.3571335,-0.7954623,0.5364727>,<-0.3620395,-0.79849017,0.54611397>,<-0.3548866,-0.80183625,0.56102014>,<-0.3321939,-0.8058133,0.5835333>,<-0.35803533,-0.79555905,0.5365288>,<-0.36294132,-0.79858685,0.5461701>,<-0.35547245,-0.80206406,0.5616723>,<-0.33277977,-0.8060411,0.58418536> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <-0.31662214,-0.8006698,0.56960094>,<-0.31429404,-0.8046154,0.5851129>,<-0.3090548,-0.80794674,0.5993171>,<-0.2993785,-0.8088267,0.60587204>,<-0.31623814,-0.80050904,0.56913114>,<-0.31391,-0.8044547,0.5846431>,<-0.3088867,-0.8076842,0.59839416>,<-0.29921043,-0.8085641,0.6049491>,<-0.31585413,-0.80034834,0.5686614>,<-0.3136137,-0.80414605,0.58359206>,<-0.30835545,-0.80745447,0.5977169>,<-0.29904237,-0.80830157,0.60402626>,<-0.31547016,-0.8001877,0.56819165>,<-0.31322977,-0.8039854,0.5831223>,<-0.3081874,-0.807192,0.59679407>,<-0.29887432,-0.80803907,0.6031034> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <-0.2993785,-0.8088267,0.60587204>,<-0.28141147,-0.8104607,0.61804354>,<-0.19326484,-0.78521496,0.55362177>,<-0.18981543,-0.7766098,0.5226728>,<-0.29921043,-0.8085641,0.6049491>,<-0.28124338,-0.81019807,0.6171206>,<-0.19446662,-0.7853552,0.55373883>,<-0.19101721,-0.77675,0.52278984>,<-0.29904237,-0.80830157,0.60402626>,<-0.28174978,-0.8098743,0.6157415>,<-0.19553864,-0.7851727,0.55269504>,<-0.19221899,-0.7768903,0.5229069>,<-0.29887432,-0.80803907,0.6031034>,<-0.28158173,-0.8096118,0.61481863>,<-0.19674045,-0.785313,0.5528121>,<-0.1934208,-0.7770306,0.52302396> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <-0.18981543,-0.7766098,0.5226728>,<-0.18707132,-0.76976407,0.49805188>,<-0.20829202,-0.7621121,0.46232092>,<-0.23170665,-0.75972486,0.4454968>,<-0.19101721,-0.77675,0.52278984>,<-0.1882731,-0.76990426,0.49816895>,<-0.20897028,-0.76246357,0.46340322>,<-0.23238489,-0.7600763,0.44657913>,<-0.19221899,-0.7768903,0.5229069>,<-0.18957815,-0.77030146,0.49920964>,<-0.21052676,-0.76272535,0.46385425>,<-0.23306315,-0.7604277,0.44766146>,<-0.1934208,-0.7770306,0.52302396>,<-0.19077994,-0.7704418,0.49932674>,<-0.21120504,-0.76307684,0.4649366>,<-0.2337414,-0.76077914,0.44874382> }
|
||||
bicubic_patch { type 1 flatness 0 u_steps 3 v_steps 3 <-0.23170665,-0.75972486,0.4454968>,<-0.26164138,-0.7566728,0.42398775>,<-0.30840185,-0.7596176,0.4191715>,<-0.3772751,-0.77124155,0.43927157>,<-0.23238489,-0.7600763,0.44657913>,<-0.26231962,-0.7570243,0.42507005>,<-0.30725932,-0.7598251,0.42033172>,<-0.3761326,-0.77144897,0.44043177>,<-0.23306315,-0.7604277,0.44766146>,<-0.26187497,-0.7574904,0.42695963>,<-0.30870163,-0.7604685,0.42224634>,<-0.3749901,-0.7716564,0.44159198>,<-0.2337414,-0.76077914,0.44874382>,<-0.26255324,-0.75784177,0.42804202>,<-0.30755913,-0.7606761,0.4234066>,<-0.3738476,-0.77186394,0.44275224> }
|
||||
pigment {
|
||||
color rgbft <1.0,0.0,0.0,0.0,0.0>
|
||||
}
|
||||
finish {
|
||||
ambient 0.1
|
||||
diffuse 0.9 brilliance 1.0
|
||||
specular 1.0 roughness 0.01 metallic 0.0
|
||||
#if (true) conserve_energy #end
|
||||
reflection {
|
||||
0.0,0.0
|
||||
falloff 1.0
|
||||
metallic 0.0
|
||||
}
|
||||
}
|
||||
interior {
|
||||
ior 1.0
|
||||
}
|
||||
}
|
||||
1279
you_still_need_this/assets/2004-12-23-butterfly.pov
Normal file
137
you_still_need_this/assets/2005-05-11-unknown-planet.pov
Normal file
@@ -0,0 +1,137 @@
|
||||
global_settings {
|
||||
adc_bailout 0.00392157
|
||||
assumed_gamma 1.5
|
||||
noise_generator 2
|
||||
}
|
||||
|
||||
light_source {
|
||||
<4, 5, -5>, rgb <1, 1, 1>
|
||||
}
|
||||
|
||||
fog {
|
||||
fog_type 1
|
||||
distance 3
|
||||
rgb <0, 0, 0>
|
||||
}
|
||||
|
||||
camera {
|
||||
perspective
|
||||
location <5, 1.15077, -5.57202>
|
||||
sky <0, 1, 0>
|
||||
direction <0, 0, 1>
|
||||
right <1.33333, 0, 0>
|
||||
up <0, 1, 0>
|
||||
look_at <0, 0, 0>
|
||||
}
|
||||
|
||||
plane {
|
||||
//*PMName purple_sky
|
||||
<0, 1, 0>, 1.9123
|
||||
|
||||
pigment {
|
||||
bozo
|
||||
turbulence <0.5, 0, 0>
|
||||
scale <2, 1, 0.5>
|
||||
|
||||
pigment_map {
|
||||
[ 0 color rgbt <0.19216, 0.14902, 0.21569, 0.8>
|
||||
]
|
||||
[ 0.3 color rgbt <0.533333, 0.301961, 0.690196, 0.2>
|
||||
]
|
||||
[ 0.6 color rgbt <0.21569, 0.16863, 0.23922, 0.8>
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
finish {
|
||||
ambient rgb <0.24314, 0.24314, 0.24314>
|
||||
diffuse 0
|
||||
}
|
||||
scale 1
|
||||
rotate <23.9, -41.9, 0>
|
||||
translate <0, 0.533496, 0.369343>
|
||||
}
|
||||
|
||||
plane {
|
||||
//*PMName stars
|
||||
<0, 1, 0>, 1.9123
|
||||
|
||||
texture {
|
||||
granite
|
||||
|
||||
texture_map {
|
||||
[ 0 pigment {
|
||||
color rgb <0, 0, 0>
|
||||
}
|
||||
]
|
||||
[ 0.1075 pigment {
|
||||
color rgb <0, 0, 0>
|
||||
}
|
||||
]
|
||||
[ 0.11 pigment {
|
||||
color rgb <0.87451, 0.941176, 1>
|
||||
}
|
||||
|
||||
finish {
|
||||
ambient rgb <1, 1, 1>
|
||||
}
|
||||
]
|
||||
[ 0.1125 pigment {
|
||||
color rgb <0, 0, 0>
|
||||
}
|
||||
]
|
||||
[ 0.3175 pigment {
|
||||
color rgb <0, 0, 0>
|
||||
}
|
||||
]
|
||||
[ 0.32 pigment {
|
||||
color rgb <0.533333, 0.533333, 0.533333>
|
||||
}
|
||||
|
||||
finish {
|
||||
ambient rgb <1, 0.709804, 0.713725>
|
||||
}
|
||||
]
|
||||
[ 0.3225 pigment {
|
||||
color rgb <0, 0, 0>
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
scale 1
|
||||
rotate <23.9, -41.9, 0>
|
||||
translate <0, 0.779725, 0.369343>
|
||||
}
|
||||
|
||||
height_field {
|
||||
png "/home/hodapp/geomorph/chris1.png"
|
||||
|
||||
texture {
|
||||
granite
|
||||
|
||||
texture_map {
|
||||
[ 0 finish {
|
||||
reflection {
|
||||
rgb <0.835294, 0.835294, 0.835294>
|
||||
}
|
||||
}
|
||||
|
||||
pigment {
|
||||
color rgb <0.25098, 0.180392, 0.156863>
|
||||
}
|
||||
]
|
||||
[ 0.33 pigment {
|
||||
color rgb <0.32549, 0.32549, 0.32549>
|
||||
}
|
||||
]
|
||||
[ 0.66 pigment {
|
||||
color rgb <0.407843, 0.305882, 0.176471>
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
scale <16, 2, 16>
|
||||
rotate <0, 0, 0>
|
||||
translate <-8.6577, -3, -7.3267>
|
||||
inverse
|
||||
}
|
||||
598
you_still_need_this/assets/2005-06-09-superellipsoids.pov
Normal file
@@ -0,0 +1,598 @@
|
||||
#declare fence = texture {
|
||||
crackle
|
||||
scale 0.125
|
||||
|
||||
texture_map {
|
||||
[ 0.095 normal {
|
||||
bumps
|
||||
0.25
|
||||
}
|
||||
|
||||
pigment {
|
||||
granite
|
||||
|
||||
pigment_map {
|
||||
[ 0 color rgb <0.6, 0.6, 0.6>
|
||||
]
|
||||
[ 0.5 color rgb <0.12549, 0.760784, 0.921569>
|
||||
]
|
||||
[ 1 color rgb <0.423529, 0.396078, 0.380392>
|
||||
]
|
||||
}
|
||||
}
|
||||
scale 0.1
|
||||
|
||||
finish {
|
||||
ambient rgb <0.219608, 0.392157, 0.764706>
|
||||
diffuse 0.5
|
||||
brilliance 4
|
||||
metallic 1
|
||||
specular 1
|
||||
roughness 0.05
|
||||
reflection rgb <0.486275, 0.486275, 0.486275>
|
||||
}
|
||||
]
|
||||
[ 0.1 pigment {
|
||||
color rgbft <0, 0, 0, 0.8, 0.8>
|
||||
}
|
||||
|
||||
finish {
|
||||
}
|
||||
]
|
||||
[ 0.45 pigment {
|
||||
color rgbft <0.647059, 0.647059, 0.647059, 0.2, 0.2>
|
||||
}
|
||||
|
||||
finish {
|
||||
}
|
||||
]
|
||||
[ 0.8 pigment {
|
||||
color rgbft <0, 0, 0, 0.8, 0.8>
|
||||
}
|
||||
|
||||
finish {
|
||||
}
|
||||
]
|
||||
[ 0.805 normal {
|
||||
bumps
|
||||
0.25
|
||||
}
|
||||
|
||||
pigment {
|
||||
granite
|
||||
|
||||
pigment_map {
|
||||
[ 0 color rgb <0.6, 0.6, 0.6>
|
||||
]
|
||||
[ 0.5 color rgb <0.717647, 0.658824, 0.623529>
|
||||
]
|
||||
[ 1 color rgb <0.423529, 0.396078, 0.380392>
|
||||
]
|
||||
}
|
||||
}
|
||||
scale 0.1
|
||||
|
||||
finish {
|
||||
ambient rgb <0.207843, 0.301961, 0.368627>
|
||||
diffuse 0.5
|
||||
brilliance 4
|
||||
metallic 1
|
||||
specular 1
|
||||
roughness 0.025
|
||||
reflection rgb <0.486275, 0.486275, 0.486275>
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
#declare shinyblue = texture {
|
||||
finish {
|
||||
ambient rgb <0.0784314, 0.105882, 0.34902>
|
||||
diffuse 0.6
|
||||
brilliance 1
|
||||
metallic 1
|
||||
roughness 0.05
|
||||
reflection rgb <0.647059, 0.784314, 0.929412>
|
||||
}
|
||||
|
||||
pigment {
|
||||
agate
|
||||
agate_turb 0.5
|
||||
|
||||
color_map {
|
||||
[ 0 color rgb <0.188235, 0.188235, 0.415686>
|
||||
]
|
||||
[ 0.5 color rgb <0.215686, 0.262745, 0.431373>
|
||||
]
|
||||
[ 0.51 color rgb <0.0156863, 0.0980392, 0.462745>
|
||||
]
|
||||
[ 0.52 color rgb <0.298039, 0.345098, 0.435294>
|
||||
]
|
||||
[ 1 color rgb <0.215686, 0.188235, 0.380392>
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#declare mirror = texture {
|
||||
finish {
|
||||
ambient rgb <0.0784314, 0.105882, 0.34902>
|
||||
diffuse 0.6
|
||||
brilliance 3
|
||||
phong 300
|
||||
phong_size 100
|
||||
specular 0.5
|
||||
roughness 0.05
|
||||
reflection rgb <0.6, 0.662745, 0.717647>
|
||||
}
|
||||
|
||||
pigment {
|
||||
color rgb <0.392157, 0.415686, 0.458824>
|
||||
}
|
||||
}
|
||||
|
||||
#declare mirror_dim = texture {
|
||||
finish {
|
||||
ambient rgb <0.0784314, 0.105882, 0.34902>
|
||||
diffuse 0.6
|
||||
brilliance 3
|
||||
roughness 0.05
|
||||
reflection rgb <0.6, 0.662745, 0.717647>
|
||||
}
|
||||
|
||||
pigment {
|
||||
color rgb <0.392157, 0.415686, 0.458824>
|
||||
}
|
||||
}
|
||||
|
||||
#declare mirror2 = texture {
|
||||
crackle
|
||||
turbulence <0.5, 0.76, 0.8>
|
||||
|
||||
texture_map {
|
||||
[ 0 mirror
|
||||
]
|
||||
[ 0.1 mirror
|
||||
]
|
||||
[ 0.13 finish {
|
||||
ambient rgb <0.156863, 0.862745, 0.603922>
|
||||
}
|
||||
|
||||
pigment {
|
||||
color rgb <0, 0.572549, 0.160784>
|
||||
}
|
||||
]
|
||||
[ 0.16 mirror
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
#declare mirror3 = texture {
|
||||
crackle
|
||||
turbulence <0.1, 0.98, 0.13>
|
||||
|
||||
texture_map {
|
||||
[ 0 mirror_dim
|
||||
]
|
||||
[ 0.1 mirror_dim
|
||||
]
|
||||
[ 0.13 finish {
|
||||
ambient rgb <0.156863, 0.862745, 0.603922>
|
||||
}
|
||||
|
||||
pigment {
|
||||
color rgb <0, 0.572549, 0.160784>
|
||||
}
|
||||
]
|
||||
[ 0.15 mirror_dim
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
global_settings {
|
||||
adc_bailout 0.00392157
|
||||
assumed_gamma 1.5
|
||||
}
|
||||
|
||||
light_source {
|
||||
<0.69684, 2.83333, -3.90382>, rgb <1, 1, 1>
|
||||
}
|
||||
|
||||
#declare textobj = text {
|
||||
//*PMName mershell
|
||||
ttf "/usr/lib/X11/fonts/TTF/Calligra.ttf"
|
||||
"Mershell"
|
||||
0.3, <0, 0>
|
||||
|
||||
texture {
|
||||
fence
|
||||
}
|
||||
|
||||
interior {
|
||||
media {
|
||||
density {
|
||||
bozo
|
||||
turbulence <0.1, 2, 0.5>
|
||||
|
||||
warp {
|
||||
turbulence <0.25, 1, 0.89>
|
||||
}
|
||||
|
||||
color_map {
|
||||
[ 0 color rgb <0.501961, 0.917647, 0.94902>
|
||||
]
|
||||
[ 0.5 color rgb <0.466667, 0.466667, 1>
|
||||
]
|
||||
[ 1 color rgb <0.94902, 0.447059, 0.380392>
|
||||
]
|
||||
}
|
||||
}
|
||||
emission rgb <0.5, 0.5, 1>
|
||||
}
|
||||
ior 1.6
|
||||
}
|
||||
scale 1
|
||||
rotate y*45
|
||||
translate <-0.920553, 1.59743, 0.189526>
|
||||
hollow
|
||||
}
|
||||
|
||||
#declare fence_0 = texture {
|
||||
crackle
|
||||
scale 5
|
||||
|
||||
texture_map {
|
||||
[ 0.09 normal {
|
||||
bumps
|
||||
0.25
|
||||
}
|
||||
|
||||
pigment {
|
||||
granite
|
||||
|
||||
pigment_map {
|
||||
[ 0 color rgb <0.6, 0.6, 0.6>
|
||||
]
|
||||
[ 0.5 color rgb <0.717647, 0.658824, 0.623529>
|
||||
]
|
||||
[ 1 color rgb <0.423529, 0.396078, 0.380392>
|
||||
]
|
||||
}
|
||||
}
|
||||
scale 0.1
|
||||
|
||||
finish {
|
||||
ambient rgb <0.176471, 0.176471, 0.176471>
|
||||
diffuse 0.5
|
||||
brilliance 4
|
||||
metallic 1
|
||||
specular 1
|
||||
roughness 0.05
|
||||
reflection rgb <0.486275, 0.486275, 0.486275>
|
||||
}
|
||||
]
|
||||
[ 0.1 pigment {
|
||||
color rgbft <0, 0, 0, 0.8, 0.8>
|
||||
}
|
||||
|
||||
finish {
|
||||
}
|
||||
]
|
||||
[ 0.45 pigment {
|
||||
color rgbft <0.737255, 0.737255, 0.737255, 0.2, 0.2>
|
||||
}
|
||||
|
||||
finish {
|
||||
}
|
||||
]
|
||||
[ 0.8 pigment {
|
||||
color rgbft <0, 0, 0, 0.8, 0.8>
|
||||
}
|
||||
|
||||
finish {
|
||||
}
|
||||
]
|
||||
[ 0.81 normal {
|
||||
bumps
|
||||
0.25
|
||||
}
|
||||
|
||||
pigment {
|
||||
granite
|
||||
|
||||
pigment_map {
|
||||
[ 0 color rgb <0.6, 0.6, 0.6>
|
||||
]
|
||||
[ 0.5 color rgb <0.717647, 0.658824, 0.623529>
|
||||
]
|
||||
[ 1 color rgb <0.423529, 0.396078, 0.380392>
|
||||
]
|
||||
}
|
||||
}
|
||||
scale 0.1
|
||||
|
||||
finish {
|
||||
ambient rgb <0.176471, 0.176471, 0.176471>
|
||||
diffuse 0.5
|
||||
brilliance 4
|
||||
metallic 1
|
||||
specular 1
|
||||
roughness 0.025
|
||||
reflection rgb <0.486275, 0.486275, 0.486275>
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
plane {
|
||||
<0, 1, 0>, -1.09077
|
||||
|
||||
texture {
|
||||
shinyblue
|
||||
}
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
plane {
|
||||
<0, 1, 0>, 3.40923
|
||||
|
||||
texture {
|
||||
fence_0
|
||||
}
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
sky_sphere {
|
||||
pigment {
|
||||
agate
|
||||
agate_turb 0.8
|
||||
|
||||
color_map {
|
||||
[ 0 color rgb <0.458824, 0.180392, 0.184314>
|
||||
]
|
||||
[ 0.5 color rgb <0.156863, 0.0745098, 0.101961>
|
||||
]
|
||||
[ 1 color rgb <0.42, 0.2, 0.15>
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#declare star = intersection {
|
||||
cylinder {
|
||||
<0, 0.5, 0>, <0, 0.3, 0>, 1.5336
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
merge {
|
||||
box {
|
||||
<-0.2, 0.51, -1.7>, <0.2, 0.29, 1.7>
|
||||
scale 1
|
||||
rotate y*120
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
box {
|
||||
<-0.2, 0.51, -1.7>, <0.2, 0.29, 1.7>
|
||||
scale 1
|
||||
rotate y*60
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
box {
|
||||
<-0.2, 0.51, -1.7>, <0.2, 0.29, 1.7>
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
camera {
|
||||
perspective
|
||||
location <-1.40748, 2.74671, -3.47222>
|
||||
sky <0, 1, 0>
|
||||
direction <0, 0, 1>
|
||||
right <1.33333, 0, 0>
|
||||
up <0, 1, 0>
|
||||
look_at <0.97665, 1.6832, -0.680665>
|
||||
}
|
||||
|
||||
#declare metal1 = texture {
|
||||
normal {
|
||||
bumps
|
||||
0.05
|
||||
}
|
||||
|
||||
pigment {
|
||||
granite
|
||||
|
||||
pigment_map {
|
||||
[ 0 color rgb <0.6, 0.6, 0.6>
|
||||
]
|
||||
[ 0.5 color rgb <0.717647, 0.658824, 0.623529>
|
||||
]
|
||||
[ 1 color rgb <0.423529, 0.396078, 0.380392>
|
||||
]
|
||||
}
|
||||
}
|
||||
scale 0.1
|
||||
|
||||
finish {
|
||||
diffuse 0.3
|
||||
brilliance 4
|
||||
metallic 1
|
||||
specular 1
|
||||
roughness 0.05
|
||||
reflection rgb <0.486275, 0.486275, 0.486275>
|
||||
}
|
||||
}
|
||||
|
||||
#declare greenhaze = interior {
|
||||
media {
|
||||
density {
|
||||
bozo
|
||||
scale 0.1
|
||||
}
|
||||
emission rgb <0.917647, 0.94902, 0.835294>
|
||||
|
||||
scattering {
|
||||
1, rgb <1, 0, 0.0156863>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#declare glass1 = material {
|
||||
interior {
|
||||
ior 1.6
|
||||
}
|
||||
|
||||
texture {
|
||||
pigment {
|
||||
color rgbft <0.3098, 0.33725, 0.46275, 0.7, 0.7>
|
||||
}
|
||||
|
||||
finish {
|
||||
diffuse 0.4
|
||||
specular 0.2
|
||||
reflection rgb <0.415686, 0.415686, 0.486275>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#declare greenglow = material {
|
||||
texture {
|
||||
fence
|
||||
}
|
||||
|
||||
interior {
|
||||
greenhaze
|
||||
}
|
||||
}
|
||||
|
||||
#declare diamond = superellipsoid {
|
||||
<2.5, 2.5>
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0.843528, 0.333333, 0.34822>
|
||||
hollow
|
||||
}
|
||||
|
||||
object {
|
||||
//*PMName diamond1
|
||||
diamond
|
||||
|
||||
material {
|
||||
glass1
|
||||
}
|
||||
scale 2
|
||||
rotate <0, 0, 0>
|
||||
translate <0.122727, 0.28, -0.309468>
|
||||
}
|
||||
|
||||
object {
|
||||
//*PMName diamond1
|
||||
diamond
|
||||
|
||||
material {
|
||||
glass1
|
||||
}
|
||||
scale 2
|
||||
rotate <0, 0, 0>
|
||||
translate <5.78964, 0.28, 4.97454>
|
||||
}
|
||||
|
||||
object {
|
||||
//*PMName diamond1
|
||||
diamond
|
||||
|
||||
material {
|
||||
glass1
|
||||
}
|
||||
scale 2
|
||||
rotate <0, 0, 0>
|
||||
translate <9.006, 0.28, 1.6816>
|
||||
}
|
||||
|
||||
object {
|
||||
//*PMName diamond1
|
||||
diamond
|
||||
|
||||
material {
|
||||
glass1
|
||||
}
|
||||
scale 2
|
||||
rotate <0, 0, 0>
|
||||
translate <2.80303, 0.28, 7.96115>
|
||||
}
|
||||
|
||||
object {
|
||||
//*PMName diamond2
|
||||
diamond
|
||||
|
||||
texture {
|
||||
mirror2
|
||||
translate <5, 5, 5>
|
||||
}
|
||||
scale 2
|
||||
rotate y*(-10)
|
||||
translate <1.17866, 0.28, 3.45397>
|
||||
}
|
||||
|
||||
object {
|
||||
//*PMName diamond3
|
||||
diamond
|
||||
|
||||
texture {
|
||||
mirror3
|
||||
translate <2, 2, 2>
|
||||
}
|
||||
scale 2
|
||||
rotate y*10
|
||||
translate <4.18399, 0.28, 0.935986>
|
||||
}
|
||||
|
||||
object {
|
||||
//*PMName diamond3
|
||||
diamond
|
||||
|
||||
texture {
|
||||
mirror2
|
||||
translate <-1, -1, -1>
|
||||
}
|
||||
scale 2
|
||||
rotate y*(-10)
|
||||
translate <1.23446, 0.28, 13.4378>
|
||||
}
|
||||
|
||||
object {
|
||||
//*PMName diamond3
|
||||
diamond
|
||||
|
||||
texture {
|
||||
mirror2
|
||||
translate <1, 1, 1>
|
||||
}
|
||||
scale 2
|
||||
rotate y*10
|
||||
translate <8.77923, 0.28, 7.98234>
|
||||
}
|
||||
|
||||
object {
|
||||
//*PMName diamond3
|
||||
diamond
|
||||
|
||||
texture {
|
||||
mirror2
|
||||
translate <0.5, 0.5, 0.5>
|
||||
}
|
||||
scale 2
|
||||
rotate y*10
|
||||
translate <12.1454, 0.28, 3.91977>
|
||||
}
|
||||
176
you_still_need_this/assets/2005-07-05-spiral-isosurface2.pov
Normal file
@@ -0,0 +1,176 @@
|
||||
global_settings {
|
||||
adc_bailout 0.00392157
|
||||
assumed_gamma 1.5
|
||||
}
|
||||
|
||||
light_source {
|
||||
<-1.63172, 2.10979, 1.86667>, rgb <1, 1, 1>
|
||||
}
|
||||
|
||||
camera {
|
||||
perspective
|
||||
location <-0.133333, 0.0333333, 2.43333>
|
||||
sky <0, 1, 0>
|
||||
direction <0, 0, 1>
|
||||
right <1.33333, 0, 0>
|
||||
up <0, 1, 0>
|
||||
look_at <0, 0, 0>
|
||||
angle 45
|
||||
}
|
||||
|
||||
#declare glass1 = material {
|
||||
interior {
|
||||
ior 1.6
|
||||
}
|
||||
|
||||
texture {
|
||||
finish {
|
||||
diffuse 0.2
|
||||
specular 0.2
|
||||
reflection rgb <0.321569, 0.321569, 0.376471>
|
||||
}
|
||||
|
||||
pigment {
|
||||
color rgbft <0.376471, 0.411765, 0.560784, 0.8, 0.8>
|
||||
}
|
||||
|
||||
normal {
|
||||
bumps
|
||||
0.5
|
||||
bump_size 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
box {
|
||||
<-1, -1, -1>, <1, 1, 1>
|
||||
|
||||
pigment {
|
||||
color rgbt <0, 0, 0, 1>
|
||||
}
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
no_shadow
|
||||
hollow
|
||||
}
|
||||
|
||||
union {
|
||||
//*PMName red
|
||||
//*PMRawBegin
|
||||
#declare Outer = 2;
|
||||
#declare Inner = 0.4;
|
||||
#declare Freq = 20;
|
||||
#declare Phase = 0;
|
||||
isosurface {
|
||||
function { sqrt(pow(y*Outer - Inner*sin(x*Freq + Phase), 2) + pow(z*Outer - Inner*cos(x*Freq + Phase),2) ) }
|
||||
max_gradient 20
|
||||
threshold .3
|
||||
accuracy .00001
|
||||
}
|
||||
//*PMRawEnd
|
||||
|
||||
pigment {
|
||||
color rgb <0.890196, 0.258824, 0.270588>
|
||||
}
|
||||
|
||||
finish {
|
||||
ambient rgb <0.172549, 0.172549, 0.172549>
|
||||
diffuse 0.62
|
||||
brilliance 0.9
|
||||
metallic 1
|
||||
specular 0.45
|
||||
roughness 0.06
|
||||
reflection rgb <0.313725, 0.313725, 0.313725>
|
||||
}
|
||||
}
|
||||
|
||||
union {
|
||||
//*PMName blue
|
||||
//*PMRawBegin
|
||||
#declare Outer = 2;
|
||||
#declare Inner = 0.4;
|
||||
#declare Freq = 20;
|
||||
#declare Phase = pi;
|
||||
isosurface {
|
||||
function { sqrt(pow(y*Outer - Inner*sin(x*Freq + Phase), 2) + pow(z*Outer - Inner*cos(x*Freq + Phase),2) ) }
|
||||
max_gradient 20
|
||||
threshold .3
|
||||
accuracy .00001
|
||||
}
|
||||
//*PMRawEnd
|
||||
|
||||
pigment {
|
||||
color rgb <0.0470588, 0.478431, 0.854902>
|
||||
}
|
||||
|
||||
finish {
|
||||
ambient rgb <0.247059, 0.247059, 0.247059>
|
||||
diffuse 0.6
|
||||
brilliance 1
|
||||
metallic 1
|
||||
specular 0.5
|
||||
roughness 0.05
|
||||
reflection rgb <0.470588, 0.470588, 0.470588>
|
||||
}
|
||||
}
|
||||
|
||||
union {
|
||||
//*PMName orange
|
||||
//*PMRawBegin
|
||||
#declare Outer = 2;
|
||||
#declare Inner = 0.9;
|
||||
#declare Freq = 10;
|
||||
#declare Phase = pi/2;
|
||||
isosurface {
|
||||
function { sqrt(pow(y*Outer - Inner*sin(x*Freq + Phase), 2) + pow(z*Outer - Inner*cos(x*Freq + Phase),2) ) }
|
||||
max_gradient 20
|
||||
threshold .3
|
||||
accuracy .00001
|
||||
}
|
||||
//*PMRawEnd
|
||||
|
||||
pigment {
|
||||
color rgb <0.796078, 0.470588, 0.168627>
|
||||
}
|
||||
|
||||
finish {
|
||||
ambient rgb <0.247059, 0.247059, 0.247059>
|
||||
diffuse 0.6
|
||||
brilliance 1
|
||||
metallic 1
|
||||
specular 0.5
|
||||
roughness 0.05
|
||||
reflection rgb <0.592157, 0.592157, 0.592157>
|
||||
}
|
||||
}
|
||||
|
||||
union {
|
||||
//*PMName purple
|
||||
//*PMRawBegin
|
||||
#declare Outer = 2;
|
||||
#declare Inner = 0.9;
|
||||
#declare Freq = 10;
|
||||
#declare Phase = 3*pi/2;
|
||||
isosurface {
|
||||
function { sqrt(pow(y*Outer - Inner*sin(x*Freq + Phase), 2) + pow(z*Outer - Inner*cos(x*Freq + Phase),2) ) }
|
||||
max_gradient 20
|
||||
threshold .3
|
||||
accuracy .00001
|
||||
}
|
||||
//*PMRawEnd
|
||||
|
||||
pigment {
|
||||
color rgb <0.0627451, 0.662745, 0.705882>
|
||||
}
|
||||
|
||||
finish {
|
||||
ambient rgb <0.247059, 0.247059, 0.247059>
|
||||
diffuse 0.6
|
||||
brilliance 1
|
||||
metallic 1
|
||||
specular 0.5
|
||||
roughness 0.05
|
||||
reflection rgb <0.560784, 0.560784, 0.560784>
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,300 @@
|
||||
sky_sphere {
|
||||
pigment {
|
||||
color rgb <0.207843, 0.196078, 0.203922>
|
||||
}
|
||||
}
|
||||
|
||||
global_settings {
|
||||
adc_bailout 0.00392157
|
||||
assumed_gamma 1.5
|
||||
}
|
||||
|
||||
light_source {
|
||||
<-0.398387, 0.50979, 2.5>, rgb <1, 1, 1>
|
||||
}
|
||||
|
||||
camera {
|
||||
perspective
|
||||
location <-0.106258, -0.8, 3.60026>
|
||||
sky <0, 1, 0>
|
||||
direction <0, 0, 1>
|
||||
right <1.33333, 0, 0>
|
||||
up <0, 1, 0>
|
||||
look_at <0.020949, -0.0333333, 0.0416333>
|
||||
angle 45
|
||||
}
|
||||
//*PMRawBegin
|
||||
#declare Iso_accuracy = 0.0001;
|
||||
#declare Outer_Start = 8;
|
||||
#declare Outer_Peak = 16;
|
||||
#declare Outer = function(x) { (Outer_Start - Outer_Peak)*x*x + Outer_Peak }
|
||||
#declare Inner = 0.8;
|
||||
#declare Freq_Start = 1;
|
||||
#declare Freq_Peak = 20;
|
||||
#declare Freq = function(x) { (Freq_Start - Freq_Peak)*x*x + (Freq_Peak) }
|
||||
//*PMRawEnd
|
||||
|
||||
#declare glass1 = material {
|
||||
interior {
|
||||
ior 1.6
|
||||
}
|
||||
|
||||
texture {
|
||||
finish {
|
||||
diffuse 0.2
|
||||
specular 0.2
|
||||
reflection rgb <0.321569, 0.321569, 0.376471>
|
||||
}
|
||||
|
||||
pigment {
|
||||
color rgbft <0.376471, 0.411765, 0.560784, 0.8, 0.8>
|
||||
}
|
||||
|
||||
normal {
|
||||
bumps
|
||||
0.5
|
||||
bump_size 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#declare rock = texture {
|
||||
granite
|
||||
|
||||
texture_map {
|
||||
[ 0 pigment {
|
||||
color rgb <0.584314, 0.576471, 0.564706>
|
||||
}
|
||||
//*PMRawBegin
|
||||
normal { bumps 1.0 scale 0.07 }
|
||||
//*PMRawEnd
|
||||
|
||||
finish {
|
||||
ambient rgb <0.180392, 0.180392, 0.180392>
|
||||
diffuse 0.31
|
||||
specular 0.2
|
||||
roughness 0.1
|
||||
}
|
||||
]
|
||||
[ 0.1 pigment {
|
||||
color rgb <0.572549, 0.560784, 0.533333>
|
||||
}
|
||||
//*PMRawBegin
|
||||
normal { bumps 1.0 scale 0.07 }
|
||||
//*PMRawEnd
|
||||
|
||||
finish {
|
||||
ambient rgb <0.19, 0.19, 0.19>
|
||||
diffuse 0.32
|
||||
specular 0.1
|
||||
roughness 0.05
|
||||
}
|
||||
]
|
||||
[ 0.2 pigment {
|
||||
color rgb <0.619608, 0.568627, 0.501961>
|
||||
}
|
||||
//*PMRawBegin
|
||||
normal { bumps 1.0 scale 0.07 }
|
||||
//*PMRawEnd
|
||||
|
||||
finish {
|
||||
ambient rgb <0.24, 0.24, 0.24>
|
||||
diffuse 0.3
|
||||
}
|
||||
]
|
||||
[ 0.35 pigment {
|
||||
color rgb <0, 0, 0>
|
||||
}
|
||||
//*PMRawBegin
|
||||
normal { bumps 1.0 scale 0.07 }
|
||||
//*PMRawEnd
|
||||
|
||||
finish {
|
||||
ambient rgb <0.2, 0.2, 0.2>
|
||||
diffuse 0.36
|
||||
brilliance 0.4
|
||||
reflection rgb <0.313725, 0.313725, 0.313725>
|
||||
}
|
||||
]
|
||||
[ 0.7 pigment {
|
||||
color rgb <0.470588, 0.470588, 0.470588>
|
||||
}
|
||||
//*PMRawBegin
|
||||
normal { bumps 1.0 scale 0.07 }
|
||||
//*PMRawEnd
|
||||
|
||||
finish {
|
||||
ambient rgb <0.17, 0.17, 0.17>
|
||||
diffuse 0.34
|
||||
specular 0.2
|
||||
roughness 0.05
|
||||
reflection rgb <0.12549, 0.12549, 0.12549>
|
||||
}
|
||||
]
|
||||
[ 1 pigment {
|
||||
color rgb <0.368627, 0.364706, 0.352941>
|
||||
}
|
||||
//*PMRawBegin
|
||||
normal { bumps 1.0 scale 0.07 }
|
||||
//*PMRawEnd
|
||||
|
||||
finish {
|
||||
ambient rgb <0.133333, 0.133333, 0.133333>
|
||||
diffuse 0.3
|
||||
specular 0.2
|
||||
roughness 0.005
|
||||
}
|
||||
]
|
||||
}
|
||||
scale 0.1
|
||||
}
|
||||
|
||||
#declare silver = texture {
|
||||
pigment {
|
||||
color rgb <0.819608, 0.890196, 0.788235>
|
||||
}
|
||||
|
||||
finish {
|
||||
ambient rgb <0.172549, 0.172549, 0.172549>
|
||||
diffuse 0.62
|
||||
brilliance 0.9
|
||||
metallic 1
|
||||
specular 0.45
|
||||
roughness 0.06
|
||||
reflection rgb <0.882353, 0.882353, 0.882353>
|
||||
}
|
||||
//*PMRawBegin
|
||||
normal { bumps 0.3 scale 0.04 }
|
||||
//*PMRawEnd
|
||||
}
|
||||
|
||||
union {
|
||||
//*PMName red
|
||||
//*PMRawBegin
|
||||
#declare Phase = 0;
|
||||
isosurface {
|
||||
function { sqrt(pow(y*Outer(x) - Inner*sin(x*Freq(x) + Phase), 2) + pow(z*Outer(x) - Inner*cos(x*Freq(x) + Phase),2) ) }
|
||||
max_gradient 125
|
||||
threshold .3
|
||||
accuracy Iso_accuracy
|
||||
}
|
||||
//*PMRawEnd
|
||||
//*PMRawBegin
|
||||
#declare Phase = 0;
|
||||
isosurface {
|
||||
function { sqrt(pow(y*Outer(x) - Inner*sin(x*Freq(x) + Phase), 2) + pow(z*Outer(x) - Inner*cos(x*Freq(x) + Phase),2) ) }
|
||||
max_gradient 125
|
||||
threshold .3
|
||||
accuracy Iso_accuracy
|
||||
rotate <0, 0, 45>
|
||||
}
|
||||
//*PMRawEnd
|
||||
//*PMRawBegin
|
||||
#declare Phase = 0;
|
||||
isosurface {
|
||||
function { sqrt(pow(y*Outer(x) - Inner*sin(x*Freq(x) + Phase), 2) + pow(z*Outer(x) - Inner*cos(x*Freq(x) + Phase),2) ) }
|
||||
max_gradient 125
|
||||
threshold .3
|
||||
accuracy Iso_accuracy
|
||||
rotate <0, 0, 90>
|
||||
}
|
||||
//*PMRawEnd
|
||||
//*PMRawBegin
|
||||
#declare Phase = 0;
|
||||
isosurface {
|
||||
function { sqrt(pow(y*Outer(x) - Inner*sin(x*Freq(x) + Phase), 2) + pow(z*Outer(x) - Inner*cos(x*Freq(x) + Phase),2) ) }
|
||||
max_gradient 125
|
||||
threshold .3
|
||||
accuracy Iso_accuracy
|
||||
rotate <0, 0, 135>
|
||||
}
|
||||
//*PMRawEnd
|
||||
|
||||
pigment {
|
||||
color rgb <0.819608, 0.890196, 0.788235>
|
||||
}
|
||||
|
||||
finish {
|
||||
ambient rgb <0.172549, 0.172549, 0.172549>
|
||||
diffuse 0.62
|
||||
brilliance 0.9
|
||||
metallic 1
|
||||
specular 0.45
|
||||
roughness 0.06
|
||||
reflection rgb <0.882353, 0.882353, 0.882353>
|
||||
}
|
||||
//*PMRawBegin
|
||||
normal { bumps 0.45 scale 0.05 }
|
||||
//*PMRawEnd
|
||||
}
|
||||
|
||||
union {
|
||||
//*PMName blue
|
||||
//*PMRawBegin
|
||||
#declare Phase = pi;
|
||||
isosurface {
|
||||
function { sqrt(pow(y*Outer(x) - Inner*sin(x*Freq(x) + Phase), 2) + pow(z*Outer(x) - Inner*cos(x*Freq(x) + Phase),2) ) }
|
||||
max_gradient 125
|
||||
threshold .3
|
||||
accuracy Iso_accuracy
|
||||
}
|
||||
//*PMRawEnd
|
||||
//*PMRawBegin
|
||||
#declare Phase = pi;
|
||||
isosurface {
|
||||
function { sqrt(pow(y*Outer(x) - Inner*sin(x*Freq(x) + Phase), 2) + pow(z*Outer(x) - Inner*cos(x*Freq(x) + Phase),2) ) }
|
||||
max_gradient 125
|
||||
threshold .3
|
||||
accuracy Iso_accuracy
|
||||
rotate <0, 0, 45>
|
||||
}
|
||||
//*PMRawEnd
|
||||
//*PMRawBegin
|
||||
#declare Phase = pi;
|
||||
isosurface {
|
||||
function { sqrt(pow(y*Outer(x) - Inner*sin(x*Freq(x) + Phase), 2) + pow(z*Outer(x) - Inner*cos(x*Freq(x) + Phase),2) ) }
|
||||
max_gradient 125
|
||||
threshold .3
|
||||
accuracy Iso_accuracy
|
||||
rotate <0, 0, 90>
|
||||
}
|
||||
//*PMRawEnd
|
||||
//*PMRawBegin
|
||||
#declare Phase = pi;
|
||||
isosurface {
|
||||
function { sqrt(pow(y*Outer(x) - Inner*sin(x*Freq(x) + Phase), 2) + pow(z*Outer(x) - Inner*cos(x*Freq(x) + Phase),2) ) }
|
||||
max_gradient 125
|
||||
threshold .3
|
||||
accuracy Iso_accuracy
|
||||
rotate <0, 0, 135>
|
||||
}
|
||||
//*PMRawEnd
|
||||
|
||||
pigment {
|
||||
color rgb <0.890196, 0.6, 0.286275>
|
||||
}
|
||||
|
||||
finish {
|
||||
ambient rgb <0.172549, 0.172549, 0.172549>
|
||||
diffuse 0.62
|
||||
brilliance 0.9
|
||||
metallic 1
|
||||
specular 0.45
|
||||
roughness 0.06
|
||||
reflection rgb <0.682353, 0.682353, 0.682353>
|
||||
}
|
||||
//*PMRawBegin
|
||||
normal { bumps 0.5 scale 0.04 }
|
||||
//*PMRawEnd
|
||||
}
|
||||
|
||||
plane {
|
||||
<0, 0, 1>, -0.933333
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
|
||||
texture {
|
||||
rock
|
||||
}
|
||||
}
|
||||
1040
you_still_need_this/assets/2005-08-05-oasis.pov
Normal file
443
you_still_need_this/assets/2005-08-06-tears.pov
Normal file
@@ -0,0 +1,443 @@
|
||||
#include "rad_def.inc"
|
||||
|
||||
/* Radiosity seems to get rid of photon effects in this scene, at least
|
||||
if I only use natural lighting (from the skysphere, here) */
|
||||
|
||||
#declare Detailed = 1;
|
||||
#declare Rad = 0;
|
||||
|
||||
|
||||
#declare Sky1 = pigment {
|
||||
granite
|
||||
turbulence <0.1, 0.1, 0.1>
|
||||
omega 0.52
|
||||
|
||||
color_map {
|
||||
[ 0 color rgb <0.670588, 0.794118, 0.780392>
|
||||
]
|
||||
[ 0.5 color rgb <0.552941, 0.65098, 0.670588>
|
||||
]
|
||||
[ 1 color rgb <0.670588, 0.694118, 0.780392>
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
sky_sphere {
|
||||
pigment {
|
||||
Sky1
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
global_settings {
|
||||
adc_bailout 0.0039216
|
||||
assumed_gamma 1.5
|
||||
noise_generator 2
|
||||
photons {
|
||||
#if(Detailed)
|
||||
count 50000
|
||||
gather 5, 50
|
||||
#else
|
||||
count 10000
|
||||
#end
|
||||
autostop 0
|
||||
jitter .4
|
||||
}
|
||||
#if(Rad)
|
||||
radiosity {
|
||||
Rad_Settings(Radiosity_Default, off, off)
|
||||
}
|
||||
#end
|
||||
}
|
||||
|
||||
#if (!Rad)
|
||||
light_source {
|
||||
<-0.95792, 1.4554, 1.5166>, rgb <1, 1, 1>
|
||||
parallel
|
||||
#if (Detailed & !Rad)
|
||||
area_light <1, 0.4, 0.2>, <0.2, -0.4, 1>, 6, 6
|
||||
adaptive 2
|
||||
jitter
|
||||
#else
|
||||
area_light <1, 0.4, 0.2>, <0.2, -0.4, 1>, 2, 2
|
||||
#end
|
||||
photons {
|
||||
refraction on
|
||||
reflection on
|
||||
}
|
||||
}
|
||||
#end
|
||||
|
||||
camera {
|
||||
perspective
|
||||
location <0.684467, 1.20461, 0.444912>
|
||||
sky <0, 1, 0>
|
||||
direction <0, 0, 1>
|
||||
right <1.33333, 0, 0>
|
||||
up <0, 1, 0>
|
||||
look_at <-0.482067, -0.13609, 0.336985>
|
||||
}
|
||||
|
||||
#declare glass2 = material {
|
||||
texture {
|
||||
//*PMRawBegin
|
||||
normal { bumps 0.05 scale 0.1 }
|
||||
//*PMRawEnd
|
||||
|
||||
finish {
|
||||
diffuse 0.3
|
||||
brilliance 0.3
|
||||
specular 0.4
|
||||
roughness 0.05
|
||||
conserve_energy
|
||||
|
||||
reflection {
|
||||
rgb <0.14902, 0.211765, 0.215686>
|
||||
}
|
||||
}
|
||||
|
||||
pigment {
|
||||
color rgbft <0.72941, 0.78431, 0.92941, 0.1, 0.8>
|
||||
}
|
||||
}
|
||||
|
||||
interior {
|
||||
media {
|
||||
intervals 1
|
||||
samples 1,5
|
||||
emission rgb <0.870588, 0.45098, 0.513725>
|
||||
}
|
||||
ior 1.1
|
||||
caustics 1
|
||||
}
|
||||
}
|
||||
|
||||
#declare glass1 = material {
|
||||
interior {
|
||||
ior 2
|
||||
}
|
||||
|
||||
texture {
|
||||
pigment {
|
||||
color rgbft <0.23922, 0.3098, 0.74902, 0.8, 0.6>
|
||||
}
|
||||
|
||||
finish {
|
||||
ambient rgb <0, 0.027451, 0.282353>
|
||||
diffuse 0.15
|
||||
specular 0.2
|
||||
|
||||
reflection {
|
||||
rgb <0.282353, 0.282353, 0.376471>
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#declare matte_white = texture {
|
||||
normal { bumps 0.08 scale 0.05 }
|
||||
finish {
|
||||
diffuse 0.6
|
||||
specular 0.5
|
||||
roughness 0.005
|
||||
reflection { 0.1 0.6
|
||||
falloff 5
|
||||
}
|
||||
}
|
||||
pigment { rgb 0.85 }
|
||||
}
|
||||
|
||||
#declare matte_grey = texture {
|
||||
normal { bumps 0.07 scale 0.05 }
|
||||
finish {
|
||||
diffuse 0.5
|
||||
specular 0.25
|
||||
roughness 0.005
|
||||
reflection { 0.2 0.7
|
||||
falloff 9
|
||||
}
|
||||
}
|
||||
pigment { rgb 0.35 }
|
||||
}
|
||||
|
||||
#declare gloss_white = texture {
|
||||
finish {
|
||||
diffuse 0.6
|
||||
specular 0.25
|
||||
roughness 0.005
|
||||
reflection { 0.2 0.7
|
||||
falloff 9
|
||||
}
|
||||
}
|
||||
pigment {
|
||||
agate
|
||||
color_map {
|
||||
[ 0.0 rgb 0.95 ]
|
||||
[ 0.5 rgb 0.90 ]
|
||||
[ 0.55 rgb 0.55 ]
|
||||
[ 0.60 rgb 0.90 ]
|
||||
[ 1.00 rgb 0.95 ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#declare white1 = texture {
|
||||
finish {
|
||||
diffuse 0.6
|
||||
specular 0.5
|
||||
roughness 0.005
|
||||
reflection 0.73
|
||||
}
|
||||
normal { bumps 0.02 scale 0.1 }
|
||||
pigment { rgb 0.85 }
|
||||
}
|
||||
|
||||
#declare matte_tan = texture {
|
||||
normal { bumps 0.07 scale 0.05 }
|
||||
finish {
|
||||
diffuse 0.5
|
||||
specular 0.25
|
||||
roughness 0.005
|
||||
reflection { 0.2 0.7
|
||||
falloff 9
|
||||
}
|
||||
}
|
||||
pigment { rgb <0.76,0.67,0.44> }
|
||||
}
|
||||
|
||||
|
||||
#declare grey1 = texture {
|
||||
finish {
|
||||
diffuse 0.6
|
||||
specular 0.3
|
||||
roughness 0.005
|
||||
reflection 0.63
|
||||
}
|
||||
normal { bumps 0.02 scale 0.1 }
|
||||
pigment { rgb 0.70 }
|
||||
}
|
||||
|
||||
#declare black1 = texture {
|
||||
finish {
|
||||
diffuse 0.6
|
||||
specular 0.2
|
||||
roughness 0.005
|
||||
reflection 0.13
|
||||
}
|
||||
normal { bumps 0.02 scale 0.1 }
|
||||
pigment { rgb 0.40 }
|
||||
}
|
||||
|
||||
#declare Grey_amount = 0.1;
|
||||
#declare Black_amount = 0.05;
|
||||
#declare positive = texture {
|
||||
bumps
|
||||
scale 0.01
|
||||
texture_map {
|
||||
[ 0.0 white1 ]
|
||||
[ (Grey_amount) grey1 ]
|
||||
[ (2*Grey_amount) white1 ]
|
||||
[ 0.5 white1 ]
|
||||
[ (0.5 + Black_amount) black1 ]
|
||||
[ (0.5 + 2*Black_amount) white1 ]
|
||||
}
|
||||
}
|
||||
|
||||
#declare negative = texture {
|
||||
bumps
|
||||
scale 0.01
|
||||
texture_map {
|
||||
[ 0.0 grey1 ]
|
||||
[ (Grey_amount) black1 ]
|
||||
[ (2*Grey_amount) grey1 ]
|
||||
[ 0.5 grey1 ]
|
||||
[ (0.5 + Black_amount) black1 ]
|
||||
[ (0.5 + 2*Black_amount) grey1 ]
|
||||
}
|
||||
}
|
||||
|
||||
#declare rock1 = texture {
|
||||
finish {
|
||||
diffuse 0.6
|
||||
ambient 0.05
|
||||
phong 0.25
|
||||
phong_size 100
|
||||
}
|
||||
normal { dents 0.5 scale 0.01 }
|
||||
pigment {
|
||||
granite
|
||||
pigment_map {
|
||||
[ 0.0 rgb <0.646,0.557,0.482> ]
|
||||
[ 0.3 rgb <0.473,0.420,0.361> ]
|
||||
[ 0.6 rgb <0.697,0.623,0.537> ]
|
||||
[ 0.7 rgb <0.148,0.118,0.118> ]
|
||||
[ 0.8 rgb <0.473,0.420,0.361> ]
|
||||
[ 1.0 rgb <0.646,0.557,0.482> ]
|
||||
}
|
||||
scale 0.25
|
||||
}
|
||||
}
|
||||
|
||||
#declare rock2 = texture {
|
||||
finish {
|
||||
diffuse 0.7
|
||||
ambient 0.06
|
||||
phong 0.2
|
||||
phong_size 75
|
||||
}
|
||||
normal { dents 0.6 scale 0.007 }
|
||||
pigment {
|
||||
granite
|
||||
pigment_map {
|
||||
[ 0.0 rgb <0.696,0.607,0.532> ]
|
||||
[ 0.3 rgb <0.573,0.470,0.381> ]
|
||||
[ 0.6 rgb <0.797,0.673,0.557> ]
|
||||
[ 0.7 rgb <0.448,0.368,0.338> ]
|
||||
[ 0.8 rgb <0.573,0.470,0.381> ]
|
||||
[ 1.0 rgb <0.696,0.607,0.532> ]
|
||||
}
|
||||
scale 0.25
|
||||
}
|
||||
}
|
||||
|
||||
#declare tile_pattern = texture {
|
||||
material_map {
|
||||
png "/home/hodapp/pov/map1.png"
|
||||
texture { matte_tan }
|
||||
texture { matte_white }
|
||||
}
|
||||
rotate x*90
|
||||
rotate y*70
|
||||
scale 0.5
|
||||
}
|
||||
|
||||
#declare mortar1 = texture {
|
||||
normal { bumps 0.08 scale 0.05 }
|
||||
finish {
|
||||
diffuse 0.8
|
||||
reflection 0
|
||||
}
|
||||
pigment {
|
||||
granite
|
||||
color_map {
|
||||
[0.0 rgb 0.85]
|
||||
[0.5 rgb 0.35]
|
||||
[1.0 rgb 0.85]
|
||||
}
|
||||
scale 0.1
|
||||
}
|
||||
}
|
||||
|
||||
#declare hex = texture {
|
||||
hexagon
|
||||
texture { matte_white },
|
||||
texture { matte_grey },
|
||||
texture { matte_tan }
|
||||
scale 0.25
|
||||
}
|
||||
|
||||
#declare minx = -3;
|
||||
#declare minz = -2;
|
||||
#declare maxx = 2;
|
||||
#declare maxz = 3;
|
||||
#declare dx = 0.5;
|
||||
#declare dz = 0.5;
|
||||
#declare sx = 0.05;
|
||||
#declare sz = 0.05;
|
||||
#declare y1 = 0;
|
||||
#declare y2 = -0.1;
|
||||
#declare sy = 0.02;
|
||||
|
||||
#declare cx = minx;
|
||||
union {
|
||||
#while(cx < maxx)
|
||||
#declare cz = minz;
|
||||
#while(cz < maxz)
|
||||
box { <cx, y1, cz>, <cx+dx, y2, cz+dz> }
|
||||
#declare cz = cz + dz + sz;
|
||||
#end
|
||||
#declare cx = cx + dx + sz;
|
||||
#end
|
||||
photons { collect on }
|
||||
texture { gloss_white }
|
||||
}
|
||||
|
||||
box { <minx, y1 - sy, minz>, <maxx, y2 + sy, maxz>
|
||||
photons {collect on}
|
||||
texture { mortar1 }
|
||||
}
|
||||
/*
|
||||
box {
|
||||
<-3, 0, 3>, <2, -0.1, -2>
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
photons { collect on }
|
||||
texture {
|
||||
gloss_white
|
||||
}
|
||||
}*/
|
||||
|
||||
#declare Teardrop = lathe {
|
||||
cubic_spline
|
||||
10,
|
||||
<-0.069618, 1.9881>, <0, 1.4609>, <0.084975, 1.057>, <0.19148, 0.83258>, <0.28808, 0.66645>, <0.39872, 0.48367>, <0.44644, 0.267513>, <0.308297, 0.0832133>, <0, 0.0375>, <0, 0.0375>
|
||||
scale 1
|
||||
rotate x*(-90)
|
||||
translate <0, 0, 0>
|
||||
|
||||
material {
|
||||
glass1
|
||||
}
|
||||
//*PMRawBegin
|
||||
#if (Detailed)
|
||||
sturm
|
||||
#end
|
||||
photons{
|
||||
target
|
||||
collect off
|
||||
reflection on
|
||||
refraction on
|
||||
}
|
||||
//*PMRawEnd
|
||||
}
|
||||
|
||||
merge {
|
||||
object {
|
||||
Teardrop
|
||||
scale 1
|
||||
rotate <0, 0, 0>
|
||||
translate <0, 0, 0>
|
||||
}
|
||||
|
||||
object {
|
||||
Teardrop
|
||||
scale 1
|
||||
rotate x*(-72)
|
||||
translate <-9.98173e-16, 1.3905, -1.0079>
|
||||
}
|
||||
|
||||
object {
|
||||
Teardrop
|
||||
scale 1
|
||||
rotate x*(-144)
|
||||
translate <-9.98173e-16, 0.85872, -2.6427>
|
||||
}
|
||||
|
||||
object {
|
||||
Teardrop
|
||||
scale 1
|
||||
rotate x*(-216)
|
||||
translate <-9.98173e-16, -0.862947, -2.65281>
|
||||
}
|
||||
|
||||
object {
|
||||
Teardrop
|
||||
scale 1
|
||||
rotate x*(-288)
|
||||
translate <-9.98173e-16, -1.389, -1.008>
|
||||
}
|
||||
rotate z*90
|
||||
scale 0.5
|
||||
translate <-0.472669, 0.25145, 1.06121>
|
||||
}
|
||||
491
you_still_need_this/assets/2005-08-19-beach.pov
Normal file
@@ -0,0 +1,491 @@
|
||||
// 0 = simple gradient skysphere
|
||||
// 1 = emitting media
|
||||
#declare sky_type = 1;
|
||||
// Radiosity looks bad here, probably because I don't know how to use it.
|
||||
#declare use_radiosity = 0;
|
||||
|
||||
// Arbaro
|
||||
#include "palm.inc"
|
||||
|
||||
#include "functions.inc"
|
||||
#include "rad_def.inc"
|
||||
#declare invsquare = function { 1 / pow(2, sqrt(x*x + y*y + z*z + 0.01)) }
|
||||
#declare sinewave = function { sin(x) + sin(y)/2 + 0.5 + sin(z) }
|
||||
// Screw you, I'm defining my own gradient function... bastards...
|
||||
// height = y, base = sqrt(x^2+z^2), angle = arctan(opp/adj) = arctan(height/base)
|
||||
// This is in radians. Horizon is 0 rad, zenith is pi/2 rad.
|
||||
// This is for a texture map, so let's get that into [0,1] instead of [0,pi/2]
|
||||
#declare gah = function { atan2(y, sqrt(x*x+z*z)) / (3.14 / 2) }
|
||||
|
||||
global_settings {
|
||||
adc_bailout 0.00392157
|
||||
assumed_gamma 1.5
|
||||
noise_generator 2
|
||||
#if (use_radiosity)
|
||||
radiosity { Rad_Settings(Radiosity_OutdoorLight, off, off) }
|
||||
#end
|
||||
}
|
||||
|
||||
#if (sky_type = 0)
|
||||
sky_sphere {
|
||||
pigment {
|
||||
gradient y
|
||||
//granite
|
||||
color_map {
|
||||
[(1-cos(radians( 0)))/2 color rgb <0.5,0,0>]
|
||||
[(1-cos(radians(45)))/2 color rgb <0.5,0.4,0>]
|
||||
[(1-cos(radians(90)))/2 color rgb <0.5,0,0>]
|
||||
}
|
||||
}
|
||||
}
|
||||
#declare sun_vector = <64, 5, 90>;
|
||||
#declare sun = sphere {
|
||||
sun_vector * 4 - <0,12,0>, 20
|
||||
pigment { color rgbt 1 }
|
||||
interior { media {
|
||||
emission 0.05
|
||||
density { bozo density_map {
|
||||
[0 rgb <1,0.5,0>]
|
||||
//[0.6 rgb <0,0,0>]
|
||||
[1 rgb <0,0,0>] }
|
||||
}
|
||||
} }
|
||||
hollow
|
||||
}
|
||||
|
||||
light_source {
|
||||
sun_vector, rgb <1, 1, 1>
|
||||
looks_like { sun }
|
||||
}
|
||||
object { sun }
|
||||
#end
|
||||
|
||||
|
||||
|
||||
#if (sky_type = 1)
|
||||
#declare sun_vector = <64, 5, 90>;
|
||||
#declare sun = sphere {
|
||||
sun_vector*3 - <0,5,0>, 20
|
||||
pigment { color rgbt 1 }
|
||||
interior {
|
||||
media {
|
||||
emission 0.1
|
||||
density { bozo density_map {
|
||||
[0 rgb <1,0.5,0>]
|
||||
[1 rgb <0,0,0>] }
|
||||
}
|
||||
}
|
||||
}
|
||||
hollow
|
||||
}
|
||||
|
||||
sky_sphere { pigment { color rgb <1,1,1> } }
|
||||
|
||||
light_source {
|
||||
sun_vector, rgb <1, 1, 1>
|
||||
}
|
||||
object { sun }
|
||||
|
||||
#if(use_radiosity = 0)
|
||||
light_source {
|
||||
<0, 6, 0>, 0.1
|
||||
shadowless
|
||||
media_interaction off
|
||||
}
|
||||
#end
|
||||
|
||||
#declare sky_red = density {
|
||||
bozo density_map {
|
||||
[0 rgb 0.6]
|
||||
[0.2 rgb <0.2, 0.5, 0.5>]
|
||||
[0.5 rgb <0.0, 0.3, 0.8>]
|
||||
[0.7 rgb <0.2, 0.3, 0.8>]
|
||||
[0.8 rgb <0.05, 0.8, 0.9>]
|
||||
[0.9 rgb <0.2, 0.3, 0.8>]
|
||||
[1 rgb 0.6]
|
||||
}
|
||||
scale <4, 0.8, 4>
|
||||
}
|
||||
#declare sky_red2 = density {
|
||||
bozo density_map {
|
||||
[0 rgb 0.7]
|
||||
[0.2 rgb <0.2, 0.6, 0.6>]
|
||||
[0.5 rgb <0.0, 0.4, 0.9>]
|
||||
[0.7 rgb <0.2, 0.4, 0.9>]
|
||||
[0.8 rgb <0.05, 0.9, 1.0>]
|
||||
[0.9 rgb <0.2, 0.4, 0.9>]
|
||||
[1 rgb 0.7]
|
||||
}
|
||||
scale <4, 1.5, 4>
|
||||
}
|
||||
#declare sky_yellow = density {
|
||||
bozo density_map {
|
||||
[0 rgb 0.2]
|
||||
[0.2 rgb <0.14, 0.11, 0.19>]
|
||||
[0.5 rgb <0.00, 0.06, 0.35>]
|
||||
[0.6 rgb <0.01, 0.16, 0.14>]
|
||||
[0.7 rgb <0.04, 0.08, 0.05>]
|
||||
[0.9 rgb <0.02, 0.12, 0.4>]
|
||||
[1 rgb 0.2]
|
||||
}
|
||||
scale <6, 0.53, 6>
|
||||
}
|
||||
#declare sky_yellow2 = density {
|
||||
bozo density_map {
|
||||
[0 rgb 0.2]
|
||||
[0.2 rgb <0.14, 0.21, 0.39>]
|
||||
[0.5 rgb <0.05, 0.16, 0.45>]
|
||||
[0.6 rgb <0.11, 0.26, 0.24>]
|
||||
[0.7 rgb <0.14, 0.18, 0.15>]
|
||||
[0.9 rgb <0.12, 0.22, 0.5>]
|
||||
[1 rgb 0.2]
|
||||
}
|
||||
scale <9, 0.79, 9>
|
||||
}
|
||||
#declare sky_orange = density {
|
||||
bozo density_map {
|
||||
[0 rgb<0.05, 0.31, 0.90>]
|
||||
[0.5 rgb<0.05, 0.24, 0.93>]
|
||||
[1.0 rgb<0.05, 0.31, 0.90>]
|
||||
}
|
||||
scale <6, 0.4, 6>
|
||||
}
|
||||
#declare sky_orange_light = density {
|
||||
bozo density_map {
|
||||
[0 rgb<0.05, 0.18, 0.80>]
|
||||
[0.5 rgb<0.09, 0.11, 0.73>]
|
||||
[1.0 rgb<0.05, 0.18, 0.80>]
|
||||
}
|
||||
scale <21, 0.44, 22>
|
||||
}
|
||||
#declare sky_gradient = density {
|
||||
function { gah(x,y,z) } density_map {
|
||||
//gradient y density_map {
|
||||
[0 sky_red ]
|
||||
[0.1 sky_red2 ]
|
||||
[0.2 sky_orange ]
|
||||
[0.3 sky_yellow ]
|
||||
[1.0 sky_orange_light ]
|
||||
}
|
||||
scale <1,1,1>
|
||||
}
|
||||
sphere {
|
||||
<0,0,0> 60
|
||||
translate 15*y
|
||||
rotate 0
|
||||
pigment { rgbt 1 }
|
||||
hollow
|
||||
interior {
|
||||
media {
|
||||
absorption 0.07
|
||||
density { sky_gradient }
|
||||
}
|
||||
}
|
||||
}
|
||||
#end
|
||||
|
||||
#declare bark = pigment {
|
||||
onion
|
||||
//spiral1 1
|
||||
turbulence 0.7
|
||||
color_map {
|
||||
[ 0 color rgb <0.50, 0.42, 0.25> ]
|
||||
[ 0.2 color rgb <0.55, 0.50, 0.22> ]
|
||||
[ 0.25 color rgb <0.52, 0.35, 0.25> ]
|
||||
[ 0.4 color rgb <0.55, 0.50, 0.52> ]
|
||||
[ 0.5 color rgb <0.52, 0.35, 0.25> ]
|
||||
[ 1 color rgb <0.50, 0.42, 0.25> ]
|
||||
}
|
||||
rotate 100*x + 180*z
|
||||
scale <1, 0.2, 1>
|
||||
}
|
||||
|
||||
#declare vine_texture = texture {
|
||||
finish {
|
||||
//ambient rgbft <0.188235, 0.196078, 0.156863, 0.1, 0.1>
|
||||
diffuse 0.9
|
||||
brilliance 1
|
||||
specular 0.5
|
||||
roughness 0.0029512
|
||||
}
|
||||
pigment {
|
||||
gradient <1, 1, 1>
|
||||
turbulence <0.4, 0.4, 0.4>
|
||||
pigment_map {
|
||||
[ 0 rgb <0.49, 0.50, 0.22> ]
|
||||
[ 0.6 bark ]
|
||||
[ 1.0 rgb <0.49, 0.50, 0.22> ]
|
||||
}
|
||||
//rotate z*130
|
||||
//scale 0.1
|
||||
}
|
||||
normal {
|
||||
gradient <1, 1, 1> 1
|
||||
turbulence <0.4, 0.4, 0.4>
|
||||
slope_map {
|
||||
[ 0 <0, 0> ]
|
||||
[ 0.6 <0.5, 2> ]
|
||||
[ 0.9 <0.2, 4> ]
|
||||
}
|
||||
rotate z*130
|
||||
scale 0.1
|
||||
}
|
||||
}
|
||||
|
||||
#declare leaf = texture {
|
||||
finish {
|
||||
brilliance 3
|
||||
specular 0.4
|
||||
roughness 0.005
|
||||
}
|
||||
pigment {
|
||||
spotted
|
||||
turbulence 0.2
|
||||
color_map {
|
||||
[0 color rgb <0.10, 0.46, 0.09>]
|
||||
[0.5 color rgb <0.06, 0.27, 0.05>]
|
||||
[0.75 color rgb <0.63, 0.68, 0.08>]
|
||||
[1 color rgb <0.1, 0.46, 0.09>]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#declare palmtree = merge {
|
||||
object {
|
||||
palm_13_stems
|
||||
texture { vine_texture }
|
||||
}
|
||||
object {
|
||||
palm_13_leaves
|
||||
texture { leaf }
|
||||
}
|
||||
}
|
||||
|
||||
#declare sand2 = texture {
|
||||
finish {
|
||||
ambient rgb <0.19, 0.19, 0.19>
|
||||
diffuse 0.8
|
||||
}
|
||||
//*PMRawBegin
|
||||
normal { bumps 0.12 scale 0.0001 }
|
||||
//*PMRawEnd
|
||||
scale 0.0001
|
||||
|
||||
pigment {
|
||||
granite
|
||||
turbulence <0.6, 0.6, 0.6>
|
||||
|
||||
color_map {
|
||||
[ 0 color rgb <0.65, 0.62, 0.45> ]
|
||||
[ 0.1 color rgb <0.19, 0.19, 0.19> ]
|
||||
[ 0.2 color rgb <0.82, 0.77, 0.70> ]
|
||||
[ 0.35 color rgb <1, 0.83, 0.64> ]
|
||||
[ 0.4 color rgb <0.50, 0.50, 0.42> ]
|
||||
[ 0.7 color rgb <0.25, 0.25, 0.25> ]
|
||||
[ 1 color rgb <0.47, 0.45, 0.42> ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#declare sand3 = texture {
|
||||
finish {
|
||||
ambient rgb <0.19, 0.19, 0.19>
|
||||
diffuse 0.8
|
||||
}
|
||||
//normal { bumps 0.12 scale 0.0001 }
|
||||
scale 0.0001
|
||||
|
||||
pigment {
|
||||
granite
|
||||
turbulence <0.6, 0.6, 0.6>
|
||||
|
||||
color_map {
|
||||
[ 0 color rgb <0.65, 0.62, 0.45> ]
|
||||
[ 0.1 color rgb <0.39, 0.39, 0.39> ]
|
||||
[ 0.2 color rgb <0.82, 0.77, 0.70> ]
|
||||
[ 0.35 color rgb <1, 0.83, 0.64> ]
|
||||
[ 0.4 color rgb <0.60, 0.55, 0.42> ]
|
||||
[ 0.7 color rgb <0.65, 0.65, 0.65> ]
|
||||
[ 1 color rgb <0.57, 0.45, 0.42> ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#declare sand4_wet = texture {
|
||||
finish {
|
||||
ambient 0.02
|
||||
diffuse 0.4
|
||||
specular 0.8 roughness 0.0005
|
||||
reflection <0.14, 0.10, 0.06>
|
||||
}
|
||||
normal { bumps 0.12 scale 0.0001 }
|
||||
scale 0.0001
|
||||
|
||||
pigment {
|
||||
granite
|
||||
turbulence <0.6, 0.6, 0.6>
|
||||
|
||||
color_map {
|
||||
[ 0 color rgb <0.60, 0.57, 0.40> ]
|
||||
[ 0.1 color rgb <0.34, 0.34, 0.34> ]
|
||||
[ 0.2 color rgb <0.77, 0.72, 0.66> ]
|
||||
[ 0.35 color rgb <0.95, 0.79, 0.60> ]
|
||||
[ 0.4 color rgb <0.55, 0.51, 0.39> ]
|
||||
[ 0.7 color rgb <0.61, 0.60, 0.61> ]
|
||||
[ 1 color rgb <0.52, 0.41, 0.39> ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#declare sand4 = texture {
|
||||
finish {
|
||||
ambient 0.1
|
||||
diffuse 0.8
|
||||
specular 0.05 roughness 0.0005
|
||||
//reflection <0.14, 0.10, 0.06>
|
||||
}
|
||||
//normal { bumps 0.12 scale 0.0001 }
|
||||
scale 0.0001
|
||||
|
||||
pigment {
|
||||
granite
|
||||
turbulence <0.6, 0.6, 0.6>
|
||||
|
||||
color_map {
|
||||
[ 0 color rgb <0.65, 0.62, 0.45> ]
|
||||
[ 0.1 color rgb <0.39, 0.39, 0.39> ]
|
||||
[ 0.2 color rgb <0.82, 0.77, 0.70> ]
|
||||
[ 0.35 color rgb <1, 0.83, 0.64> ]
|
||||
[ 0.4 color rgb <0.60, 0.55, 0.42> ]
|
||||
[ 0.7 color rgb <0.65, 0.65, 0.65> ]
|
||||
[ 1 color rgb <0.57, 0.45, 0.42> ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#declare sand = texture {
|
||||
gradient x + z
|
||||
texture_map {
|
||||
[ 0.0 sand4 ]
|
||||
[ 0.5 sand4 ]
|
||||
[ 0.65 sand4_wet ]
|
||||
[ 1.0 sand4_wet ]
|
||||
}
|
||||
// Tune these so it starts with the dry sand and gets to its max near
|
||||
// the water
|
||||
scale <20,1,20>
|
||||
translate <-3,0,-3>
|
||||
|
||||
}
|
||||
|
||||
#declare sky1 = texture {
|
||||
pigment {
|
||||
bozo
|
||||
turbulence <1, 0, 1>
|
||||
scale <2, 1, 0.5>
|
||||
|
||||
pigment_map {
|
||||
[ 0 color rgbt <0.19216, 0.14902, 0.21569, 0.8> ]
|
||||
[ 0.3 color rgbt <0.533333, 0.301961, 0.690196, 0.2> ]
|
||||
[ 0.6 color rgbt <0.21569, 0.16863, 0.23922, 0.8> ]
|
||||
}
|
||||
}
|
||||
finish {
|
||||
ambient rgb <0.24314, 0.24314, 0.24314>
|
||||
diffuse 0
|
||||
}
|
||||
}
|
||||
|
||||
#declare water = material {
|
||||
texture {
|
||||
pigment {
|
||||
color rgbf <0.7, 0.4, 0.9, 0.6>
|
||||
}
|
||||
finish {
|
||||
ambient 0.0
|
||||
diffuse 0.0
|
||||
|
||||
reflection {
|
||||
0.0, 1.0
|
||||
fresnel on
|
||||
}
|
||||
|
||||
specular 0.4
|
||||
roughness 0.003
|
||||
}
|
||||
normal {
|
||||
function {
|
||||
f_ridged_mf(x, y, z, 0.1, 3.0, 7, 0.7, 0.7, 2)
|
||||
} 0.8
|
||||
scale 0.5
|
||||
}
|
||||
}
|
||||
interior {
|
||||
ior 1.3
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#declare xmin = -8;
|
||||
#declare zmin = -8;
|
||||
#declare xscale = 64;
|
||||
#declare zscale = 64;
|
||||
#declare xcount = 8;
|
||||
#declare zcount = 8;
|
||||
#declare r = <6,0,-5.5>;
|
||||
#declare height = 6;
|
||||
// Y start
|
||||
#declare y1 = -2;
|
||||
|
||||
#declare sandfloor = height_field {
|
||||
png "/home/hodapp/geomorph/floor1.png"
|
||||
smooth
|
||||
}
|
||||
|
||||
#declare cx = 0;
|
||||
#while (cx < xcount)
|
||||
#declare cz = 0;
|
||||
#while (cz < zcount)
|
||||
object {
|
||||
sandfloor
|
||||
scale <xscale, height, zscale>
|
||||
translate <xmin + cx * xscale, y1, zmin + cz * zscale>
|
||||
rotate r
|
||||
texture { sand }
|
||||
}
|
||||
#declare cz = cz + 1;
|
||||
#end
|
||||
#declare cx = cx + 1;
|
||||
#end
|
||||
|
||||
box {
|
||||
<xmin, -0.75, zmin>,
|
||||
<xmin + xscale * xcount, -3, zmin + zscale * zcount>
|
||||
material { water }
|
||||
}
|
||||
|
||||
object {
|
||||
palmtree
|
||||
rotate 90*y
|
||||
scale 0.25
|
||||
translate <0.5,0.5,-0.5>
|
||||
}
|
||||
|
||||
light_source {
|
||||
<-0.5, 0.25, -1.5>, 0.1
|
||||
shadowless
|
||||
media_interaction off
|
||||
}
|
||||
|
||||
camera {
|
||||
perspective
|
||||
location <-2.5, 3, -2.5>
|
||||
sky <0, 1, 0>
|
||||
direction <0, 0, 1>
|
||||
right <1.33333, 0, 0>
|
||||
up <0, 1, 0>
|
||||
look_at <0, 2.5, 0>
|
||||
}
|
||||
200
you_still_need_this/assets/2005-08-23-shear6.pov
Normal file
@@ -0,0 +1,200 @@
|
||||
global_settings {
|
||||
max_trace_level 100
|
||||
adc_bailout 1/255
|
||||
}
|
||||
|
||||
|
||||
|
||||
camera {
|
||||
perspective
|
||||
location <0, 1, -6>
|
||||
sky <0, 1, 0>
|
||||
direction <0, 0, 1>
|
||||
right <1.33333, 0, 0>
|
||||
up <0, 1, 0>
|
||||
look_at <0, 0, 0>
|
||||
}
|
||||
|
||||
light_source {
|
||||
<0, 2.5, -2.5>, 0.9
|
||||
}
|
||||
|
||||
// x1,x2 = endpoints of cylinder
|
||||
// dx = length of each block
|
||||
// sx = x spacing between each block
|
||||
// r = radius to center of block
|
||||
// height = size of block
|
||||
// dz = Z size
|
||||
// copies = copies of block per section
|
||||
// ph = phase, given in terms of _amount of ONE BLOCK_
|
||||
// shear1,shear2 = start and end values for Z-shearing (linear)
|
||||
#macro Make_Blocked_Cylinder_Corrected(x1, x2, dx, sx, r, height, dz, copies, ph, shear1, shear2)
|
||||
#local arc = 360/copies;
|
||||
#local start = arc * ph;
|
||||
#local cx = x1;
|
||||
// Linear formula thingy, y=mx+b
|
||||
#local m = (shear1 - shear2) / (x1 - x2);
|
||||
#local b = shear1 - m * x1;
|
||||
#local step = 0;
|
||||
#while (cx <= x2)
|
||||
#local shear = m * cx + b;
|
||||
#local i = 0;
|
||||
#while (i < copies)
|
||||
box {
|
||||
< 0, -height/2, -dz/2>,
|
||||
< dx, height/2, dz/2>
|
||||
matrix <1,0,shear,
|
||||
0,1,0,
|
||||
0,0,1,
|
||||
0,0,0>
|
||||
translate <cx, r, 0>
|
||||
rotate <i * arc + start + step, 0, 0>
|
||||
}
|
||||
#local i = i + 1;
|
||||
#end
|
||||
#local cx = cx + dx + sx;
|
||||
//#debug "\nStep: "
|
||||
//#debug str(, 0, -1)
|
||||
#local step = step + degrees(atan2(shear,r));
|
||||
#end
|
||||
#end
|
||||
|
||||
|
||||
#declare outer_red = texture {
|
||||
pigment { rgbft<0.3, 0.3, 0.7, 0.4, 0.3> }
|
||||
finish {
|
||||
ambient 0.7
|
||||
specular 0.25
|
||||
roughness 0.02
|
||||
}
|
||||
}
|
||||
#declare outer_cyan = texture {
|
||||
pigment { rgbft<0.5, 0.8, 0.9, 0.3, 0.5> }
|
||||
finish {
|
||||
ambient 0.4
|
||||
specular 0.25
|
||||
roughness 0.02
|
||||
}
|
||||
}
|
||||
#declare med_red = texture {
|
||||
pigment { rgbft<0.2, 0.2, 0.8, 0.1, 0.2> }
|
||||
finish {
|
||||
ambient 0.4
|
||||
specular 0.25
|
||||
roughness 0.05
|
||||
}
|
||||
}
|
||||
#declare med_orange = texture {
|
||||
pigment { rgbft<0.2, 0.5, 0.8, 0.1, 0.2> }
|
||||
finish {
|
||||
ambient 0.45
|
||||
specular 0.20
|
||||
roughness 0.05
|
||||
}
|
||||
}
|
||||
#declare inner_yellow = texture {
|
||||
pigment { rgbft<0.4, 0.8, 0.9, 0.0, 0.0> }
|
||||
finish {
|
||||
ambient 0.6
|
||||
specular 0.35
|
||||
roughness 0.02
|
||||
//reflection 0.3
|
||||
}
|
||||
}
|
||||
#declare inner_red = texture {
|
||||
pigment { rgbft<0.0, 0.0, 0.8, 0.0, 0.0> }
|
||||
finish { ambient 0.8 }
|
||||
}
|
||||
#declare core_red = texture {
|
||||
pigment { rgbft<0.1, 0.6, 1.0, 0.0, 0.0> }
|
||||
finish { ambient 1.0 }
|
||||
}
|
||||
|
||||
#declare glow = material {
|
||||
texture { pigment { rgbt 1 } }
|
||||
interior {
|
||||
media {
|
||||
emission 2
|
||||
density {
|
||||
bozo density_map {
|
||||
[0 rgb<0.2, 0.7, 0.8>]
|
||||
[0.35 rgb<0, 0.4, 0.9>]
|
||||
[0.5 rgb 0]
|
||||
[0.65 rgb<0, 0.4, 0.9>]
|
||||
[1.0 rgb<0.2, 0.7, 0.8>]
|
||||
}
|
||||
scale 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Make_Blocked_Cylinder_Corrected(x1, x2, dx, sx, r, height, dz, copies, ph, shear_start, shear_end)
|
||||
union { Make_Blocked_Cylinder_Corrected(-4, 4, 0.8, 0.02, 2.4, 0.1, 0.4, 16, 0, -1, 0)
|
||||
texture { outer_red } }
|
||||
union { Make_Blocked_Cylinder_Corrected(-4, 4, 0.8, 0.02, 2.4, 0.1, 0.4, 16, 0.5, -1, 0)
|
||||
texture { outer_cyan } }
|
||||
union { Make_Blocked_Cylinder_Corrected(-4, 4, 0.8, 0.1, 2.0, 0.1, 0.2, 12, 0, 0, 1)
|
||||
texture { med_red } }
|
||||
// union { Make_Blocked_Cylinder_Corrected(-4, 4, 0.8, 0.1, 2.0, 0.1, 0.3, 12, 0.5, 0, 1)
|
||||
// texture { med_orange } }
|
||||
union { Make_Blocked_Cylinder_Corrected(-3.6, 4.4, 0.75, 0.07, 1.8, 0.03, 0.2, 11, 0, -1, -0)
|
||||
texture { inner_yellow } }
|
||||
// union { Make_Blocked_Cylinder_Corrected(-4, 4, 0.2, 0.01, 1.6, 0.1, 0.05, 32, 0, -1.5, -1.4)
|
||||
// texture { inner_red } }
|
||||
union { Make_Blocked_Cylinder_Corrected(-3.9, 4.1, 0.2, 0.01, 1.4, 0.1, 0.05, 23, 0, 1.1, 1.2)
|
||||
texture { core_red } }
|
||||
|
||||
cylinder {
|
||||
<-5, 0, 0>, <5, 0, 0>, 1.2
|
||||
hollow
|
||||
material { glow }
|
||||
}
|
||||
|
||||
#macro Crazy_Tile(x1, x2, z1, z2, dx, dz, sx, sz, height, xz_sh1, xz_sh2, zx_sh1, zx_sh2, tex1, tex2)
|
||||
#local cx = x1;
|
||||
// Linear formula thingy, y=mx+b
|
||||
#local xz_m = (xz_sh1 - xz_sh2) / (z1 - z2);
|
||||
#local xz_b = xz_sh1 - xz_m * z1;
|
||||
#local zx_m = (zx_sh1 - zx_sh2) / (x1 - x2);
|
||||
#local zx_b = zx_sh1 - zx_m * x1;
|
||||
#local tex = 0;
|
||||
#while (cx < x2)
|
||||
#local cz = z1;
|
||||
// #if (tex = 0) #local tex = 1;
|
||||
// #else #local tex = 0;
|
||||
// #end
|
||||
#while (cz < z2)
|
||||
#local z_shift = 0;
|
||||
#local x_shift = 0;
|
||||
#if (tex = 0) #local tex = 1;
|
||||
#else #local tex = 0;
|
||||
#end
|
||||
box {
|
||||
#local x_shear = zx_m*cx + zx_b;
|
||||
#local z_shear = xz_m*cz + xz_b;
|
||||
<0, 0, 0>, <dx, height, dz>
|
||||
matrix < 1, 0, z_shear,
|
||||
0, 1, 0,
|
||||
x_shear, 0, 1
|
||||
0, 0, 0 >
|
||||
translate <cx + x_shift, 0, cz + z_shift>
|
||||
#if (tex=0) texture { tex1 }
|
||||
#else texture { tex2 }
|
||||
#end
|
||||
#local x_shift = x_shift + x_shear * dz;
|
||||
#local z_shift = z_shift + z_shear * dx;
|
||||
}
|
||||
#local cz = cz + dz + sz;
|
||||
#end
|
||||
#local cx = cx + dx + sx;
|
||||
#end
|
||||
#end
|
||||
|
||||
#declare t1 = texture { pigment { rgb<1, 0.5, 0.5> } }
|
||||
#declare t2 = texture { pigment { rgb<0.5, 0.5, 1> } }
|
||||
|
||||
// union {
|
||||
// Crazy_Tile(-5, 5, -5, 5, 0.5, 0.5, 0.05, 0.05, 0.5, 0.5, -1.5, -1.5, 1.5, t1, t2)
|
||||
// //rotate -45*x
|
||||
// translate -*y
|
||||
// }
|
||||
27
you_still_need_this/assets/2011-09-09-conch.cfdg
Normal file
@@ -0,0 +1,27 @@
|
||||
startshape MAIN
|
||||
|
||||
# This is a pretty complex shape. 1370x1034 produced 476K shapes.
|
||||
|
||||
background { b -1 }
|
||||
|
||||
rule MAIN {
|
||||
CASCADE_DEEP{ sat 0.5 hue 120 b 1 }
|
||||
}
|
||||
|
||||
rule CASCADE_DEEP {
|
||||
CURVE1 { r 0 }
|
||||
CASCADE_DEEP { x 1 flip 0 r 0 s 0.32 sat 0.2 hue 0 b -0.1 }
|
||||
CASCADE_DEEP { x 0 y 0.15 s 0.9 r 10 sat 0.0 hue 2.5 }
|
||||
}
|
||||
|
||||
rule CASCADE2 {
|
||||
CURVE1 { r 0 }
|
||||
CASCADE2 { flip 0 r 2 s 0.12}
|
||||
CASCADE2 { x 0.05 y 0.23 s 0.975 r 9 }
|
||||
}
|
||||
|
||||
|
||||
path CURVE1 {
|
||||
ARCTO { x 1 y 0 r 0.2 }
|
||||
STROKE { p roundcap width 0.01 }
|
||||
}
|
||||
37
you_still_need_this/assets/2011-11-04-crystal1.cfdg
Normal file
@@ -0,0 +1,37 @@
|
||||
startshape Main
|
||||
background { b -1 }
|
||||
|
||||
rule Main {
|
||||
#12 * { h 30 a -0.1 } Hex { b 0.1 sat 0 }
|
||||
ChangeColor { }
|
||||
}
|
||||
|
||||
rule ChangeColor 1 {
|
||||
4 * { h 10 r 90 a -0.01 } Hex { b 0.1 sat 0 a -0.4 }
|
||||
}
|
||||
rule ChangeColor 200 {
|
||||
ChangeColor { h 10 }
|
||||
}
|
||||
|
||||
rule Hex {
|
||||
1 * { r 60 x 0.5 y 0.333 h 10 } Section { }
|
||||
}
|
||||
|
||||
rule Section 2 {
|
||||
TRIANGLE { }
|
||||
Section { s 0.9 b 0.1 y 0.1 r 10 sat -0.1 h 0.5 }
|
||||
}
|
||||
rule Section 1 {
|
||||
TRIANGLE { }
|
||||
Section { s 1.1 b -0.1 y -0.2 r 20 h -0.5 }
|
||||
}
|
||||
|
||||
rule Section 2 {
|
||||
TRIANGLE { }
|
||||
Section { s 0.9 b -0.1 x 0.3 r -10 sat 0.1 h 1 }
|
||||
}
|
||||
|
||||
rule Section 1 {
|
||||
TRIANGLE { }
|
||||
Section { s 1.1 b 0.1 x -0.2 r -10 h -1 }
|
||||
}
|
||||
BIN
you_still_need_this/assets/resume.pdf
Normal file
6
you_still_need_this/assets_external/readme.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
This directory is something of a placeholder for larger assets than
|
||||
should be committed into git along with everything else. It might
|
||||
eventually be absorbed into something like git-lfs, or it might move
|
||||
to some other format.
|
||||
|
||||
For now: Don't commit things here into git, just sync them manually.
|
||||
@@ -0,0 +1,52 @@
|
||||
---
|
||||
title: Retrospect on Foresight
|
||||
author: Chris Hodapp
|
||||
date: January 8, 2018
|
||||
tags: technobabble, rambling
|
||||
---
|
||||
|
||||
/(Spawned from some idle thoughts around the summer of 2015.)/
|
||||
|
||||
Why are old technological ideas that were "ahead of their time", but
|
||||
which lost out to other ideas, worth studying?
|
||||
|
||||
We can see them as raw ideas that "modern" understanding never
|
||||
refined - misguided fantasies or even just mistakes. The flip side of
|
||||
this is that we can see them as ideas that are free of a nearly
|
||||
inescapable modern context and all of the preconceptions and blinders
|
||||
it carries.
|
||||
|
||||
In some of these visionaries is a valuable combination:
|
||||
|
||||
- they're detached from this modern context (by mere virtue of it not
|
||||
existing yet),
|
||||
- they have considerable experience, imagination, and foresight,
|
||||
- they devoted time and effort to work extensively on something and to
|
||||
communicate their thoughts, feelings, and analysis in a durable way.
|
||||
|
||||
To put it in another way: They give us analysis done from a context
|
||||
that is long gone. They help us think beyond our current context.
|
||||
They help us answer a question, "What if we took a different path
|
||||
then?"
|
||||
|
||||
[[http://www.cs.yale.edu/homes/perlis-alan/quotes.html][Epigram #53]] from Alan Perlis offers some relevant skepticism here: "So
|
||||
many good ideas are never heard from again once they embark in a
|
||||
voyage on the semantic gulf." My interpretation of it is that we tend
|
||||
to idolize ideas, old and new, because they sound somehow different,
|
||||
innovative, and groundbreaking, but attempts at analysis or practical
|
||||
realization of the ideas leads to a bleaker reality, perhaps that the
|
||||
idea is completely meaningless (the equivalent of a [[https://en.wiktionary.org/wiki/deepity][deepity]], perhaps),
|
||||
wildly impractical, or a mere facade over what is already established.
|
||||
|
||||
* Examples
|
||||
|
||||
* Scratch
|
||||
|
||||
- Douglas Engelbart is perhaps one of the canonical examples of a person
|
||||
who was an endless source of these ideas. Ted Nelson arguably is
|
||||
another. Alan Turing is an early example widely regarded for his
|
||||
foresight.
|
||||
- [[https://www.theatlantic.com/magazine/archive/1945/07/as-we-may-think/303881/][As We May Think (Vannevar Bush)]]
|
||||
- "Do you remember a time when..." only goes so far.
|
||||
|
||||
# Tools For Thought
|
||||
370
you_still_need_this/drafts/2017-04-20-modularity.org
Normal file
@@ -0,0 +1,370 @@
|
||||
#+TITLE: Modularity & Abstraction (working title)
|
||||
#+AUTHOR: Chris Hodapp
|
||||
#+DATE: April 20, 2017
|
||||
#+TAGS: technobabble
|
||||
|
||||
# Why don't I turn this into a paper for arXiv too? It can still be
|
||||
# posted to the blog (just also make it exportable to LaTeX perhaps)
|
||||
|
||||
_Modularity_ and _abstraction_ feature prominently wherever computers
|
||||
are involved. This is meant very broadly: it applies to designing
|
||||
software, using software, integrating software, and to a lot of
|
||||
hardware as well. It applies elsewhere, and almost certainly
|
||||
originated there first, however, it appears especially crucial around
|
||||
software.
|
||||
|
||||
Definitions, though, are a bit vague (including anything in this
|
||||
post). My goal in this post isn't to try to (re)define them, but to
|
||||
explain their essence and expand on a few theses:
|
||||
|
||||
- Modularity arises naturally in a wide array of places.
|
||||
- Modularity and abstraction are intrinsically connected.
|
||||
- Whether a given modularization makes sense depends strongly on
|
||||
meaning and relevance of *information* inside and outside of
|
||||
modules, and broad context matters to those.
|
||||
|
||||
* Why?
|
||||
|
||||
People generally agree that "modularity" is good. The idea that
|
||||
something complex can be designed and understood in terms of smaller,
|
||||
simpler pieces comes naturally to anyone that has built something out
|
||||
of smaller pieces or taken something apart. It runs very deep in the
|
||||
Unix philosophy, which ESR gives a good overview of in [[http://www.catb.org/~esr/writings/taoup/html/ch01s06.html][The Art of Unix
|
||||
Programming]] (or, listen to it from [[https://youtu.be/tc4ROCJYbm0?t%3D248][Kernighan himself]] at Bell Labs in
|
||||
1982.)
|
||||
|
||||
Tim Berners-Lee gives some practical limitations in [[https://www.w3.org/DesignIssues/Principles.html][Principles of
|
||||
Design]] and in [[https://www.w3.org/DesignIssues/Modularity.html][Modularity]]: "Modular design hinges on the simplicity and
|
||||
abstract nature of the interface definition between the modules. A
|
||||
design in which the insides of each module need to know all about each
|
||||
other is not a modular design but an arbitrary partitioning of the
|
||||
bits... It is not only necessary to make sure your own system is
|
||||
designed to be made of modular parts. It is also necessary to realize
|
||||
that your own system, no matter how big and wonderful it seems now,
|
||||
should always be designed to be a part of another larger system." Les
|
||||
Hatton in [[http://www.leshatton.org/TAIC2008-29-08-2008.html][The role of empiricism in improving the reliability of
|
||||
future software]] even did an interesting derivation tying the defect
|
||||
density in software to how it is broken into pieces. The 1972 paper
|
||||
[[https://www.cs.virginia.edu/~eos/cs651/papers/parnas72.pdf][On the Criteria to be Used in Decomposing System into Modules]] cites a
|
||||
1970 textbook on why modularity is important in systems programming,
|
||||
but also notes that nothing is said on how to divide a systems into
|
||||
modules.
|
||||
|
||||
"Abstraction" doesn't have quite the same consensus. In software, it's
|
||||
generally understood that decoupled or loosely-coupled is better than
|
||||
tightly-coupled, but at the same time, "abstraction" can have the
|
||||
connotation of something that gets in the way, adds overhead, and
|
||||
confuses things. Dijkstra, in one of few instances of not being
|
||||
snarky, allegedly said, "Being abstract is something profoundly
|
||||
different from being vague. The purpose of abstraction is not to be
|
||||
vague, but to create a new semantic level in which one can be
|
||||
absolutely precise." Joel Spolsky, in one of few instances of me
|
||||
actually caring what he said, also has a blog post from 2002 on the
|
||||
[[https://www.joelonsoftware.com/2002/11/11/the-law-of-leaky-abstractions/][Law of Leaky Abstractions]] ("All non-trivial abstractions, to some
|
||||
degree, are leaky.") The [[https://en.wikipedia.org/wiki/Principle_of_least_privilege][principle of least privilege]] is likewise a
|
||||
thing. So, abstraction too has its practical and theoretical
|
||||
limitations.
|
||||
|
||||
* How They Relate
|
||||
|
||||
I bring these up together because: *abstractions* are the boundaries
|
||||
between *modules*, and the communication channels (APIs, languages,
|
||||
interfaces, protocols) through which they talk. It need not
|
||||
necessarily be a standardized interface or a well-documented boundary,
|
||||
though that helps.
|
||||
|
||||
Available abstractions vary. They vary by, for instance:
|
||||
- ...what language you choose. Consider, for instance, that a language
|
||||
like Haskell contains various abstractions done largely within the
|
||||
type system that cannot be expressed in many other languages.
|
||||
Languages like Python, Ruby, or JavaScript might have various
|
||||
abstractions meaningful only in the context of dynamic typing. Some
|
||||
languages more readily permit the creation of new abstractions, and
|
||||
this might lead to a broader range of abstractions implemented in
|
||||
libraries.
|
||||
- ...the operating system and its standard library. What is a
|
||||
process? What is a thread? What is a dynamic library? What is a
|
||||
filesystem? What is a file? What is a block device? What is a
|
||||
socket? What is a virtual machine? What is a bus? What is a
|
||||
commandline?
|
||||
- ...the time period. How many of the abstractions named above were
|
||||
around or viable in 1970, 1980, 1990, 2000? In the opposite
|
||||
direction, when did you last use that lovely standardized protocol,
|
||||
[[https://en.wikipedia.org/wiki/Common_Gateway_Interface][CGI]], to let your web application and your web server communicate,
|
||||
use [[https://en.wikipedia.org/wiki/PHIGS][PHIGS]] to render graphics, or access a large multiuser system
|
||||
via hard-wired terminals?
|
||||
|
||||
As such: Possible ways to modularize things vary. It may make no
|
||||
sense that certain ways of modularization even can or should exist
|
||||
until it's been done other ways hundreds or thousands of times.
|
||||
|
||||
Other terms are related too. "Loosely-coupled" (or loose coupling)
|
||||
and "tightly-coupled" refer to the sort of abstractions sitting
|
||||
between modules, or whether or not there even are separate modules.
|
||||
"Decoupling" involves changing the relationship between modules
|
||||
(sometimes, creating them in the first place), typically splitting
|
||||
things into two more sensible pieces that a more sensible abstraction
|
||||
separates. "Factoring out" is really a form of decoupling in which
|
||||
smaller parts of something are turned into a module which the original
|
||||
thing then interfaces with (one canonical example is taking some bits
|
||||
of code, often that are very similar or identical in many places, and
|
||||
moving them into a single function). To say one has "abstracted over"
|
||||
some details implies that a module is handling those details, that the
|
||||
details shouldn't matter, and what does matter is the abstraction one
|
||||
is using.
|
||||
|
||||
One of Rich Hickey's favorite topics is *composition*, and with good
|
||||
reason (and you should check out [[http://www.infoq.com/presentations/Simple-Made-Easy/][Simple Made Easy]] regardless). This
|
||||
relates as well: to *compose* things together effectively into bigger
|
||||
parts requires that they support some common abstraction.
|
||||
|
||||
In the same area, [[https://clojurefun.wordpress.com/2012/08/17/composition-over-convention/][Composition over convention]] is a good read on how
|
||||
/frameworks/ run counter to modularity: they aren't built to behave
|
||||
like modules of a larger system.
|
||||
|
||||
|
||||
# -----
|
||||
|
||||
In a practical sense: Where someone "factors out" something that
|
||||
occurs in similar or identical form in multiple places (incidentally,
|
||||
"decouples" also works fine as a term), they're often creating a
|
||||
module (from what was factored out) and some number of abstractions
|
||||
(from the break that created). Consider some examples:
|
||||
- Some configurable functionality in a larger application is extracted
|
||||
out into a system of plugins. The details of the application are
|
||||
abstracted over (as far as the plugin cares), and the details of the
|
||||
plugin are abstracted over (as far as the application cares). The
|
||||
API that the application and plugins use to communicate is the new
|
||||
abstraction now available. The plugins are modules, and the
|
||||
application itself is a module of a different sort. (Witness that
|
||||
sometimes another application will implement the same plugin API.)
|
||||
|
||||
It has a very pragmatic reason behind it: When something is a module
|
||||
unto itself, presumably it is relying on specific abstractions, and it
|
||||
is possible to freely change this module's internal details (provided
|
||||
that it still handles the same abstractions), to move this module to
|
||||
other contexts (anything providing the same abstractions), to replace
|
||||
it with other modules (anything using the same abstractions).
|
||||
|
||||
It also has a more abstract reason: When something is a module unto
|
||||
itself, the way it is designed and implemented often presents more
|
||||
insight into the fundamentals of the problem it is solving. It
|
||||
contains fewer incidental details, and more essential details.
|
||||
|
||||
# -------
|
||||
|
||||
* Information
|
||||
|
||||
I referred earlier to the abstractions themselves as both boundaries
|
||||
and communications channels. Another common view is that abstractions
|
||||
are *contracts* with a communicated and agreed purpose, and I think
|
||||
this is a useful definition too: it conveys the notion that there are
|
||||
multiple parties involved and that they are free to behave as needed
|
||||
provided that they fulfill some obligation
|
||||
|
||||
Some definitions refer directly to information, like the [[https://en.wikipedia.org/wiki/Abstraction_principle_(computer_programming)][abstraction
|
||||
principle]] which aims to reduce duplication of information which fits
|
||||
with [[https://en.wikipedia.org/wiki/Don%2527t_repeat_yourself][don't repeat yourself]] so that "a modification of any single
|
||||
element of a system does not require a change in other logically
|
||||
unrelated elements".
|
||||
|
||||
|
||||
|
||||
# ----- FIXME
|
||||
Consider the information this module deals in, in essence.
|
||||
|
||||
What is the most general form this information could be expressed in,
|
||||
without being so general as to encompass other things that are
|
||||
irrelevant or so low-level as to needlessly constrain the possible
|
||||
contexts?
|
||||
|
||||
(Aristotle's theory of definitions?)
|
||||
|
||||
* Less-Conventional Examples
|
||||
|
||||
One thing I've watched with some interest is when new abstractions
|
||||
emerge (or, perhaps, old ones become more widespread) to solve
|
||||
problems that I wasn't even aware existed.
|
||||
|
||||
[[https://circleci.com/blog/it-really-is-the-future/][It really is the future]] talks about a lot of more recent forms of
|
||||
modularity, most of which are beyond me and were completely unheard-of
|
||||
in, say, 2010. [[https://www.functionalgeekery.com/episode-75-eric-b-merritt/][Functional Geekery episode 75]] talks about many similar
|
||||
things.
|
||||
|
||||
[[https://jupyter.org/][Jupyter Notebook]] is one of my favorites here. It provides a notebook
|
||||
interface (similar to something like Maple or Mathematica) which:
|
||||
|
||||
- allows the notebook to use various different programming languages
|
||||
underneath,
|
||||
- decouples where the notebook is used and where it is running, due to
|
||||
being implemented as a web application accessed through the browser,
|
||||
- decouples the presentation of a stored notebook from Jupyter itself
|
||||
by using a [[https://nbformat.readthedocs.io/en/latest/][JSON-based file format]] which can be rendered without
|
||||
Jupyter (like GitHub does if you commit a .ipynb file).
|
||||
|
||||
I love notebook interfaces already because they simplify experimenting
|
||||
by handling a lot of things I'd otherwise have to do manually - like
|
||||
saving results and keeping them lined up with the exact code that
|
||||
produced them. Jupyter adds some other use-cases I find marvelous -
|
||||
for instance, I can let the interpreter run on my much faster
|
||||
workstation, but I can access it across the Internet from my much
|
||||
slower laptop.
|
||||
|
||||
[[https://zeppelin.apache.org/][Apache Zeppelin]] does similar things with different languages; I just
|
||||
use it less.
|
||||
|
||||
Another favorite of mine is [[https://nixos.org/nix/][Nix]]. One excellent article, [[http://blog.ezyang.com/2014/08/the-fundamental-problem-of-programming-language-package-management/][The
|
||||
fundamental problem of programming language package management]],
|
||||
doesn't ever mention Nix but does a great job explaining the sorts of
|
||||
problems it exists to solve. To be able to combine nearly all of the
|
||||
programming-language specific package managers into a single module is
|
||||
a very lofty goal, but Nix appears to do a decent job of it.
|
||||
|
||||
The [[https://www.lua.org/][Lua]] programming language is noteworthy here. It's written in
|
||||
clean C with minimal dependencies, so it runs nearly anywhere that a C
|
||||
or C++ compiler targets. It's purposely very easy both to *embed*
|
||||
(i.e. to put inside of a program and use as an extension language,
|
||||
such as for plugins or scripting) and to *extend* (i.e. to connect
|
||||
with libraries to allow their functionality to be used from Lua). [[https://www.gnu.org/software/guile/][GNU
|
||||
Guile]] has many of the same properties, I'm told.
|
||||
|
||||
We ordinarily think of object systems as something living in the
|
||||
programming language. However, the object system is sometimes made a
|
||||
module that is outside of the programming language, and languages just
|
||||
interact with it. [[https://en.wikipedia.org/wiki/GObject][GObject]], [[https://en.wikipedia.org/wiki/Component_Object_Model][COM]], and [[https://en.wikipedia.org/wiki/XPCOM][XPCOM]] do this, and to some
|
||||
extent, so does [[https://en.wikipedia.org/wiki/Meta-object_System][Qt & MOC]] - and there are probably hundreds of others,
|
||||
particularly if you allow dead ones created during the object-oriented
|
||||
hype of the '90s. This seems to happen in systems where the object
|
||||
hierarchy is in effect "bigger" than the language.
|
||||
|
||||
ZeroMQ is also notable here (and I know it's likely not unique, but it
|
||||
is one of the better-known and the first I thought of) as a set of
|
||||
cross-language abstractions for communication patterns.
|
||||
|
||||
Interestingly, the same iMatix behind ZeroMQ also created [[https://github.com/imatix/gsl][GSL]] and
|
||||
explained its value in [[https://imatix-legacy.github.io/mop/introduction.html][Model-Oriented Programming]], for which
|
||||
abstraction features heavily. I've not used GSL, and am skeptical of
|
||||
its stated usefulness, but it looks like it is meant to help create
|
||||
compile-time abstractions that likewise sit outside of any particular
|
||||
programming language.
|
||||
|
||||
# TODO: Expand on this.
|
||||
|
||||
[[https://web.hypothes.is/][hypothes.is]] is a curious one that I find fascinating. They're trying
|
||||
to factor out annotation and commenting from something that is handled
|
||||
on a per-webpage basis and turn it into its own module, and I really
|
||||
like what I've seen.
|
||||
|
||||
The Unix tradition lives on in certain modern tools. [[https://stedolan.github.io/jq/][jq]] has proven
|
||||
very useful anytime I've had to mess with JSON data. [[http://www.dest-unreach.org/socat/][socat]] and [[http://netcat.sourceforge.net/][netcat]]
|
||||
have saved me numerous times. I'm sure certain people love the fact
|
||||
that [[https://neovim.io/][Neovim]] is designed to be seamlessly embedded and to extend with
|
||||
plugins. [[https://suckless.org/philosophy][suckless]] perhaps takes it too far, but gets an honorary
|
||||
mention...
|
||||
|
||||
# ???
|
||||
|
||||
# Also, TCP/IP and the entire notion of packet-switched networks.
|
||||
# And the entire OSI 7-layer model.
|
||||
|
||||
# Also, caches - of all types. (CPU, disk...)
|
||||
|
||||
People know that I love Emacs, but I also do believe many of the
|
||||
complaints on how large it is. On the one hand, it is basically its
|
||||
own operating system and /within this/ it has considerable modularity.
|
||||
On the other hand, I already have a perfectly usable operating system
|
||||
underneath, and it can make SSH tunnels instead of requiring that my
|
||||
editor have [[https://www.gnu.org/software/tramp/][its own explicit support]] for them.
|
||||
|
||||
Consider [[https://research.google.com/pubs/pub43146.html][Machine Learning: The High Interest Credit Card of Technical Debt]],
|
||||
a paper that anyone working around machine learning should read and
|
||||
re-read regularly. Large parts of the paper are about ways in which
|
||||
machine learning conflicts with proper modularity and abstraction.
|
||||
(However, [[https://colah.github.io/posts/2015-09-NN-Types-FP/][Neural Networks, Types, and Functional Programming]] is still
|
||||
a good post and shows some sorts of abstraction that still exist
|
||||
at least in neural networks.)
|
||||
|
||||
Submitted without further comment:
|
||||
https://github.com/stevemao/left-pad/issues/4
|
||||
|
||||
* Fragments
|
||||
|
||||
- Abstracting over...
|
||||
- Multiple applications
|
||||
- Multiple users
|
||||
- Multiple CPUs
|
||||
- Multiple hosts
|
||||
|
||||
- [[Notes - Paper, 2016-11-13]]
|
||||
- Any Plan 9 papers? (Will have to dig deep in the archives)
|
||||
- http://plan9.bell-labs.com/sys/doc/
|
||||
- Link is now down
|
||||
- Tanenbaum vs. Linus war & microkernels
|
||||
- TBL: "The choice of language is a common design choice. The low
|
||||
power end of the scale is typically simpler to design, implement and
|
||||
use, but the high power end of the scale has all the attraction of
|
||||
being an open-ended hook into which anything can be placed: a door
|
||||
to uses bounded only by the imagination of the programmer. Computer
|
||||
Science in the 1960s to 80s spent a lot of effort making languages
|
||||
which were as powerful as possible. Nowadays we have to appreciate
|
||||
the reasons for picking not the most powerful solution but the least
|
||||
powerful. The reason for this is that the less powerful the
|
||||
language, the more you can do with the data stored in that
|
||||
language. If you write it in a simple declarative from, anyone can
|
||||
write a program to analyze it in many ways." (Languages are a kind
|
||||
of abstraction - one that influences how a module is written, and
|
||||
what contexts it is useful in.)
|
||||
- "Self" paper & structural reification?
|
||||
- I'm still not sure how this relates, but it may perhaps relate to
|
||||
how *not* to make things modular (structural reification is a sort
|
||||
of check on the scope of objects/classes)
|
||||
- What by Rich Hickey?
|
||||
- Simple Made Easy?
|
||||
- The Value of Values?
|
||||
- SICP: [[https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book-Z-H-19.html#%25_chap_3][Modularity, Objects, and State]]
|
||||
- [[https://www.cs.utexas.edu/~wcook/Drafts/2009/essay.pdf][On Understanding Data Abstraction, Revisited]]
|
||||
- http://www.catb.org/~esr/writings/taoup/html/apb.html#Baldwin-Clark -
|
||||
Carliss Baldwin and Kim Clark. Design Rules, Vol 1: The Power of
|
||||
Modularity. 2000. MIT Press. ISBN 0-262-024667.
|
||||
- Brooks, No Silver Bullet?
|
||||
|
||||
- https://en.wikipedia.org/wiki/Essential_complexity
|
||||
|
||||
- https://twitter.com/fchollet/status/962074070513631232
|
||||
|
||||
- [[https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book-Z-H-9.html#%25_chap_1][From SICP chapter 1 intro]]: "The acts of the mind, wherein it exerts
|
||||
its power over simple ideas, are chiefly these three: 1. Combining
|
||||
several simple ideas into one compound one, and thus all complex
|
||||
ideas are made. 2. The second is bringing two ideas, whether simple
|
||||
or complex, together, and setting them by one another so as to take
|
||||
a view of them at once, without uniting them into one, by which it
|
||||
gets all its ideas of relations. 3. The third is separating them
|
||||
from all other ideas that accompany them in their real existence:
|
||||
this is called abstraction, and thus all its general ideas are
|
||||
made." -John Locke, An Essay Concerning Human Understanding (1690)
|
||||
- [[https://en.wikipedia.org/wiki/Cross-cutting_concern][Cross-cutting concerns]], [[https://en.wikipedia.org/wiki/Aspect-oriented_programming][aspect-oriented programming]] (as an attempt
|
||||
to take tangled things and pull them into modules)
|
||||
- [[https://en.wikipedia.org/wiki/Separation_of_concerns][Separation of Concerns]]
|
||||
- Abstraction as an information channel... module as a what?
|
||||
- Even in DOS days, simple abstractions mattered like making something
|
||||
behave like a hard drive or like a filesystem in DOS. Things like
|
||||
DriveSpace/DoubleSpace/Stacker worked well enough because most
|
||||
applications were written to respect DOS's file access calls.
|
||||
Things like HIMEM, EMM386, and QEMM worked reasonably well because
|
||||
applications were written to respect DOS's dumpster fire of memory
|
||||
management that I am eternally lucky to never have to touch again.
|
||||
- One point I have ignored (maybe): You clearly separate the 'inside'
|
||||
of a module (its implementation) from the 'outside' (that is - its
|
||||
boundaries, the abstractions that it interfaces with or that it
|
||||
implements) so that the 'inside' can change more or less freely
|
||||
without having any effect on the outside.
|
||||
- Abstractions as a way of reducing the work required to add
|
||||
functionality (changes can be made just in the relevant modules, and
|
||||
other modules do not need to change to conform)
|
||||
- What is more key? Communication, information content, contracts,
|
||||
details?
|
||||
- [[https://en.wikipedia.org/wiki/Don%2527t_repeat_yourself][Don't repeat yourself]]
|
||||
- [[https://simplyphilosophy.org/study/aristotles-definitions/][Aristotle & theory of definitions]]
|
||||
- this isn't right. I need to find the quote in the Durant book
|
||||
(which will probably have an actual source) that pertains to how
|
||||
specific and how general a definition must be
|
||||
368
you_still_need_this/drafts/2017-12-13-retinanet.org
Normal file
@@ -0,0 +1,368 @@
|
||||
---
|
||||
title: Explaining RetinaNet
|
||||
author: Chris Hodapp
|
||||
date: December 13, 2017
|
||||
tags: technobabble
|
||||
---
|
||||
|
||||
# Above uses style from https://github.com/turboMaCk/turboMaCk.github.io/blob/develop/posts/2016-12-21-org-mode-in-hakyll.org
|
||||
# and https://turbomack.github.io/posts/2016-12-21-org-mode-in-hakyll.html
|
||||
# description:
|
||||
# subtitle:
|
||||
|
||||
A paper came out in the past few months,
|
||||
[[https://arxiv.org/abs/1708.02002][Focal Loss for Dense Object Detection]], from one of
|
||||
Facebook's teams. The goal of this post is to
|
||||
explain this paper as I work through it, through some of its
|
||||
references, and one particular [[https://github.com/fizyr/keras-retinanet][implementation in Keras]].
|
||||
|
||||
* Object Detection
|
||||
|
||||
"Object detection" as it is used here refers to machine learning
|
||||
models that can not just identify a single object in an image, but can
|
||||
identify and *localize* multiple objects, like in the below photo
|
||||
taken from
|
||||
[[https://research.googleblog.com/2017/06/supercharge-your-computer-vision-models.html][Supercharge your Computer Vision models with the TensorFlow Object Detection API]]:
|
||||
|
||||
# TODO:
|
||||
# Define mAP
|
||||
|
||||
#+CAPTION: TensorFlow object detection example 2.
|
||||
#+ATTR_HTML: :width 100% :height 100%
|
||||
[[../images/2017-12-13-retinanet/2017-12-13-objdet.jpg]]
|
||||
|
||||
At the time of writing, the most accurate object-detection methods
|
||||
were based around R-CNN and its variants, and all used two-stage
|
||||
approaches:
|
||||
|
||||
1. One model proposes a sparse set of locations in the image that
|
||||
probably contain something. Ideally, this contains all objects in
|
||||
the image, but filters out the majority of negative locations
|
||||
(i.e. only background, not foreground).
|
||||
2. Another model, typically a CNN (convolutional neural network),
|
||||
classifies each location in that sparse set as either being
|
||||
foreground and some specific object class (like "kite" or "person"
|
||||
above), or as being background.
|
||||
|
||||
Single-stage approaches were also developed, like [[https://pjreddie.com/darknet/yolo/][YOLO]], [[https://arxiv.org/abs/1512.02325][SSD]], and
|
||||
OverFeat. These simplified/approximated the two-stage approach by
|
||||
replacing the first step with brute force. That is, instead of
|
||||
generating a sparse set of locations that probably have something of
|
||||
interest, they simply handle all locations, whether or not they likely
|
||||
contain something, by blanketing the entire image in a dense sampling
|
||||
of many locations, many sizes, and many aspect ratios.
|
||||
|
||||
This is simpler and faster - but not as accurate as the two-stage
|
||||
approaches.
|
||||
|
||||
Methods like [[https://arxiv.org/abs/1506.01497][Faster R-CNN]] (not to be confused with Fast R-CNN... no, I
|
||||
didn't come up with these names) merge the two models of two-stage
|
||||
approaches into a single CNN, and exploit the possibility of sharing
|
||||
computations that would otherwise be done twice. I assume that this
|
||||
is included in the comparisons done in the paper, but I'm not entirely
|
||||
sure.
|
||||
|
||||
* Training & Class Imbalance
|
||||
|
||||
Briefly, the process of training these models requires minimizing some
|
||||
kind of loss function that is based on what the model misclassifies
|
||||
when it is run on some training data. It's preferable to be able to
|
||||
compute some loss over each individual instance, and add all of these
|
||||
losses up to produce an overall loss. (Yes, far more can be said on
|
||||
this, but the details aren't really important here.)
|
||||
|
||||
# TODO: What else can I say about why loss should be additive?
|
||||
# Quote DL text? ML text?
|
||||
|
||||
This leads to a problem in one-stage detectors: That dense set of
|
||||
locations that it's classifying usually contains a small number of
|
||||
locations that actually have objects (positives), and a much larger
|
||||
number of locations that are just background and can be very easily
|
||||
classified as being in the background (easy negatives). However, the
|
||||
loss function still adds all of them up - and even if the loss is
|
||||
relatively low for each of the easy negatives, their cumulative loss
|
||||
can drown out the loss from objects that are being misclassified.
|
||||
|
||||
That is: A large number of tiny, irrelevant losses overwhelm a smaller
|
||||
number of larger, relevant losses. The paper was a bit terse on this;
|
||||
it took a few re-reads to understand why "easy negatives" were an
|
||||
issue, so hopefully I have this right.
|
||||
|
||||
The training process is trying to minimize this loss, and so it is
|
||||
mostly nudging the model to improve where it least needs it (its
|
||||
ability to classify background areas that it already classifies well)
|
||||
and neglecting where it most needs it (its ability to classify the
|
||||
"difficult" objects that it is misclassifying).
|
||||
|
||||
# TODO: Visualize this. Can I?
|
||||
|
||||
This is *class imbalance* in a nutshell, which the paper gives as the
|
||||
limiting factor for the accuracy of one-stage detectors. While the
|
||||
existing approaches try to tackle it with methods like bootstrapping
|
||||
or hard example mining, the accuracy still is lower.
|
||||
|
||||
** Focal Loss
|
||||
|
||||
So, the point of all this is: A tweak to the loss function can fix
|
||||
this issue, and retain the speed and simplicity of one-stage
|
||||
approaches while surpassing the accuracy of existing two-stage ones.
|
||||
|
||||
At least, this is what the paper claims. Their novel loss function is
|
||||
called *Focal Loss* (as the title references), and it multiplies the
|
||||
normal cross-entropy by a factor, $(1-p_t)^\gamma$, where $p_t$
|
||||
approaches 1 as the model predicts a higher and higher probability of
|
||||
the correct classification, or 0 for an incorrect one, and $\gamma$ is
|
||||
a "focusing" hyperparameter (they used $\gamma=2$). Intuitively, this
|
||||
scaling makes sense: if a classification is already correct (as in the
|
||||
"easy negatives"), $(1-p_t)^\gamma$ tends toward 0, and so the portion
|
||||
of the loss multiplied by it will likewise tend toward 0.
|
||||
|
||||
|
||||
* RetinaNet architecture
|
||||
|
||||
The paper gives the name *RetinaNet* to the network they created which
|
||||
incorporates this focal loss in its training. While it says, "We
|
||||
emphasize that our simple detector achieves top results not based on
|
||||
innovations in network design but due to our novel loss," it is
|
||||
important not to miss that /innovations in/: they are saying that they
|
||||
didn't need to invent a new network design - not that the network
|
||||
design doesn't matter. Later in the paper, they say that it is in
|
||||
fact crucial that RetinaNet's architecture relies on FPN (Feature
|
||||
Pyramid Network) as its backbone. As far as I can tell, the
|
||||
architecture's use of a variant of RPN (Region Proposal Network) is
|
||||
also very important.
|
||||
|
||||
I go into both of these aspects below.
|
||||
|
||||
* Feature Pyramid Network
|
||||
|
||||
Another recent paper, [[https://arxiv.org/abs/1612.03144][Feature Pyramid Networks for Object Detection]],
|
||||
describes the basis of this FPN in detail (and, non-coincidentally I'm
|
||||
sure, the paper shares 4 co-authors with the paper this post
|
||||
explores). The paper is fairly concise in describing FPNs; it only
|
||||
takes it around 3 pages to explain their purpose, related work, and
|
||||
their entire design. The remainder shows experimental results and
|
||||
specific applications of FPNs. While it shows FPNs implemented on a
|
||||
particular underlying network (ResNet, mentioned below), they were
|
||||
made purposely to be very simple and adaptable to nearly any kind of
|
||||
CNN.
|
||||
|
||||
To begin understanding this, start with [[https://en.wikipedia.org/wiki/Pyramid_%2528image_processing%2529][image pyramids]]. The below
|
||||
diagram illustrates an image pyramid:
|
||||
|
||||
#+CAPTION: Source: https://en.wikipedia.org/wiki/File:Image_pyramid.svg
|
||||
#+ATTR_HTML: :width 100% :height 100%
|
||||
[[../images/2017-12-13-retinanet/1024px-Image_pyramid.svg.png]]
|
||||
|
||||
Image pyramids have many uses, but the paper focuses on their use in
|
||||
taking something that works only at a certain scale of image - for
|
||||
instance, an image classification model that only identifies objects
|
||||
that are around 50 pixels across - and adapting it to handle different
|
||||
scales by applying it at every level of the image pyramid. If the
|
||||
model has a little flexibility, some level of the image pyramid is
|
||||
bound to have scaled the object to the correct size that the model can
|
||||
match it.
|
||||
|
||||
Typically, though, detection or classification isn't done directly on
|
||||
an image, but rather, the image is converted to some more useful
|
||||
feature space. However, these feature spaces likewise tend to be
|
||||
useful only at a specific scale. This is the rationale behind
|
||||
"featurized image pyramids", or feature pyramids built upon image
|
||||
pyramids, created by converting each level of an image pyramid to that
|
||||
feature space.
|
||||
|
||||
The problem with featurized image pyramids, the paper says, is that if
|
||||
you try to use them in CNNs, they drastically slow everything down,
|
||||
and use so much memory as to make normal training impossible.
|
||||
|
||||
However, take a look below at this generic diagram of a generic deep
|
||||
CNN:
|
||||
|
||||
#+CAPTION: Source: https://commons.wikimedia.org/wiki/File:Typical_cnn.png
|
||||
#+ATTR_HTML: :width 100% :height 100%
|
||||
[[../images/2017-12-13-retinanet/Typical_cnn.png]]
|
||||
|
||||
You may notice that this network has a structure that bears some
|
||||
resemblance to an image pyramid. This is because deep CNNs are
|
||||
already computing a sort of pyramid in their convolutional and
|
||||
subsampling stages. In a nutshell, deep CNNs used in image
|
||||
classification push an image through a cascade of feature detectors or
|
||||
filters, and each successive stage contains a feature map that is
|
||||
built out of features in the prior stage - thus producing a *feature
|
||||
hierarchy* which already is something like a pyramid and contains
|
||||
multiple different scales. (Being able to train deep CNNs to jointly
|
||||
learn the filters at each stage of that feature hierarchy from the
|
||||
data, rather than engineering them by hand, is what sets deep learning
|
||||
apart from "shallow" machine learning.)
|
||||
|
||||
When you move through levels of a featurized image pyramid, only scale
|
||||
should change. When you move through levels of a feature hierarchy
|
||||
described here, scale changes, but so does the meaning of the
|
||||
features. This is the *semantic gap* the paper references. Meaning
|
||||
changes because each stage builds up more complex features by
|
||||
combining simpler features of the last stage. The first stage, for
|
||||
instance, commonly handles pixel-level features like points, lines or
|
||||
edges at a particular direction. In the final stage, presumably, the
|
||||
model has learned complex enough features that things like "kite" and
|
||||
"person" can be identified.
|
||||
|
||||
The goal in the paper was to find a way to exploit this feature
|
||||
hierarchy that is already being computed and to produce something that
|
||||
has similar power to a featurized image pyramid but without too high
|
||||
of a cost in speed, memory, or complexity.
|
||||
|
||||
Everything described so far (none of which is specific to FPNs), the
|
||||
paper calls the *bottom-up* pathway - the feed-forward portion of the
|
||||
CNN. FPN adds to this a *top-down* pathway and some lateral
|
||||
connections.
|
||||
|
||||
** Top-Down Pathway
|
||||
|
||||
** Lateral Connections
|
||||
|
||||
** As Applied to ResNet
|
||||
|
||||
# Note C=256 and such
|
||||
|
||||
# TODO: Link to some good explanations
|
||||
|
||||
For two reasons, I don't explain much about ResNet here. The first is
|
||||
that residual networks, like the ResNet used here, have seen lots of
|
||||
attention and already have many good explanations online. The second
|
||||
is that the paper claims that the underlying network
|
||||
|
||||
[[https://arxiv.org/abs/1512.03385][Deep Residual Learning for Image Recognition]]
|
||||
[[https://arxiv.org/abs/1603.05027][Identity Mappings in Deep Residual Networks]]
|
||||
|
||||
* Anchors & Region Proposals
|
||||
|
||||
Recall last section what was said about feature maps, and the that the
|
||||
deeper stages of the CNN happen to be good for classifying images.
|
||||
While these deeper stages are lower-resolution than the input images,
|
||||
and while their influence is spread out over larger areas of the input
|
||||
image (that is, their [[https://en.wikipedia.org/wiki/Receptive_field#In_the_context_of_neural_networks][receptive field]] is rather large due to each
|
||||
stage spreading it a little further), the features here still maintain
|
||||
a spatial relationship with the input image. That is, moving across
|
||||
one axis of this feature map still corresponds to moving across the
|
||||
same axis of the input image.
|
||||
|
||||
# Just re-explain the above with the feature pyramid
|
||||
|
||||
RetinaNet's design draws heavily from RPNs (Region Proposal Networks)
|
||||
here, and here I follow the explanation given in the paper [[https://arxiv.org/abs/1506.01497][Faster
|
||||
R-CNN: Towards Real-Time Object Detection with Region Proposal
|
||||
Networks]]. I find the explanations in terms of "proposals", of
|
||||
focusing the "attention" of the neural network, or of "telling the
|
||||
neural network where to look" to be needlessly confusing and
|
||||
misleading. I'd rather explain very plainly how they work.
|
||||
|
||||
Central to RPNs is *anchors*. Anchors aren't exactly a feature of the
|
||||
CNN. They're more a property that's used in its training and
|
||||
inference.
|
||||
|
||||
In particular:
|
||||
|
||||
- Say that the feature pyramid has $L$ levels, and that level $l+1$ is
|
||||
half the resolution (thus double the scale) of level $l$.
|
||||
- Say that level $l$ is a 256-channel feature map of size $W \times H$
|
||||
(i.e. it's a tensor with shape $W \times H \times 256$). Note that
|
||||
$W$ and $H$ will be larger at lower levels, and smaller at higher
|
||||
levels, but in RetinaNet at least, always 256-channel samples.
|
||||
- For every point on that feature map (all $WH$ of them), we can
|
||||
identify a corresponding point in the input image. This is the
|
||||
center point of a broad region of the input image that influences
|
||||
this point in the feature map (i.e. its receptive field). Note that
|
||||
as we move up to higher levels in the feature pyramid, these regions
|
||||
grow larger, and neighboring points in the feature map correspond to
|
||||
larger and larger jumps across the input image.
|
||||
- We can make these regions explicit by defining *anchors* - specific
|
||||
rectangular regions associated with each point of a feature map.
|
||||
The size of the anchor depends on the scale of the feature map, or
|
||||
equivalently, what level of the feature map it came from. All this
|
||||
means is that anchors in level $l+1$ are twice as large as the
|
||||
anchors of level $l$.
|
||||
|
||||
The view that this should paint is that a dense collection of anchors
|
||||
covers the entire input image at different sizes - still in a very
|
||||
ordered pattern, but with lots of overlap. Remember how I mentioned
|
||||
at the beginning of this post that one-stage object detectors use a
|
||||
very "brute force" method?
|
||||
|
||||
My above explanation glossed over a couple things, but nothing that
|
||||
should change the fundamentals.
|
||||
|
||||
- Anchors are actually associated with every 3x3 window in the anchor
|
||||
map, not precisely every point, but all this really means is that
|
||||
it's "every point and its immediate neighbors" rather than "every
|
||||
point". This doesn't really matter to anchors, but matters
|
||||
elsewhere.
|
||||
- It's not a single anchor per 3x3 window, but 9 anchors - one for
|
||||
each of three aspect ratios (1:2, 1:1, and 2:1), and each of three
|
||||
scale factors ($1, 2^{1/3}, and 2^{2/3}$) on top of its base scale.
|
||||
This is just to handle objects of less-square shapes and to cover
|
||||
the gap in scale in between levels of the feature pyramid. Note
|
||||
that the scale factors are evenly-spaced exponentially, such that an
|
||||
additional step down wouldn't make sense (the largest anchors at the
|
||||
pyramid level /below/ already cover this scale), and nor would an
|
||||
additional step up (the smallest anchors at the pyramid level
|
||||
/above/ already cover it).
|
||||
|
||||
Here, finally, is where actual classification and regression come in.
|
||||
The *classification subnet* and *box regression subnet* are here.
|
||||
|
||||
** Classification Subnet
|
||||
|
||||
Every anchor associates an image region with a 3x3 window (i.e. a
|
||||
3x3x256 section - it's still 256-channel). The classification subnet
|
||||
is responsible for learning: do the features in this 3x3 window,
|
||||
produced from some input, image indicate that an object is inside this
|
||||
anchor? Or, more accurately: For each of $K$ object classes, what's
|
||||
the probability of each object (or just of it being background)?
|
||||
|
||||
** Box Regression Subnet
|
||||
|
||||
The box regression subnet takes the same input as the classification
|
||||
subnet, but tries to learn the answer to a different question. It is
|
||||
responsible for learning: what are the coordinates to the object
|
||||
inside of this anchor (assuming there is one)? More specifically, it
|
||||
tries to learn to produce 4 numbers values which give offsets relative
|
||||
to the anchor's bounds (thus specifying a different region). Note
|
||||
that this subnet completely ignores the class of the object.
|
||||
|
||||
The classification subnet already tells us whether or not a given
|
||||
anchor contains an object - which already gives rough bounds on
|
||||
it. The box regression subnet helps tighten these bounds.
|
||||
|
||||
** Other notes (?)
|
||||
|
||||
I've glossed over a few details here. Everything I've described above
|
||||
is implemented with bog-standard convolutional networks...
|
||||
|
||||
# Parameter sharing? How to explain?
|
||||
|
||||
* Training
|
||||
|
||||
# Ground-truth object boxes
|
||||
# Intersection-over-Union thresholds
|
||||
|
||||
* Inference
|
||||
|
||||
# Top N results
|
||||
|
||||
* References
|
||||
|
||||
# Does org-mode have a way to make a special section for references?
|
||||
# I know I saw this somewhere
|
||||
|
||||
1. [[https://arxiv.org/abs/1708.02002][Focal Loss for Dense Object Detection]]
|
||||
2. [[https://arxiv.org/abs/1612.03144][Feature Pyramid Networks for Object Detection]]
|
||||
3. [[https://arxiv.org/abs/1506.01497][Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks]]
|
||||
4. [[https://arxiv.org/abs/1504.08083][Fast R-CNN]]
|
||||
5. [[https://arxiv.org/abs/1512.03385][Deep Residual Learning for Image Recognition]]
|
||||
6. [[https://arxiv.org/abs/1603.05027][Identity Mappings in Deep Residual Networks]]
|
||||
7. [[https://openreview.net/pdf?id%3DSJAr0QFxe][Demystifying ResNet]]
|
||||
8. [[https://vision.cornell.edu/se3/wp-content/uploads/2016/10/nips_camera_ready_draft.pdf][Residual Networks Behave Like Ensembles of Relatively Shallow Networks]]
|
||||
9. https://github.com/KaimingHe/deep-residual-networks
|
||||
10. https://github.com/broadinstitute/keras-resnet (keras-retinanet uses this)
|
||||
11. [[https://arxiv.org/abs/1311.2524][Rich feature hierarchies for accurate object detection and semantic segmentation]] (contains the same parametrization as in the Faster R-CNN paper)
|
||||
12. http://deeplearning.csail.mit.edu/instance_ross.pdf and http://deeplearning.csail.mit.edu/
|
||||
|
After Width: | Height: | Size: 431 KiB |
|
After Width: | Height: | Size: 79 KiB |
|
After Width: | Height: | Size: 80 KiB |
BIN
you_still_need_this/images/2016-10-12-pi-pan-tilt-3/tile_jpg.jpg
Normal file
|
After Width: | Height: | Size: 58 KiB |
|
After Width: | Height: | Size: 369 KiB |
|
After Width: | Height: | Size: 256 KiB |
BIN
you_still_need_this/images/2017-12-13-retinanet/Typical_cnn.png
Normal file
|
After Width: | Height: | Size: 124 KiB |
28
you_still_need_this/openseadragon/LICENSE.txt
Normal file
@@ -0,0 +1,28 @@
|
||||
Copyright (C) 2009 CodePlex Foundation
|
||||
Copyright (C) 2010-2013 OpenSeadragon contributors
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
- Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
|
||||
- Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
- Neither the name of CodePlex Foundation nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
415
you_still_need_this/openseadragon/changelog.txt
Normal file
@@ -0,0 +1,415 @@
|
||||
OPENSEADRAGON CHANGELOG
|
||||
=======================
|
||||
|
||||
2.2.1:
|
||||
|
||||
* Fixed problems with zoom/pan constraints with certain extreme settings (#965)
|
||||
* Fixed an issue causing the browser to crash on iOS (#966)
|
||||
|
||||
2.2.0:
|
||||
|
||||
* BREAKING CHANGE: Viewport.homeBounds, Viewport.contentSize, Viewport.contentAspectX and
|
||||
Viewport.contentAspectY have been removed. (#846)
|
||||
* BREAKING CHANGE: The Overlay.getBounds method now takes the viewport as parameter. (#896)
|
||||
* DEPRECATION: Overlay.scales, Overlay.bounds and Overlay.position have been deprecated. (#896)
|
||||
* Overlay.width !== null should be used to test whether the overlay scales horizontally
|
||||
* Overlay.height !== null should be used to test whether the overlay scales vertically
|
||||
* The Overlay.getBounds method should be used to get the bounds of the overlay in viewport coordinates
|
||||
* Overlay.location replaces Overlay.position
|
||||
* DEPRECATION: Viewport.setHomeBounds has been deprecated (#846)
|
||||
* DEPRECATION: the Viewport constructor is now ignoring the contentSize option (#846)
|
||||
* Tile edge smoothing at high zoom (#764)
|
||||
* Fixed issue with reference strip popping up virtual keyboard on mobile devices (#779)
|
||||
* Now supporting rotation in the Rect class (#782)
|
||||
* Drag outside of iframe now works better, as long as both pages are on the same domain (#790)
|
||||
* Coordinate conversion now takes rotation into account (#796)
|
||||
* Support tile-less IIIF as per LegacyTileSource (#816)
|
||||
* You can now give an empty string to the tabIndex option (#805)
|
||||
* Fixed issue with rotation and clicking in the navigator (#807)
|
||||
* Broadened the check for mime type in LegacyTileSource URLs to allow query strings (#819)
|
||||
* Added globalCompositeOperation option for tiledImage, to allow for different transfer modes (#814)
|
||||
* Added Viewer.addSimpleImage method for easily adding non-tiled images (#827)
|
||||
* DziTileSource now works properly with DZI files that have no extension (#835)
|
||||
* Fixed content clipping with rotation (#463, #567 and #833)
|
||||
* Fixed navigator not being rotated when viewport rotation is set in constructor (#840)
|
||||
* Fixed: Viewer.setMouseNavEnabled wasn't affecting all of the viewer's trackers (#845)
|
||||
* Fixed: with scrollToZoom disabled, the viewer caused page scrolling to slow down (#858)
|
||||
* Added Viewer.getOverlayById and Overlay.getBounds functions (#853)
|
||||
* Tiled images with 0 opacity no longer load their tiles or do drawing calculations (#859)
|
||||
* Fixed issue with edge smoothing with PNG tiles at high zoom (#860)
|
||||
* Fixed: Images with transparency were clearing images layered below them (#861)
|
||||
* Fixed issue causing HTML pages to jump unwantedly to the reference strip upon loading (#872)
|
||||
* Added addOnceHandler method to EventSource (#887)
|
||||
* Added TiledImage.fitBounds method (#888)
|
||||
* Overlays can now be scaled in a single dimension by providing a point location and either width or height (#896)
|
||||
* Added full rotation support to overlays (#729, #193)
|
||||
* Viewport.goHome() now takes clipping into account (#910)
|
||||
* Improved zoom to point (#923)
|
||||
* Optimized sketch canvas clearing and blending for images with opacity or transfer modes (#927)
|
||||
* Now taking rotation into account in viewport getBounds and fitBounds methods (#934)
|
||||
* Added option to disable navigator auto-fade (#935)
|
||||
* Fixed issue with maintaining viewport position with full screen (#940)
|
||||
* Fixed an issue with simultaneous touch events (#930)
|
||||
* Avoid loading clipped out tiles (#939)
|
||||
* Improved precision for subtle moves with fitBounds (#939)
|
||||
* Fixed an issue in viewer.addTiledImage with replace:true when viewer has navigator (#948)
|
||||
|
||||
2.1.0:
|
||||
|
||||
* BREAKING CHANGE: the tile does not hold a reference to its image anymore. Only the tile cache keep a reference to images.
|
||||
* BREAKING CHANGE: TileSource.tileSize no longer exists; use TileSource.getTileWidth() and TileSource.getTileHeight() instead.
|
||||
* DEPRECATION: let ImageRecord.getRenderedContext create the rendered context instead of using ImageRecord.setRenderedContext
|
||||
* DEPRECATION: TileSource.getTileSize() is deprecated. Use TileSource.getTileWidth() and TileSource.getTileHeight() instead.
|
||||
* Changed resize behaviour to prevent "snapping" to world bounds when constraints allow more space (#711)
|
||||
* Added support for non-square tiles (#673)
|
||||
* TileSource.Options objects can now optionally provide tileWidth/tileHeight instead of tileSize for non-square tile support.
|
||||
* IIIFTileSources will now respect non-square tiles if available.
|
||||
* Added new tile source for simple images: ImageTileSource (#760)
|
||||
* Optimized adding large numbers of items to the world with collectionMode (#735)
|
||||
* Registers as an AMD module where possible (#719)
|
||||
* Added "tile-loaded" event on the viewer allowing to modify a tile before it is marked ready to be drawn (#659)
|
||||
* Added "tile-unloaded" event on the viewer allowing to free up memory one has allocated on a tile (#659)
|
||||
* Added 'tile-load-failed' event (#725)
|
||||
* Added additional coordinates conversion methods to TiledImage (#662)
|
||||
* Added `preserveImageSizeOnResize` option (#666)
|
||||
* Added collectionColumns as a configuration parameter (#680)
|
||||
* Added option in addTiledImage to replace tiledImage at index (#706)
|
||||
* Added autoRefigureSizes flag to World for optimizing mass rearrangements (#715)
|
||||
* You can now change viewport margins after the viewer is created (#721)
|
||||
* Added a patch to help slow down the scroll devices that fire too fast (#754)
|
||||
* Fixed flickering tiles with useCanvas=false when no cache is used (#661)
|
||||
* 'display: none' no longer gets reset on overlays during draw (#668)
|
||||
* Better error reporting for tile load failures (#679)
|
||||
* Added XDomainRequest as fallback method for ajax requests if XMLHttpRequest fails (for IE < 10) (#693)
|
||||
* Now avoiding using eval when JSON.parse is available (#696)
|
||||
* Rotation now works properly on retina display (#708)
|
||||
* Fixed issue with tiledImages loading tiles at every level instead of just the best level (#728)
|
||||
* Fixed placeholderFillStyle flicker (#727)
|
||||
* Fix for Chrome (v45) issue that key is sometimes undefined outside of the for-in loop (#730)
|
||||
* World.removeAll now cancels any in-flight image loads; same for Viewer.open and Viewer.close (#734)
|
||||
* Fixed overlays position (use rounding instead of flooring and ceiling) (#741)
|
||||
* Fixed issue with including overlays in your tileSources array when creating/opening in the viewer (#745)
|
||||
* Fixed issue in iOS devices that would cause all touch events to fail after a Multitasking Gesture was triggered (#744)
|
||||
* Fixed an issue with TiledImage setPosition/setWidth/setHeight not reliably triggering a redraw (#720)
|
||||
* Fixed zooming in with plus key on a Swedish keyboard (#763)
|
||||
|
||||
2.0.0:
|
||||
|
||||
* True multi-image mode (#450)
|
||||
* BREAKING CHANGE: Passing an array for the tileSources option is no longer enough to trigger sequence mode; you have to set the sequenceMode option to true as well
|
||||
* BREAKING CHANGE: Navigator no longer sends an open event when its viewer opens
|
||||
* BREAKING CHANGE: Viewer.drawers and Viewer.drawersContainer no longer exist
|
||||
* BREAKING CHANGE: A Viewer's Drawer and Viewport are now made once per Viewer and reused for every image that Viewer opens (rather than being recreated for every open); this means if you change Viewer options between opens, the behavior is different now.
|
||||
* DEPRECATION: use Viewer.addTiledImage instead of Viewer.addLayer
|
||||
* addTiledImage supports positioning config properties
|
||||
* DEPRECATION: use World.getItemAt instead of Viewer.getLayerAtLevel
|
||||
* DEPRECATION: use World.getIndexOfItem instead of Viewer.getLevelOfLayer
|
||||
* DEPRECATION: use World.getItemCount instead of Viewer.getLayersCount
|
||||
* DEPRECATION: use World.setItemIndex instead of Viewer.setLayerLevel
|
||||
* DEPRECATION: use World.removeItem instead of Viewer.removeLayer
|
||||
* DEPRECATION: use World.needsDraw instead of Drawer.needsUpdate
|
||||
* DEPRECATION: use TileCache.numTilesLoaded instead of Drawer.numTilesLoaded
|
||||
* DEPRECATION: use World.resetItems instead of Drawer.reset
|
||||
* DEPRECATION: use Drawer.clear and World.draw instead of Drawer.update
|
||||
* DEPRECATION: the layersAspectRatioEpsilon option is no longer necessary
|
||||
* DEPRECATION: Viewer's add-layer event is now World's add-item event
|
||||
* DEPRECATION: Viewer's layer-level-changed event is now World's item-index-change event
|
||||
* DEPRECATION: Viewer's remove-layer event is now World's remove-item event
|
||||
* DEPRECATION: Viewer's add-layer-failed event is now add-item-failed
|
||||
* DEPRECATION: TileSourceCollection has been retired in favor of World
|
||||
* DEPRECATION: collectionMode no longer draws outlines or reflections for items
|
||||
* Drawer has been split into three classes:
|
||||
* TiledImage, tile management and positioning for a single tiled image
|
||||
* TileCache, tile caching for all images
|
||||
* Drawer, tile drawing for all images
|
||||
* New class: World, keeps track of multiple images in the scene
|
||||
* Viewer now has world and tileCache properties
|
||||
* Rect and Point now have clone functions
|
||||
* New Viewport method for managing homeBounds as well as constraints: setHomeBounds
|
||||
* Viewport.open supports positioning config properties
|
||||
* For multi-image open, drawing isn't started until all tileSources have been opened
|
||||
* You can specify a clip area for each image (only works on browsers that support the HTML5 canvas) (#594)
|
||||
* Added placeholderFillStyle so image rectangles can be drawn even before their tiles load (#635)
|
||||
* Ability to set opacity on individual TiledImages (#644)
|
||||
* Margins option to push the home region in from the edges of the Viewer (#505)
|
||||
* Rect and Point toString() functions are now consistent: rounding values to nearest hundredth
|
||||
* Overlays appear in the DOM immediately on open or addOverlay (#507)
|
||||
* imageLoaderLimit now works (#544)
|
||||
* Turning off scrollToZoom in gestureSettings now allows scroll events to propagate
|
||||
* You can now set a minZoomLevel that's greater than the home zoom level
|
||||
* Added union() to OpenSeadragon.Rect
|
||||
* Fixed an error in fitBounds if the new and old bounds were extremely close in size
|
||||
* Added ajaxWithCredentials option (#543)
|
||||
* Added viewport-change event for after the viewport changes but before it's drawn
|
||||
* A spring's current value is now updated immediately on reset (#524)
|
||||
* Fixed an error in fitBounds that occurred sometimes with immediately = true
|
||||
* Added support for HDPI (retina) displays (#583)
|
||||
* Corrected IIIF tile source to use canonical syntax (#586)
|
||||
* Fixed x/y typo that caused horizontal reference strip to be rendered only relative to height (#595)
|
||||
* Fixed Firefox 35 not able to open local files (#588)
|
||||
* Fixed an issue with zero size viewers in IE8 (#609)
|
||||
* Fixed: Cross Origin policy not working (#613)
|
||||
* Optimized tile loading by clearing the queue on a re-draw when imageLoaderLimit is set (#616)
|
||||
* Now animating zoom spring exponentially (#631)
|
||||
* Added http://editorconfig.org/ config file (#637)
|
||||
* Keyboard pan speed is now the same regardless of zoom level (#645)
|
||||
|
||||
1.2.1:
|
||||
|
||||
* Added preserveOverlays option (#561)
|
||||
* Fixed: DZI tilesource was broken on IE8/IE9 (#563)
|
||||
* Exposed secondary pointer button (middle, right, etc.) events from MouseTracker and through viewer (#479)
|
||||
* MouseTracker - Improved IE 8 compatibility (#562)
|
||||
* MouseTracker - Improved IE 9+ compatibility (#564)
|
||||
* MouseTracker - Simulated touchenter/touchleave events now bubble to parent element MouseTrackers (#566)
|
||||
* MouseTracker - Improved multitouch support in enter/exit event handlers (#566)
|
||||
* MouseTracker - orphaned tracked touch pointers removed (fix for #539)
|
||||
* MouseTracker - removed touchenter/touchleave event support since the events don't exist on any known platform and have been removed from the W3C specification (#566)
|
||||
* Removed Viewer onContainerPress/onContainerRelease handlers (and the associated 'container-release' event ) that were never fired due to the canvas (child) element capturing the DOM events (#566)
|
||||
* Added 'canvas-enter', 'canvas-exit', and 'canvas-press' events to Viewer (#566)
|
||||
* ButtonGroup - removed obsolete MouseTracker event handlers (#566)
|
||||
* MouseTracker - added keydown and keyup handlers (#568)
|
||||
* Modifier keys ignored in keyboard navigation handlers (#503)
|
||||
* Requesting keyboard focus when viewer is clicked (#537)
|
||||
* Arrow key navigation fixed across platforms (#565)
|
||||
* Removed textarea element from viewer DOM. Viewer.canvas now handles keyboard navigation (#569)
|
||||
* Removed 'position' property from MouseTracker keyDownHandler/keyUpHandler/keyHandler functions (#573)
|
||||
* Fixed pointer event model detection for IE 10 and IE 11 (#571)
|
||||
* Added setMouseNavEnabled() support to Navigator (#572)
|
||||
* MouseTracker now defaults to tracking on (#558)
|
||||
* Removed Viewer focusHandler/onCanvasFocus (#577)
|
||||
* Added tabIndex option to viewer (#577)
|
||||
|
||||
1.2.0:
|
||||
|
||||
* New combined IIIF TileSource for 1.0 through 2.0 (#441)
|
||||
* BREAKING CHANGE: Removed IIIF1_1TileSource (now that IIIFTileSource supports all versions)
|
||||
* Allowed TileSources to have dynamic tileSize via source.getTileSize(level) (#441)
|
||||
* DEPRECATION: Use .getTileSize(level) instead of .tileSize
|
||||
* Fix for IIPServer-style urls when using DZI (#413)
|
||||
* Fix memory leak while destroying the viewer (#421)
|
||||
* Added fitBoundsWithConstraints() to the viewport (#423)
|
||||
* Fixed MouseTracker cross-browser issues with tracking pointers over and out of the tracked element (pull request #448, fix for #152, #404, #420, and #427)
|
||||
* Fixed incorrect flick direction after image is rotated (#452)
|
||||
* Debug mode now works with rotate images (#453)
|
||||
* Now supporting dzi xml with namespaces (#462)
|
||||
* You can now rotate the navigator along with the main viewer (#455)
|
||||
* Viewport.setRotation now allows all rotation angles (#466)
|
||||
* Pinch rotate is now available (defaults to off) (#468)
|
||||
* Added option for home button to fill viewer (#474)
|
||||
* Better handling of mid-update image loaded callbacks (#409)
|
||||
* Tracked pointers are now cleaned up when Viewer.setMouseNavEnabled(false) is called (#518)
|
||||
* Added explicit pointer capture for touch event model touchstart events (#552)
|
||||
|
||||
1.1.1:
|
||||
|
||||
* Fixed issue with dragging the navigator highlight on Webkit browsers (#395)
|
||||
* Improved Viewer Options Support in Gesture Handling (#399)
|
||||
|
||||
1.1.0:
|
||||
|
||||
* BREAKING CHANGE: the openseadragon-canvas element now has two child divs. This means: (#298)
|
||||
* The drawer element is no longer accessible via viewer.canvas.firstChild but via viewer.drawersContainer.firstChild or viewer.drawer.canvas.
|
||||
* The overlays elements are no longer accessible via viewer.canvas.childNodes but via viewer.overlaysContainer.childNodes or viewer.currentOverlays[i].element.
|
||||
* BREAKING CHANGE: Pseudo full screen mode on IE<11 using activex has been dropped. OpenSeadragon will run in full page if full screen mode is requested.
|
||||
* BREAKING CHANGE: MouseTracker touch pinch gestures are no longer converted to scroll events. MouseTracker.pinchHandler should be used instead. (#369)
|
||||
* DEPRECATION: overlay functions have been moved from Drawer to Viewer (#331)
|
||||
* DEPRECATION: OpenSeadragon.cancelFullScreen has been renamed OpenSeadragon.exitFullScreen (#358)
|
||||
* DEPRECATION: The 'isTouchEvent' property passed in MouseTracker events is deprecated and has been replaced with 'pointerType', which is a String value "mouse", "touch", "pen", etc. to support multiple simultaneous pointing devices (#369)
|
||||
* DEPRECATION: The 'buttonDownAny' property passed in MouseTracker enter and exit events (enterHandler/exitHandler) is deprecated and has been replaced with 'buttons', which indicates the button(s) currently pressed (#369)
|
||||
* DEPRECATION: The 'buttonDownAny' property passed in Viewer's 'container-enter' and 'container-exit' events is deprecated and has been replaced with 'buttons', which indicates the button(s) currently pressed (#369)
|
||||
* Added layers support. Multiple images can now been displayed on top of each other with transparency via the Viewer.addLayer method (#298)
|
||||
* Improved overlay functions (#331)
|
||||
* Fixed: Nav button highlight states aren't quite aligned on Firefox (#303)
|
||||
* Added ControlAnchor options for default controls (#304)
|
||||
* Enabled basic cross-domain tile loading without tainting canvas (works in Chrome and Firefox) (#308)
|
||||
* Added crossOriginPolicy drawer configuration to enable or disable CORS image requests (#364)
|
||||
* Disabled CORS by default (#377)
|
||||
* Added a ControlAnchor.ABSOLUTE enumeration. Enables absolute positioning of control elements in the viewer (#310)
|
||||
* Added a 'navigator-scroll' event to Navigator. Fired when mousewheel events occur in the navigator (#310)
|
||||
* Added a navigatorMaintainSizeRatio option. If set to true, the navigator minimap resizes when the viewer element is resized (#310)
|
||||
* Added 'ABSOLUTE' as a navigatorPosition option, along with corresponding navigatorTop, navigatorLeft options. Allows the navigator minimap to be placed anywhere in the viewer (#310)
|
||||
* Enhanced the navigatorTop, navigatorLeft, navigatorHeight, and navigatorWidth options to allow a number for pixel units or a string for other element units (%, em, etc.) (#310)
|
||||
* Additional enhancements for IIIF support (#315)
|
||||
* Fixed: Setting degrees in Viewer constructor has no effect (#336)
|
||||
* Added pre-draw event for tiles to allow applications to alter the image (#348)
|
||||
* Added optional Rotate Left/Right buttons to standard controls (#341)
|
||||
* Added optimization for large numbers of overlays: `checkResize = false` option for OpenSeadragon.Overlay (#365)
|
||||
* Updated full screen API, adding support for Opera and IE11 and allowing keyboard input in Chrome (#358)
|
||||
* Various fixes to bring OpenSeadragon into W3C compliance (#375)
|
||||
* Added separate flags for turning off each of the nav buttons (#376)
|
||||
* Added support for query parameters in DZI tileSource URL (#378)
|
||||
* Enhanced MouseTracker for multi-touch (#369)
|
||||
* Added support for tracking multiple touch-points on multiple/simultaneous pointing devices
|
||||
* Added support for the W3C Pointer Events event model. Enables touch/multi-touch on IE10+
|
||||
* Added a dragEndHandler event callback, called when a drag gesture ends
|
||||
* Added a pinchHandler event callback, called as a pinch gesture (2 touch points) is occurring
|
||||
* Added real-time velocity (speed and direction) tracking to drag operations. 'speed' and 'direction' values are passed in the dragHandler and dragEndHandler event data
|
||||
* Enhanced Viewer for multi-touch (#369)
|
||||
* Added pinch zoom with the new MouseTracker pinchHandler. The 'pan' and 'zoom' Viewer events can be used to detect changes resulting in pinch gestures
|
||||
* Added a "canvas-pinch" event fired by the pinch event handler
|
||||
* Added flick gesture with the new MouseTracker dragEndHandler
|
||||
* Added a "canvas-drag-end" event fired by the drag-end event handler
|
||||
* Added a GestureSettings class for per-device gesture options. Currently has settings to enable/disable zoom-on-scroll, zoom-on-pinch, zoom-on-click, and flick gesture settings.
|
||||
* Added GestureSettings objects for mouse, touch, and pen devices to the Viewer options giving users the ability to customize gesture handling in the viewer
|
||||
* Added velocity (speed and direction) properties to the "canvas-drag" event
|
||||
* Added double-click gesture detection to MouseTracker with corresponding dblClickHandler event callback (#392)
|
||||
* Added zoom on double-click feature to Viewer, with corresponding dblClickToZoom option added to the GestureSettings class (#392)
|
||||
* Made it possible to run OpenSeadragon from local filesystem on some browsers (#379)
|
||||
|
||||
1.0.0:
|
||||
|
||||
NOTE: This version has a number of breaking changes to the API, mostly in event handling. See below.
|
||||
|
||||
* BREAKING CHANGE: All EventSource and MouseTracker event handler method signatures changed to 'handlerMethod(event)' where event == { eventSource, userData, ... } (#251) (Also fixes #23, #224, #239)
|
||||
* The new eventSource property in the event object replaces the old eventSource parameter that was passed to handler methods.
|
||||
* Where the event object duplicated the eventSource value, those properties have been removed. This affects the following events:
|
||||
* All Button events - 'button' property removed
|
||||
* All Viewer (Viewer, Drawer, Viewport) events - 'viewer' property removed
|
||||
* BREAKING CHANGE: Renamed EventHandler to EventSource (#225)
|
||||
* BREAKING CHANGE: Event names changed for consistency: changed to lower case, compound names hyphenated, and "on" prefixes removed (#226):
|
||||
* Viewer "animationstart" changed to "animation-start"
|
||||
* Viewer "animationfinish" changed to "animation-finish"
|
||||
* Button "onPress" changed to "press"
|
||||
* Button "onRelease" changed to "release"
|
||||
* Button "onClick" changed to "click"
|
||||
* Button "onEnter" changed to "enter"
|
||||
* Button "onExit" changed to "exit"
|
||||
* Button "onFocus" changed to "focus"
|
||||
* Button "onBlur" changed to "blur"
|
||||
* BREAKING CHANGE: Numerous improvements to fullPage/fullScreen (#256):
|
||||
* Retains zoom/pan position better when switching into and out of fullPage.
|
||||
* Retains scroll position when switching back out.
|
||||
* More resilient to styling variations on the page.
|
||||
* setFullPage no longer automatically engages fullScreen; there's now a separate setFullScreen.
|
||||
* 'fullpage' event is now 'full-page'.
|
||||
* The `fullpage` property of the 'full-page' event is now `fullPage`.
|
||||
* There is now a 'full-screen' event with a `fullScreen` property (true if it has gone to full screen).
|
||||
* There are now 'pre-full-page' and 'pre-full-screen' events that include a `preventDefaultAction` property you can set in your handler to cancel. They also have `fullPage` and `fullScreen` properties respectively, to indicate if they are going into or out of the mode.
|
||||
* BREAKING CHANGE: Removed the 'onPageChange' callback from the viewer options. Viewer.goToPage() now raises the 'page' event only (#285)
|
||||
* Major documentation improvements (#281)
|
||||
* MouseTracker now passes the original event objects to its handler methods (#23)
|
||||
* MouseTracker now supports an optional 'moveHandler' method for tracking mousemove events (#215)
|
||||
* Added stopHandler to MouseTracker. (#262)
|
||||
* Fixed: Element-relative mouse coordinates now correct if the element and/or page is scrolled (using new OpenSeadragon.getElementOffset() method) (#131)
|
||||
* Fixed: Pinch zoom event issue, regressive issue from previous event system changes (#244)
|
||||
* Added IIIF Image API 1.1 Tile Source (#230)
|
||||
* IIIF 1.0 now uses pixel based syntax (#249)
|
||||
* Fixed: Touch event issue where no canvas-click events were being raised (#240)
|
||||
* Check that zoom reference point is valid before using it in zoomTo and zoomBy (#247)
|
||||
* Added a number of easier coordinate conversion methods to viewport (#243)
|
||||
* Added the ability to create a viewer and start at a specified page (#252)
|
||||
* Fixed image resolve issue with collection mode (#255)
|
||||
* DOM events are now passed through as 'event.originalEvent' in viewer and button events where appropriate. (#257) Affects the following events:
|
||||
* Viewer: 'canvas-release', 'canvas-click', 'canvas-drag', 'canvas-scroll', 'container-enter', 'container-exit', 'container-release'
|
||||
* Button: 'enter', 'exit', 'press', 'release', 'focus', 'blur', 'click'
|
||||
* Fixed: IE 10 not reading DZI file correctly in certain circumstances (#218)
|
||||
* Added support for the 'wheel' DOM mousewheel event (#261)
|
||||
* Fix for non-canvas tile rendering at large size (#264)
|
||||
* Drawer now uses an HTML5 canvas element whenever it's available. Can be overridden with the Viewer.useCanvas option (#191)
|
||||
* Added a boolean preventDefaultAction property (default false) to the event object passed to MouseTracker handler methods. (#270) Implemented in the following MouseTracker subscribers:
|
||||
* Viewer.keyboardCommandArea.innerTracker.focusHandler: preventDefaultAction == true prevents scrolling viewer into view
|
||||
* Viewer.keyboardCommandArea.innerTracker.keyHandler: preventDefaultAction == true prevents viewer keyboard navigation
|
||||
* Viewer.innerTracker.clickHandler: preventDefaultAction == true prevents viewer zoom on click
|
||||
* Viewer.innerTracker.dragHandler: preventDefaultAction == true prevents viewer panning with mouse/touch
|
||||
* Viewer.innerTracker.scrollHandler: preventDefaultAction == true prevents viewer zooming on mousewheel/pinch
|
||||
* Fixed: IE8 error with custom buttons - "Object doesn't support this action" (#279)
|
||||
* Support IIIF servers that don't report tile dimensions (#286)
|
||||
* Added an autoResize option. Default is true. When set to false, the viewer takes no action when its container element is resized. (#291)
|
||||
* Added a static 'version' property to OpenSeadragon. Useful for plugins that require specific OpenSeadragon versions. (#292)
|
||||
|
||||
0.9.131:
|
||||
|
||||
* Fixed: canvas-click event shouldn't fire as you drag (#198)
|
||||
* Fixed: LegacyTileSource doesn't fail gracefully when no supported file formats are found (#202)
|
||||
* Added an optional userData argument to EventHandler.addHandler() which is passed unchanged to the handler method (#203)
|
||||
* Fixed AJAX error reporting on IE8 (#208)
|
||||
* Added viewportToImageRectangle method, and updated imageToViewportRectangle, imageToViewportCoordinates, and viewportToImageCoordinates to be more flexible with params (#212)
|
||||
* Fixed: Viewer is not responsive (css) after returning from full screen (#222)
|
||||
|
||||
0.9.130:
|
||||
|
||||
* Added partial support for rotation (just 90 degree increments for now). (#185)
|
||||
* Hiding and restoring broke the viewer; fixed (#177)
|
||||
* You can now provide an onDraw function for overlays to do custom overlay manipulation (#160)
|
||||
* Added a destroy function on the viewer to clean up and remove elements (#179)
|
||||
* Fixed: navigatorPosition option corrected. (#163)
|
||||
* OpenSeadragon.now() returned undefined the first time; fixed
|
||||
* onTouchEnd did not call the correct mouse up handler; fixed (#159)
|
||||
* Touch events no longer capture mouse (was causing issues on devices that support both) (#168)
|
||||
* Clicking on a button control no longer refreshes page (#184)
|
||||
* Drawer now works when the page is rtl (#187)
|
||||
* Fixed a situation that could throw errors in touch handling (#188)
|
||||
|
||||
0.9.129:
|
||||
|
||||
* Fixed: navigator image not updating when base zoom image is changed (#147)
|
||||
* Fixed tile rendering issue at lower zoom levels with the IIIF TileSource (#55)
|
||||
* On IE, ajax errors would cause an exception to be thrown; fixed (#144)
|
||||
* Faster and more consistent millisecond getter (#138)
|
||||
* Fixed an error when using navPrevNextWrap on single images (#135)
|
||||
* Various fixes to our timer handling (#133)
|
||||
* Now generating source map for openseadragon.min.js (#51)
|
||||
* Fix for calculating overlay width / height (#142)
|
||||
* JSHint tidying (#136)
|
||||
* Improved Ajax method (#149)
|
||||
* Overhauled AJAX error reporting (#151)
|
||||
|
||||
0.9.128:
|
||||
|
||||
* The navigator is now off by default (#102)
|
||||
* Reverted minPixelRatio to 0.5 for better quality (#116)
|
||||
* Sometimes tiles wouldn't resolve if you used the blendTime option; fixed. (#95)
|
||||
* You can now choose to have previous and next buttons wrap using the config.navPrevNextWrap. (#114)
|
||||
* You can now specify an ID for a div to hold the navigator (#46)
|
||||
* You can now click in the navigator to go to a new location (#46)
|
||||
* Keyboard handling is now done in the viewer rather than navigator (#46)
|
||||
* Additional navigator fixes (#46)
|
||||
* Drawer events now fire properly (#94)
|
||||
* Fixed an error in EventHandler.removeHandler() (#48)
|
||||
* Better requestAnimationFrame detection on older Firefox (#103)
|
||||
* More efficient navigator loading (#115)
|
||||
* Simplified element opacity setting implementation (#123)
|
||||
|
||||
0.9.127:
|
||||
|
||||
* Fixed a problem with getString when the string property is a sub-property. (#64)
|
||||
* Fixed: Tooltips for Navigation Controls not displaying (#63)
|
||||
* Cleaned up some diagnostic code that was broken.
|
||||
* Added fullpage class to viewer element when in fullpage mode (#61)
|
||||
* Reverted to original New BSD license; cleaned up license declarations (#89)
|
||||
|
||||
0.9.126:
|
||||
|
||||
* DZI JSONp was broken; fixed.
|
||||
|
||||
0.9.125:
|
||||
|
||||
* Fully deprecated OpenSeadragon.createFromDZI, safely deprecated Viewer.openTileSource and
|
||||
Viewer.openDZI to use Viewer.open internally. (#53 & #54).
|
||||
* Full page bug fix for when viewer is child of document body (#43).
|
||||
* Overlays for DZI bug fix (#45).
|
||||
* DziTileSource: avoid changing relative paths (#56).
|
||||
* Fix typo in preserveViewport handling (#77).
|
||||
* Fix updateMulti timer leak after multiple Viewer.open() calls (#76).
|
||||
* Minor documentation fixes.
|
||||
|
||||
0.9.124:
|
||||
|
||||
* Performance enhancements.
|
||||
|
||||
|
||||
0.9.123:
|
||||
|
||||
* Real fullscreen support.
|
||||
|
||||
|
||||
0.9.122:
|
||||
|
||||
* Performance enhancements.
|
||||
|
||||
|
||||
0.9.121:
|
||||
|
||||
* Touch pan now works on Android.
|
||||
* Pinch zoom is better on all devices.
|
||||
BIN
you_still_need_this/openseadragon/images/fullpage_grouphover.png
Normal file
|
After Width: | Height: | Size: 4.8 KiB |
BIN
you_still_need_this/openseadragon/images/fullpage_hover.png
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
you_still_need_this/openseadragon/images/fullpage_pressed.png
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
you_still_need_this/openseadragon/images/fullpage_rest.png
Normal file
|
After Width: | Height: | Size: 5.0 KiB |
BIN
you_still_need_this/openseadragon/images/home_grouphover.png
Normal file
|
After Width: | Height: | Size: 4.7 KiB |
BIN
you_still_need_this/openseadragon/images/home_hover.png
Normal file
|
After Width: | Height: | Size: 5.0 KiB |
BIN
you_still_need_this/openseadragon/images/home_pressed.png
Normal file
|
After Width: | Height: | Size: 5.0 KiB |
BIN
you_still_need_this/openseadragon/images/home_rest.png
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
BIN
you_still_need_this/openseadragon/images/next_grouphover.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
you_still_need_this/openseadragon/images/next_hover.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
you_still_need_this/openseadragon/images/next_pressed.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
you_still_need_this/openseadragon/images/next_rest.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
you_still_need_this/openseadragon/images/previous_grouphover.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
you_still_need_this/openseadragon/images/previous_hover.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
you_still_need_this/openseadragon/images/previous_pressed.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
you_still_need_this/openseadragon/images/previous_rest.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
BIN
you_still_need_this/openseadragon/images/rotateleft_hover.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
you_still_need_this/openseadragon/images/rotateleft_pressed.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
you_still_need_this/openseadragon/images/rotateleft_rest.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
BIN
you_still_need_this/openseadragon/images/rotateright_hover.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
you_still_need_this/openseadragon/images/rotateright_pressed.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
you_still_need_this/openseadragon/images/rotateright_rest.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
you_still_need_this/openseadragon/images/zoomin_grouphover.png
Normal file
|
After Width: | Height: | Size: 4.7 KiB |
BIN
you_still_need_this/openseadragon/images/zoomin_hover.png
Normal file
|
After Width: | Height: | Size: 5.0 KiB |
BIN
you_still_need_this/openseadragon/images/zoomin_pressed.png
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
you_still_need_this/openseadragon/images/zoomin_rest.png
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
BIN
you_still_need_this/openseadragon/images/zoomout_grouphover.png
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
BIN
you_still_need_this/openseadragon/images/zoomout_hover.png
Normal file
|
After Width: | Height: | Size: 4.8 KiB |
BIN
you_still_need_this/openseadragon/images/zoomout_pressed.png
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
BIN
you_still_need_this/openseadragon/images/zoomout_rest.png
Normal file
|
After Width: | Height: | Size: 4.7 KiB |