作业帮 > 数学 > 作业

两条垂直的直线,一条经过(x1,y1) (x2,y2),另一条经过(x3,y3) (x4,y4),求交点的坐标.

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/24 09:59:59
两条垂直的直线,一条经过(x1,y1) (x2,y2),另一条经过(x3,y3) (x4,y4),求交点的坐标.
我手头上已经有一种算法和我自己的不一样,我没能看懂
a=(x2-x1)*(y3-y1)-(y2-y1)*(x3-x1)/(y2-y1)*(x4-x3)-(x2-x1)*(y4-y3)
x=x3+a*(x4-x3)
y=y3+a*(y4-y3)
是用向量证的
为叙述方便,记B(x1, y1) ,D(x2, y2),A(x3,y3),C (x4,y4)
设交点为P,向量AP=a*向量AC(其实a就是你答案中的那一串)
则向量BP=向量BA+向量AP=向量BA+a*向量AC=(x3-x1,y3-y1)+a*(x4-x3,y4-y3)
=(x3-x1+a(x4-x3),y3-y1+a(y4-y3))
又向量BD平行于向量BP,由向量共线得
(x3-x1+a(x4-x3))*(y2-y1)=(y3-y1+a(y4-y3))*(x2-x1)
解得a=(x2-x1)*(y3-y1)-(y2-y1)*(x3-x1)/(y2-y1)*(x4-x3)-(x2-x1)*(y4-y3)
故向量OP=向量OA+向量AP=向量OA+a*向量AC=(x3+a*(x4-x3),y3+a*(y4-y3))
从而x=x3+a*(x4-x3)
y=y3+a*(y4-y3)