一个点绕原点旋转一个角度后的坐标 点 A (x0 ,y0)以原点为圆心旋转n度,求旋转后 A' (x1,y1) 坐标值.
展开全部
证:设点(x0,y0)到点(rx0,ry0)的距离为La,点(x,y)到点(rx0,ry0)的距离为Lb
则由图1可得:

2
( x0 - rx0 ) / La = cos(a + b) - ①
( x - rx0 ) / Lb = cos(b) - ②
La = Lb - ③
( y0 - ry0 ) / La = sin(a+b) - ④
( y - ry0 ) / Lb = sin(b) - ⑤
当cos(b),cos(a + b)不为零时,由①②③得:
(x0- rx0)/ (x-rx0) = cos(a+b)/cos(b)
(x0- rx0)/ (x-rx0) = (cos(a)cos(b)-sin(a)sin(b))/cos(b)
(x0- rx0)/ (x-rx0) = cos(a) - sin(a)tan(b)
(x0- rx0) = (cos(a) - sin(a)tan(b))(x - rx0)
x0 = (x - rx0)cos(a) - sin(a)tan(b)(x - rx0) + rx0
x0 = (x - rx0)cos(a) - (y - ry0)sin(a) + rx0 - A
当sin(b),sin(a + b)不为零时,由③④⑤得:
(y0 - ry0)/(y - ry0) = sin(a+b)/sin(b)
(y0 - ry0)/(y - ry0) = (sin(a)cos(b) + cos(a)sin(b))/sin(b)
(y0 - ry0)/(y - ry0) = sin(a)cos(b)/sin(b) + cos(a)
y0 = (y - ry0)sin(a)cos(b)/sin(b) + (y - ry0)cos(a) + ry0
y0 = (y - ry0)sin(a)(x - rx0)/(y - ry0) + (y - ry0)cos(a) + ry0
y0 = (x - rx0)sin(a) + (y - ry0)cos(a) + ry0 - B
∴当cos(b),cos(a + b)不为零时A、B式成立
3
当cos(a+b)= 0时,即x0 = rx0,a+b = π/2+kπ(k>=0的自然数)如图2:

∵cos(a+b)= 0
cos(a)cos(b) - sin(a)sin(b) = 0
tan(a) = 1/tan(b)
sin(a)/cos(a) = (x - rx0)/(y - ry0)
(x - rx0)cos(a) = (y - ry0)sin(a)
将x0 = rx0式代入A式也得
(x - rx0)cos(a) = (y - ry0)sin(a)
∴当cos(a+b)= 0时A式成立。
∵tan(a) = (x - rx0)/(y - ry0) - ⑥
La = Lb = y0 - ry0 - ⑦
由⑥得
(y - ry0)sin(a)/cos(a) = (x - rx0)
(y - ry0)sin²(a)/cos(a) = (x - rx0)sin(a)
(y - ry0)(1-cos²(a))/cos(a) = (x - rx0)sin(a)
(y - ry0)(1/cos(a)-cos(a)) = (x - rx0)sin(a)
(y - ry0)/cos(a)-(y - ry0)cos(a)) = (x - rx0)sin(a)
则由图1可得:

2
( x0 - rx0 ) / La = cos(a + b) - ①
( x - rx0 ) / Lb = cos(b) - ②
La = Lb - ③
( y0 - ry0 ) / La = sin(a+b) - ④
( y - ry0 ) / Lb = sin(b) - ⑤
当cos(b),cos(a + b)不为零时,由①②③得:
(x0- rx0)/ (x-rx0) = cos(a+b)/cos(b)
(x0- rx0)/ (x-rx0) = (cos(a)cos(b)-sin(a)sin(b))/cos(b)
(x0- rx0)/ (x-rx0) = cos(a) - sin(a)tan(b)
(x0- rx0) = (cos(a) - sin(a)tan(b))(x - rx0)
x0 = (x - rx0)cos(a) - sin(a)tan(b)(x - rx0) + rx0
x0 = (x - rx0)cos(a) - (y - ry0)sin(a) + rx0 - A
当sin(b),sin(a + b)不为零时,由③④⑤得:
(y0 - ry0)/(y - ry0) = sin(a+b)/sin(b)
(y0 - ry0)/(y - ry0) = (sin(a)cos(b) + cos(a)sin(b))/sin(b)
(y0 - ry0)/(y - ry0) = sin(a)cos(b)/sin(b) + cos(a)
y0 = (y - ry0)sin(a)cos(b)/sin(b) + (y - ry0)cos(a) + ry0
y0 = (y - ry0)sin(a)(x - rx0)/(y - ry0) + (y - ry0)cos(a) + ry0
y0 = (x - rx0)sin(a) + (y - ry0)cos(a) + ry0 - B
∴当cos(b),cos(a + b)不为零时A、B式成立
3
当cos(a+b)= 0时,即x0 = rx0,a+b = π/2+kπ(k>=0的自然数)如图2:

∵cos(a+b)= 0
cos(a)cos(b) - sin(a)sin(b) = 0
tan(a) = 1/tan(b)
sin(a)/cos(a) = (x - rx0)/(y - ry0)
(x - rx0)cos(a) = (y - ry0)sin(a)
将x0 = rx0式代入A式也得
(x - rx0)cos(a) = (y - ry0)sin(a)
∴当cos(a+b)= 0时A式成立。
∵tan(a) = (x - rx0)/(y - ry0) - ⑥
La = Lb = y0 - ry0 - ⑦
由⑥得
(y - ry0)sin(a)/cos(a) = (x - rx0)
(y - ry0)sin²(a)/cos(a) = (x - rx0)sin(a)
(y - ry0)(1-cos²(a))/cos(a) = (x - rx0)sin(a)
(y - ry0)(1/cos(a)-cos(a)) = (x - rx0)sin(a)
(y - ry0)/cos(a)-(y - ry0)cos(a)) = (x - rx0)sin(a)
展开全部
记原点为O
设ρ=OA=√x0²+y0²
三角换元x0=ρcosθ,y0=ρsinθ
其中cosθ=x0/ρ,sinθ=y0/ρ
逆时针旋转n度后
x=ρcos(θ+n)=ρ(cosθcosn-sinθsinn)=x0cosn-y0sinn
同理y=ρsin(θ+n)=…=x0sinn+y0cosn
设ρ=OA=√x0²+y0²
三角换元x0=ρcosθ,y0=ρsinθ
其中cosθ=x0/ρ,sinθ=y0/ρ
逆时针旋转n度后
x=ρcos(θ+n)=ρ(cosθcosn-sinθsinn)=x0cosn-y0sinn
同理y=ρsin(θ+n)=…=x0sinn+y0cosn
更多追问追答
追答
其实这是个叫旋转变换的东西…
追问
原来用极坐标啊 终于懂了 谢谢谢谢
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询