【计算几何-点的定位】
来源:互联网 发布:mac适用的办公软件 编辑:程序博客网 时间:2024/06/05 16:03
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; else return 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; else return false;}
阅读全文
1 0
- 【计算几何-点的定位】
- 计算几何 点定位
- 计算几何中两个点的建立
- 计算几何-点与多边形的位置
- 【计算几何】点与向量的表示
- 计算几何:点积的模板
- HDU6164(计算几何--点关于直线的对称点)
- 计算几何小结 我对计算几何的理解以及叉积和点积
- 计算几何:点积模板
- 【计算几何】点和直线
- 计算几何-最近点对
- <模板><计算几何>点与多边形的位置关系
- poj2318 TOYS 【计算几何】【点和线的关系】
- CSU 1503: 点到圆弧的距离(计算几何)
- POJ2002Squares【求点集中正方形的个数 计算几何+Hash】
- hdu 4998 Rotate 计算几何 点的旋转
- 计算几何 点对直线张开的夹角
- 计算几何问题汇总--点与线的位置关系
- ALV标准范例Demo汇总
- 在VMware中windows蓝屏无法关机解决技巧
- Python中yield的简单理解
- sqlserver 判断数据库哪个表记录数据量
- 走穿java设计模式23种-1单例模式详解
- 【计算几何-点的定位】
- 【valid-palindrome】
- 安卓广播监听电量
- 微信小程序----组件之textarea
- 关于python中字典的一些总结
- 【Selenium】14Cookie
- Android_侧滑页面传值Fragment
- jdk
- MPOS银行卡磁条信息加密规范