程序员求助 平面坐标计算
来源:百度知道 编辑:UC知道 时间:2024/09/22 03:52:07
绿色三角形的两边上的单位向量:
(X1/(X1^2+Y1^2)^(1/2),Y1/(X1^2+Y1^2)^(1/2))
(X2/(X2^2+Y2^2)^(1/2),Y2/(X2^2+Y2^2)^(1/2))
设它们的夹角a
则:cosa=(X1/(X1^2+Y1^2)^(1/2),Y1/(X1^2+Y1^2)^(1/2))*(X2/(X2^2+Y2^2)^(1/2),Y2/(X2^2+Y2^2)^(1/2))
=X1X2/((X1^2+Y1^2)(X2^2+Y2^2))^(1/2) + Y1Y2/((X1^2+Y1^2)(X2^2+Y2^2))^(1/2)
=(X1X2+Y1Y2)/((X1^2+Y1^2)(X2^2+Y2^2))^(1/2)
所以:a=arccos((X1X2+Y1Y2)/((X1^2+Y1^2)(X2^2+Y2^2))^(1/2))
而:线段(0,0)-->(A,B),与X轴的夹角b=arctan(B/A)
所以:线段(0,0)-->(?),
与X轴的夹角=a+b=arccos((X1X2+Y1Y2)/((X1^2+Y1^2)(X2^2+Y2^2))^(1/2)) + arctan(B/A)
线段(0,0)-->(?)的长度L=((A^2+B^2)**(X2^2+Y2^2)/(X1^2+Y1^2))^(1/2)
所以:
问号(?)处的X坐标
=L*cos(a+b)
=((A^2+B^2)**(X2^2+Y2^2)/(X1^2+Y1^2))^(1/2) * cos(arccos((X1X2+Y1Y2)/((X1^2+Y1^2)(X2^2+Y2^2))^(1/2)) + arctan(B/A))
问号(?)处的Y坐标
=L*sin(a+b)
=((A^2+B^2)**(X2^2+Y2^2)/(X1^2+Y1^2))^(1/2) * sin(arccos((X1X2+Y1Y2)/((X1^2+Y1^2)(X2^2+Y2^2))^(1/2)) + arctan(B/A))
估计 10钟没人理你
设?处坐标为(x,y)