【计算几何-点的定位】
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;
}
【计算几何-点的定位】相关推荐
- 数学--计算几何--三角定位原理和升级
三角定位原理分析: 本质是初中几何知识. 案例:三角测量:蒹葭伊人.巫山神女与无人机是什么三角关系 - 知乎 延伸版: 另一种三角定位的原理: 已知两个顶点A.B的坐标(即两点的距离)以及第三个顶点C ...
- 无线传感器网络中的节点定位技术
无线传感器网络中的节点定位技术 无线传感器网络中的节点定位技术 本文转载,原文链接://www.cnblogs.com/dolphin0520/archive/2013/05/03/3056789.h ...
- 计算几何及其应用——计算几何基础
写在前面:当时开计算几何这个专题神奇的从解析几何开始了,然后最近发现<计算几何及应用(金博)>这本书前面那章忽略掉了一些重要的东西比如说点定位.半平面相交之类的东西,恰好还有一些和计算几何 ...
- 《计算几何》学习笔记
前言 这是学堂在线邓老师讲的<计算几何>课程的学习笔记.实际上很多细节,比如点重合.边平行等特殊情况,在课程中没有进行考虑,课程讲的算法只考虑一般性的情况. (最后两章Geometric ...
- 智驾科技招聘|SLAM算法总监、感知定位、高精地图等岗位(20~50K)
公司介绍 上海智驾汽车科技有限公司(智驾科技 MAXIEYE),是一家智能驾驶和智慧出行领域的核心技术服务商.我们为客户及合作伙伴提供全工况.多场景.跨平台的辅助驾驶(ADAS)和自动驾驶(ADS)系 ...
- 20~50K|智驾科技SLAM算法总监、深度学习、感知定位、高精地图等多个岗位
公司介绍 上海智驾汽车科技有限公司(智驾科技 MAXIEYE),是一家智能驾驶和智慧出行领域的核心技术服务商.我们为客户及合作伙伴提供全工况.多场景.跨平台的辅助驾驶(ADAS)和自动驾驶(ADS)系 ...
- RTKLIB源码解析(二)、 RTK定位(rtkpos.c)
本博客是转载,感谢: rtklib代码详解--rtkpos.c - 博客园-哆啦A梦 - 博客园 主函数:rtkpos 1. 设置基站位置 2. 统计基站和流动站的卫星数量 3. 单点定位解算 4. ...
- python 几何计算_计算机视觉的计算几何及Python实现
路 计算几何领域出现于20世纪70年代,研究解决几何问题的数据结构和算法.这其中包括,在图像上的拓扑结构的确定,或者是更高维度的表示,例如点邻域,这可以帮助推导出几何意义,例如,数字图像数据. 计算机 ...
- 经典的一个GIS学习定位帖(转)
搞GIS"的人,谈论的可以是相差十万八千里的东西(一个人可以是在发表一种新的空间索引结构,另一个人则是在展示他用桌面GIS软件画出的几张本应用专业的专题图).可能有些人认为后者不够" ...
最新文章
- MySQL高级篇:控制流函数
- 结构光|一文详解相移步长的选择问题
- VS插件开发——格式化变量定义语句块
- php调用root权限,PHP执行root权限程序
- 怎么break java8 stream的foreach
- Android studio的布局总结
- 【收藏】ASP.NET英文技术文章推荐[10/28 – 11/3]
- python基础教程免费下载-Python基础教程(第2版)
- Security - 轻量级Java身份认证、访问控制安全框架
- 怎么做一个专业的软件安装包?
- 未来教育计算机二级学生文档,未来教育计算机二级MS-office题库(解题步骤)题库.docx...
- 学生管理-axios优化
- 【附源码】计算机毕业设计java校园食堂订餐系统设计与实现
- 常见字读音(粤语)---(5)
- 【20保研】西安交通大学软件学院2019年全国优秀大学生夏令营通知
- mac 下安装python+selenium+firebox+pycharm+geckodriver
- java 循环new对象_java中new一个对象放在循环体里面与外面的区别
- 虚心接受别人善意的批评
- 小程序超出文字显示为省略号(代码简单的无话可说)
- 荣誉系统排名是整个服务器,[综合]关于荣誉军衔晋升系统的深入研究
热门文章
- mysql查询datetime的年月日_mysql 里面的date datetime怎么才能只取年月日
- Day01:基础入门-概念名词
- P1489 猫狗大战
- 如今银行多open?百信银行百度云AI+Bank金融科技思享会告诉你!
- vs2008编译QT开源项目--太阳神三国杀源码分析(四) 动画
- 【阿ken经验总结】要考英语四六级的你一定要知道的!
- 嵌入式系统,嵌入式系统定义和使用,嵌入式系统和桌面通用系统的区别,嵌入式系统结构组成,嵌入式软件组成
- wps手机版ppt动画效果_wps ppt中怎么插入进入的动画效果?
- Android、Java要收费了!学霸程序员怒捅马蜂窝,沙特记者命运?GitHub挂了!
- 2022网络搭建国赛公开题mail服务器搭建