Morphing with Dynamo

I am completely dumbfounded by the shape morphing proposed by the book “Morphing a Guide to Mathematical Transformations for Architects and Designers” and how to build the shapes shown in it in Dynamo.
The very basic gist of whats going on inside it is that you are given a shape and the supposed xyz functions to build it, however I’ve not been able to make any of them even though I’ve tried every way to enter the coordinates I can think of.
They actually have a website that builds it when you enter the functions, so I’ll use it and my dyn files as a tools to demonstrate what I want to achieve versus what I actually get in Dynamo.

The functions for x,y and z are as follows:
{ (u,v) | 0≤ u ≤ 2π 0≤ v ≤ π}
x = cos(2u)/2+sin(v)cos(u)
y = sin(2u)/2+sin(v)sin(u)
z = cos(v)

Morphing site:

My files:

1.dyn (24.5 KB)

2.dyn (17.4 KB)

Would be really thankful if someone could help me figure this out

Not sure if this helps, but check out @LongNguyen post here: DynaShape Published

@h.hristov31 My understanding of these equations …
Any point on the surface can be plotted using the equation, but it doesn’t necessarily mean that all points generated by the equation lie on the surface.
There should be more to the process than just one equation
Quite obviously the surface cannot be obtained by a simple revolution of the points/curves about the Z-Axis.

Illustration of all possible points that the equation generates …

Altered the input range (for u and v) slightly and got a smoother series of curves.
Not sure how to take this forward though.

Yes, it’s not a list lacing issue. The thing is that everything is fine and dandy until you plug in the Z points. I would assume this particular surface would be achieved by taking the XY output and gradually shrinking it and translating it along the Z axis until it kind of takes the shape of this sphere-like surface.

1 Like

Skimmed through it and the provided samples, but i can’t see how ti implement it.


Please have a look at this thread:

And at this node Point.BySphericalCoordinates