|
 |
MichaelJF <fri### [at] t-online de> wrote:
Well, the red and orange are looking good!
I'm not sure what's happening with MW's method, but I was just making a quick
suggestion.
The surface obviously extends infinitely in the +/-y directions, and so the
select is just there to trim the function.
I believe we can exclude that and just rely on the contained_by box.
IsoExterior (10*x/15),y,z) just scales the function in the x direction.
I'd take that out and use scale to take care of that part.
I'm just guessing here, but what if you then try something like:
IsoExterior (abs (x) - 0.01, abs (y) - 0.01, abs (z) - 0.01)
maybe also experiment with subtracting from f_r (x, y, z)
(include functions.inc)
try changing the threshold from 0 to 0.01
There's a lot of tricky things that have to be done to get certain functions to
work well with isosurfaces in POV-Ray vs other software packages
Maybe take a look further upstream at the preceding functions in the daisy chain
to see if a better gradient can be fashioned.
Define a set of y axes across the xz plane in the AABB, and graph the function
along those y-axes and see what pops out.
- BW
> This all works very fine, but Mike Williams' approach (dark purple)
> looks a little strange:
>
> #declare DevilsPlateD = function (x,y,z) {
> select (
> -(-24/10-y)*(y-44/10),(abs(IsoExterior((10*x/15),y,z))-0.01) ,1)
> }
> isosurface {
> function {
> DevilsPlateD(x,y,z)
> }
> contained_by { box { <-45/10,-25/10,-75/10>,<45/10,45/10,75/10> } }
> threshold 0.0
> // open
> max_gradient 1000000
> pigment { colour DarkPurple }
> }
>
> All values for max_gradient are adjusted according to the log.
> max_trace_level was at maximum (256).
>
> I have no idea what happens here.
>
> Best regards
> Michael
Post a reply to this message
|
 |