【问题标题】:Transform a triangle on a plane在平面上变换三角形
【发布时间】:2016-06-09 11:09:17
【问题描述】:

在一个 XY 平面上有一个带有点 P1(x1,y1),P2(x2,y2),P3(x3,y3) 的三角形。

我们知道变换后的最终位置,P1'(x,y)P2'(x,y) 如何找到第三点?

使用斜率(或距离)公式给出了两种解决方案(一个是另一个的镜像)。假设变换是平移和旋转的组合,如何得到最终点P3'的新坐标?

【问题讨论】:

    标签: geometry transformation coordinate-systems coordinate-transformation


    【解决方案1】:

    如果您已经使用距离公式得到解决方案,您只需选择需要的镜像点。为了澄清,找到P1P2 向量和P1P3 向量的叉积符号。然后找到P1'P2'向量和P1'Px向量的叉积符号。如果符号不同,请加分。

    CrossProduct = (P2.X - P1.X) * (P3.Y - P1.Y) - (P2.Y - P1.Y) * (P3.X - P1.X)
    

    一般情况下,您可以找到变换矩阵系数并将此矩阵应用于第三点

         c  -s  0
    M =  s   c  0
         dx  dy 1 
    

    方程组

    c * x1 + s * y1 + dx = x1' 
    -s * x1 + c * y1 + dy = y1' 
    c * x2 + s * y2 + dx = x2' 
    -s * x2 + c * y2 + dy = y2' 
    

    求解未知的c、s、dx、dy(真的c和s不独立)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-13
      • 2017-03-30
      相关资源
      最近更新 更多