向量叉乘计算多边形面积

您所在的位置:网站首页 向量叉乘计算三角形面积 向量叉乘计算多边形面积

向量叉乘计算多边形面积

2023-06-17 08:16| 来源: 网络整理| 查看: 265

多边形可以拆成多个三⾓形来计算⾯积。假定有n个顶点,固定⼀个点就可以将它分为n-2个三⾓形。

S = A1 + A2 + A3 + A4

该图中固定的点为p1。n=6,分为4个部分。

A1 = 1/2 p1p2 x p1p3

A2 = 1/2 p1p3 x p1p4

A3 = 1/2 p1p4 x p1p5

A4 = 1/2 p1p5 x p1p6

公式:

假设p1(x1,y1),p2(x2,y2),p3(x3,y3)

int x1 = x2-x1;int y1 = y2-y1;

int x2 = x3-x1;int y2 = y3-y1;

A1 = x1 * y2 - x2 * y1

实现第⼀个图的代码:

#

include

#

include

 

using

 

namespace

 std

;

struct

 point

{

    

int

 x

,

y

;

};

int

 

main

(){

    

int

 n

;

    

while

(

~

scanf

(

"%d"

,

&

n

)){

        

if

(

==

 

0

)

  

break

;

        point a

[

101

];

        

for

(

int

 i 

=

 

0

;

>

 a

[

i

].

x

;

            cin 

>>

 a

[

i

].

y

;

        

}

        

double

 ans 

=

 

0

;

        

for

(

int

 i 

=

 

2

;



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3