Perforated Screen on Curved Surface w/ circle radius based on image

Hey All,

I do apologize if this is a duplicate post, I did a few hours of research and was unable to find a solution to my issue. Please direct me to a post if there is one, if not any and all help is much appreciated!

I am working on subdividing a curved surface into planar panels and then trying to create perforations on each panel with the radius of the perforation to be driven by an image sampler. I am looking to have the image represented over all the panels, not repeated on every panel. I believe I am pretty close to having a working solution, but canâ€™t seem to get the radius of each circle to correspond to the image. Please see attached GH file as well as some screenshots.

.

Here is one method.

I forgot to include the perforations, so here is the file again. There is probably a better solution, because this seems fairly process heavy; but then there are 10296 holes.

Perferated Panels on Curved Surface_Rev3.gh (68.2 KB)

2 Likes

Works Great, thanks! I just Remapped the circles to cut the larger panels instead of cutting the â€śscaledâ€ť panel. Would you be able to explain the logic of using UV point?

Answer to my own question:
Point in space - Euclidean Coordinate System: (x,y,z)
Point on a curve - Parameter Coordinate System: (t)
Point on a surface - Parameter Coordinate System: (u,v)

From what I understand the reason to use the UV system is that an image is 2D and you need a 2D representation of each surface vector?

Sorry for taking a while to get back to you. The reason I used the surface closest point to get the uvP was that it was the quickest/simplest way I could think to get the the uv parameter for all points inside of a single uv. domain; in this instance between 0 and 1.

You may have noticed that I changed the domain of your image so that the XY domains were also set to 0 To 1. So inputting any uv parameter within this domain will give the corresponding pixel value.

Yes, using the uv output from the surfaces provides parameters to evaluate the 2D image. It doesnâ€™t necessary need to be a uv system, and it doesnt need to be with in a domain of 0 To 1.

For example, setting your image to an XY domain of 0 To 100, and inputting grid of 100x100 would give the following.

With the same domain, but a grid of 50x50 you would only get a quarter of the image.

You could set the domain of the image to the pixel dimensions if you wanted to evaluate every pixel.

1 Like

No need to be sorry! Thanks for getting back to me to explain. Much appreciated and much clearer.