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

小咪咪 2022-01-12 00:25 384阅读 0赞

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

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

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

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

转载于:https://www.cnblogs.com/HansBug/p/4237759.html

发表评论

表情:
评论列表 (有 0 条评论,384人围观)

还没有评论,来说两句吧...

相关阅读