hduoj 1558 并查集、计算几何(判断两线断是否相交)
来源:互联网 发布:unity3d 项目开发2d 编辑:程序博客网 时间:2024/06/10 16:53
http://acm.hdu.edu.cn/showproblem.php?pid=1558
关于计算几何:判断两线断是否相交
* 返回(P1-P0)*(P2-P0)的叉积。 *
* 若结果为正,则 <P0,P1> 在 <P0,P2> 的顺时针方向; *
* 若为0则 <P0,P1> <P0,P2> 共线; *
* 若为负则 <P0,P1> 在 <P0,P2> 的在逆时针方向; *
* 可以根据这个函数确定两条线段在交点处的转向, *
* 比如确定p0p1和p1p2在p1处是左转还是右转,只要 *
* 求(p2-p0)*(p1-p0),若 <0则左转,> 0则右转,=0则 *
* 共线 *
* *
/********************************************************/
* 若结果为正,则 <P0,P1> 在 <P0,P2> 的顺时针方向; *
* 若为0则 <P0,P1> <P0,P2> 共线; *
* 若为负则 <P0,P1> 在 <P0,P2> 的在逆时针方向; *
* 可以根据这个函数确定两条线段在交点处的转向, *
* 比如确定p0p1和p1p2在p1处是左转还是右转,只要 *
* 求(p2-p0)*(p1-p0),若 <0则左转,> 0则右转,=0则 *
* 共线 *
* *
/********************************************************/
/*float multiply(TPoint p1,TPoint p2,TPoint p0)
{
return((p1.x-p0.x)*(p2.y-p0.y)-(p2.x-p0.x)*(p1.y-p0.y));
}
{
return((p1.x-p0.x)*(p2.y-p0.y)-(p2.x-p0.x)*(p1.y-p0.y));
}
//确定两条线段是否相交
int intersect(TLineSeg u,TLineSeg v)
{
return( (max(u.a.x,u.b.x)> =min(v.a.x,v.b.x))&&
(max(v.a.x,v.b.x)> =min(u.a.x,u.b.x))&&
(max(u.a.y,u.b.y)> =min(v.a.y,v.b.y))&&
(max(v.a.y,v.b.y)> =min(u.a.y,u.b.y))&&
(multiply(v.a,u.b,u.a)*multiply(u.b,v.b,u.a)> =0)&&
(multiply(u.a,v.b,v.a)*multiply(v.b,u.b,v.a)> =0));
}
*/
/*忘记了说明TPoint和TLineSeg的定义了:)
struct TPoint {
float x,y;
};
struct TLineSeg {
TPoint a,b;
};
TPoint a,b;
};
此题代码
- hduoj 1558 并查集、计算几何(判断两线断是否相交)
- POJ 1127 基础计算几何(判断两线段相交)+并查集
- 计算几何-判断两线段是否相交(模板)
- 计算几何--判断线段是否相交
- 计算几何----判断两矩形是否相交
- 计算几何之判断线段是否相交
- hdu 1558 Segment set(并查集+判断线段是否相交)
- hdu 1558 Segment set(并查集+计算几何线段相交)
- Segment set(普通并查集+计算几何两线段相交与否)
- HDU 1558 (并查集+判断线段相交)
- hdu 1558 Segment set 并查集 叉积判断线段是否相交
- hdu 1558 并查集+计算几何
- poj2236(并查集+计算几何)
- poj1127(计算几何,并查集)
- 计算几何----判断线段相交(一)
- 计算几何---判断线段相交(二)
- HOJ1102 计算几何 判断两个线段是否会相交
- 计算几何之判断两线段是否相交
- 01背包之动态规划
- Linux内核模块编程
- C++学习经典
- 看了“QQ概念视频(触摸版)”,感受到了WPF的力量
- 寻找iframe下的标签
- hduoj 1558 并查集、计算几何(判断两线断是否相交)
- 内网安全——捍卫者安全管理系统
- DELL
- 第一节 Android Binder
- 掌握 dump filter 的用法:采集MPG,AVI和ASF的程序代码
- 银行ECIF概述
- awk与shell参数传递(或说变量传递)二三点
- oracle的jdbc连接方式:oci和thin
- Linux内核模块自动加载机制