PHP判斷4點是否組成矩形

這是自己寫的,簡單測試是可用的,不知道有沒有什么其他情況沒有考慮到,有問題歡迎提出

$arr = [[0,0], [1,0], [0,1], [0,1]];

function test(array $arr) {
    
    $len01 = sqrt(
                abs(pow(($arr[0][0] - $arr[1][0]), 2)) + 
                abs(pow(($arr[0][1] - $arr[1][1]), 2))
            );
    
    $len02 = sqrt(
                abs(pow(($arr[0][0] - $arr[2][0]), 2)) + 
                abs(pow(($arr[0][1] - $arr[2][1]), 2))
            );
    
    $len03 = sqrt(
                abs(pow(($arr[0][0] - $arr[3][0]), 2)) + 
                abs(pow(($arr[0][1] - $arr[3][1]), 2))
            );
    
    $len = [0, $len01, $len02, $len03];
     //求最長距離
    $max_len = max($len);
    
    //求剩余兩點距離
    $key = array_search($max_len, $len);
    unset($arr[$key]);
    unset($arr[0]);
    
    $a = current($arr);
    $b = end($arr);
    $last_len =  sqrt(
                abs(pow(($a[0] - $b[0]), 2)) + 
                abs(pow(($a[1] - $b[1]), 2))
            );
    
    if($last_len != $max_len) return false;
        else return true;
    
}

var_dump(test($arr));

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • feisky云計算、虛擬化與Linux技術(shù)筆記posts - 1014, comments - 298, trac...
    不排版閱讀 4,346評論 0 5
  • 今日體驗:最近店里不怎么忙,就把自己負責(zé)的衛(wèi)生區(qū)打掃打掃。不打掃還不知道原來看似很好的地方其實有好多垃圾。 核心:...
    其實_1d17閱讀 178評論 0 0
  • 前任三,再見前任,一部電影又把懷舊拿出來來回說事,有時候,很迷惑不解,為什么懷舊成了這個巨變時代的常態(tài)? 好像是從...
    一枚亂畫閱讀 116評論 0 0
  • 記不清是為什么,一睜眼時我已經(jīng)在病床上插著管子奄奄一息。冰冷的白色刺在我的心上。 已經(jīng)五個月了,五個月沒有動了。從...
    歪曲_閱讀 230評論 1 1
  • 常佳欣 姐妹雙雙來吾家,同母異性可共籠。 窗前相對移相動,滴答無聲愜意息。 其情躺尾皆...
    常佳欣閱讀 335評論 0 0

友情鏈接更多精彩內(nèi)容