|
|
> Great! Thank you for your help. What is not also clear to me from the
> documentation: Which surface is being imaged? Is it the surface with corner
> <-5,-5,-1> or the surface with corner <-5,-5,0>?
When you apply an image_map, the image is mapped crom <0,0> to <1,1> in
the X-Y plane and extent along the Z axis to infinity.
If you want the image to cover some other area, you need to scale it
appropriately.
That's why, in the example, I translate the image by <-0.5,0.5,0> before
scalling it to fit your isosurface.
>
> So, if a translation of <0,0,10> is applied to the isosurface, is the plane now
> at <0,0,9> or <0,0,10>?
Your isosurface, as defined in your code have it's "top" at Z=0 and
extend toward -1*z. When you add a value in the function, the surface
moves in the oposite direction.
Your isosurface start in the -1 to 0 range along the z axis. After you
translate +10 units on the Z axis, it moves to the 9 to 10 range.
>
> Is scaling the isosurface the same? For example, if I apply a scale 10, the
> corner coordinates are now at <-50,-50,-10> and <50,50,0>?
Exactly. <-5,-5,-1> become <-50,-50,-10> and <5,5,0> become <50,50,0>
You don't need to scale by the same value in each directions.
If you want to make the object larger but keep the same depth, you can
use : scale<10, 10, 1>
Alain
>
> So:
>
> isosurface {
>
> function { z + f_noise3d(x, y, 0) }
> // Surface now in it's desired orientation
>
> // use this if you want smaller bumps
> // #declare Bump_Size = 10;
> // function{z+ f_noise3d(x*Bump_Size, y*Bump_Size, 0)/Bump_Size) }
>
> contained_by { box { <-5,-5,-1>, <5,5,0> } }
> // Tight container = faster rendering
>
> accuracy 0.1
> max_gradient 1.1 //adjust if needed but should be OK
> open
> pigment {
> image_map {
> png filename
> map_type 0
> interpolate 2
> translate <-0.5, -0.5, 0>// center the image
> scale 10 // scale it to fit the isosurface
> // once
> // no longer needed as the image now cover the whole isosurface
> }
>
> }
> scale 1 // --->Scale 10 changes corners to <-50,-50,-10> and <-50,-50,0>?
// Yes
> //rotate<0,90,0>
> // As the isosurface is now created parallel to the
> // X-Y plane, you don't need to rotate it.
>
> translate<0,0,10> //--->is the isosurface plane imaged now at <0,0,9> or 10?
// The front is at 10 and the back at 9.
>
> }
>
Post a reply to this message
|
|