Howdy, I know other threads have discussed this topic before, I have studied them and got this far but need some help. My end goal is exaggerate the topography of a mesh hemisphere, kind of like an exaggerated Z axis on a topo mesh, but in a sphere form.
What I have tried to do here is create a vector between each mesh vertices and the center of the hemisphere which we use to move each vertex relative to the center. We measure the length of that vector, and use the vector’s length as a multiplier to adjust the strength of our move vector. So far I am struggling to get the results I am looking for. Once the points are offset I want to use them to generate a new mesh. I have tried using Mesh plus and the rhino meshFromPoints command without success. Please let me know what you think of this approach, thanks
variable offset mesh.gh (278.1 KB)
Usually the way to do that is by using the deconstruct mesh component. Then transform the points and make sure to put them in the same order as in the deconstruct component. Finally you can use the construct mesh component with the faces information from the deconstruct component and the transformed points.
Thanks for the feedback, I finally succeeded in transforming the points as intended. I sorted the points in to two list based on distance from center, and I am not sure how I should get them back in the original order. Do I just plug the faces output from the DeMesh component in to the construct mesh Faces input? I think I am really close to solving this but could use some more help. Thanks,
variable offset mesh2.gh (17.5 MB)
You need to put the vertices in the exact same order otherwise the faces output from deconstruct mesh obviously won’t work
ok, could you please help me learn how to put them back in order? thanks
I’ll take a look in a bit
thank you! this is for a commission that I said I could finish by the end of this weekend, any help would be greatly appreciated
Not sure what you’re after but:
Your mesh had an extra naked edge (hole) that did not seem intentional/beneficial?
I filled that - then checked the grasshopper file so your mesh gets reconstructed properly:
I’m not saying I solved your problem as your title implies the offset must vary, but here’s the file:
variable offset mesh_b.gh (296.0 KB)
*also, things are different if you weld your mesh:
variable offset mesh_c.gh (298.2 KB)
I’m not using any of these plugins and I can’t see what you’re trying to do with I think the displacement in the beginning of the definition. I bypassed the component.
You chose to cull the list of vertices and that creates two separate lists. You cannot just put these two streams back together.
Using sift instead of culling, you get two lists with nulls and these lists can be put back together with the combine component.
Furthermore your sorting of vector lengths can be replaced with one single component called bounds.
variable offset mesh2 sift combine.gh (17.8 MB)
thank you!! this is perfect, and I am glad to learn some more about lists
1 Like
Hello
it is also possible to reuse Nasa data to make a moon and exaggerate elevations.
Plugin need Nautilus, not mandatory but if you don’t want it you must calculate UV coordinate of each point on sphere.
moon nasa data.gh (9.9 MB)