zoukankan      html  css  js  c++  java
  • 2D中点的旋转的推导

    首先要记住四个公式,就是三角函数的和差公式:

    sin(A+B)=sinAcosB+cosAsinB sin(A-B)=sinAcosB-sinBcosA
    cos(A+B)=cosAcosB-sinAsinB cos(A-B)=cosAcosB+sinAsinB

    接下来看图:

    这个图很清晰了,比如要知道旋转后的P'(x',y'),那么可以先求P(x,y),当然在实际编程中,P(x,y)的坐标是已知条件。


    cosα = x / r 可以得到 x = r * cosα

    sinα = y / r 可以得到 y = r * sinα


    而cos(α+θ) = x' / r 可以得到 x' = r * cos(α + θ)

       sin(α + θ) = y' / r可以得到 y' = r * sin(α + θ)


    再根据三角函数的和差公式可以知道

    x' = r*cosα*cosθ - r*sinα*sinθ = x * cos θ – y * sin θ

    y' = r*sinα*cosθ+r*cosα*sinθ = y * cos θ + x * sin θ

  • 相关阅读:
    CSS 中 Position relative 和 absolute区别
    感受到LDT的好处
    Map数据结构
    break和continue
    vue的ref属性
    css小样式
    搭建vue开发环境
    setTimeout和clearTimeout
    垂直居中
    vertical-align 属性
  • 原文地址:https://www.cnblogs.com/CoolJie/p/1938694.html
Copyright © 2011-2022 走看看