[转载]直角坐标系中三角形面积计算(矢量法)

    技术2022-05-20  54

    设有三角形ABC,三顶点坐标分别为:A(x1,y1),B(x2,y2),C(x3,y3)

    设BC长为a,CA长为b,AB长为a。规定以C为起点、B为终点的矢量为a,规定以C为起点、A为终点的矢量为b,

    则根据矢量积定义,有|a×b|=ab*sinC,恰巧三角形面积S=ab*sinC/2,所以S=|a×b|/2

    规定沿横轴方向的单位矢量为x,沿纵轴方向的单位矢量为y,沿竖轴方向的单位矢量为z

    显然,矢量a、b在横轴上投影分别为(x2-x3)、(x1-x3),在纵轴上投影分别为(y2-y3)、(y1-y3)

    根据矢量的坐标分解法,有a=(x2-x3)x+(y2-y3)y,b=(x1-x3)x+(y1-y3)y

    根据矢量的矢量积的分配率、与数乘的结合率,以及x×y=z,y×x=-z,x×x=0,y×y=0有

    a×b=[(x2-x3)x+(y2-y3)y]×[(x1-x3)x+(y1-y3)y]

    =(x2-x3)x×(x1-x3)x+(x2-x3)x×(y1-y3)y+(y2-y3)y×(x1-x3)x+(y2-y3)y×(y1-y3)y

    =(x2-x3)(x1-x3)(x×x)+(x2-x3)(y1-y3)(x×y)+(y2-y3)(x1-x3)(y×x)+(y2-y3)(y1-y3)(y×y)

    =(x2-x3)(y1-y3)z-(y2-y3)(x1-x3)z=[(x2-x3)(y1-y3)-(y2-y3)(x1-x3)]z

    则S=|a×b|/2=|(x2-x3)(y1-y3)-(y2-y3)(x1-x3)|/2=|x2y1-x2y3-x3y1+x3y3-y2x1+y2x3+y3x1-y3x3|/2,即

    S=|x1y2+x2y3+x3y1-y1x2-y2x3-y3x1|/2

    或许不易记忆,因此采用三阶行列式形式写出:

     x1 y1 1 x2 y2 1 x3 y3 1

    求出行列式值,取绝对值并除以2


    最新回复(0)