首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

获取多边形角内的随机点?

获取多边形角内的随机点可以通过以下步骤实现:

  1. 首先,确定多边形的顶点坐标。假设多边形的顶点坐标为 [(x1, y1), (x2, y2), ..., (xn, yn)],其中n为顶点数量。
  2. 计算多边形的总面积。可以使用Shoelace公式或Green公式等方法计算多边形的面积。
  3. 生成随机数。使用随机数生成器生成两个随机数r1和r2,其中r1范围在[0, 1),r2范围在[0, 1)。
  4. 计算随机点的坐标。根据生成的随机数r1和r2,可以使用以下公式计算随机点的坐标:
  5. 计算随机点的坐标。根据生成的随机数r1和r2,可以使用以下公式计算随机点的坐标:
  6. 其中,(x1, y1)和(x2, y2)为多边形某条边的两个顶点坐标。
  7. 检查随机点是否在多边形内部。可以使用射线法或点在多边形边界上的判断方法来判断随机点是否在多边形内部。
  8. 如果随机点在多边形内部,则返回该点作为结果;否则,重复步骤3至步骤5,直到找到一个在多边形内部的随机点。

这是一个基本的方法来获取多边形角内的随机点。具体实现时,可以根据编程语言和开发环境选择合适的数据结构和算法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • JS获取图片中随机颜色

    实现效果 昨天泽泽分享了一篇有意思文章:纯CSS根据图片取色设置背景色,主要分享了一个就是div嵌套img时候,如何实现div颜色为img中一颜色。...如下图所示,在PS中打开一张图片,如果将这张图片一直放大,具体到每个像素,会发现图片单个像素颜色值都是唯一。....board-item下面的文字部分背景色都是上面图片中颜色。...实现效果 有了具体思路了就是如何实现了,因为我这个页面是前后端渲染动态页面,改PHP代码的话有点麻烦,所以我就考虑从前端入手,使用JQuery来实现: 获取每一个友链链接.board-item; 然后通过显示迭代获取每一个友链中背景图...; 然后将下方文字背景图设置为获取背景图地址,同时,使用Math.random()产生一个随机数,这样的话就可以实现对图片中随机进行取色,且每次刷新都会产生不一样效果。

    3.8K30

    ​LeetCode刷题实战478:在圆随机生成

    今天和大家聊问题叫做 在圆随机生成,我们先来看题面: https://leetcode-cn.com/problems/generate-random-point-in-a-circle/ 给定圆半径和圆心...圆半径和圆心 x、y 坐标将作为参数传递给类构造函数。 圆周上也认为是在圆中。 randPoint 返回一个包含随机x坐标和y坐标的大小为2数组。...所以,我们可以取得随机坐标范围: x : [x-r, x+r] y : [y-r, y+r] 从图形上表示,我们可以获取一个正方形范围,如下图所示 因此通过rand()我们可以生成正方形(...包括边上)随机。...但题目要求是生成圆随机, 于是生成随机后可以通过点到圆心距离来判断随机是否在圆,如果不在圆,就抛弃该结果,重新生成。

    61560

    判断点在多边形算法C++实现

    算法思路 判断平面是否在多边形内有多种算法,其中射线法是其中比较好理解一种,而且能够支持凹多边形情况。该算法思路很简单,就是从目标点出发引一条射线,看这条射线和多边形所有边交点数目。...算法步骤如下: 已知point(x,y)和多边形Polygon有序集合(x1,y1;x2,y2;….xn,yn;); 以point为起点,以无穷远为终点作平行于X轴射线line(x,y; -∞,...407.98, 579.43)在多边形" << endl; } else { cout << "(407.98, 579.43)在多边形外" << endl; } // if (Point_In_Polygon..._2D(678.92, 482.07, POL)) { cout << "(678.92, 482.07)在多边形" << endl; } else { cout << "(678.92...改进空间 很多情况下在使用该算法之前,需要一个快速检测功能:当不在多边形外包矩形时候,那么一定不在多边形

    5.9K30

    一种快速判断点在多边形算法

    由于业务需要, 我总结了一种快速判断点在多边形算法。 先说思路: 如图: 如果点在多边形内部,射线第一次穿越边界一定是穿出多边形。 如果点在多边形外部,射线第一次穿越边界一定是进入多边形。...当射线穿越多边形边界次数为奇数时,所有第奇数次(包括第一次和最后一次)穿越都是穿出,由此可推断点在多边形内部。 实现关键 1....思路: 先求边和交点, 即边起点y乘以边斜率,得到交点x, 若x == X, X是参考点横坐标,则点在线上。 2....多边形顶点重合 思路:参考点与边顶点重合,则直接是 x == X && y == Y ,其中x,y是边顶点, X,Y是参考点, 则直接返回。 3...., y坐标 x := point.X y := point.Y // 多边形点数 count := len(area) // 是否在多边形中 var inInside bool

    1.2K10

    获取某个数质数

    思路: 1,排除传入参数为小于2数(if(param < 2)return;); 2,建立有一个元素2数组(let arr = [2]); 3,建立一个初始值为3(i = 3),最大值为传入参数循环...(i <= param),注意偶数不可能为指数,所以循环时候直接去掉偶数,直接循环奇数(i += 2); 4,定义当前循环标记(flag = true); 5,建立一个初始值为3(j = 3),最大值为当前值...(j < i),注意能被偶数整出数就能被2整除,所以排除所有偶数,直接循环奇数(j += 2); 6,判断当前值i是否能被3~i之间某个奇数整除(i%j === 0),如果整除就flag = false...71, 73, 79, 83, 89, 97] console.log(primeNum(3));//[2,3] 注意: 1,两次循环都只用循环奇数,减少循环次数 2,在循环开始就将2排除 3,当前循环标记

    1K10

    Voronoi多边形和Delaunay三剖分

    用这个多边形所包含一个唯一气象站降雨强度来表示这个多边形区域降雨强度,并称这个多边形为泰森多边形。如图,其中虚线构成多边形就是泰森多边形。泰森多边形每个顶点是每个三外接圆圆心。...泰森多边形特性: 1、每个泰森多边形仅含有一个离散点数据; 2、泰森多边形点到相应离散距离最近; 3、位于泰森多边形边上点到其两边离散距离相等。...在泰森多边形构建中,首先要将离散构成三网。这种三网称为Delaunay三网。...定义 Delaunay边:假设E中一条边e(两个端点为a,b),e若满足下列条件,则称之为Delaunay边:存在一个圆经过a,b两,圆(注意是圆,圆上最多三共圆)不含集V中任何其他,这一特性又称空圆特性...要满足Delaunay三剖分定义,必须符合两个重要准则: 1、空圆特性:Delaunay三网是唯一(任意四不能共圆),在Delaunay三形网中任一三外接圆范围不会有其它存在。

    2.3K30

    集合剖分

    集合剖分是指如何将一些离散集合组合成不均匀形网格,使得每个成为三网中三面的顶点。...这个算法用处很多,一个典型意义在于可以通过一堆离散构建TIN实现对整个构网区域线性控制,比如用带高程离散构建TIN来表达地形。...空圆特性其实就是对于两个共边形,任意一个三外接圆中都不能包含有另一个三顶点,这种形式剖分产生最小角最大。...这些特性可能有些难以理解,但是我们可以先谨记一:Delaunay三网是一种特性最优剖分。...比如这里构建Delaunay三网,并没有新对象生成出来,只是对集进行了组织,还是原来哪些,并没有变化。

    26240

    FASTN如何快速检测出

    FASTN算法基本原理 用一句话来讲FASTN算法原理就是:看一个像素周围有一定数量像素与该像素值不同,则认为其为。...那么这个就被判断为。...为了解决这一问题,可以采用非最大值抑制算法:假设P,Q两个相邻,分别计算两个与其周围16个像素之间差分和V,去除V值较小,即把非最大抑制掉。...那么问题来了,什么样角度都能检测到吗?如下图:有三种,分别是45°,90°和135°。 ? 那么FASTN算法哪个都能检测到么? 答案是肯定。但是这取决于连续像素N设置。...因为该算法检测条件是:连续N个像素大于或小于中心灰度值减去阈值t,所以这个N从某种程度上就决定了能检测到角度。

    87870

    判断二维平面一个是否在三

    问题描述 给定二维平面三个 A(x_1, y_1), B(x_2, y_2), C(x_3, y_3) 组成一个三形,给定该平面 P(x,y),如何快速判断 P 在 \Delta ABC 内部...常用有三种方法,分别是: 面积法 同向法 重心法 面积法 如果一个点在三,其与三三个构成三个子三面积等于大三面积。否则,大于大三面积。...所以,这个问题就转化成如何在知道三三个情况下,求这个三面积问题了。...同向法 假设点P位于三,会有这样一个规律,当我们沿着ABCA方向在三条边上行走时,你会发现P始终位于边AB,BC和CA右侧或左侧。...所以对于平面任意一,都可以由如下方程来表示。 P=A+u(C−A)+v(B−A) 如果系数u或v为负值,那么相当于朝相反方向移动,即BA或CA方向。

    12410
    领券