![image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Ff6acc757-a457-4cc1-b307-2c3e6cfca203%2FUntitled.png?id=fb9ae643-23dd-4484-9574-5bfd5d9bdbf2&table=block)
![image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F2ad31338-a19a-43d0-9434-912cc2b478a2%2FUntitled.png?id=d47ac713-9bbb-4690-ae96-60263f4e9960&table=block)
![image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F72981445-1cee-4b9e-a7ea-5e8254c44d42%2FUntitled.png?id=91d7d24f-5c0c-493f-9009-f8c572c4665c&table=block)
Inspiration
As my canopy structure was to mirror a glass station entrance, I wanted to explore stained glass patterns on the overall structure. I looked at the below stained glass murals and selected one to move forward with:
![image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fcb903504-f13c-43d5-8518-b245f9bf1ba9%2FStainedGlass0.jpeg?id=5eab91ec-ddb0-4f7b-8ea4-2763f54c52d4&table=block)
![image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fc0adbfc5-51bb-4a16-a815-5415ae512d19%2Fscarlet-rose.webp?id=36f87b47-1124-46e1-abb4-a46e533597fd&table=block)
Modeling the Surface
I used the surface from Assignment 3.
Mapping Image of Stained Glass Pattern onto Panels
I used the File Path node to open the image of stianed glass, and I used the File From Path note to extract the image into the Image.ReadFromFile Node. I plugged the image into the Image.Pixels node and used my u/v sliders to determine the xsamples and ysamples.
![image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fa4eba5b9-2cd2-4f2f-b935-1b2039305537%2FUntitled.png?id=16f6c504-f4c5-4fe5-a6bd-13d0a36bdec2&table=block)
I then mapped the image to colours by using the Element.OverrideColorInView node.
Next, I created three lists of image pixels: the first new one was for a vertically flipped list, using the List.Reverse node. The next one was for a horizontally flipped list, using the Transpose node. The third was for a list that’s both vertically and horizontally flipped, using the List.transpose then List.Reverse nodes in that order. I collected each new list into a combination of lists, and used a code block to call the relevant list by number: 0 was for original
1 for vertically flipped
2 for horizontally flipped
3 for both
![image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F714099a9-1e9d-4019-af69-882c5d77076a%2FUntitled.png?id=f625d156-46c6-4c01-9a8a-61e81fd11d6b&table=block)
Creating an Embossed Effect
Taking the output from the previous group as the input to the Color.Brightness node, I gathered the brightness of each panel according to the color it had been mapped onto. I than remapped the list from 10 to 50 to make the variation of each color brightness number clearer. To create an emboissed effect, I took the negative of each value in the remapped list. To create a deboissed effect, I took the remapped list. I combined both lists. To call the correct list, I created an integer slider; 0 created a debossed effect, and 1 created an embossed effect. To create said effects, I added the values in the relevant list to a base offset factor. For the embossed effect, I used a base offset of 60, and for the debossed effect, I used an offset factor of 1.
The output list of values was then set as the height of the panels using the Element.SetParameterbyName node.
![image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F2ecc4bea-0f0f-4e20-9676-bbb1a21a5b5b%2FUntitled.png?id=304b4f93-8feb-489f-b747-0fa88cbd1f53&table=block)