判断方法分为两步:
1.判断四条边是否相等;
2.判断是否有一个角为直角;
求解两点之前距离的函数:
double Distance(int x1,int y1,int x2,int y2){
return sqrt(pow((x1-x2),2)+pow((y1-y2),2));
}
判断三点连续构成的角是否为直角,第一个点参数为顶点:
bool IsRightAngle(int x1,int y1,int x2,int y2,int x3,int y3){
if((x2-x1)*(x3-x1)+(y2-y1)*(y3-y1)==0)
return true;
return false;
}
完整的程序:
#include
#include
using namespace std;
//直接调用IsSquare函数,输入为四个点的坐标,输出为true or false;
//求两点间的距离
double Distance(int x1,int y1,int x2,int y2){
return sqrt(pow((x1-x2),2)+pow((y1-y2),2));
}
//判断三个点是否构成直角,第一个参数点是顶点
bool IsRightAngle(int x1,int y1,int x2,int y2,int x3,int y3){
if((x2-x1)*(x3-x1)+(y2-y1)*(y3-y1)=