algorithmic modeling for Rhino
Hi everyone-
Hoping to get a hand with a small issue I'm running into today. I'm trying to generate a tufted surface (similar to this link) for a sofa I am modeling. I have used Andrew Heumann's definition found in this link as a starting point. Using just this definition and my own B/W 'heightfield' image I am able to generate a great 1x1 unit tufted tile!
My next step is to figure out how to achieve the same displacement across an entire surface (ie, the outwards face of a sofa). So far I have meshed into my definition an isotrim in order to divide the surface into equal 1x1 unit patches, upon which I can apply the heightfield image, which itself is a tileable pattern. I am running into problems of the image not scaling to each 1x1 unit tile, and the definition returning some weird geometries.
Hope the above is clear and that someone can help me parse this out. Many thanks in advance.
Files attached.
Evan
Tags:
There are two things that I think you are missing.
1. If you reparameterize the subsurfaces, the domain of each will be 0 to 1, which will allow the image sampler to have the same domain, so it will map directly to each subsurface.
2. You flattened all the points at the Surface from Points "P" input. That means you were trying to make a surface out of ALL the points at once, not one subsurface at a time. I've partially flattened the points into three branches, ie - the points of each subsurface. That way, it maps the image to each of the three subsurfaces.
Hope this helps. Let me know if any of this doesn't make sense and I will try to explain more clearly.
What Damon said!
Only thing to add is if you want 1 final surface, then keep the P input flattened (as it was) and change the expression in the U input to 3*(x+1).
edit
I replied too fast, instead of 3 you would want the U count of the divide domain component....
no, forget it, I just checked it with different tiling of the original surface and it doesn't work well.
don't know why though...
Wow. Yes! Damon, thank you for the quick reply and solution.
Part one makes total sense. The original reparametrization never made it into the new series of surfaces (I'll chalk that up to being a bit rusty and out of practice).
Once I worked through the logic, part two makes sense to me now too and is something I probably would not have come to. If you don't mind, could you explain the logic/process of both the path mapper as well as the simplification at 'P' 'N' and 'uv'?
Again, thank you.
I'll try to explain... the Path Mapper syntax is still more art than science for me. The data you are feeding into the Path Mapper is a data tree structure with two levels, generically {A; B}. In your definition, you have 3 subsurfaces, so A = 0, 1, 2. For each subsurface you have a grid of points that is 76 x 76. Therefore, B = 0, 1, 2,...75, representing each of the 76 rows of points. Finally, each row has 76 points in it, so N=76 for each branch. Your data tree looks something like this:
{0; 0} N=76
{0; 1} N=76
{0; 2} N=76
...
{0; 75} N=76
{1; 0} N=76
{1; 1} N=76
{1; 2} N=76
...
{1; 75} N=76
{2; 0} N=76
{2; 1} N=76
{2; 2} N=76
Since you don't care that the points on each subsurface are organized in rows, you don't care about the B level of branches. You just need:
{0} N=5776 (76*76=5776)
{1} N=5776
{2} N=5776
So what I the Path Mapper does is get rid of the B level, flattening all the points into the A level. {A;B} --> {A} tells GH to just ignore the B level.
As for the Simplification, in this case (I think) it is just to more easily understand the data tree structure and make the Path Mapper syntax easier. If you un-Simplify the "P", "N", and "uv" outputs, you'll see the data tree structure is {A;B;C;D}, but A and B are always 0, so they aren't doing anything. If you left it like that, the Path Mapper would have to say {A;B;C;D} --> {C} since the second level of the tree, the C in this case, still represents the three subsurfaces. The Simplify on those outputs just gets rid of the unused extra levels that are always 0.
Whew! I hope that that was helpful and not more confusing.
Yup. Well explained. Thank you!
Welcome to
Grasshopper
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
© 2024 Created by Scott Davidson. Powered by