本文共 530 字,大约阅读时间需要 1 分钟。
综上所述,交点的解为:
则有解,否则两直线平行。
补充:如果化成Y=kX+b的形式的话,得解为:
给定三个不共线的点,要求输出一个点使得这个点到三个点的距离相同,输出保留三位小数。
#includeusing namespace std;int main(){ double x1,y1,x2,y2,x3,y3; scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3); double k1=(y1-y2)/(x1-x2),k2=(y1-y3)/(x1-x3); k1=-1/k1,k2=-1/k2; double x=(x1+x2)/2,y=(y1+y2)/2; double b1=y-k1*x; x=(x1+x3)/2,y=(y1+y3)/2; double b2=y-k2*x; double X=(b2-b1)/(k1-k2); double Y=(k1*b2-k2*b1)/(k1-k2); printf("%.3f %.3f\n",X,Y); return 0;}
转载地址:http://kefen.baihongyu.com/