Vector between centroids
In order to properly orient the tiles at each point on the surface by the normal at that point, firstly the reference surface is offsetted. Finding the vector between the centroids by connecting them with a line gives us a base vector, as the line is interpreted as the base vector.
Projected intersection points
Vector between points
The point intersections from the base grid are then projected onto the secondary surface, and the same process of connecting the points to find the vector in between is done to get the normals.
Tile orientation change
The tile is then moved to each point intersection and oriented with the new normals, which results in all of the tiles oriented to the curvature of the reference surface.
Offset and Base Vector
Projected points to find new normals
Tiles moved and oriented
Some of the main components used were Offset Surface, Vector from Two Points, Project Points, and Orient Direction.
I laid out a couple of basic ideas of a facade for my colleague to try out on her own. I’ll post the GH file here for anyone who’s interested in taking a look or wants to try it out as well.
The example starts out with a reference surface that represents the front facade of the building. From this, the needed inputs are extracted to create a base grid.
From the extracted elements, such as the centroid and normals, a grid is created using the contour component. To achieve a gradient effect when the lines are overlayed to create the grid, an exponential function is added to the input of distances for the contour component.
Finally, the 3D result can be anything, and in this example, the intersection points from the previously created grid are moved up to create an extrusion. The variances are refactored by using the graph mapper as a visual representation of the changing magnitudes of those points.