论坛: 编程破解 标题: 如何求旋转后的点 复制本贴地址    
作者: 286 [unique]    版主   登录


如图所示:P(x0,y0)是旋转轴。线段AC绕P旋转,A点绕到B'点时,C点到了D点位置,求D点的坐标。

即已知,A,B,P点的坐标。求D点坐标。
谢谢大家。


地主 发表时间: 05-08-17 10:55

回复: kert_t8 [kert_t8]   论坛用户   登录
如果不知道c点的坐标肯定是求不出D点的,所以我怀疑是不是少了条件


假设知道c点坐标,使用三角公式
tg(A-B)=(tgA - tgB)/(1+tgA * tgB)
在直线方程的斜切式(是叫斜切是吧?)y=kx+b中,斜率k就是tgA
你给的图里面,
PC: y=k1x+b1
PD: y=k2x+b2
PA: y=k3x+b3
PB': y=k4x+b4  也就是PB
PCPD的夹角和PAPB的夹角相同,所以有(k1-k2)/(1+k1*k2)==(k3-k4)/(1+k3*k4)
知道ABPC4点,可以通过两点式知道PA, PB', PC三条直线,化成斜切式,也就是k1, k3, k4都已知了,根据上面的等式可以求出k2, 知道斜率,又知道过一点P的坐标,就可以求出直线PD,直线PD知道,PC的长度又可以通过坐标值求出来,PD==PC,所以就可以求出D点的坐标来



B1层 发表时间: 05-08-17 17:17

回复: 286 [unique]   版主   登录
C点也是已知的,并且B点是PB'上一点。
谢谢你的分析,等我细看看。:)

B2层 发表时间: 05-08-17 17:25

回复: SysHu0teR [syshunter]   版主   登录
解析几何`````我的痛```,真后悔没好好的学高中数学

B3层 发表时间: 05-08-17 19:52

回复: lovejiang [lovejiang]   论坛用户   登录
我说一下我的想法。不过没有验证。
线段AC绕P点旋转。
又知道B'点。那我的想法是先求出A点绕到B'点所旋转的角度。
然后再对C旋转相应的角度。
c'.x=p.x+distance(CP)*(sinangle*cos(angle)+cosangle*sin(angle))
c'.y=p.x+distance(CP)*(cosangle*cos(angle)-sinangle*sin(angle))
anlge是所旋转的角度。
sinangle是c点到p点的水平角的正弦。
cosangle是c点到p点的水平角的余弦

B4层 发表时间: 05-08-28 09:02

回复: kert_t8 [kert_t8]   论坛用户   登录
嘿嘿,楼上的方法简单明了哈

B5层 发表时间: 05-08-28 11:03

回复: 286 [unique]   版主   登录
,我试一下。:)

B6层 发表时间: 05-08-29 09:41

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号