php函数,通过平面内的四个坐标点判断是否是正方形
2018-01-21 15:47
495 查看
1,html页提交坐标点
<form action="./a.php" method="post"> L1:x<input type="text" name="p1[]" /> y<input type="text" name="p1[]" /><br> L2:x<input type="text" name="p2[]" /> y<input type="text" name="p2[]" /><br> L3:x<input type="text" name="p3[]" /> y<input type="text" name="p3[]" /><br> L4:x<input type="text" name="p4[]" /> y<input type="text" name="p4[]" /><br> <button>提交</button> </form>2.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['0']== $h1['1'] && $h1['1']==$h3['0'] && $h3['0'] == $h3['1']){ $dd = true; } } } if(array_key_exists('duijue',$h3)){ if($h3['duijue'] == $h1['duijue']){ if($h1['0']== $h1['1'] && $h1['1']==$h2['0'] && $h2['0'] == $h2['1']){ $dd = true; } } } return $dd; } $p[] = $_POST['p1']; $p[] = $_POST['p2']; $p[] = $_POST['p3']; $p[] = $_POST['p4']; var_dump(iszf($p));
相关文章推荐
- 给定平面上的圆(圆心坐标和半径长度)和一个正方形(四个点的坐标)判断两者是否有交点。
- hdu5365 判断四个点是否构成正方形
- 判断几何体是否相交 + 正方形的坐标确定+ 输入scanf格式控制
- hdu 5206 判断三维空间中的四个点是否构成正方形
- 如何判断任意四个点可以组成矩形及正方形 && 点绕另外一个点旋转后的坐标
- 判断一个给定的字符串通过循环移位是否可以包含另一个字符串
- 关于如何判断在平面上的两条线段是否相交
- 线程,如何通过pthread_t这个线程id判断线程是否已经终止
- 通过IWebBrowser2的Navigate2来打开网页,怎样判断网页是否全部加载完毕
- php函数实现判断是否移动端访问
- 判断浏览器是否通过ssl方式访问的方法
- ASP.NET MVC3中通过Request.IsAjaxRequest()来判断是否要加载公共视图
- 在平面内,已知一个矩形的四个角坐标,将矩形绕中心点转动一个角度,求旋转后的角坐标.
- 通过iwpriv命令判断WIFI client和Ralink AP之间是否连接
- 通过MD5加密的方式判断图片是否相同
- 如何在Office Excel中通过设置If条件判断两列数据是否一致?
- 如何判断平面上两条线段(注意是线段)是否相交?(某公司校园招聘面试试题)
- 编写一个函数,从标准输入读取一列整数, 把这些值存储在一个动态分配的数组中并返回这个数组。 函数通过观察EOF判断输入列表是否结束。 数组的第一个数是数组包含的值的个数, 它的后面就是这些整数值。
- java通过ping 判断网络是否正常
- 判断两线段是否相交并计算交点坐标