计算两条直线的交点--C语言
2010-06-12 11:30
337 查看
呵呵,有点急。。。
#include<stdio.h>
typedef struct point{
int x;
int y;
}point;
typedef struct line{
point point1;
point point2;
}line;
//计算两条直线的交点
point getCross(line line1, line line2)
{
point CrossP;
//y = a * x + b;
int a1 = (line1.point1.y - line1.point2.y) / (line1.point1.x - line1.point2.x);
int b1 = line1.point1.y - a1 * (line1.point1.x);
int a2 = (line2.point1.y - line2.point2.y) / (line2.point1.x - line2.point2.x);
int b2 = line2.point1.y - a1 * (line2.point1.x);
CrossP.x = (b1 - b2) / (a2 - a1);
CrossP.y = a1 * CrossP.x + b1;
return CrossP;
}
void main()
{
line line1;
line line2;
//line1
line1.point1.x = 10;
line1.point1.y = 10;
line1.point2.x = 50;
line1.point2.y = 50;
//line2
line2.point1.x = 2;
line2.point1.y = 60;
line2.point2.x = 60;
line2.point2.y = 0;
point CointP = getCross(line1, line2);
printf("%d,%d\n", CointP.x, CointP.y);
}
#include<stdio.h>
typedef struct point{
int x;
int y;
}point;
typedef struct line{
point point1;
point point2;
}line;
//计算两条直线的交点
point getCross(line line1, line line2)
{
point CrossP;
//y = a * x + b;
int a1 = (line1.point1.y - line1.point2.y) / (line1.point1.x - line1.point2.x);
int b1 = line1.point1.y - a1 * (line1.point1.x);
int a2 = (line2.point1.y - line2.point2.y) / (line2.point1.x - line2.point2.x);
int b2 = line2.point1.y - a1 * (line2.point1.x);
CrossP.x = (b1 - b2) / (a2 - a1);
CrossP.y = a1 * CrossP.x + b1;
return CrossP;
}
void main()
{
line line1;
line line2;
//line1
line1.point1.x = 10;
line1.point1.y = 10;
line1.point2.x = 50;
line1.point2.y = 50;
//line2
line2.point1.x = 2;
line2.point1.y = 60;
line2.point2.x = 60;
line2.point2.y = 0;
point CointP = getCross(line1, line2);
printf("%d,%d\n", CointP.x, CointP.y);
}
相关文章推荐
- 计算两条直线的交点(C#)
- 可以用在图像处理中的计算两条直线的交点
- (计算几何step8.1.2.2)POJ 1269 Intersecting Lines(使用叉积来计算两条直线的交点)
- 使用投影计算两条直线交点
- 计算两条直线的交点
- 计算两条直线的交点
- poj1269 Intersecting Lines(计算几何--两条直线的交点)
- YT03-递推求解课后题目-1004 计算直线的交点数-(6.7日-烟台大学ACM预备队解题报告)分析: 将n 条直线排成一个序列,两条直线最多只有一个交点,三条直线最多有两个交点,直线n 和其他n
- HDU 1466 计算直线的交点数(动态规划)
- 7月10号 计算几何 对向量叉积 判断两条直线是否相交的理解
- hdu 1466 计算直线的交点数
- 求两条直线的关系及交点
- 判断两条直线(线段)的交点问题
- hdoj 1466 计算直线的交点数 【dp】
- HDU1466 计算直线的交点数 【DP】+【经典题】
- hdoj1466 计算直线的交点数 ( DP )
- hdu 1466 计算直线的交点数
- hdu 1466 计算直线的交点数
- HDU 1466 计算直线的交点数
- 二维空间里的直线 计算 是否平行/ 是否是一条直线/ 是否有交点