Threejs - How to offset all points on a 2d geometry by distance

前端 未结 2 1211
情深已故
情深已故 2021-01-16 06:18

Using Three.js, (although I believe this is more math related) I have a set of 2D points that can create a 2D geometry. such as square, rectangle, pentagon, or custom 2D sha

2条回答
  •  我在风中等你
    2021-01-16 06:49

    I have some doubts about solutions that do not include number of edges modification.

    I faced the same issue in this project where I wanted to ensure a known distance between voronoi cells, and I quickly figured out that scale does not fulfill the use case. But one complication I faced was the disappearance of some edges that I had to handle in a while loop. It was so difficult to debug that I had to create a debug mode that helps see the points and lines, that I also left available. It's possible to activate this debug mode with a checkbox:

    Note for the images, I have them as links not embedded as I'm still new contributor (might improve that later).

    The edges that shall disappear are shown in red retraction snapshot1

    retraction with edges discard 1

    retraction with edges discard 2

    Here a link to the function in action, you might have to modify it to have another points format though : https://github.com/WebSVG/voronoi/blob/8893768e3929ea713a47dba2c4d273b775e0bd82/src/voronoi_diag.js#L278

    And here a link to the complete project integrating this function, it has link to a live demo too https://github.com/WebSVG/voronoi

提交回复
热议问题