|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
How to use any "2D" curve (like lathes) to revolve it and combining with any
other function ?
I want to make an Isosurface "Vase" wih some reals (3D, no bumps) reliefs on
it...
...
I suppose I'll must use : #declare my_curve = spline {n, <>, <>, <>...} no ?
but how to revolves it along Y axis and apply my others isosurface functions
on it ?
Am I clear enough ?
Thanks
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On Wed, 22 Oct 2003 21:25:17 +0200, "_Light_Beam_" <s.f### [at] tiscalifr> wrote:
> How to use any "2D" curve (like lathes) to revolve it and combining with any
> other function ?
> I want to make an Isosurface "Vase" wih some reals (3D, no bumps) reliefs on
> it...
> ...
> I suppose I'll must use : #declare my_curve = spline {n, <>, <>, <>...} no ?
> but how to revolves it along Y axis and apply my others isosurface functions
> on it ?
> Am I clear enough ?
You have to design your spline on 2D with respecto time value being one of
coordinates. Then make function around it. Then use this function to get
radius of f_sphere function. Something like:
#local Spline = spline{
0 , 1
1 , 2
2 , 1
3 , 1.5
4 , 1.2
};
#local f_Spline = funcion{ spline{ Spline } };
isosurface{
function{ f_sphere{ x , y , z , f_Spline(y).x }
}
There is macro in isocsg library where you can duplicate sor object with
isosurface.
ABX
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
In article <kbmdpv0fs9jn820cedri29cku2n155h3f5@4ax.com>,
ABX <abx### [at] abxartpl> wrote:
> isosurface{
> function{ f_sphere{ x , y , z , f_Spline(y).x }
> }
I think you meant: f_sphere(x, 0, z, f_Spline(y).x)
In other words, using a spline to control the radius of a cylinder.
Obviously, this will only work with sor-like shapes, with a single
radius. A lathe-type isosurface will be a bit more difficult.
--
Christopher James Huff <cja### [at] earthlinknet>
http://home.earthlink.net/~cjameshuff/
POV-Ray TAG: chr### [at] tagpovrayorg
http://tag.povray.org/
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Wasn't it _Light_Beam_ who wrote:
>How to use any "2D" curve (like lathes) to revolve it and combining with any
>other function ?
>I want to make an Isosurface "Vase" wih some reals (3D, no bumps) reliefs on
>it...
>...
>I suppose I'll must use : #declare my_curve = spline {n, <>, <>, <>...} no ?
>but how to revolves it along Y axis and apply my others isosurface functions
>on it ?
>Am I clear enough ?
>Thanks
>
Here's a few ideas to get you started
Starting with a 2d equation:
<http://www.econym.demon.co.uk/isotut/substitute.htm#sor>
Starting with a 2d spline:
<http://www.econym.demon.co.uk/isotut/splines.htm#lathe>
<http://www.econym.demon.co.uk/isotut/splines.htm#plathe>
--
Mike Williams
Gentleman of Leisure
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
This is not exactly what you're asking for but there is also a way to
wrap a planar isosurface around in a cylinder :
my_zy_plane_function (f_diameter(x,y,z)*sqrt(x*x+z*z)-R, y,
R*acos(x/sqrt(x*x+z*z))))
The my_zy_plane_function should be a function describing some planar
shape like function(x,y,z) { (x + 0.5)*(1.3+x) } for example and
f_diameter is an optional function to vary the diameter along the cylinder.
When using such a regular function as the one I give in example it
doesn't have much interest, but you can use much more complex shapes as
f_mesh1 for example.
#declare F_Rotin=function(x,y,z) { f_mesh1 (x,2*y,z,1,0.2,1,0.1,2)};
#macro Cylindre_Rotin(R,H)
isosurface {
function { F_Rotin (x, sqrt(y*y+z*z)-R, R*acos(y/sqrt(y*y+z*z))) }
contained_by { box { <0,-R*1.1,-R*1.1>, <H,R*1.1,R*1.1> } }
threshold 0.08
accuracy 0.001
max_gradient 6
// evaluate -1, 0.8, 1.0
rotate 90*z
}
#end
You can write
function { F_Rotin (x, sqrt(y*y+z*z)-R, R*acos(y/max(epsilon,
sqrt(y*y+z*z)))) }
to avoid divisions by zero if you're a purist, but in practice it's not
necessary.
JC
_Light_Beam_ wrote:
> How to use any "2D" curve (like lathes) to revolve it and combining with any
> other function ?
> I want to make an Isosurface "Vase" wih some reals (3D, no bumps) reliefs on
> it...
> ...
> I suppose I'll must use : #declare my_curve = spline {n, <>, <>, <>...} no ?
> but how to revolves it along Y axis and apply my others isosurface functions
> on it ?
> Am I clear enough ?
> Thanks
>
>
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|