c++ 检查给定点是否位于三角形内(Check whether a given point lies inside a triangle or not)-输入:A=(0,0),B=(10,30),C=(20,0),P(10,15) 输出:内部 说明:  输入:A=(0,0),B=(10,30),C=(20,0),P(30,15) 输出:外部 说明:  解决方案:

时间:2024-11-20 15:18:14

    设三个角的坐标为(x1,y1)、(x2,y2)和(x3,y3)。给定点P的坐标为(x,y)

    1、计算给定三角形的面积,即上图中三角形ABC的面积。面积A=[x1(y2-y3)+x2(y3-y1)+x3(y1-y2)]/2

    2、计算三角形PAB的面积。我们可以用同样的公式。让这个区域为A1。

    3、计算三角形PBC的面积。让这个区域为A2。

    4、计算三角形PAC的面积。让这个区域为A3。

    5、如果P位于三角形内,则A1+A2+A3必须等于A。