首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

请问一个的几何题

2012-03-03 
请教一个的几何题在直角坐标系上已知A、B两点的坐标(x0,y0)和(x1,y1)如何判断B是在A的顺时针方向,还是逆时

请教一个的几何题
在直角坐标系上
已知A、B两点的坐标(x0,y0)和(x1,y1)
如何判断B是在A的顺时针方向,还是逆时针方向

[解决办法]
坐标相减看向量
[解决办法]
lz的意思是B若在射线OA (O为原点)逆时针扫描180度的区域内,则B是在A的逆时针方向,否则是在顺时针方向吧

可以这么做:
求过A和-A两点的直线L,然后判断B跟L的关系:
若A在1,4象限,则B在L上方为逆时针,下方为顺时针
若A在2,3象限,结果相反
[解决办法]
用复数来表示,A0=X0+Y0*i=|A0|*e^(θ0*i), A1=X1+Y1*i=|A1|*e^(θ1*i)
则B=A1/A0=|A1|/|A0| * e^((θ1-θ0)*i)
若θ1-θ0>π 则表示A1在A0的顺时针方向,若θ1-θ0<π则表示A1在A0的逆时针方向,若θ1-θ0=π则表示A1和A0在同一直线,无所谓顺时针还是逆时针。
而(θ1-θ0)<π则表示B在1,2象限,
(θ1-θ0)>π则表示B在3,4象限。
因此,若将B表达为B=Xb+Yb*i,则当Yb>0时,表示A1在A0的逆时针方向,若Yb<0,则表示A1在A0的顺时针方向。
接下来求B。
B=(X0+Y0*i)/(X1+Y1*i) = (X0+Y0*i)*(X1-Y1*i)/|A1|。由于|A1|>0,因此不影响正负的判断,略去。
因此可等价于(X0+Y0*i)*(X1-Y1*i)=X0*X1+Y0*Y1+(X1*Y0-X0*Y1)i
所以,若X1*Y0-X0*Y1 >0,表示A1在A0的逆时针方向,<0表示A1在A0的顺时针方向。
当然在解题之前先要判定(X1,Y1), (X2,Y2)均非原点。

热点排行