gpt4 book ai didi

java - 在多边形的线上选择一个随机点

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:55:25 27 4
gpt4 key购买 nike

我正在使用一个 Java 多边形对象,它存储一个点数组,这些点定义构成形状的线。

我将如何着手在其中一条线上选择一个随机点? Polygon 类中是否有任何方法可以使这更容易?

澄清一下,我想从多边形边缘的任何位置选择一个随机点,不一定是从一组已定义的顶点。

最佳答案

您要做的第一件事是找到多边形的周长。

现在找到一个范围为 0 到周长的随机数。

然后,遍历多边形的线段,从您的值中减去线段的长度,直到下一条线段的长度比您的当前值长。

假设您沿着等于您的剩余值(value)的路段“走那段距离”,您将在周边有一个随机点。

================================

另一个可行的选择是根据长度选择一个随机段(您可以缓存每个多边形的阈值),然后在随机选择的段上选择一个随机点。对于大型多边形(缓存阈值后顺序 1)会更快,但会经过两倍的随机数。

关于java - 在多边形的线上选择一个随机点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5642594/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com