2017-04-04 86 views
1

如何检查Point是否在Ellipse内?当我画这样一个椭圆:PHP:检查椭圆内的点/坐标

imageellipse($image, 300, 460, 400, 590, $col_ellipse); 

我怎样才能知道Point x = 100 y = 400是否在我的Ellipse中?

结果:

function posInside($x, $y, $h, $k, $rx, $ry) { 
    /*$h = 400; //center x of ellipse 
    $k = 960; //center y of ellipse 
    $rx = 400/2; //radius x 
    $ry = 590/2; //radius y */ 
    $part1 = pow(($x - $h)/$rx, 2); 
    $part2 = pow(($y - $k)/$ry, 2); 
    if($part1 + $part2 <= 1) { 
     return true; 
    } else return false; 
} 
+0

这是一个数学问题。看看http://math.stackexchange.com/questions/76457/check-if-a-point-is-within-an-ellipse –

+0

谢谢。但我怎样才能在PHP中实现它? – SandraC

+1

好吧,如果你已经知道PHP试试了,如果你遇到任何问题,请在这里提出具体问题,分享你的实际代码。如果你不知道PHP,那么我会建议雇用一名开发人员。 –

回答

2

谢谢@Jordi Nebot与数学形式的帮助。我的结果:

function posInside($x, $y, $h, $k, $rx, $ry) { 
    /*$h = 400; //center x of ellipse 
    $k = 960; //center y of ellipse 
    $rx = 400/2; //radius x 
    $ry = 590/2; //radius y */ 
    $part1 = pow(($x - $h)/$rx, 2); 
    $part2 = pow(($y - $k)/$ry, 2); 
    if($part1 + $part2 <= 1) { 
     return true; 
    } else return false; 
}