This posting showed various approaches for creating an image that was similar to paintings by the artist Vasarely. All of the images used a surface initially created in Rhino. When I tried to use a similarly shaped surface created in GH I was unable to get comparable results.
H S Kim was able to explain why this was the case: the Rhino surface had a Cartesian coordinate system, but the GH surface I created had a polar coordinate system. As a result the SrfMap function, which is the key to the entire process, behaved differently with the 2 surfaces.
Fortunately for me this posting appeared shortly later and it showed how to make a similarly shaped surface in GH that had a Cartesian coordinate system. So I incorporated that method into my GH script, tweaked the parameters a bit (actually a pretty big bit) and produced this surface:
Why, in the top view, the circles still look like circles, even though the image shading clearly shows the 3D-ness of the geometry.
Why the orange circle at the center looks flat and lacks the 3D curvature of the base surfaceās rounded point.
Why the circles around the outside perimeter are much more distorted than they should be.
Iām going to try some alternate shapes for the cutouts (ellipses and stars) to see what they will show. Iām also going to try to understand how the formula that generates the surface (z * sin(pi * y * x) * exp(u * x)) works.
Many thanks to everyone who contributed to this; it has been a great learning experience for me.
Why the circles around the outside perimeter are much more distorted than they should be.
Because you are using uvās. Turn on the control points of any surface to understand your distortion, look how spacing differs at surface edges. I still donāt get why you would make this 2d effect via a 3d surface (even in the past post) when you can do it mathematically in 2d via vectors.
Joseph - You are correct; it is the same issue that you previously posted. I looked at what you did and was about ready to make use of your solution when I found the one HS Kim posted. That one was much simpler in terms of the GH components involved, and it also allowed for multiple waves in the generated surface. Frankly I couldnāt figure out how to get that same kind of result from the solution you posted.
I opted for a new thread because the original one is fairly long and I needed to reference it and the one whoās code I actually used. It just seemed cleaner to make a new one.
I do plan on posting my code, but right now itās a mess because itās got a bunch of parts that donāt work right and never will. Iāll be cleaning it up and (hopefully) improving it over the next few days.
Michael - it seems I really am missing something about how surfaces are defined. I used the GH CP (Control Points) object to show the control points of my surface (really HS KIMās) and for the one Joseph generated. The top view of each is the same - a square of evenly spaced points.
I also used the GH Iso component to show the ISO curves of each, and in each case the curves are parallel straight lines when viewed from the top.
It is clear to me that the 2 surfaces have different characteristics in terms of how the surface is stretched/formed over itās areas of 3D curvature. I think this has to do with the fact that Josephās surface is made using pDeform (in a way I have yet to understand) and MapSrf,whereas the one HS Kim provided uses SrfGrid to make a surface based on a set of pre-calculated points that are in a rectanglular grid configuration.
I am very well acquainted with using multiple waves to generate a surface (ārippliesā):
Displacement of grid points is purely in the Z direction, unlike the other Vasarely thread where points are spread apart radially. Iām not even sure that what you are doing here is āVasarelyā if the goal is to have all the circles appear identical in size from the top view? Simple Project will work for that.
Without seeing some code or geometry from you, Iām hesitant to comment any further.
The key to resolving the same issue you are having now, though, was to rebuild the surface with āDegree = 3ā, creating a āgridā of control points that are not evenly spaced but closer together at the edges. Manipulating those control points instead of evenly spaced grid points solved the same problem for me. More detail in the other thread. (Maybe too much?)
I have attached the GH file I used to make my original posting in this thread. Please note the following:
1.The Cutouts group makes either stars or ellipses/circles. As it stands it makes only circles. Stars take a very long time to compute.
2. The whole process breaks if any of the cutouts extend over the edge of the surface. Iāve tried to use BBox to control this, but Iām not sure Iāve done it properly.
3. The Wavy group is very sensitive to the values of the y, z, and u settings.
4. The Rhino group contains the original single-hump surface created in Rhino.
5. The Revolution group is the way I had hoped to create the surface, because this allows the simplest way to control the basic shape. I realize now this method will never work correctly.
Obviously Iāve got a long way to go on understanding what is the best approach for this concept. I will definitely take a look at Josephās latest update and see if I can incorporate it into what Iāve done so far. Vasarely3.gh (90.8 KB)
Iām sorry @Birk_Binnard, Iām not going to be able to follow this in R6, and frankly, pretty much covered the subject in the other thread.
ālatest updateā? What I posted above is not an update, just a simple example of the effect of rebuild surface on control points. It looks to me like you could Project your circles onto the wavy surface, use SrfSplit to cut holes and call it done?