zoukankan      html  css  js  c++  java
  • 判断4个平面坐标点能不能围成一个矩形

    <?php 
    
    function iszf($p){  
        $t1 = array_shift($p);  
        foreach ($p as $key => $v) {  
            if($t1['0'] == $v['0']){  
                $h1[] = abs($t1['1']-$v['1']);  
            }elseif ($t1['1'] == $v['1']) {  
                $h1[] = abs($t1['0']-$v['0']);  
            }else{  
                $h1['duijue'] = sqrt(pow(abs($t1['0']-$v['0']),2)+pow(abs($t1['1']-$v['1']),2));  
            }  
        }  
    
    
        $t2 = array_shift($p);  
        foreach ($p as $key => $v) {  
            if($t2['0'] == $v['0']){  
                $h2[] = abs($t2['1']-$v['1']);  
            }elseif ($t2['1'] == $v['1']) {  
                $h2[] = abs($t2['0']-$v['0']);  
            }else{  
                $h2['duijue'] = sqrt(pow(abs($t2['0']-$v['0']),2)+pow(abs($t2['1']-$v['1']),2));  
            }  
        }  
    
    
        $t3 = array_shift($p); 
        foreach ($p as $key => $v) {  
            if($t3['0'] == $v['0']){  
                $h3[] = abs($t3['1']-$v['1']);  
            }elseif ($t3['1'] == $v['1']) {  
                $h3[] = abs($t3['0']-$v['0']);  
            }else{  
                $h3['duijue'] = sqrt(pow(abs($t3['0']-$v['0']),2)+pow(abs($t3['1']-$v['1']),2));  
            }  
        }  
    
    
        $dd = false;  
        if(array_key_exists('duijue',$h2)){  
            if($h2['duijue'] == $h1['duijue']){  
                if($h1['1'] ?? ''){
                    if( $h1['0']== $h1['1'] ){
                        $dd = true;  
                    }
                }
            }  
        }  
          
        if(array_key_exists('duijue',$h3)){  
            if($h3['duijue'] == $h1['duijue']){  
                if($h1['1'] ?? ''){
                    if( $h1['0']== $h1['1'] ){
                        $dd = true;  
                    }
                }
            }  
        }  
        return $dd;  
    }  
      
    $p[] = [0,0];  
    $p[] = [6,6];
    $p[] = [0,6];
    $p[] = [6,0];
      
    
    var_dump(iszf($p)); 
    
  • 相关阅读:
    WSGI学习系列WSME
    Murano Weekly Meeting 2015.08.11
    Trace Logging Level
    OpenStack Weekly Rank 2015.08.10
    markdown语法测试集合
    css-定位
    html图像、绝对路径和相对路径,链接
    html块、含样式的标签
    html标题、段落、换行与字符实体
    html概述和基本结构
  • 原文地址:https://www.cnblogs.com/handongyu/p/8986031.html
Copyright © 2011-2022 走看看