The problem is that there is no reference plane to project to. I was thinking of something like the delaunay algorithm, but with a distance threshold so it would only triangulate on the surface. I don't know if this is possible I tried to bake the points and use the delaunay command of the point set reconstruction plugin, but it created triangles all over the place.
On Nov 22, 8:19 pm, taz <[EMAIL PROTECTED]> wrote: > David had mentioned a way to approach this a while back: > > http://groups.google.com/group/grasshopper3d/browse_thread/thread/2e4... > > "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
