Povray 射线静止物体

Povray 射线静止物体,povray,Povray,我在POV光线中创建了一个圆锥体 torus { 8, 4 texture { pigment { Purple } } translate <0, .... , 0> cone { <0, 0, 0> 5 <0, 5, 0> 0 texture { pigment { Brown } } } torus{8,4纹理{色素{紫色}} 圆锥体{50纹理{色素{棕色}} 我试图使圆环“静止”在圆锥体的顶部。我如何计算这样做所需的值?我假设期望的结果是一

我在POV光线中创建了一个圆锥体

torus { 8, 4 texture { pigment { Purple } } translate <0, .... , 0> 
cone {  <0, 0, 0> 5 <0, 5, 0> 0  texture { pigment { Brown }  } }
torus{8,4纹理{色素{紫色}}
圆锥体{50纹理{色素{棕色}}

我试图使圆环“静止”在圆锥体的顶部。我如何计算这样做所需的值?

我假设期望的结果是一个像皮带一样“适合”圆锥体的圆环。如果
圆环大半径-圆环小半径>=圆锥体底半径
,则正确的代码是(请随意使用这些值):

#声明专业=2;
#宣布未成年人=0.2;
#声明圆锥体高度=10;
#声明圆锥半径=3;
圆锥体{
, 0,
,圆锥半径
颜料{色绿}
}
环面{
大调,小调
颜料{颜色黄}
平移y*圆锥体高度*(1-(大-小)/圆锥体半径)
}
这将产生以下结果:

#declare MAJOR = 2;
#declare MINOR = 0.2;
#declare CONE_HEIGHT = 10;
#declare CONE_RADIUS = 3;

cone  {
    <0, CONE_HEIGHT, 0>, 0,
    <0, 0, 0>, CONE_RADIUS
    pigment {color Green}
}

torus  {
    MAJOR, MINOR
    pigment {color Yellow}
    translate y * CONE_HEIGHT * (1 - (MAJOR - MINOR) / CONE_RADIUS)
}