Beginner: Ellipsoidal Dome

I am trying to learn this software with minimal background during my down time at work. I am trying to create a Ellipsoidal Dome that is able to have its dimensions easily adjusted. I can’t find any nodes that could do something close to that. The only thing I can think of is creating it mathematically, which I don’t have the time for. Does any one have any other Ideas, and if so an example would be awesome.

Thanks for any assistance.

What have you tried so far?

Perhaps a revolve is in order? After building an ellipse on the XZ plane, then maybe splitting it at parameters 0 and 0.25?

1 Like

//Dome Transformations
n = 11;
x = Math.Sin(0..90..#n)<1>*Math.Cos(0..360..#n);
y = Math.Sin(0..90..#n)<1>*Math.Sin(0..360..#n);
z = Math.Cos(0..90..#n);

//Dome
p1 = Point.ByCoordinates((x*(mnx..(mnx+mxs)..#n))<1>,
y<1>,(z/(mnz..(mnz+mxz)..#n))<1><2>);

ellipsoidalDome.dyn (11.4 KB)

12 Likes

While a love Vikram’s mathematical approach, you can also go for the extremely straightforward way of stretching a sphere and slicing it into a dome:

The only tricky part is first getting a spherical surface

7 Likes

Dome V2 :slight_smile:

Dome-2.dyn (33.3 KB)

Dome-1

6 Likes

The scaling is a good thing to bring up @Dimitar_Venkov. Here’s how I’d go about it, using an EllipseArc to control he angle of the sweep rather then splitting a sphere, and then scaling about the same plane. Gives a bit more control in my opinion. :slight_smile:

5 Likes

I just want to thank everyone who posted, this community is the best! I just want you to know that I tried out all of your ideas.

I’ve learned a lot thanks to you all.

1 Like

Glad we could help. :slight_smile:

Hello. I´m facing a similar challenge. I got the basic geometry and points but I´m having problems getting the surface… any light please??? Thanks !


Elipse 1.dyn (90.8 KB)

Your list isn’t structured for nurbs surface creation as there are discontinuous depths as currently showing. Flatten is a no go - you need a L3 list to make these nodes work.

Instead of trying to add additional curves which aren’t in sequence/aligned with the existing sequence, try adding the missing points via a means something along these lines:


You’ll need to split your base ellipse to grab the end conditions (some nodes to consider: List.First, List.Last, Curve.Extrude, Polysurface, Geometry.Split, Curve.PointAtEqualSegmentLength, List.AddItemToFront, List.AddItemToEnd) here as needed, but this should get you started.

Alternatively you could take any of the dome surfaces above and split those by the perimeter curve for where you want to start and end your new surface (likely more accurate and less computationally complex than attempting a rebuild using nurbs by points).

Thank you @JacobSmall, I understood the logic of nurbs surface node.

About the alternative way you mentioned, I understand the process is about multiple loft surfaces and joining them into a polysurface?

About the post… A very good start… Thanks a lot