算法模板——计算几何1(图形面积)

时间:2022-05-07
本文章向大家介绍算法模板——计算几何1(图形面积),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

实现功能——输入N个点,求出按此顺序围成的图形的面积

原理:其实就是个向量的叉积运算(详见UASCO-nocow:计算几何),注意二维的叉积是个很逗的东西,叉积这玩意本身就来自于三维向量

(HansBug:临睡觉了,水一发呵呵哒,额。。。phile犇不在好寂寞TT)

 1 var
 2    i,j,k,l,m,n:longint;
 3    a:array[0..100000,1..2] of longint;
 4 function surface:extended;inline;
 5          var
 6             i,j:longint;
 7          begin
 8               j:=0;
 9               for i:=1 to n do
10                   j:=j+(a[i,1]*a[(i mod n)+1,2])-(a[(i mod n)+1,1]*a[i,2]);
11               exit(abs(j)/2);
12          end;
13 begin
14      readln(n);
15      for i:=1 to n do readln(a[i,1],a[i,2]);
16      writeln(surface:0:2);
17      readln;
18 end.
19