带浮点数的条件逻辑未正确评估

时间:2015-06-28 23:07:13

标签: java android if-statement floating-point rectangles

我有以下代码,尽管有许多尝试让它正确评估,我无法让它工作。我有一个单独检查每个项目的工作(在这种情况下它可以工作),但事实上,我可以编写一个看似简单的数学语句但它不起作用的事实令人不安。

我已经检查了点的值,它们在矩形内,它将返回false。如果我单独检查每个,它将正确评估它们,我得到一个真正的价值。

提前感谢您的时间!

public static boolean checkIfPointInRectangle(RectF rect, float canvasRotateAngle, float objRotationAngle, int sketchPadHeight, int sketchPadWidth, float pointX, float pointY) {
    float[] points = new float[] { pointX, pointY };

    // Transform the points to the current rotation
    Matrix transform = new Matrix();        
    transform.setRotate(objRotationAngle - canvasRotateAngle, sketchPadWidth / 2, sketchPadHeight / 2);
    transform.mapPoints(points);

    if(((rect.left <= points[0]) && (points[0] < rect.right) && (rect.top <= points[1]) && (points[1] < rect.bottom))){
        return true;
    } else{
        return false;
    }

}

0 个答案:

没有答案