【计算几何】多边形面积
Time Limit:1000MS
Total Submit:4 Accepted:1
Description
多边形面积(area.pas/c/cpp)
【问题描述】
中学生杰利陶醉于数学研究,他思考的问题对专家而言可能太过简单,但作为一个15岁的中学生来说,他做得非常棒。他太热衷于思考数学问题,以至于轻易就会尝试用数学方法来解决碰到的问题。一天,他看到桌上的一张纸。他四岁的妹妹玛丽在上面画了一些线。那些线恰好构成一个凹多边形,如图1所示。
![【计算几何】多边形面积 <wbr>pascal <wbr>解题报告 【计算几何】多边形面积 <wbr>pascal <wbr>解题报告](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
“棒极了!”他想,“这些多边形看起来是规则的。我曾经学过怎样计算三解形、矩形和圆的面积。我一定能找到计算这些图形面积的方法。”他确实做到了。首先,他标记多边形顶点的坐标,如图2所示。随后,他豪不费力的求得结果----0.75 。
![【计算几何】多边形面积 <wbr>pascal <wbr>解题报告 【计算几何】多边形面积 <wbr>pascal <wbr>解题报告](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
当然,他不会满足于解决这么简单的问题。“嗯,如果纸上面的是一个任意的多边形,我应该怎么计算它的面积呢?”他问自己。可他一直都没有找到计算任意多边形面积的通用方法。他清楚地明白以他的能力无法找到问题的答案。所以他向你请教。他会很感激你好心的帮助。
Input
输入数据的第一行是一个整数n,代表图形的顶点个数(1=
接下来的N行,每行是一对实数,代表图形的顶点的坐标(xi,yi)。每个图形由第一个顶点连接第二个顶点,第二个顶点连接第三个顶点,…,最后第N个顶点连接第一个顶点形成封闭的多边形。
Output
输出图形的面积或字符串“Impossible”。
如果图形是一个多边形,计算它的面积(精确到小数后两位)。如果输入的顶点不能构成一个多边形(也就是说,一条边和另一条不相连的边相交,例如,四条线段的图形,第一条线和第三条线段相交),就输出“Impossible”,指出图形不可能是多边形。如果顶点的数量不足以构成一个封闭的多边形,也输出“Impossible”。
Sample Input
样例一 5 0 0 0 1 0.5 0.5 1 1 1 0 样例二 4 0 0 0 1 1 0 1 1
Sample Output
样例一 0.75 样例二 Impossible
Source
叉乘的几何意义就是以这两条向量为边的平行四边形的面积。
两条向量叉积的一半就表示这两条向量构成的三角形的面积。
这个面积是分正负的(我也不是很懂为什么)。
对于凹多边形,△p1p4p5的面积是负的,其与 △p1p3p4和△p1p5p6 的重叠面积相抵消,也减去了△p1p5p6包括的不再多变形内的面积,所以符合面积公式。
var
procedure init;
var
begin
end;
function cj(x,y,z:longint):real;
var
begin
end;
procedure main;
var
begin
end;
begin
end.