1、判断直角
p2为直角点
public boolean isOrthogonal(int[] p1,int[] p2, int[] p3){
return (p2[0] - p1[0]) * (p2[0] - p3[0]) + (p2[1] - p1[1]) * (p2[1] - p3[1]) == 0;
}
2、判断四个点是否为矩形
public boolean isOrthogonal(int[] p1,int[] p2, int[] p3){
return (p2[0] - p1[0]) * (p2[0] - p3[0]) + (p2[1] - p1[1]) * (p2[1] - p3[1]) == 0}
public boolean isRectangle(int[] p1,int[] p2, int[] p3,int[] p4){
return isOrthogonal(p1, p2, p3) && self.isOrthogonal(p2, p3, p4) && self.isOrthogonal(p3, p4, p1)}
3、三点求三角形面积
static double getArea(int[] p1,int[] p2,int[] p3){
double side1 = Math.sqrt((p1[0]-p2[0])*(p1[0]-p2[0])+(p1[1]-p2[1])*(p1[1]-p2[1]));
double side2 = Math.sqrt((p3[0]-p2[0])*(p3[0]-p2[0])+(p3[1]-p2[1])*(p3[1]-p2[1]));
double side3 = Math.sqrt((p1[0]-p3[0])*(p1[0]-p3[0])+(p1[1]-p3[1])*(p1[1]-p3[1]));