I'm not sure what would be the best way to create isosurfaces in
grasshopper (I just learned about them).
The simplest way to visualize this shape would be to create a 3D grid
of points that range from -4 to 4 in the 3 axis and then cull this
list of points using the expression cos(x)+cos(y)+cos(z)< 0, since the
points that lie inside the volume will result in < 0. The points
oustide the volume will result in > 0 and the points that lie in the
exact boundary of the surface will result in = 0.
This will create a point cloud that will appear to have that shape
with just a couple of components.

If you want to find out the boundary, you have to "solve for x".
This is what i did:
http://grasshopper3d.googlegroups.com/web/schwartz.jpg
Since there are 3 variables, I create a 2D grid of points in the XY
plane that already gives me 2 of the variables, and then I solve for
the third one.
The problem is that the third point may have more than one solution,
but grasshopper only solves for one of them, so it results in
something similar to the "drape surface" command in rhino.
What I do is "drape" four 2d grids of points each on a different side
of the object. What I get is a list of points that lie in the surface
of the object.
I don't know if there is an elegant way of constructing this with nurb
surfaces. Meshing would probably be better.

- Btw there's a part of the definition not shown on the screenshot
that creates lines between all the points and filters the ones that
are over a given length, I don't recommend using this.

On Nov 21, 9:56 am, rpict <[EMAIL PROTECTED]> wrote:
> thanks alot visose for sharing the mathsurfaces stuff.
>
> there are a lot more formulas in explicit polar coordinates within the
> k3dsurf package.
> you can just paste and copy them into grasshopper mathsurfaces. also
> the klein bottle works :)
>
> X():(3*(1+sin(v)) + 2*(1-cos(v)/2)*cos(u))*cos(v)
> Y():(4+2*(1-cos(v)/2)*cos(u))*sin(v)
> Z():-2*(1-cos(v)/2) * sin(u)
> [u]:0,  2*pi
> [v]:0,  2*pi
>
> http://k3dsurf.sourceforge.net/
>
> this leads me to another question:
> the k3dsurf package contents also isosurfaces in cartesian coordinates
> F(x,y,z,t....)=0
> e.g. the Schwartz surface: cos(x)+cos(y)+cos(z)=0;  x,y,z=(-4,4)
> does anyone know how to set up mathsurfaces in this format?
>
> -rpict

Reply via email to