将坐标从矩形变换为平行四边形

时间:2010-01-03 05:21:50

标签: c# geometry coordinates

我陷入了一个基本几何问题的简单而棘手的问题。太糟糕了,我不记得我的高中协调几何学并寻求帮助。

我的问题在此图表中说明:A rectangle rotated, scaled, and warped into a parallelogram http://img248.imageshack.us/img248/8011/transform.png

我正在努力将坐标从矩形转换为调整大小的平行四边形。任何提示,指针和/或代码示例都会很精彩!

谢谢, 微米。

1 个答案:

答案 0 :(得分:4)

此转型有几个步骤。

  1. 缩放(x,y)以调整到最终大小W',H'。 (可能不平等 在X轴和Y轴上缩放)。
  2. 应用剪切变换进行转换 矩形到平行四边形 (保持x,y不变)。
  3. 围绕(x,y)旋转以对齐 最终坐标方向。
  4. 转换到新位置。
  5. 为每个坐标矩阵创建坐标矩阵并将它们合成(相乘)以创建整体变换。 Wikipedia可能是了解这些转换矩阵的起点。

    提示:最简单的方法是首先应用平移将(x,y)移动到原点。然后,剪切,缩放和旋转要简单得多。然后将其移动到新位置。