|
|
In the scene below I get a bicubic patch object where many triangles are
missing. I really don't think that the patch object is very small, or that
any other elements in my scene are particularly small. How comes the
precision errors in this case appears at a scale that is so far from being
extreme?
I get the problem in both POV-Ray 3.1 and 3.5.
#declare M = 0.4; // 0.4=broken, 0.6=ok
camera {
location <0.9,0.3,-1.5>*M
angle 32
look_at 0
translate <-0.54,-0.36,0>*M
}
light_source {<0,1,-2>*10*M, color 1.2}
background {color rgb 1}
bicubic_patch {
type 1 u_steps 4 v_steps 4
< 0.2204, -0.0904, -1.0329>
< 0.2125, -0.1580, -1.0308>
< 0.1594, -0.1118, -1.0336>
< 0.1447, -0.1788, -1.0142>
< 0.1659, -0.0932, -1.0648>
< 0.1600, -0.1595, -1.0614>
< 0.1177, -0.1174, -1.0527>
< 0.1068, -0.1819, -1.0314>
< 0.0600, -0.0967, -1.1058>
< 0.0581, -0.1598, -1.1010>
< 0.0366, -0.1248, -1.0771>
< 0.0400, -0.1858, -1.0537>
< 0.0000, -0.0967, -1.1058>
< 0.0000, -0.1607, -1.1009>
< 0.0000, -0.1255, -1.0768>
< 0.0000, -0.1858, -1.0537>
texture {pigment {color rgb 1}}
scale M
}
Rune
--
3D images and anims, include files, tutorials and more:
Rune's World: http://rsj.mobilixnet.dk (updated Nov 5)
POV-Ray Users: http://rsj.mobilixnet.dk/povrayusers/
POV-Ray Webring: http://webring.povray.co.uk
Post a reply to this message
|
|
|
|
Rune <run### [at] mobilixnetdk> wrote:
: #declare M = 0.4; // 0.4=broken, 0.6=ok
Try setting u_steps and v_steps to 5 and 0.6 will not work either.
--
#macro N(D)#if(D>99)cylinder{M()#local D=div(D,104);M().5,2pigment{rgb M()}}
N(D)#end#end#macro M()<mod(D,13)-6mod(div(D,13)8)-3,10>#end blob{
N(11117333955)N(4254934330)N(3900569407)N(7382340)N(3358)N(970)}// - Warp -
Post a reply to this message
|
|
|
|
Rune <run### [at] mobilixnetdk> wrote:
: Yes I know. The problem apparently is directly related to the size of the
: individual triangles. However, they're not really that small, so I don't
: know why POV-Ray can't handle them. :(
Thought about making a bug report to p.beta-test?
This doesn't look like something normal.
--
#macro N(D)#if(D>99)cylinder{M()#local D=div(D,104);M().5,2pigment{rgb M()}}
N(D)#end#end#macro M()<mod(D,13)-6mod(div(D,13)8)-3,10>#end blob{
N(11117333955)N(4254934330)N(3900569407)N(7382340)N(3358)N(970)}// - Warp -
Post a reply to this message
|
|