问题标签 [rectangles]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
6249 浏览

algorithm - 从坐标/点数组创建矩形

http://img853.imageshack.us/img853/2475/picture1eu.jpg

我有一个点/坐标的 ArrayList,它代表一个直线多边形。我现在想使用 ArrayList 中存储的点将这个形状分解为矩形。

我已经开始了一个算法,但我无法完成它,我觉得必须有一个更简单的方法:

ArrayList 称为“allCoordinates”。
ArrayList "xMatch" 和 "yMatch" 是 allCoordinates 的子集。

算法:


所以在上图的情况下:
(Set 1=[x1, y1]-[x8, y8],
Set2=[x7, y7]-[x2, y2],
Set3=[x4, y4][x5, x5 ],
Set4=[x3, y3][x6, x6])


所以在上图的情况下:
(Set 1=[x1, y1]-[x2, y2],
Set2=[x3, y3]-[x4, y4],
Set3=[x5, y5][x6, x6 ],
Set4=[x7, y7][x8, x8])



所以现在我有两个arrayLists,所有垂直边缘和所有水平边缘。现在我需要一些方法来检查它们是否都连接在一起?就像我说的那样,必须有一个更简单的方法......?

编辑:

我能否澄清一下,必须使用在现有坐标上开始和结束的相交线来形成矩形。例如,可以从 (x6, y6) 水平绘制一条线,并在边缘 (x1,y1)-(x8,y8) 上结束。这条线将从现有坐标开始,但不会在现有坐标上结束。因此,该行将无效。

0 投票
0 回答
93 浏览

algorithm - 用尽可能少的矩形覆盖形状

可能重复:
寻找最少矩形以覆盖一组矩形的算法

我需要一些帮助来找出算法。我在网格上布置了一个形状,如下所示。

网格上的形状 http://www.benfillmore.com/shape.png

目标是将正方形组合成更大的矩形,如下所示:

更大的矩形 http://www.benfillmore.com/boxes.png

我试图用尽可能少的矩形覆盖形状中的每个正方形。如果矩形相互重叠也没关系:

重叠 http://www.benfillmore.com/overlap.png

我不是在寻找完整的解决方案,只是在寻找想法,或者有人为我指明正确的方向。我已经实现了几个想法,但它们甚至都没有接近最优。我不担心处理时间,只在形状创建时完成一次。我只需要尽可能少的矩形。

太感谢了

0 投票
4 回答
21493 浏览

java - 绘制方法 java - 带轮廓的矩形

我想创建一堵蓝线轮廓和黑色填充的墙。我现在只有一面蓝色的墙,我尝试了几种图形方法,但没有奏效。

0 投票
1 回答
124 浏览

javascript - 谷歌地图:我怎么能不让用户创建一个面积超过 X 的矩形?

我已经使用 javascript 在我的网站(本地主机)上设置了谷歌地图。现在用户可以创建circlesrectangles通过左键或右键单击。用户还可以使矩形更大或更小,同样适用于圆形。我希望应用程序不要让用户创建面积超过 X 的矩形。我设法用圆来实现这一点,因为圆的面积是由它的radiusand定义的Math.PI。我知道对于矩形,面积是底部的长度乘以高度的长度。但是,如何从西南角和东北角的纬度和经度中找到这些信息?

提前致谢

0 投票
1 回答
3915 浏览

ios - 确定视图中的点是否在子视图范围内

假设我有一个 UIView parentView 和一个子视图 childView,它相对于 parentView 以某个未知角度旋转。确定 parentView 中的点(我知道 parentView 坐标系中的坐标)是否在 childView 坐标系中的矩形内的最有效方法是什么(矩形与其边界正交,但不等于它的边界,并且可能不正交于 parentView界)?

0 投票
1 回答
2330 浏览

rectangles - 如何找到相交矩形的相交矩形(点)

如果我有两个由两个顶点描述的相交矩形[(x1,y1)(x2,y2)][(x3,y3)(x4,y4)]。如何找到一个受其内切影响的矩形(在这些矩形相交处获得 2 个点)。

编程语言无关紧要。可能是伪代码。

PS:矩形与 OXY 平行。

0 投票
3 回答
25998 浏览

java - Java中是否有像Rectangle类这样的circle类

嘿,我正在编写一个快速程序,遇到了一些需要使用圆圈进行碰撞检测的地方。但据我所知,只有 Rectangle 类具有 .intersects(Point p) 方法。有没有类似圆圈的东西我可以用同样的方式?

0 投票
5 回答
8567 浏览

php - 将多个相邻的矩形合并为一个多边形

背景:我正在一个小型购物中心的网站上工作,该网站有多个矩形“单元”可供出租。当一个“商店”来时,它可以租一个或多个“单元”,我想生成一个由商店组成的地图(没有未租的单元)

问题

我有一个由点对定义的矩形列表(单位[[lefttop_x;lefttop_y];[rightbottom_x;rightbottom_y]]——我想将它们合并为多边形,这样我就可以正确地设置它们的样式(然后我将通过 Canvas/SVG/VML/Raphael.js 进行渲染)。

  • 单位总是矩形
  • 单位有不同的大小
  • 单元总是相邻的(它们之间没有空间)

由于这个(最好是 PHP,但我可以处理伪代码)操作,我想要一个多边形点数组。

矩形合并——视觉提示

谢谢你。

PS:我一直在研究这个,我发现了多个“接近我想要的”的问题+答案,但是我要么太累了,要么我已经与数学脱节太久了:)

0 投票
1 回答
3938 浏览

gps - 给定所有纬度/经度坐标,如何确定点是否在矩形内?

如果给定矩形的所有 4 个角的 x/y 坐标,然后是另一个 x/y,则如果左上角为 0,0,则很容易确定该点是否在矩形内。

但是,如果坐标是纬度/经度,它们可能是负数(请参阅附件)。有没有可以在这种情况下工作的公式?

在此处输入图像描述

0 投票
1 回答
1403 浏览

c# - 自动合并相邻的矩形

我一直在 XNA 中制作一个需要矩形碰撞地图的自上而下的射击游戏。

地图的碰撞墙以以下格式存储在文本文件中:rect[0,0,1024,8]

这些值对应于定义一个矩形(x、y、宽度、高度)。

我一直在想我可以编写一个单独的应用程序,它可以对地图图像的数据进行文盲,找出黑色(或墙壁的任何颜色)的像素并在那里制作矩形。基本上,该程序将生成碰撞所需的矩形。理想情况下,它应该是像素完美的,这将需要大约一千个矩形,每个 1 像素宽,覆盖所有墙壁。

有没有一种可能的方法来检测这些矩形(或我应该说的正方形)中的哪些彼此相邻,然后将它们连接到更大(但仍覆盖相同区域)的矩形中?

例如。假设我有一堵 10 x 2 的墙。该程序将生成 20 个不同的矩形,每个矩形高 1 个像素。我如何有效地检测这些矩形是相邻的并自动制作一个 10 x 2 的矩形覆盖整个墙壁,而不是拥有 20 个不同的小像素矩形?

编辑:我已经制定了一个适合我的目的的解决方案,以供将来参考,我的代码如下:

基本上,它将水平循环遍历像素数据。当它遇到一个墙壁像素时,它会停止计数器并(使用一个while循环)将计数器向右移动,一个接一个,直到它碰到一个非墙壁像素。然后,它将创建一个该宽度的矩形,然后继续。在这个过程之后,将会有一个大的矩形列表,每个 1px 高。基本上,一堆水平线。下一个循环将遍历水平线,并使用与上面相同的过程,它将找出其下是否存在具有相同X值和相同Width值(y + 1)的矩形。这将不断增加,直到没有,其中将创建一个大矩形,并从列表中删除使用的矩形。