|
|
"Thomas de Groot" <t.d### [at] internlnet> wrote in message
news:45339a75$1@news.povray.org...
> That looks very good!
> I can translate the comments and post them back of course (except is Zeger
> is more rapid ;-) )
I very much doubt I will be, very little time at the moment :(
sorry !
cu!
--
#macro G(b,e)b+(e-b)*C/50#end#macro _(b,e,k,l)#local C=0;#while(C<50)
sphere{G(b,e)+3*z.1pigment{rgb G(k,l)}finish{ambient 1}}#local C=C+1;
#end#end _(y-x,y,x,x+y)_(y,-x-y,x+y,y)_(-x-y,-y,y,y+z)_(-y,y,y+z,x+y)
_(0x+y.5+y/2x)_(0x-y.5+y/2x) // ZK http://www.povplace.com
Post a reply to this message
|
|
|
|
"Doctor John" <doc### [at] linuxmailorg> wrote in message
news:45339d0e@news.povray.org...
> "Thomas de Groot" <t.d### [at] internlnet> wrote in message
> news:45339a75$1@news.povray.org...
> > That looks very good!
> > I can translate the comments and post them back of course (except is Zeger
> > is more rapid ;-) )
> >
> > Thanks a lot for the good work!
> >
> > Thomas
> More to come as I get my head around exactly how the various macros interact
> with each other. The change I made is just a quick fix; I'm sure there's a
> better way of doing it (possibly using Diepte which as far as I can see
> limits the recursion depth)
as far as I can remember, that's right.
Actually, I believe I *did* kind of fix it, you know! The problem was that the
points on the polygons (the greeble-cells actually) were too close together,
which caused the official POV-Ray to stop with an error. However, if I scale
the location of the points by, let's say 10000, and then scale the polygon by
1/10000, then it worked okay... not a perfect fix of course, and won't work in
every case, but the only other way is to check every point of the polygon with
every next point, in a *new* loop before the loop where the polygon is created.
Might slow things down, cause you'd have to do that for every greeble-cell
(which can be quite a few, depending on the value Diepte).
the code to change for the "fix" is, I believe, in the macro RoundPrism(), right
at the end:
change:
#if (Aantal2>2)
polygon {
Aantal2,
#local Tel=0;
#while (Tel<Aantal)
#ifdef(Points2[Tel])<Points2[Tel].x,Points2[Tel].y>
#end
#local Tel=Tel+1;
#end
translate -z*H
}
#end
into:
#if (Aantal2>2)
polygon {
Aantal2,
#local Tel=0;
#while (Tel<Aantal)
#ifdef(Points2[Tel])<Points2[Tel].x,Points2[Tel].y>*100000
#end
#local Tel=Tel+1;
#end
scale 1/100000
translate -z*H
}
#end
and it should work.
Hope that helps :)
cu!
--
#macro G(b,e)b+(e-b)*C/50#end#macro _(b,e,k,l)#local C=0;#while(C<50)
sphere{G(b,e)+3*z.1pigment{rgb G(k,l)}finish{ambient 1}}#local C=C+1;
#end#end _(y-x,y,x,x+y)_(y,-x-y,x+y,y)_(-x-y,-y,y,y+z)_(-y,y,y+z,x+y)
_(0x+y.5+y/2x)_(0x-y.5+y/2x) // ZK http://www.povplace.com
Post a reply to this message
|
|