خلاصه
// Persistence of Vision Ray Tracer Scene Description File
// File: ?.pov
// Vers: 3.6
// Desc: Basic Scene Example
// Date: mm/dd/yy
// Auth: ?
//
#version 3.6;
#include "colors.inc"
global_settings {
assumed_gamma 2.1
// used in global_settings, sets an overall brightness/ambient light level in the scene
ambient_light color rgb <1,1,1>/10
}
// ----------------------------------------
camera {
location <+0.3, 0.5, -4.0> // -0.2 0.0 +0.2 // -0.3 -0.1 +0.1 +0.3
direction 1.5*z
right x*image_width/image_height
look_at <0.0, 0.0, 0.0>
}
sky_sphere {
pigment {
gradient y
color_map {
[0.0 rgb <0.6,0.7,1.0>]
[0.7 rgb <0.0,0.1,0.8>]
}
}
}
light_source {
<-50, 40, -60> // light's position (translated below)
color rgb <1, 0, 0> // light's color
}
light_source {
<50, 40, -60> // light's position (translated below)
color rgb <0, 1, 0> // light's color
}
light_source {
<0, 190, -60> // light's position (translated below)
color rgb <0, 0, 1.1> // light's color
}
// ----------------------------------------
plane {
y, -1.3
pigment { color rgb <0.7,0.5,0.3> }
}
#declare ba=5.7; //linksunten rechst oben flach
#declare bb=7.3; //linksoben rechtunten //6 , 9 , , 15
#declare bc=5.5; //links unten rechts oben steil
#declare b1=max(ba,bb,bc)+2;
#declare s=sqrt(3)/2;
/*
//tube armchair
#declare bb=bb+6; //6 , 9 , , 15
#declare r=(bb-6)/pi;
#macro ab2y(b,a) sin(a/r)*r
#end
#macro ab2x(b,a) b
#end
#macro ab2z(b,a) cos(a/r)*r -r
#end
*/
/*
//rim armchair
#declare r=(bb-6)/pi*3;
#macro ab2y(b,a) sin(a/r)*r
#end
#macro ab2x(b,a) b
#end
#macro ab2z(b,a) cos(a/r)*r -r
#end
*/
/*
//ribbon
#macro ab2x(a,b) a
#end
#macro ab2y(a,b) b
#end
#macro ab2z(a,b) 0
#end
*/
#declare ha=0.92;
#declare hu=1.3;
#declare hr=sqrt(ha*ha+hu*hu);
//rim zizag
#declare r=1.68;//3.135;
#macro ab2x(a,b) sin((hu*a-ha*b)/hr/r)*r
#end
#macro ab2y(a,b) (ha*a+hu*b)/hr
#end
#macro ab2z(a,b) cos((hu*a-ha*b)/hr/r)*r -r
#end
/*
//ribbon
#declare r=3;//1.68;//3.135;
#macro ab2x(a,b) ((hu*a-ha*b)/hr/r)*r
#end
#macro ab2y(a,b) (ha*a+hu*b)/hr
#end
#macro ab2z(a,b) 0
#end
*/
/*
//tube zizag
#declare ba=ba+2;
#declare r=(ba*s)/pi;
#macro ab2x(a,b) sin(a/r)*r
#end
#macro ab2y(a,b) b
#end
#macro ab2z(a,b) cos(a/r)*r -r
#end
*/
// m,n -> x,y
/*
****
* *
* *
* *
****
*/
#macro kugel(m,n)
#if ( (abs(m)<ba) & (abs(n)<bb) & (abs(m+n-0.5)<bc) )
// #if (abs(m+n)<ba)
sphere{<ab2x(m+n/2,n*s),ab2y(m+n/2,n*s),ab2z(m+n/2,n*s)>,0.2}
// #end
#end
#end
#macro zylinder(m,n,m1,n1)
#if ( (abs(m)<ba) & (abs(n)<bb) & (abs(m+n-0.5)<bc) )
#if ( (abs(m1)<ba) & (abs(n1)<bb) & (abs(m1+n1-0.5)<bc) )
cylinder{<ab2x(m+n/2,n*s),ab2y(m+n/2,n*s),ab2z(m+n/2,n*s)>,<ab2x(m1+n1/2,n1*s),ab2y(m1+n1/2,n1*s),ab2z(m1+n1/2,n1*s)>,0.17}
#end
#end
#end
union{
#declare m = -b1;
#while (m <= b1)
#declare n = -b1;
#while (n <= b1)
kugel(m,n)
zylinder(m,n,m-1/3,n+2/3)
kugel(m-1/3,n+2/3)
zylinder(m-1/3,n+2/3,m-1,n+1)
zylinder(m-1/3,n+2/3,m,n+1)
#declare n = n+1; // increment our counter
#end
#declare m = m+1; // increment our counter
#end
texture {
pigment {
color rgb <1,1,1>*0.7
}
finish{
specular 0.6
}
}
scale 0.2 //08 //2
// translate 0.4*z
rotate <90,45,0>
rotate <0,90,0>
rotate <-20,0,0>
// translate z
}
اجازهنامه
Public domain Public domain false false
من، دارنده حق تکثیر این اثر، این اثر را به مالکیت عمومی منتشر میکنم. این قابل اجرا در تمام نقاط جهان است.در برخی از کشورها ممکن است به صورت قانونی این امکانپذیر نباشد؛ اگر چنین است: من اجازهٔ استفاده از این اثر را برای هر مقصودی ، بدون هیچگونه شرایطی میدهم، تا وقتی که این شرایط توسط قانون مستلزم نشده باشد.
فارسی شرحی یکخطی از محتوای این فایل اضافه کنید