The image I chose to use is shown below. Since my original concept was designed to be a structure that brought together people and nature with a design that was inspired by a tree, I chose to use an image of foliage from on campus that I took the other day to draw colors from.
The first challenge to defining the surface and geometry from my existing structure was navigating creating a surface from a full circle, since the starting and ending point of each circle are the same.
In order to get around this issue, I made a series of cross section curves and divided the curves into points for ribs the same way I had in Module 3. Since Dynamo did not like that the first and last cross section for the ribs were the same curve, I changed the code block I used to make the spacing between the ribs as shown below. This way, the last rib curve is created just slightly before completing a first circle, but visually it is almost impossible to tell.
I added blocks of code to create the option for the user to transpose and reverse the colors on the panels in both directions, horizontally, and vertically. I also added Boolean nodes to allow the user to choose whether to flip the panels themselves. Using the List.GetItemAtIndex, the user is able to specify the index the corresponds to the visual option they would like to change and then override the colors of the elements to match these choices. Boolean logic was also used to map the points into a Boolean mask. These panels are then used for the coloring of the image.
In order to get the best results from my image, I chose not to transpose my points, and flipped the colors in both directions. I also added the option to change the heights of the points to be based upon the brightness in the colors list pulled from the image, with an additional amplification factor for the reduction in thickness of height. In the images below, I have debossed the image.