David had mentioned a way to approach this a while back:
http://groups.google.com/group/grasshopper3d/browse_thread/thread/2e4cc99597e78a1c/91ff045164b4a612?hl=en&lnk=gst&q=surface#91ff045164b4a612
"It would be technically possible to get a set of unordered points, a
reference plane/surface and reverse engineer the grid from the
projected {uv} coordinates. this is way more complicated that just
linear sorting though. I'll have a look to see if I can some up with
a
reasonably watertight algorithm for this"
Maybe that can help someone launch into the challenge.
taz
On Nov 22, 4:51 am, visose <[EMAIL PROTECTED]> wrote:
> It would be great if someone could post an example of creating some
> sort of surface from an unordered set of points, with a distance
> threshold. My previous method really sucks. I tried to render an image
> but normals are reversed in some places, polygons overlap,
> etc.http://grasshopper3d.googlegroups.com/web/schwartzeneper.jpg
>
> On Nov 22, 12:17 am, visose <[EMAIL PROTECTED]> wrote:
>
> > Here's the other side of the
> > definition:http://grasshopper3d.googlegroups.com/web/schwartz2.jpg
> > I create surfaces using the srf4pts component on each of the grids (6
> > now). Then I cull the unwanted ones (in probably the worst possible
> > way). The main problem is that there are overlapping surfaces.
>
> > On Nov 21, 7:06 pm, klint <[EMAIL PROTECTED]> wrote:
>
> > > Thank you, "cross-reference" made the point-cloud visible.
>
> > > On 21 Nov, 18:25, visose <[EMAIL PROTECTED]> wrote:
>
> > > > The last part is no more, i substituted it for a srf4pts component
> > > > that creates some sort of skin but it's still buggy. Nevertheless,
> > > > your problem seems to be that you've got to set the formula components
> > > > to "cross-reference" (right click on top of them to set it).
>
> > > > You'll encounter another problem. If you delete the last point
> > > > parameter you've got, the point cloud will seem fine. But if you leave
> > > > it as it is, you'll get like a grid of points projected on the XZ and
> > > > XZ axis that you don't want. This is because there are some cases that
> > > > the formula return a "null" value (when there should not be a point),
> > > > but when you transfer the data to the point parameter the "null" value
> > > > is converted to "0". You can filter this points using the cull pattern
> > > > component linked to a function component with the following expression
> > > > "(p.x ≠ 0) and (p.y ≠ 0) and (p.z ≠ 0)" where the input of the
> > > > function component is p (the points). I think i explained my self
> > > > horribly, so i'd just delete the point parameter at the end of you
> > > > definition for now and set the formula components to cross reference.
>
> > > > On Nov 21, 4:05 pm, klint <[EMAIL PROTECTED]> wrote:
>
> > > > > This is so cool. visose - it is incredible that you can create this
> > > > > things. I am quite new to this forum and to GH but I couldn't resist
> > > > > trying the mathsurfaces, and it's really a matter of copy and paste
> > > > > from K3DSurf, even though in some cases I haven't figured out how to
> > > > > set the proper range.
>
> > > > > Anyway I tried to follow your solution for the Schwarz surface but I
> > > > > wanted to ask 2 things.
>
> > > > > As you can see in this
> > > > > screenshot:http://picasaweb.google.se/lh/photo/RpDHwCRaBECD3718zd2PNg
> > > > > I didn't know what the first and last parts where, so I set the first
> > > > > interval to A:-4 B:4, I think I got the other parts right, but could I
> > > > > ask what the last part is?
>
> > > > > /Lars
>
> > > > > On 21 Nov, 15:06, visose <[EMAIL PROTECTED]> wrote:
>
> > > > > > 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