我需要将 n 个不同大小的矩形 (n<10) 打包成一个简单的多边形。我知道两种可能的解决方案:
将矩形装箱成矩形。那么问题就变成了在多边形中找到一个相当大的矩形。它不需要是最大的矩形,但它应该足够大,可以很好地近似多边形以填充这些小矩形。有什么算法可以做到这一点吗?
使用约束求解器。我知道的唯一 JavaScript 约束求解器是Cassowary。然而,它是一个线性的,在我看来,在一个简单的多边形内约束一个点不是一个线性约束。
有任何想法吗?
我有一个大矩形dimensions L*W,并且n smaller rectangles每个矩形都有相同的尺寸l * w。每个小矩形都有相同的dimensions。
我的目标是将所有n of smaller矩形放入大矩形中,同时尽可能最有效地利用大矩形中的空间。l 和 w 可以根据需要放大或缩小,只要比例保持不变即可。
如何确定如何缩放较小的矩形以将它们全部放入大矩形中?
cv2.rectangle 有两种调用方式:
来源: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() 时有效,之后它希望我使用它的重载版本。
opencv-contrib-python 4.1.2.30
imgname='fly_1.jpg'
im = Image.open(imgname)
cv2_im = …Run Code Online (Sandbox Code Playgroud)我已经使用 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) 我正在编写我的第一个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) 我在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?
我必须从给定的坐标集中找到最大的矩形数。
考虑以下在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秒
谢谢
我正在尝试计算java.awt.RectangleScala 中a的宽高比.我要采用" 长边与短边的比例"宽高比的定义,而不是宽高比的"宽高比"类型.
以下代码有效,但是有什么方法可以避免临时变量并将其转换为单行?
val sizes = Seq(rect.getWidth, rect.getHeight)
val aspectRatio = sizes.max / sizes.min
Run Code Online (Sandbox Code Playgroud) rectangles ×10
algorithm ×2
geometry ×2
graphics ×2
polygon ×2
python ×2
aspect-ratio ×1
c# ×1
clip ×1
coordinates ×1
hittest ×1
java ×1
javascript ×1
opencv ×1
overloading ×1
packing ×1
pygame ×1
rotation ×1
scala ×1
wpf ×1
xaml ×1