问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

点与多边形的关系

发布网友 发布时间:2022-04-07 08:45

我来回答

3个回答

懂视网 时间:2022-04-07 13:07

PHP判断点是否在多边形区域内外;

根据数学知识的射线法,射线与几何多边形相交的点的个数为奇数则是在几何内部;

偶数在外部;

/**
 * Created by PhpStorm.
 * function: inArea
 * Description: 判断点是否在多边形区域内
 * User: Xiaoxie
 * @param $x 
 * @param $y
 * @param $arr 几何订单坐标
 * @return int
 *
 */
public function inArea($x,$y,$arr)
{
 //点的数量
 $count = count($arr);
 $n = 0; //点与线相交的个数
 $bool = 0;//外
 for ($i = 0, $j = $count - 1; $i < $count; $j = $i, $i++) {
 //两个点一条线 取出两个连接点的定点
 $px1 = $arr[$i][0];
 $py1 = $arr[$i][1];
 $px2 = $arr[$j][0];
 $py2 = $arr[$j][1];
 //$x的水平位置画射线
 if($x>=$px1 || $x>= $px2)
 {
  //判断$y 是否在线的区域
  if(($y>=$py1 && $y<=$py2) || ($y>=$py2 && $y<= $py1)){
 
 
   if (($y == $py1 && $x == $px1) || ($y == $py2 && $x == $px2)) {
 
   #如果$x的值和点的坐标相同
   $bool = 2;//在点上
   return $bool;
 
   }else{
   $px = $px1+($y-$py1)/($py2-$py1)*($px2-$px1) ;
   if($px ==$x)
   {
    $bool = 3;//在线上
   }elseif($px< $x){
    $n++;
   }
 
   }
  }
 }
 
 }
 if ($n%2 != 0) {
 $bool = 1;
 }
 return $bool;
}

测试数组

$arr = [
 ['9.4','12.04'],
 ['6.68','8.61'],
 ['9.05','6.06'],
 ['6.24','3.87'],
 ['10.02','2.55'],
 
 ['14.06','4.13'],
 
 ['16.35','7.56'],
 
 ['11.69','8.35'],
];
 
$x =15.73;
$y = 5.62;
//在外
$x = 9.97;
$y = 4.96; //在内

 29d36d286d4e908f40eb121030c365b.png

更多PHP相关知识,请访问PHP教程!

热心网友 时间:2022-04-07 10:15

坐标,根据多边形各个顶点的坐标,然后判断点的坐标是否在多边形的区域内

热心网友 时间:2022-04-07 11:33

用凸包做吧。网上搜一下凸包,很多代码
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
火狐浏览器如何将网页保存为PDF文件 【亲测好用】网页下载保存为pdf u盘坏芯片坏能修吗-(u盘芯片坏了能修吗) 快捷糖水目录 微信上如何和男人撒娇? 去日本旅游要带什么好? 年月日电脑怎么设置表格excel表格出生日期列如何设置为年月日格式 ...一定要对女主好,宠她。要打包下载,谢谢亲。 空气净化器滤芯有酸味的原因 不同种类的蛋糕分别代表什么含义呢? 苹果浏览器如何翻译网页 苹果浏览器翻译功能为什么点不了 safari翻译网页不见了 ios15 为什么焖烧壶煮粥,米是生的,煮不熟 焖烧杯煮粥可以吃多长时间 焖烧杯一般焖熟薏米粥要多长时间 象印焖烧杯怎么用熬粥 用焖烧杯煮粥要多久 大约三,四个小时 焖烧罐焖小米粥要多久 焖烧杯煮粥怎么做 关于CMMI-过程集成与产品改进指南 焖烧壶怎么煮粥多长时间 CMMI管理过程有哪些 软件过程改进的过程改进例子及流程说明 cmmi在过程改进框架中处于什么位置,有什么作用 焖烧杯煮白粥要多久 已知一个多边形的所有顶点坐标,如果确定一点是否在这个多边形内?js或php 请给出代码 在线等谢谢 cmmi的意义是什么,CMMI的实施过程,CMMI的评估是什么 CMMI中组织级QA问题 做CMMI过程改进的目的有哪些??? 请问谁知道?车贷怎么申请提前还款,谢谢 提前还款手续要怎么办理? 车贷提前还款如何办理? 删除微信小程序时,长按出现删除二字,松手时删除符号又退去了乍办 我是初中生刚毕业,没考上高中学什么好? 初中生不读高中,学什么好一些? 初中学什么比较好? 初中生学什么专业有前途?上哪个技校比较好呀? 《轨迹系列》顺序是什么? 请问初中生读什么职业学校好? 华为手机 怎么设置红包提醒 不想读高中了,初中生学点什么好? 初中生上什么技术学校好,能够学到技术呢? 如何评价《空之轨迹系列 轨迹系列游玩顺序是什么? 闪之轨迹和之前的轨迹系列有什么关系 求助,那由多之轨迹和轨迹系列的关系 英雄传说轨迹系列的背景和世界观 几个回路能组成什么技能也要 小说要用 拜托了 英雄传说轨迹系列的提问 东京迷城和轨迹系列有什么关系