标签: rectangles

使用 JavaScript 将矩形打包成多边形

我需要将 n 个不同大小的矩形 (n<10) 打包成一个简单的多边形。我知道两种可能的解决方案:

  • 将矩形装箱成矩形。那么问题就变成了在多边形中找到一个相当大的矩形。它不需要是最大的矩形,但它应该足够大,可以很好地近似多边形以填充这些小矩形。有什么算法可以做到这一点吗?

  • 使用约束求解器。我知道的唯一 JavaScript 约束求解器是Cassowary。然而,它是一个线性的,在我看来,在一个简单的多边形内约束一个点不是一个线性约束。

有任何想法吗?

javascript polygon packing rectangles

6
推荐指数
0
解决办法
662
查看次数

将相等的矩形拟合成更大的矩形

我有一个大矩形dimensions L*W,并且n smaller rectangles每个矩形都有相同的尺寸l * w。每个小矩形都有相同的dimensions

我的目标是将所有n of smaller矩形放入大矩形中,同时尽可能最有效地利用大矩形中的空间。l 和 w 可以根据需要放大或缩小,只要比例保持不变即可。

如何确定如何缩放较小的矩形以将它们全部放入大矩形中?

algorithm geometry rectangles

6
推荐指数
1
解决办法
2490
查看次数

cv2.rectangle() 调用重载方法,虽然我给了其他参数

cv2.rectangle 有两种调用方式:

  • img = cv.rectangle( img, pt1, pt2,颜色[, 厚度[, lineType[, shift]]] )
  • img = cv.rectangle( img, rec , 颜色[, 厚度[, lineType[, shift]]]

来源:https : //docs.opencv.org/4.1.2/d6/d6e/group__imgproc__draw.html#ga07d2f74cadcf8e305e810ce8eed13bc9

我称矩形如下:

cv2.rectangle(img=cv2_im, pt1=a, pt2=b, 颜色=(0, 255, 0), 厚度=3, lineType=cv2.LINE_AA)

错误信息:

cv2.rectangle(img=cv2_im, pt1=a, pt2=b, color=(0, 255, 0), depth=3, lineType=cv2.LINE_AA) TypeError: rectangle() 缺少必需的参数 'rec' (pos 2) )

我不明白为什么应用程序试图调用该方法的重载版本。U 明确定义版本 1 调用。我尝试使用 (x,y) 等更改变量 a 但它不起作用。正确的方法调用仅在我第一次调用 retangle() 时有效,之后它希望我使用它的重载版本。


python opencv overloading rectangles

6
推荐指数
2
解决办法
5139
查看次数

为什么 PyGame 中根本没有绘制任何内容?

我已经使用 pygame 在 python 中启动了一个新项目,对于背景,我希望下半部分填充灰色,顶部填充黑色。我以前在项目中使用过矩形绘图,但由于某种原因它似乎被破坏了?我不知道我做错了什么。最奇怪的是,每次运行程序的结果都不一样。有时只有黑色屏幕,有时灰色矩形覆盖屏幕的一部分,但永远不会覆盖屏幕的一半。

import pygame, sys
from pygame.locals import *
pygame.init()

DISPLAY=pygame.display.set_mode((800,800))
pygame.display.set_caption("thing")
pygame.draw.rect(DISPLAY, (200,200,200), pygame.Rect(0,400,800,400))

while True:
    for event in pygame.event.get():
        if event.type == QUIT:
            pygame.quit()
            sys.exit()
Run Code Online (Sandbox Code Playgroud)

python pygame rectangles

6
推荐指数
1
解决办法
1748
查看次数

旋转矩形的Java碰撞检测?

我正在编写我的第一个java游戏,到目前为止:

我做了一个可以用WSAD走动的矩形,他总是面向鼠标指向的地方.此外,如果你点击,他会射击你的鼠标指向的子弹(并且子弹旋转以面向那个方向).我也制造了跟随你的敌人,他们旋转面对你的角色.我遇到的问题是我写的碰撞检测只是在旋转之前检测物体(角色,敌人和子弹)的碰撞(使用.intersects()).这意味着他们的身体的某些部分在绘制时会重叠.

我一直在环顾四周,而且我没有找到任何我理解或可以适用于我的情况的解决方案.到目前为止,我一直在为每个对象旋转我的Graphics2D网格,所以它们实际上并没有被旋转,只是被抽出来了.有没有办法可以实际旋转形状,然后使用像.intersects()这样的东西?

任何帮助或建议表示赞赏.

以下是我用来查看它是否会因在x轴上移动而发生碰撞:

public boolean detectCollisionX(int id, double xMove, double rectXco, double rectYco, int width, int height)
{
    boolean valid=true;
    //create the shape of the object that is moving.
    Rectangle enemyRectangleX=new Rectangle((int)(rectXco+xMove)-enemySpacing,(int)rectYco-enemySpacing,width+enemySpacing*2,height+enemySpacing*2);
    if (rectXco+xMove<0 || rectXco+xMove>(areaWidth-width))
    {
        valid=false;
    }
    if(enemyNumber>0)
    {
        for (int x=0; x<=enemyNumber; x++)
        {
            if (x!=id)
            {
                //enemies and other collidable objects will be stored in collisionObjects[x] as rectangles.
                if (enemyRectangleX.intersects(collisionObjects[x])==true)
                {
                    valid=false;
                }
            }
        }
    }
    return valid;
}
Run Code Online (Sandbox Code Playgroud)

java collision-detection rotation rectangles

5
推荐指数
1
解决办法
4813
查看次数

用c#剪切矩形

我有一些代码可以生成随机角度的矩形:

在此输入图像描述

但我需要通过父边框切割子矩形,例如

在此输入图像描述

我的代码:http://pastebin.com/b6ry8j68

任何人都可以用算法来帮助我吗?

c# graphics rectangles clip

5
推荐指数
1
解决办法
4525
查看次数

如何将IntersectsWith方法与XAML中定义的矩形一起使用

我在XAML中有这个矩形:

<Rectangle x:Name="MyRectangle" Height="300" Width="300"></Rectangle>
Run Code Online (Sandbox Code Playgroud)

我想检查它是否与另一个矩形相交.在关于SO的这个问题中,他们说必须使用IntersectsWith方法.但是我无法在代码隐藏中使用它.当我用C#写的时候:

MyRectangle.IntersectsWith(
Run Code Online (Sandbox Code Playgroud)

我得到标准错误:

"System.Windows.Shapes.Rectangle不包含'IntersectsWith'的定义,也没有扩展方法[...]"

我认为那是因为XAML中的矩形是a System.Windows.Shapes.Rectangle,而且方法适用于System.Windows.Rect?如果是这样,有没有办法将我Rectangle变成一个Rect

wpf xaml rectangles hittest

5
推荐指数
1
解决办法
5170
查看次数

从给定的坐标集中找到矩形的数量

我必须从给定的坐标集中找到最大的矩形数。

考虑以下在XY坐标系中给出的坐标3 10,3 8,3 6,3 4,3 0,6 0,6 4,6 8,6 10,

如何找到以下坐标是否形成矩形(3,0)(3,4)(6,4)(6,0)

运行时间限制:0.1秒

谢谢

geometry rectangles coordinates

5
推荐指数
2
解决办法
3460
查看次数

简化Scala表达式计算比率

我正在尝试计算java.awt.RectangleScala 中a的宽高比.我要采用" 长边与短边的比例"宽高比的定义,而不是宽高比的"宽高比"类型.

以下代码有效,但是有什么方法可以避免临时变量并将其转换为单行?

val sizes = Seq(rect.getWidth, rect.getHeight)
val aspectRatio = sizes.max / sizes.min
Run Code Online (Sandbox Code Playgroud)

scala rectangles aspect-ratio

5
推荐指数
3
解决办法
624
查看次数

如何计算两个(或更多)矩形的并集多边形

例如,我们有两个矩形,它们重叠.我想得到他们联合的确切范围.计算这个的好方法是什么?

这是两个重叠的矩形.假设顶点的绳索都是已知的:

两个rectangels

如何计算其联合多边形顶点的绳索?如果我有两个以上的矩形怎么办?

他们的联盟

algorithm graphics polygon rectangles computational-geometry

5
推荐指数
1
解决办法
1480
查看次数