Hi there!
I want to peak polygons with hard edges to negative direction. I need a good procedural solution.
Peak SOP with Negative Direction
2768 10 2- Alexey Vanzhula
- Member
- 538 posts
- Joined: Dec. 2006
- Offline
- edward
- Member
- 7695 posts
- Joined: July 2005
- Online
- Alexey Vanzhula
- Member
- 538 posts
- Joined: Dec. 2006
- Offline
edward
What about PolyExtrude with negative distance? I'm not sure how it works out with complex shapes though and this seems to change the edge lengths in unexpected ways.
Thanks, but I have already tried many ways, including extrude.
This is quite an interesting problem
Edited by Alexey Vanzhula - March 30, 2017 04:56:14
- Werner Ziemerink
- Member
- 1265 posts
- Joined: March 2014
- Offline
- dedeks2999
- Member
- 85 posts
- Joined: May 2011
- Offline
- Alexey Vanzhula
- Member
- 538 posts
- Joined: Dec. 2006
- Offline
- dedeks2999
- Member
- 85 posts
- Joined: May 2011
- Offline
- Alexey Vanzhula
- Member
- 538 posts
- Joined: Dec. 2006
- Offline
dedeks3000
ncn
It's not a big problem for curve surfaces. But it's not possible with meshes slightly more difficult than a cube In this case different surface areas will conflict with each other and any “offset stuff” will not be effective.
I probably did not correctly explain the problem. I mean, maybe any one invented some fake method. For example I have not bad result with new Smooth SOP. Or Boolean SOP that solve the problem but leave some garbage
- Konstantin Magnus
- Member
- 670 posts
- Joined: Sept. 2013
- Offline
My suggestion would be to connect the geometry to a solver node and constantly move all points along their negative normals. Once they meet, there are two types of points: Corner points and flat points.
For corner points create an averaged normal of all nearby points and their own normal and move on.
For flat points an average vector aiming from their nearby neighbours should be added to their normals. So they keep moving inwards with the same speed but get shifted sideways.
I dont expect this method to be sufficient but this is how I would start.
For corner points create an averaged normal of all nearby points and their own normal and move on.
For flat points an average vector aiming from their nearby neighbours should be added to their normals. So they keep moving inwards with the same speed but get shifted sideways.
I dont expect this method to be sufficient but this is how I would start.
Edited by Konstantin Magnus - March 30, 2017 20:50:46
https://procegen.konstantinmagnus.de/ [procegen.konstantinmagnus.de]
- edward
- Member
- 7695 posts
- Joined: July 2005
- Online
What you really want here is to sweep the polygons in negative direction of their primitive normal. ie. the 3D generalization of the straight skeleton: https://arxiv.org/abs/0805.0022 [arxiv.org] https://www.youtube.com/watch?v=ryHpgqTFOLw [youtube.com]
From stack overflow, clipper [angusj.com] was suggested as library that could do the polyhedral offsetting.
From stack overflow, clipper [angusj.com] was suggested as library that could do the polyhedral offsetting.
- Alexey Vanzhula
- Member
- 538 posts
- Joined: Dec. 2006
- Offline
edward
What you really want here is to sweep the polygons in negative direction of their primitive normal. ie. the 3D generalization of the straight skeleton: https://arxiv.org/abs/0805.0022 [arxiv.org] https://www.youtube.com/watch?v=ryHpgqTFOLw [youtube.com]
From stack overflow, clipper [angusj.com] was suggested as library that could do the polyhedral offsetting.
Cool. This is really useful info. Thank you.
-
- Quick Links