< br >我有一个数学问题。我试图找出一个边界矩形的坐标和大小,已知另一个边界矩形和厚度...
我知道关于白色矩形的一切(边界框绿色,大小,旋转,位置)。
黑色和白色矩形之间的差异是厚度(T)。我想找到灰色矩形的大小(它是黑色矩形的边界框)。
所以我知道:
我想找到r2(BLACK矩形的边界框)。
感谢您的回答:)和您的时间!!!!
如果我对白色矩形的理解是正确的,那么你可以计算绿色矩形。
黑色矩形与白色矩形具有相同的旋转rot,因此假设您知道黑色三角形的(X,Y)和W和H,您可以使用与从白色中查找绿色矩形相同的方法来查找灰色矩形。
旋转前考虑白色和黑色矩形,即宽度为水平
X=x-T,Y=y-T W=w 2T,H=h 2T,所以现在你有(X,Y)W,H和对黑色矩形的腐烂,所以可以计算灰色的。
编辑
如果(x, y)在旋转之后,那么从白色矩形开始,其宽度为水平方向,左上角为(lx, ty),则黑色矩形的左上角为(lx-T, ty-T),其宽度W和高度H由W=w 2T H=h 2T给出。
现在,每当您旋转白色矩形时,使用相同的旋转中心将黑色矩形旋转相同的量。这将为白色矩形左上角的新坐标 (x,y) 和 (X,Y) 提供黑色矩形左上角的新坐标,从中可以计算边界矩形。
编辑将(x,y)旋转(0,0)角度θ,将(x,y)旋转到(lx,ty)
l x=x cos(θ)-ys in(θ)
ty=xsin(theta) ycos(theta)
在上面的图片中,我展示了两个矩形 矩形1,其x可以从-900到13700不等,Y可以从-600到6458 矩形2,其坐标X可以从0到3000变化,而y可以从0到2000变化 同样:矩形2的起点位于左上角位置(0,0),而矩形1的起点位于左上角位置(宽度/2,高度/2)。 我需要做的是:使用缩放或平移将矩形1的点转换为矩形2的点。 那么,为了将矩形1的坐标转换为矩形2的坐标,< code>x和< c
我有两个矩形:红色和绿色。对于它们中的每一个,我有以下信息: 中心点( 和 坐标)。 旋转角度 宽度和高度 矩形将始终以正坐标移动。编辑:没有坐标可以是负的:矩形总是位于正坐标。因此,中心永远不会是(0,0)。 问题 我有一个起始位置。为了简化示例,假设我的红色和绿色矩形的位置如下: 现在,我使用0º和90º之间的角度φ旋转红色矩形。但是,绿色矩形需要旋转并保持其相对于红色矩形的位置。绿色矩形不仅
我需要能够计算出矩形2的大小 为了说明我的问题,这里有一个图表: 我知道矩形的和 1 我知道的纵横比以及始终大于矩形1的最小和 我知道的起源,它始终是矩形1的中心 我知道弧度旋转角度 矩形 1 必须始终完全位于矩形 2 内 给定上述变量,我需要计算矩形2的最小尺寸,同时保持其纵横比和旋转原点。 这个优秀的函数计算旋转外矩形中最大的可能矩形。 计算旋转矩形中的最大矩形 我试图用它作为基础来实现我所要
我正在创建一个简单的Java2D程序。它应该从另一个类中绘制矩形,但它不起作用。如果你们中有人能花点时间看看我哪里出了问题,我将不胜感激。这是我明天要交的最后一项作业。 以下是我迄今为止所编写的代码: Block.java 下面是主类: 非常感谢。
问题内容: 创建哪一个将坐标从一个矩形映射到另一个矩形(给出浮动/双矩形)的最简单方法是什么? 更新1 矩形可以完全不同。例如[(0,0)-(1,1)]和[(150,-14)-(-1000,-14.1)]。并且转换应该统一转换。例如,矩形角应一一变换。例如,坐标(0,0)应该变成(150,-14)。 更新2 我需要对象,而不仅仅是计算。因为我想将其应用于对象。我也想以一些简单转换的串联形式。 更新
我有一个点[xmin,ymin,xmax,ymax]的列表,每个点都按黑点显示 请注意,有许多这样的矩形,如图像所示。红色的应检测删除,绿色的应保留。 输入是 n 矩形 输出是覆盖区域和它覆盖的矩形 id 。最好给出一些算法和解释。