java想测试一下点是否在三角形内怎么表达

想测试一下在坐标系中怎么确定点是否在规定的三角形内,限定下A(0,0),B(200,0)和C(0,100),主要是怎么确定是否在BC线的下面

x+2y=200,x和y满足小于等于就够了啊,如果不限定abc点的位置我能想到的最简单的办法是海伦公式求面积和

初中数学呀,有BC坐标得BC的直线方程(两点式直线方程(y-y1)/(x-x1) = (y1-y2)/(x1-x2)),将要确定的点的横坐标带入方程求得y,再将y与直线纵坐标进行比较就可得到位置关系了。

 public class InTriangle 
{
    public static void main(String[] args) 
    {
        System.out.println("Hello World!");
        //由题意知BC方程为y=-(1/2)x+100
        Point rand = new Point(10,10);
        if(rand.x > 0 && rand.y >0 && rand.y < (-1/2.0 * rand.x + 100)){
            //在第一象限内且在BC下面
            System.out.println("在三角形内");
        }else{
            System.out.println("不在三角形内");
        }
    }
}
class Point {
    double x;
    double y;
    public Point(double x,double y){
        this.x = x;
        this.y = y;
    }
}

为什么弄得那么复杂,把方程式都搬出来了。
判断是不是在三角形之内很简单呀,x 取三个点中最大和最小的那两个,y 也取最大和最小的那两个值。
只要那个点的(x,y)在最大和最小值之间就是在三角内。

楼上的方法是错的,随便就能找到反例。

还是要从方程式判断

回想初中的线性规划,bc的方程是y=-1/2x+100,在bc下面就是y<-1/2x+100