[叉乘]USCOJ 1016 多边形面积
2014-02-10 15:47
281 查看
传送门:多边形面积
给出一个多边形的顶点坐标,请计算出这个多边形的面积 (不一定是凸多边形) 。
输入的第一行为一个正整数t ( t<=10 ),表示有t组数据,对于每组数据:
第一行为一个正整数n ( 3<=n<=10 ),代表这个多边形的顶点数;紧跟n行,每行两个正整数x,y ( -100=<x,y<=100 )表示每个顶点的坐标;输入数据给的顶点顺序同时钟方向。
每组数据输出一行,为一个保留一位小数的实数,即当前多边形的面积。
240 00 11 11 03-2 33 21 -5
1.018.5
南华大学第八届程序设计大赛
解题报告:
简单的入门计算几何题,任何一个多边形,可以化成多个三角形相乘。每个三角形可以使用叉乘求出平行四边形再除以2。而叉乘计算公式如下:
于是就简单了。代码如下:
#include<stdio.h>
struct node{
int x,y;
}point[15];
int main(){
int t;
scanf("%d",&t);
while(t--){
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d%d",&point[i].x,&point[i].y);
int ans=0;
for(int i=3;i<=n;i++)
ans+=(point[i].x-point[1].x)*(point[i-1].y-point[1].y)-(point[i-1].x-point[1].x)*(point[i].y-point[1].y); //x1y2-x2y1
if(ans<0)
ans=-ans;
printf("%.1lf\n",ans*0.5);
}
return 0;
}
1016: 多边形面积
Description
给出一个多边形的顶点坐标,请计算出这个多边形的面积 (不一定是凸多边形) 。
Input
输入的第一行为一个正整数t ( t<=10 ),表示有t组数据,对于每组数据:第一行为一个正整数n ( 3<=n<=10 ),代表这个多边形的顶点数;紧跟n行,每行两个正整数x,y ( -100=<x,y<=100 )表示每个顶点的坐标;输入数据给的顶点顺序同时钟方向。
Output
每组数据输出一行,为一个保留一位小数的实数,即当前多边形的面积。
Sample Input
240 00 11 11 03-2 33 21 -5
Sample Output
1.018.5
Source
南华大学第八届程序设计大赛解题报告:
简单的入门计算几何题,任何一个多边形,可以化成多个三角形相乘。每个三角形可以使用叉乘求出平行四边形再除以2。而叉乘计算公式如下:
于是就简单了。代码如下:
#include<stdio.h>
struct node{
int x,y;
}point[15];
int main(){
int t;
scanf("%d",&t);
while(t--){
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d%d",&point[i].x,&point[i].y);
int ans=0;
for(int i=3;i<=n;i++)
ans+=(point[i].x-point[1].x)*(point[i-1].y-point[1].y)-(point[i-1].x-point[1].x)*(point[i].y-point[1].y); //x1y2-x2y1
if(ans<0)
ans=-ans;
printf("%.1lf\n",ans*0.5);
}
return 0;
}
相关文章推荐
- 叉乘求任意多边形面积
- HDU 2036 求任意多边形面积向量叉乘
- 叉乘求任意多边形(凹凸皆可)面积 (属于计算几何类型)
- 摘:向量叉乘_计算多边形面积_算法模板
- 叉乘计算多边形面积:poj 1654 Area
- 【计算几何】 叉乘求多边形面积<凹凸均可>
- 向量叉乘求任意多边形面积
- hdu2036 求多边形面积(向量叉乘)
- 摘:向量叉乘_计算多边形面积_算法模板
- 向量叉乘求任意多边形面积,凹凸均可
- [HDU 3060] Area2 (简单多边形面积交)
- (计算几何POJ step 8.1.1.2)POJ 1654 Area(使用叉积来计算多边形面积)
- POJ 3675 Telescope(简单多边形和圆的面积交)
- hdu 2036 (多边形面积)
- C# 计算多边形面积
- POJ 1654 Area (多边形面积)
- Arcgis for Android在地图上画多边形并进行边长、周长和面积的测量
- HDU1616计算几何-凸包+点在多边形内+多边形的面积
- 计算多边形面积hdu2036
- 杭电2036————任意求多边形的面积