在工作中遇到一个问题可以抽象为数学几何问题,特在此记录
题目
已知:
- 点A(x1, y1)
- 点B(x2, y2)
- 点C(x, y)到点A的距离为z
- A、C、B构成直角三角形,∠CAB是直角
- x1,y1,x2,y2,z均为已知量
如图:
求:点C的坐标(即x, y的值)
解法
(x1−x)2+(y1−y)2=z2
- 再根据勾股定理,结合两点距离公式可以得到式(2):
(x2−x1)2+(y1−y2)2+z2=(y2−y)2+(x2−x)2
于是,该问题就变成了求解二元二次方程组的问题了
将(1)代入(2)并将二次项全部拆分得:
x12−2x1x2+x22+y12−2y1y2+y22+x2−2x1x+x12+y2−2y1y+y12=x22−2x2x+x2+y22−2y2y+y2
x=x2−x1x1x2+y1y2−x12−y12−(y2−y1)y
a=x2−x1x1x2+y1y2−x12−y12
b=x2−x1y2−y1
x=a−by
- 将x=a−by代入式(2)得:
a2−2aby+b2y2−2ax1+2bx1y+x12+y2−2y1y+y12=z2
(b2+1)y2+(2bx1−2ab−2y1)y+a2−2ax1+x12+y12−z2=0
c=b2+1
d=2bx1−2ab−2y1
e=a2−2ax1+x12+y12−z2
cy2+dy+e=0
y=2c−d±√d2−4ce
- 求出y之后,代入x=a−by,即可求得x
为什么有两个解
根据已知条件,还有一个点会出现在A点下方(这里会出现在图示范围之外)所以得到的是二元二次方程,会有两个解