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
