|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
The attempt to use spline for trunk.
See the source in p.b.s.f.
Unfortunately, the bark doesn't follow the spline.
I'm not sure that it's possible to fix that in isosurface.
If you have any idea how to do that please let me know.
Gena.
Post a reply to this message
Attachments:
Download 'trunk.jpg' (24 KB)
Preview of image 'trunk.jpg'
|
|
| |
| |
|
|
|
|
| |
| |
|
|
How about taking small, rotated slices, similar to a sphere sweep? Have the
slices orient to the spline curve.
Cheers!
Chip Shults
My robotics, space and CGI web page - http://home.cfl.rr.com/aichip
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
What about a change of cordinate befor calling the isosurfuce function.
I suppose that your suface is using the x,y, z coordinate
#declare Trunk = isosurface { function { F(x,y,z) ....}...}
let's have X = x *F1x(y) + F2x(y);
and Z = z *F1z(y) + F2z(y);
/*
for example F1x(y) = F1z(y) = 1 + (R1-R0)*y/(R0*Y1) // Diametre of trunk =
R0 for y=0 and R1 for y = Y1
F2z(y) = Scale*bozo(AnyX,y*Freq,AnyZ), same for F2x with other value for
Scale, AnyX, AnyZ and Freq
*/
to describe size reduction and the displacement of the trunk along the Y
coordinate and then
#declare Trunk = isosurface { function { F(X,y,Z) ....}...}
I think that you will get what what you want.
Chaps.
"Gena Obukhov" <obu### [at] mailcom> wrote in message
news:3DA10D20.A10F06A6@mail.com...
> The attempt to use spline for trunk.
> See the source in p.b.s.f.
> Unfortunately, the bark doesn't follow the spline.
> I'm not sure that it's possible to fix that in isosurface.
> If you have any idea how to do that please let me know.
>
> Gena.
>
>
----------------------------------------------------------------------------
----
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"Gena Obukhov" <obu### [at] mailcom> schrieb im Newsbeitrag
news:3DA10D20.A10F06A6@mail.com...
> Unfortunately, the bark doesn't follow the spline.
That's why I said you should declare your isosurface function first :-) How
about the if you displace the bark function too, you will get better
results.
How about this?
#declare Trunk_Fun= function {pow(y ,2) + pow(z , 2) - 0.07 +
F1(x,y,z).grey*0.025}
#declare Trunk1 = isosurface {
function {Trunk_Fun(x,y- S(x).y, z- S(x).z)}
max_gradient 5
contained_by{box{<0, -0.2, -1>, <0.8, 2, 1>}}
pigment{Bark1}
finish {ambient 0.2 phong 0}
rotate -x*90
scale<4, 1, 1>
rotate z*90
}
Post a reply to this message
Attachments:
Download 'Spline_Trunk.jpg' (25 KB)
Preview of image 'Spline_Trunk.jpg'
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Great! Thanks a lot!
Gena.
Marc-Hendrik Bremer wrote:
> "Gena Obukhov" <obu### [at] mailcom> schrieb im Newsbeitrag
> news:3DA10D20.A10F06A6@mail.com...
> > Unfortunately, the bark doesn't follow the spline.
>
> That's why I said you should declare your isosurface function first :-) How
> about the if you displace the bark function too, you will get better
> results.
>
> How about this?
>
> #declare Trunk_Fun= function {pow(y ,2) + pow(z , 2) - 0.07 +
> F1(x,y,z).grey*0.025}
>
> #declare Trunk1 = isosurface {
> function {Trunk_Fun(x,y- S(x).y, z- S(x).z)}
> max_gradient 5
> contained_by{box{<0, -0.2, -1>, <0.8, 2, 1>}}
> pigment{Bark1}
> finish {ambient 0.2 phong 0}
>
> rotate -x*90
> scale<4, 1, 1>
> rotate z*90
> }
>
> [Image]
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|