求面积 (坐标叉积公式+凹多边形面积-坐标公式)
求面积(AREA)
给出一个简单多边形(没有缺口),它的边要么是垂直的,要么是水平的。要求计算多边形的面积。
多边形被放置在一个X-Y的卡笛尔平面上,它所有的边都平行于两条坐标轴之一。然后按逆时针方向给出各顶点的坐标值。所有的坐标值都是整数(因此多边形的面积也为整数)。
输入
输入文件第一行给出多边形的顶点数n(n≤100)。接下来的几行每行给出多边形一个顶点的坐标值X和Y(都为整数并且用空格隔开)。顶点按逆时针方向逐个给出。并且多边形的每一个顶点的坐标值-200≤x,y≤200。多边形最后是靠从最后一个顶点到第一个顶点画一条边来封闭的。
输出
输出文件仅有一行包含一个整数,表示多边形的面积。
样例
AREA.IN
10
0 0
4 0
4 1
3 1
3 3
2 3
2 2
1 2
1 3
0 3
AREA.OUT
9
叉积公式 A X B= x1y2-x2y1=S(平行四边形)=2S(三角形)=2*|a|*|b|*sinaC
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<iostream>
#include<cmath>
#include<functional>
#include<algorithm>
#include<queue>
using namespace std;
#define MAXN (100+10)
class _vector
{
public:int x,y;_vector():x(0),y(0){}_vector(int _x,int _y):x(_x),y(_y){}friend int operator*(const _vector a,const _vector b) {return a.x*b.y-a.y*b.x;}}node[MAXN];istream& operator>>(istream& in,_vector& a)
{in>>a.x>>a.y;return in;
}
int n;
int main()
{freopen("area.in","r",stdin);freopen("area.out","w",stdout);scanf("%d",&n);for (int i=1;i<=n;i++) cin>>node[i];node[n+1]=node[1];int ans=0;for (int i=1;i<=n;i++)ans+=node[i]*node[i+1];ans=abs(ans);printf("%d\n",int(round(double(ans)/2)));
// while (1);return 0;}
求面积 (坐标叉积公式+凹多边形面积-坐标公式)相关推荐
- Java 根据多边形坐标点 计算多边形面积
请仔细阅读代码注释(有肯多坑,跟着注释走没问题) 亲测有效 /*** 计算多边形面积公式** @author Lion Li* @date 2020-05-19*/ public class Poly ...
- php面向过程求圆 三角形 长方形计算,求,圆,三角形,长方形,梯形的面积,周长公式...
这里有很多公式慢慢看吧: 1 每份数×份数=总数 总数÷每份数=份数 总数÷份数=每份数 2 1倍数×倍数=几倍数 几倍数÷1倍数=倍数 几倍数÷倍数=1倍数 3 速度×时间=路程 路程÷速度=时间 ...
- c#中计算三角形面积公式_【面积系列专题】三角形面积公式之水平宽铅垂高
点击上方蓝字关注我们 [面积系列专题] 三角形面积公式之水平宽铅垂高 TSQ中学数学微信:TSQmaths 一.本文说明 三角形的面积公式计算较多,而在平面直角坐标系中的三边都不与坐标轴平行的三角形面 ...
- hdu 5120(求两个圆环相交的面积 2014北京现场赛 I题)
两个圆环的内外径相同 给出内外径 和 两个圆心 求两个圆环相交的面积 画下图可以知道 就是两个大圆交-2*小圆与大圆交+2小圆交 Sample Input 2 2 3 0 0 0 0 2 3 0 0 ...
- 已知正方形面积求边长c语言,正方形知道面积怎么求边长.
2019-10-09阅读(206) 长方形的周长=(长+宽)×2正方形的周长=边长×4长方形的面积=长×宽正方形的面积=边长×边长三角形的面积=底×高÷2平行四边形的面积=底×高梯形的面积=(上底+下 ...
- 【js】斜率:知道两点坐标,求两点间运动每秒途径坐标
如图所示,知道ab两个坐标,从a点移动到b点,求每单位时间运动到的坐标. 只是简单的只有Y轴移动速度v,不是xy同时移动的速度. //k=(y2-y1)/(x1-x2)对应求斜率if (this.k ...
- matlab二维图形中确定一点的坐标系,在CAD中已知一个平面图中两个点的坐标如何建立坐标系以便求出图形中任一点的坐标?...
在CAD中已知一个平面图中两个点的坐标如何建立坐标系以便求出图形中任一点的坐标?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一 ...
- Java黑皮书课后题第6章:*6.36(几何:正多边形的面积)正多边形…计算正多边形面积的公式是area = (n*s*s) / (4*Math.tan(Math.PI / n))。输入边 长显示面积
6.36(几何:正多边形的面积)输入正多边形边的个数和边长,显示面积 题目 题目描述与运行示例 破题 代码 题目 题目描述与运行示例 6.36(几何:正多边形的面积)正多边形- 计算正多边形面积的公式 ...
- 装水问题,有一侧面看去是半圆的储水装置,该圆的半径为R,要求往水中装入高度为h的水,使水的面积s1与半圆的面积s2的比例为r ,求h (二分法的应用拓展)
装水问题,有一侧面看去是半圆的储水装置,该圆的半径为R,要求往水中装入高度为h的水,使水的面积s1与半圆的面积s2的比例为r ,求h (二分法的应用拓展) //装水问题,有一侧面为半圆的储水装置,该圆 ...
最新文章
- kali开启禁止或删除ssh 开机启动
- 【插件】jQuery.iviewer----图片浏览(滚动放大缩小问题解决)
- 深度学习核心技术精讲100篇(六十四)-特征选择原理及应用实战案例
- SpringMVC学习10之AJAX初体验和了解
- linux:uabntu日常操作
- java gettext用法_Java Context.getText方法代码示例
- ubuntu安装谷歌浏览器 typora+出现编码错误‘ascii‘ codec can‘t encode character ‘\u6b66‘+docker里安装tensorrt报错
- 程序员都喜欢抄袭“代码”,而且还拿着高薪?难道就这么无法无天
- C#下载大文件并实现断点续传
- 喇叭POP爆破音产生的原因与解决办法
- 通过堡垒机/跳板机实现文件在本地Mac与服务器之间的互传
- 使用Xilinx XSCT工具进行烧录
- 一个 npm 包的坎坷“续命”之生
- 数字图像处理与Python实现笔记之图像小波变换与多分辨率
- Android-图片预览(自定义ImageView实现图片缩放,多点触控,自由移动)
- 医疗数字化:区块链或成最强辅助
- hadoop+zookeeper+Hbase+spark安装部署总结
- 【Python 实战】---- 批量修改文件名和将txt转excel
- IDEA更换主题背景为黑色和设置背景图片并设置字体大小
- 常用笔记本电脑检测软件(含下载)