

yesbird <sya### [at] gmailcom> wrote:
> Hi,
> while working on Yesproject, I am trying to find the way of making
> the objects less 'geometrical', giving them more natural and 'noisy'
> shapes (like in this attachment, for example). The only way I found in
> manual is to play with normals, but I'd like to have an influence on
> geometry, to apply more relief.
>
> It's possible to pass a noisy hires mesh from ZBrush, as I'm doing now,
> but this is not 'pure' POVway and import takes some 'nonzero' time.
>
> Maybe anyone can advise something about such arbitrary geometry
> modifications ?
> Thanks in advance.
> 
> YB
My preferred method for doing this, albeit introducing some longer render times,
is to use isosurface objects. I usually start with a function that defines the
nonperturbed shape of the object, e.g.:
#local _shape_fn = function(x,y,z) {
sqrt(x*x+y*y+z*z)  1
}
for a 1unit radius sphere.
I then use one of several techniques to do the perturbations. For example,
#local _shape_fn = function(x,y,z) {
sqrt(x*x+y*y+z*z)  (1+0.1*f_snoise3d(x,y,z))
}
or
#local _pattern_fn = function {
pigment {
bozo
color_map {
[0.0 rgb 0]
[1.0 rgb 1]
}
}
}
#local _shape_fn = function(x,y,z) {
sqrt(x*x+y*y+z*z)  (1 + 0.1*_pattern_fn(x,y,z).gray)
}
or, if your shape function is wellbehaved, (i.e. returns a value representing
the distance from a point to the surface of your object), you could do it this
way instead:
#local _shape2_fn = function(x,y,z) {
_shape_fn(x,y,z)  0.1*_pattern_fn(x,y,z).gray
}
The attached image is a pretty complex example, where the basic shape of the
woodpart of the blocks is basically f_rounded_box, but patterns are applied for
the wood grain, dents in the wood, cracks in the wood, etc.
 Chris R.
Post a reply to this message
Attachments:
Download 'blocks202305041.png' (1276 KB)
Preview of image 'blocks202305041.png'

