POV-Ray : Newsgroups : povray.unofficial.patches : Megapov: high powers, isosurfaces, additive functions (7kbbu) : Megapov: high powers, isosurfaces, additive functions (7kbbu) Server Time
1 Sep 2024 18:18:32 EDT (-0400)
  Megapov: high powers, isosurfaces, additive functions (7kbbu)  
From: Greg M  Johnson
Date: 10 Jan 2001 11:11:43
Message: <3A5C8865.B4F2DD11@my-dejanews.com>
The project I was working on for a recursive noise3d isosurface may be
mute with Ron's latest advice. [ BTW, I'm really wishing now that Chris
had said, "You fool, you want the granite pigment!" ;)  in our
discussion of the last weeks. ]

But I ran into a problem that may point to a problem with additive
functions, high powers, or isosurfaces.  The image with the same title
as this post in p.b.i. was made with the code at the end of this post.
It aims to make a recursively noisy surface for simulating coasts, etc.

Note that the noisiness of the coastline in x looks nice, but the z
level appears as if it is truncated or at a totally different scale.
Perhaps this is quite an eclectic application of povray, but I just
offer this observation as it may point to a problem with the code...
//===  start of code  ============
#version unofficial MegaPov 0.5;
#include "colors.inc"
camera{
        location <0,8,-.5399>
        look_at <0,0,0.,>
        angle .00004
        }
light_source{<-70,1200,120>rgb 1.}
plane{y,1
        pigment{White/2.7+Blue/1.5}
        }

#declare n=2.5;

#declare prefunkk1=
function{
        1/(2^1)*noise3d(x*1,y*1,z*1)
       +1/(2^2)*noise3d(x*(n^2),y*(n^2),z*(n^2))
       +1/(2^3)*noise3d(x*(n^3),y*(n^3),z*(n^3))
       +1/(2^4)*noise3d(x*(n^4),y*(n^4),z*(n^4))
       +1/(2^5)*noise3d(x*(n^4),y*(n^4),z*(n^4))
       +1/(2^6)*noise3d(x*(n^5),y*(n^5),z*(n^5))
       +1/(2^7)*noise3d(x*(n^6),y*(n^6),z*(n^6))
          }
#declare prefunkk2=
function{
        1/(2^8)*noise3d(x*(n^7),y*(n^7),z*(n^7))
       +1/(2^9)*noise3d(x*(n^8),y*(n^8),z*(n^8))
       +1/(2^9)*noise3d(x*(n^9),y*(n^9),z*(n^9))
       +1/(2^10)*noise3d(x*(n^10),y*(n^10),z*(n^10))
       +1/(2^11)*noise3d(x*(n^11),y*(n^11),z*(n^11))
       +1/(2^12)*noise3d(x*(n^12),y*(n^12),z*(n^12))
       +1/(2^13)*noise3d(x*(n^13),y*(n^13),z*(n^13))
       +1/(2^14)*noise3d(x*(n^14),y*(n^14),z*(n^14))
       +1/(2^15)*noise3d(x*(n^15),y*(n^15),z*(n^15))
 }

#declare prefunkk3=
function{
        1/(2^16)*noise3d(x*(n^16),y*(n^16),z*(n^16))
       +1/(2^17)*noise3d(x*(n^17),y*(n^17),z*(n^17))
       +1/(2^18)*noise3d(x*(n^18),y*(n^18),z*(n^18))
       +1/(2^19)*noise3d(x*(n^19),y*(n^19),z*(n^19))
       +1/(2^20)*noise3d(x*(n^20),y*(n^20),z*(n^20))
       +1/(2^21)*noise3d(x*(n^21),y*(n^21),z*(n^21))
       +1/(2^22)*noise3d(x*(n^22),y*(n^22),z*(n^22))
       +1/(2^23)*noise3d(x*(n^23),y*(n^23),z*(n^23))
       +1/(2^24)*noise3d(x*(n^24),y*(n^24),z*(n^24))
 }

#declare funkk=
function{prefunkk1+prefunkk2+prefunkk3}

#declare Coast=
        isosurface {
                function { y-funkk(x,y,z)}
                contained_by { box { -3, 3 } }
                threshold 0.5
                pigment {SeaGreen}
                finish{ambient 0.8}
                }

object{Coast}


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.