Creating a wavy roof surface (No Plugin)

Hi, I am attempting to recreate the Southern Cross station in grasshopper, and am having trouble figuring out the roof formation. I have attached below my Grasshopper script and attempted to make a trapezoid form (like the cross stations plan) and attach a sine expression to create the wave of the surface. I find that no matter how I change it up it doesn’t resemble the actual roof and would love some advice on how to go about correctly creating it.

Souther Cross Station.gh (16.5 KB)

From this picture it seems like sine function should translate slightly.
You could start try creating Network surface by generating curves and deforming them according sine or cosine. Or just interpolate curve through points.
Not exactly the roof needed. But like this (red is x axis, green y axis)

1 Like

I would use 2 sines for graph mappers, one global for the whole shape being one wave, and one local, to generate the ripples

If you look at section drawings for the building, you can see there’s nothing regular about the waves. Wavelength and amplitude vary in both directions.



(from Southern Cross Station - Transport — D'Angelo STUDIO)

This is driven by the track layout and concourse plan requirements. While Grasshopper would be well suited to generating the steelwork, I believe the actual form is directly authored as a surface with control points at the “domes” and “cups”.

Try with SubD

From the image , I can see that the edge 1 is a cosine curve with parametric amplification , and edge two seams like a regular cosine curve. Combining these two with Sum Srf will lead us through a shape near the roof wave surface.

For generating the domes , I just made some points manually in rhino , then use them as attractor points , then rebuild the surface .


Southern Cross station.gh (33.2 KB)

Playing with parameters specially Graph Mappers will lead you to different shapes :

4 Likes

@Ali_Najmaei I was going to recommend Sum Surface. Wonderful script, as always.

2 Likes