jjzjj

rectangles

全部标签

c# - 为什么 System.Drawing Rectangle、Point、Size 等可变结构而不是类?

Microsoft决定制作这些结构有什么原因吗?这三个都是可变的。如果它们是不可变的或引用类型,我会发现它们更容易处理。如果有理由说它们必须是结构体,那么为什么它们是可变的? 最佳答案 为什么是结构体值语义这些值的两个相同实例之间没有本质区别。任何具有坐标[2,3]的Point都等于具有相同坐标的任何其他点,很像任何两个具有相似坐标的int值相等。这符合设计指南:Itlogicallyrepresentsasinglevalue,similartoprimitivetypes(integer,double,andsoon).性能Va

javascript - 获取未旋转的旋转矩形的边界

我有一个已应用旋转的矩形。我想获得未旋转的尺寸(x、y、宽度、高度)。这是当前元素的尺寸:Boundsata90rotation:{height30width0x25y10}下面是旋转设置为无后的尺寸:Boundsatrotation0{height0width30x10y25}过去,我可以将旋转设置为0,然后读取更新后的边界。但是,我使用的其中一个功能存在错误,所以现在我必须手动完成。是否有一个简单的公式可以使用我已有的信息获得旋转0的边界?更新:对象围绕对象中心旋转。更新:我需要的是类似下面的函数:functiongetRectangleAtRotation(rect,rotati

java - 获取旋转矩形的角

我有一个围绕它的中间旋转的矩形,我有另一个矩形我想连接到旋转矩形的右上角。问题是我不知道如何得到角,以便第二个矩形始终粘在那个角上。这是我的示例代码。现在第二个矩形将一直在同一个地方,这不是我想要的结果。packageTest;importjava.awt.*;importjava.awt.event.*;importjava.awt.geom.*;importjavax.swing.*;classTest{publicstaticvoidmain(String[]args){newTest();}publicTest(){EventQueue.invokeLater(newRunna

Java 游戏 Hitbox 检测和圆角

我正在使用Java、swing开发一款简单的2D游戏,没有框架。我有一个矩形播放器,用户可以四处移动。map上有一些玩家无法通过的障碍。我通过为玩家和每个障碍物及其边界制作一个新的矩形对象来做到这一点。但我不确定这是否是正确的方法。它有效,但玩家的Action并不是真正的用户友好。如果玩家想要通过两个障碍,他们必须在完美的坐标上才能通过。用矩形对象检查玩家和障碍物之间的交点是个好主意还是我应该用其他方法来做?第二个问题:我想用相同的碰撞框替换矩形碰撞框,但圆角让玩家可以更轻松地通过。这就是游戏启用碰撞箱后的样子。检查玩家和障碍物是否相交的代码:for(Playerp:this.getP

java - 矩形类函数 getX()、getY() 等以 double 返回

嗯,根据我的经验和OracleJavaAPI文档,我知道他们这样做,但我想知道为什么。通过构造函数,我只允许将int类型的参数传递给Rectangle类,x、y等的内部数据表示是类型int和setSize()仅排除int类型的参数。但是,为什么所有方法,如getX()、getY()、getWidth()等,在没有精确?为什么不像预期的那样简单int?编辑:我知道它是从Rectangle2D类派生的,但是仍然没有理由不提供任何基于int的getX()和getY()函数,与Point和Point2D类不同,这些方法不是抽象的。此外,setLocation()也不是抽象的。

java - 创建变换以从一个矩形映射到另一个矩形?

创建AffineTransform的最简单方法是什么,它将坐标从一个矩形映射到另一个矩形(给出了浮点/双矩形)?更新1矩形可以完全不同。例如[(0,0)-(1,1)]和[(150,-14)-(-1000,-14.1)]。而变换应该统一变换。例如,矩形的角应该一对一地变换。例如坐标(0,0)应该变成(150,-14)。更新2我需要AffineTransform对象,而不仅仅是计算。因为我想将它应用于Graphics对象。我也想以一些简单转换的串联形式出现。更新3以下3个测试全部失败:publicclassRectangleTransformTest{privatestaticfinald

java - 如何检查直线和矩形之间的交点?

标题说明了一切,我一直在搜索,找不到任何直截了当的东西。我如何用点(x1,y1)&(x2,y2)画一条线并检查它在矩形(xR,yR)之间的交点?我在Line2D包中看到有一些相交方法,但不确定如何设置它们。有人可以告诉我正确的设置方法来检查交叉路口(碰撞)吗? 最佳答案 使用2D图形API中的可用类。Rectangler1=newRectangle(100,100,100,100);Line2Dl1=newLine2D.Float(0,200,200,0);System.out.println("l1.intsects(r1)="+

java - 如何使用 g.fillRect 方法在 Java 中创建一个 Rectangle 对象

我需要创建一个矩形对象,然后使用paint()将其绘制到小程序。我试过了Rectangler=newRectangle(arg,arg1,arg2,arg3);然后尝试使用将其绘制到小程序g.draw(r);它没有用。有没有办法在java中做到这一点?我已经在谷歌上搜索了它生命的一英寸以内寻找答案,但我一直无法找到答案。请帮忙! 最佳答案 试试这个:publicvoidpaint(Graphicsg){Rectangler=newRectangle(xPos,yPos,width,height);g.fillRect(r.getX(

java - 在矩形内约束矩形

我在程序中使用Java的Rectangle类。我有两个Rectangle对象:Rectanglebig=newRectangle(...);Rectanglesmall=newRectangle(...);矩形的具体大小并不重要。但是,big将始终大于small(宽度和高度)。通常,small完全包含在big中。我可以使用Rectangle#contains来验证这一点。但是,如果不是这种情况,我想移动small以完全包含在big中。两个矩形的尺寸都不应改变。例如:我知道可以对Math.max和Math.min使用四个条件,但是有没有更优雅的方法呢? 最佳答

c++ - 将图像复制到旋转矩形opencv c++的方法

我在Win7x64上工作,使用openCV和VisualStudio2010,使用C++编程。我想将一个图像(称为image)复制到另一个图像的矩形区域(称为RR_image)。然而,这个区域是旋转的。这是图片:这是RR_image:(如你所见,我已经旋转了第一张图片)我会用红色矩形复制第一张图片。有多少种方法可以做到这一点?我知道ROI和:img1.copyTo(img2.rowRange(...),img2.colRange(...));谢谢! 最佳答案 主要问题是OpenCV不支持图像的透明度,这是您以简单的方式完成该任务所需