永发信息网

一个点绕原点旋转一个角度后的坐标 点 A (x0 ,y0)以原点为圆心旋转n度,求旋转后 A' (x1,y1) 坐标值.

答案:2  悬赏:70  手机版
解决时间 2021-03-26 21:37
  • 提问者网友:献世佛
  • 2021-03-26 04:29
一个点绕原点旋转一个角度后的坐标 点 A (x0 ,y0)以原点为圆心旋转n度,求旋转后 A' (x1,y1) 坐标值.
最佳答案
  • 五星知识达人网友:笑迎怀羞
  • 2021-03-26 05:57
记原点为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追答其实这是个叫旋转变换的东西…追问原来用极坐标啊 终于懂了 谢谢谢谢追答也算不上是用极坐标…
全部回答
  • 1楼网友:玩家
  • 2021-03-26 06:54
证:设点(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)
 
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯