Android SDK中Rect和RectF有什么区别?
我有一组矩形,我想“减less”设置,所以我有最less数量的矩形来描述与原始设置相同的区域。 如果可能的话,我希望它也快,但是我更关心的是尽量减less矩形的数量。 我现在有一个大部分时间都在使用的方法。 目前,我从最左上angular的矩形开始,看看是否可以在保持矩形的同时将它向右和向下展开。 我这样做,直到它不能再展开,删除和拆分所有相交的矩形,并将扩展的矩形添加到列表中。 然后我再次用下一个最左上angular的矩形开始这个过程,依此类推。 但在某些情况下,这是行不通的。 例如: 有了这三个矩形的设置,正确的解决scheme将最终有两个矩形,如下所示: 但是,在这种情况下,我的algorithm从处理蓝色矩形开始。 这向下扩展并拆分黄色矩形(正确)。 但是,当黄色矩形的其余部分被处理时,不是向下扩展,而是先扩展,然后收回之前分割的部分。 然后最后一个矩形被处理,它不能向右或向下扩展,所以原来的一组矩形被留下。 我可以调整algorithm先下拉,然后右下。 这可以解决这个问题,但是在类似的情况下会导致同样的问题。 编辑:只是为了澄清,原来的一组矩形不重叠,不必连接。 如果连接了矩形的一个子集,完全覆盖它们的多边形可以在其中有孔。
有人可以解释如何检查一个旋转矩形相交其他矩形 ?
对不起,这个可怕的标题。 Java applet的目的就是这样:一个球在屏幕上跳动。 这个球的大小和速度可以通过滚动条来改变。 用户可以在屏幕上按下并拖动鼠标来绘制矩形。 球也会反弹离开这些矩形。 这些矩形的边界存储在一个向量中。 当一个矩形被点击时,它(和那个点上的所有其他矩形)将从vector(和屏幕)中被移除。 我遇到的问题有两个方面:一是当我点击一个矩形去除它时,它不会被删除,但是可以在以后解决。 二:球不像它应该反弹的矩形。 当我在与球相同的行或列中绘制矩形时,球会在一个小矩形内弹起,就像卡住了一样。 这里是我的代码来检测球是否在applet或任何矩形的边界: public void move() { //if it will hit the right or left boundary, flip the x direction and set it if (loc.x+size >= boundx || loc.x <= 0) { dx *= -1; } //if it will hit the top or bottom boundray, flip […]
我正在尝试编写一个C ++程序,该程序从用户处获取以下输入来构建矩形(2到5之间):高度,宽度,x-pos,y-pos。 所有这些矩形将平行于x和y轴存在,即它们的所有边将具有0或无穷大的斜率。 我试图实现这个问题中提到的东西,但我没有太多的运气。 我目前的实施做了以下工作: // Gets all the vertices for Rectangle 1 and stores them in an array -> arrRect1 // point 1 x: arrRect1[0], point 1 y: arrRect1[1] and so on… // Gets all the vertices for Rectangle 2 and stores them in an array -> arrRect2 // rotated edge of point a, […]