1.二维坐标系,输入点的坐标(xi, yi),判断点是否在三角形内
判断原理:若点p在三角形内,Sabc = Spab + Spac + Spbc;


struct point{/*记录点的信息*/double x;double y;
};struct v{/*记录边的信息*/point star;/*边的起点*/point en;/*边的终点*/
};struct triangle{/*记录三角形信息*/point A;/*三角形的顶点A*/point B;/*三角形的顶点B*/point C;/*三角形的顶点C*/
};
triangle tre[104];
int tr;double crossProduct(v * v1, v * v2);/*向量叉积*/
bool inTrianle(triangle t, point P);/*判断点是否在三角形内*/double crossProduct(v * v1, v * v2){v vt1, vt2;double result = 0;vt1.star.x = 0;vt1.star.y = 0;vt1.en.x = v1->en.x - v1->star.x;vt1.en.y = v1->en.y - v1->star.y;vt2.star.x = 0;vt2.star.y = 0;vt2.en.x = v2->en.x - v2->star.x;vt2.en.y = v2->en.y - v2->star.y;result = vt1.en.x * vt2.en.y - vt2.en.x * vt1.en.y;return result;
}
bool inTrianle(triangle t, point p){v AB, AC, BC, PA, PB, PC;AB.star = t.A;AB.en = t.B;AC.star = t.A;AC.en = t.C;BC.star = t.B;BC.en = t.C;PA.star = p;PA.en = t.A;PB.star = p;PB.en = t.B;PC.star = p;PC.en = t.C;double Sabc = fabs(crossProduct(&AB, &AC));double Spab = fabs(crossProduct(&PA, &PB));double Spac = fabs(crossProduct(&PA, &PC));double Spbc = fabs(crossProduct(&PB, &PC));if(Sabc == Spab + Spac + Spbc)return true;elsereturn false;
}

2.二维坐标系,输入点坐标(xi, yi),判断点是否在圆内
判断原理:若点在圆内,则点到圆心的距离小于等于半径

struct circle{int x;/*圆心的横坐标*/int y;/*圆心的纵坐标*/int r;/*圆的半径*/
};
circle cir[104];
int ci;bool inCircle(circle t, int x, int y);/*判断点是否在圆内*/bool inCircle(circle t, int x, int y){int ans = (x-t.x)*(x-t.x) + (y-t.y)*(y-t.y);if(ans <= t.r*t.r)return true;elsereturn false;
}

【计算几何-点的定位】相关推荐

  1. 数学--计算几何--三角定位原理和升级

    三角定位原理分析: 本质是初中几何知识. 案例:三角测量:蒹葭伊人.巫山神女与无人机是什么三角关系 - 知乎 延伸版: 另一种三角定位的原理: 已知两个顶点A.B的坐标(即两点的距离)以及第三个顶点C ...

  2. 无线传感器网络中的节点定位技术

    无线传感器网络中的节点定位技术 无线传感器网络中的节点定位技术 本文转载,原文链接://www.cnblogs.com/dolphin0520/archive/2013/05/03/3056789.h ...

  3. 计算几何及其应用——计算几何基础

    写在前面:当时开计算几何这个专题神奇的从解析几何开始了,然后最近发现<计算几何及应用(金博)>这本书前面那章忽略掉了一些重要的东西比如说点定位.半平面相交之类的东西,恰好还有一些和计算几何 ...

  4. 《计算几何》学习笔记

    前言 这是学堂在线邓老师讲的<计算几何>课程的学习笔记.实际上很多细节,比如点重合.边平行等特殊情况,在课程中没有进行考虑,课程讲的算法只考虑一般性的情况. (最后两章Geometric ...

  5. 智驾科技招聘|SLAM算法总监、感知定位、高精地图等岗位(20~50K)

    公司介绍 上海智驾汽车科技有限公司(智驾科技 MAXIEYE),是一家智能驾驶和智慧出行领域的核心技术服务商.我们为客户及合作伙伴提供全工况.多场景.跨平台的辅助驾驶(ADAS)和自动驾驶(ADS)系 ...

  6. 20~50K|智驾科技SLAM算法总监、深度学习、感知定位、高精地图等多个岗位

    公司介绍 上海智驾汽车科技有限公司(智驾科技 MAXIEYE),是一家智能驾驶和智慧出行领域的核心技术服务商.我们为客户及合作伙伴提供全工况.多场景.跨平台的辅助驾驶(ADAS)和自动驾驶(ADS)系 ...

  7. RTKLIB源码解析(二)、 RTK定位(rtkpos.c)

    本博客是转载,感谢: rtklib代码详解--rtkpos.c - 博客园-哆啦A梦 - 博客园 主函数:rtkpos 1.  设置基站位置 2. 统计基站和流动站的卫星数量 3. 单点定位解算 4. ...

  8. python 几何计算_计算机视觉的计算几何及Python实现

    路 计算几何领域出现于20世纪70年代,研究解决几何问题的数据结构和算法.这其中包括,在图像上的拓扑结构的确定,或者是更高维度的表示,例如点邻域,这可以帮助推导出几何意义,例如,数字图像数据. 计算机 ...

  9. 经典的一个GIS学习定位帖(转)

    搞GIS"的人,谈论的可以是相差十万八千里的东西(一个人可以是在发表一种新的空间索引结构,另一个人则是在展示他用桌面GIS软件画出的几张本应用专业的专题图).可能有些人认为后者不够" ...

最新文章

  1. MySQL高级篇:控制流函数
  2. 结构光|一文详解相移步长的选择问题
  3. VS插件开发——格式化变量定义语句块
  4. php调用root权限,PHP执行root权限程序
  5. 怎么break java8 stream的foreach
  6. Android studio的布局总结
  7. 【收藏】ASP.NET英文技术文章推荐[10/28 – 11/3]
  8. python基础教程免费下载-Python基础教程(第2版)
  9. Security - 轻量级Java身份认证、访问控制安全框架
  10. 怎么做一个专业的软件安装包?
  11. 未来教育计算机二级学生文档,未来教育计算机二级MS-office题库(解题步骤)题库.docx...
  12. 学生管理-axios优化
  13. 【附源码】计算机毕业设计java校园食堂订餐系统设计与实现
  14. 常见字读音(粤语)---(5)
  15. 【20保研】西安交通大学软件学院2019年全国优秀大学生夏令营通知
  16. mac 下安装python+selenium+firebox+pycharm+geckodriver
  17. java 循环new对象_java中new一个对象放在循环体里面与外面的区别
  18. 虚心接受别人善意的批评
  19. 小程序超出文字显示为省略号(代码简单的无话可说)
  20. 荣誉系统排名是整个服务器,[综合]关于荣誉军衔晋升系统的深入研究

热门文章

  1. mysql查询datetime的年月日_mysql 里面的date datetime怎么才能只取年月日
  2. Day01:基础入门-概念名词
  3. P1489 猫狗大战
  4. 如今银行多open?百信银行百度云AI+Bank金融科技思享会告诉你!
  5. vs2008编译QT开源项目--太阳神三国杀源码分析(四) 动画
  6. 【阿ken经验总结】要考英语四六级的你一定要知道的!
  7. 嵌入式系统,嵌入式系统定义和使用,嵌入式系统和桌面通用系统的区别,嵌入式系统结构组成,嵌入式软件组成
  8. wps手机版ppt动画效果_wps ppt中怎么插入进入的动画效果?
  9. Android、Java要收费了!学霸程序员怒捅马蜂窝,沙特记者命运?GitHub挂了!
  10. 2022网络搭建国赛公开题mail服务器搭建