- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在开发一个 JS 程序,我需要确定点是否在坐标系的四个 Angular 内。
有人可以指出答案的方向吗?
我正在看我认为称为凸四边形的东西。也就是说,四个非常随机选择的 Angular 位置,所有 Angular 都小于 180°。
谢谢。
最佳答案
有两种相对简单的方法。第一种方法是从该点到“无穷大”(实际上,到多边形之外的任何点)绘制一条射线,并计算该射线与多边形的多少条边相交。当且仅当计数为奇数时,该点位于多边形内。
第二种方法是对每对顶点 vi 和 vi+1 按顺序绕过多边形(必要时绕到第一个顶点), 计算数量 (x - xi) * (yi+1 - yi) - (xi+ 1 - xi) * (y - yi)。如果这些数量都具有相同的符号,则该点位于多边形内部。 (这些量是向量叉积的 Z 分量 (vi+1 - vi) 和 (p - vi ).它们都具有相同符号的条件与p在每条边的同一侧(左或右)的条件相同。)
这两种方法都需要处理点正好在边上或顶点上的情况。您首先需要决定是否要将这些点计为在多边形内。然后你需要相应地调整测试。请注意,无论哪种方式,轻微的数字舍入误差都可能给出错误的答案。这只是您必须忍受的事情。
由于您有一个凸四边形,因此还有另一种方法。选择任意三个顶点并计算 barycentric coordinates点和第四个顶点相对于由三个选定顶点形成的三 Angular 形。如果该点的质心坐标均为正且均小于第四个顶点的质心坐标,则该点在四边形内。
附言刚找到一个不错的页面 here列出了相当多的策略。其中一些非常有趣。
关于javascript - 确定二维点是否在四边形内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15490795/
我确实遇到了这个问题。 我有一个可以是任何形状的多边形(四边形)。当我的鼠标位于多边形内时,我需要找到鼠标所在位置(四边形内)的 x,y 值,就好像多边形是完美的正方形一样。进一步解释;我有一个 32
我的问题是关于 OpenGL 和法线,我理解它们背后的数学原理,并且我取得了一些成功。 我在下面附加的函数接受一个交错的顶点数组,并计算每 4 个顶点的法线。这些代表具有相同方向的 QUADS。据我了
我想检测图像中的矩形。 我使用 cv2.findContours() 和 cv2.convexHull() 过滤掉不规则多边形。 之后,我将使用船体长度来判断轮廓是否为矩形。 hull = cv2.c
有谁知道将 vector 路径转换为由三角形/四边形面组成的描边路径的好算法?理想情况下使用圆线连接。 基本上,我试图绘制一条粗路径,其颜色基于随路径距离变化的值。我正在考虑将路径转换为三角形/四边形
我有 WebGL/OpenGL 的基本知识,但不了解 gl.bufferSubData。所以我的目标是创建一个 SpriteBatch 类,就像这个问题 First Question 一样。由于我认为
我用 OpenGL 渲染两个具有相等 z 的四边形。当我启用 DEPTH 时,我得到以下图像,但当它关闭时,我得到我需要的一个水果而不是另一个。是否可以按我的意愿绘制具有相等 z 的四边形?我的 OG
我一直在尝试让模板测试在我的 OpenTK 2D 游戏中工作,但没有成功 - 我只想在模板缓冲区中绘制低于 say 1 值的纹理部分。花了很长时间阅读模板及其工作原理,但在 C# 中找不到一个示例。下
我有一个 2D 空间,其中包含任意数量的对象(它们是圆形或四边形 - 这无关紧要),在每个时间刻度中具有不同的大小和不同的位置。我想为任何基元(示例图片中的绿色圆圈)找到一个 y 位置,使其不与任何其
我是一名优秀的程序员,十分优秀!