三角形面积,三点顺序
2014-01-03 23:40
369 查看
矢量积的应用:
已知三点(x1, y1),(x2, y2), (x3, y3)
|x1 - x2 y1 - y2|
|x1 - x3 y1 - y3| < 0 就是顺时针, 否则逆时针,
叉积的长度 |a × b| 可以解释成以a和b为边的平行四边形的面积。进一步就是说,混合积可以得到以a,b,c为边的平行六面体的体积。
向量积|c|=|a×b|=|a|
|b|sin<a,b>
即c的长度在数值上等于以a,b,夹角为θ组成的平行四边形的面积。
c的方向垂直于a与b所决定的平面,c的指向按右手规则从a转向b来确定。
b×a=
-a×b右手规则
三角形ABC的面积=1/2*abs(AB×AC)
时间限制:3000 ms | 内存限制:65535 KB
难度:2
描述给你三个点,表示一个三角形的三个顶点,现你的任务是求出该三角形的面积
输入每行是一组测试数据,有6个整数x1,y1,x2,y2,x3,y3分别表示三个点的横纵坐标。(坐标值都在0到10000之间)
输入0 0 0 0 0 0表示输入结束
测试数据不超过10000组
输出输出这三个点所代表的三角形的面积,结果精确到小数点后1位(即使是整数也要输出一位小数位)
样例输入
样例输出
时间限制:1000 ms | 内存限制:65535 KB
难度:3
描述
现在给你不共线的三个点A,B,C的坐标,它们一定能组成一个三角形,现在让你判断A,B,C是顺时针给出的还是逆时针给出的?
如:
图1:顺时针给出
图2:逆时针给出
<图1> <图2>
输入每行是一组测试数据,有6个整数x1,y1,x2,y2,x3,y3分别表示A,B,C三个点的横纵坐标。(坐标值都在0到10000之间)
输入0 0 0 0 0 0表示输入结束
测试数据不超过10000组
输出如果这三个点是顺时针给出的,请输出1,逆时针给出则输出0
样例输入
样例输出
已知三点(x1, y1),(x2, y2), (x3, y3)
|x1 - x2 y1 - y2|
|x1 - x3 y1 - y3| < 0 就是顺时针, 否则逆时针,
几何意义
叉积的长度 |a × b| 可以解释成以a和b为边的平行四边形的面积。进一步就是说,混合积可以得到以a,b,c为边的平行六面体的体积。向量积|c|=|a×b|=|a|
|b|sin<a,b>
即c的长度在数值上等于以a,b,夹角为θ组成的平行四边形的面积。
c的方向垂直于a与b所决定的平面,c的指向按右手规则从a转向b来确定。
b×a=
-a×b右手规则
三角形ABC的面积=1/2*abs(AB×AC)
三角形面积
时间限制:3000 ms | 内存限制:65535 KB难度:2
描述给你三个点,表示一个三角形的三个顶点,现你的任务是求出该三角形的面积
输入每行是一组测试数据,有6个整数x1,y1,x2,y2,x3,y3分别表示三个点的横纵坐标。(坐标值都在0到10000之间)
输入0 0 0 0 0 0表示输入结束
测试数据不超过10000组
输出输出这三个点所代表的三角形的面积,结果精确到小数点后1位(即使是整数也要输出一位小数位)
样例输入
0 0 1 1 1 3 0 1 1 0 0 0 0 0 0 0 0 0
样例输出
1.0 0.5
#include<stdio.h> #include<stdlib.h> int main(){ double s; int x1, x2, x3, y1, y2, y3; while(scanf("%d %d %d %d %d %d", &x1, &y1, &x2, &y2, &x3, &y3) && (x1 || x2 || x3 || y1 || y2 || y3)){ s = (x1 - x2) * (y1 - y3) - (y1 - y2) * (x1 - x3);//按行列式理解 s = s / 2; if(s < 0) printf("%.1f\n", -s); else printf("%.1f\n", s); } return 0; }
三点顺序
时间限制:1000 ms | 内存限制:65535 KB难度:3
描述
现在给你不共线的三个点A,B,C的坐标,它们一定能组成一个三角形,现在让你判断A,B,C是顺时针给出的还是逆时针给出的?
如:
图1:顺时针给出
图2:逆时针给出
<图1> <图2>
输入每行是一组测试数据,有6个整数x1,y1,x2,y2,x3,y3分别表示A,B,C三个点的横纵坐标。(坐标值都在0到10000之间)
输入0 0 0 0 0 0表示输入结束
测试数据不超过10000组
输出如果这三个点是顺时针给出的,请输出1,逆时针给出则输出0
样例输入
0 0 1 1 1 3 0 1 1 0 0 0 0 0 0 0 0 0
样例输出
0 1
#include<stdio.h> int main() { int x1, x2, x3, y1, y2, y3; while(scanf("%d %d %d %d %d %d", &x1, &y1, &x2, &y2, &x3, &y3) && (x1 || x2 || x3 || y1 || y2 || y3) ){ if(((x2 -x1)*(y3 - y2) - (x3 - x2)*(y2 - y1)) < 0) printf("1\n"); else if(((x2 -x1)*(y3 - y2) - (x3 - x2)*(y2 - y1)) > 0) printf("0\n"); } return 0; }
相关文章推荐
- NYOJ67三角形面积 VS NYOJ68三点顺序
- nyoj815三角形(已知三角形的三边长或三顶点坐标求面积)&& nyoj68三点顺序(向量叉积)
- 通过三点坐标求三角形面积
- 已知三点坐标,求三角形面积(转载)
- 关于已知三角形三点坐标求三角形面积
- poj2954-Triangle 求三角形的面积(已知三角形三点求面积)
- poj2079Triangle(N点中三点组成三角形面积最大)
- 给出三点求组成的三角形面积
- 【python】已知三点计算三角形面积
- 用C++完成 根据三点坐标求三角形面积 功能
- HDU4709 [枚举三点求最小三角形面积]
- 三点坐标求三角形的面积
- 三点坐标求三角形面积(数学)
- BugZhu抽抽抽!!(已知三角形三点坐标,求外接圆半径及三角面积)
- 由在三点坐标求三角形面积
- 已知三角形三点坐标,求三角形的面积
- 已知三角形三点坐标,求三角形的面积
- 已知三角形三点坐标, 求三角形的面积
- HDU BugZhu抽抽抽!! 知道三点坐标,求三角形面积,外接圆面积,半径
- NYOJ-68 三点顺序 --有向面积