给定四个坐标点,判断它们能不能组成一个矩形?

该博客讨论了如何通过浮点型数据比较来判断四个坐标点能否组成矩形,利用勾股定理进行验证。在PHP环境中,由于浮点数精度问题,不能直接用`==`比较,需要借助BC高精度函数。同时,解释了浮点数在内存和CPU寄存器中精度变化可能导致的比较误差。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

已知四个点的坐标为:[0,0],[0,1],[1,1],[1,0],判断它们能不能组成一个矩形

分析 : 至少有三个内角都是直角的四边形是矩形,有一个内角是直角的平行四边形是矩形,对角线相等的平行四边形是矩形。矩形是一种特殊的平行四边形,正方形是特殊的矩形。矩形也叫长方形。

如图所示,如果A、B、C、D四点构成矩形的话,那么△ABC、△BCD就是直角三角形,AC=BD,AD=BC,只要求证AB²+AC²=BC²即可。

根据勾股定理,a²+b²=c²

接下来直接上代码,这里是在thinkphp里面测试

public function test(){
        $array = [[0,110],[0,1],[1,1],[1,0]];//4个点的坐标
        $s1 = sqrt(($array[1][0] - $array[0][0]) * ($array[1][0] - $array[0][0]) + ($array[1][1] - $array[0][1]) * ($array[1][1] - $array[0][1]));
        $s2 = sqrt(($array[2][0] - $array[0][0]) * ($array[2][0] - $array[0][0]) + ($array[2][1] - $array[0][1]) * ($array[2][1] - $array[0][1]));
        $s3 = sqrt(($a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值