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

Mik*_*kos 2 c# geometry coordinates

我陷入了一个简单但令人烦恼的基本几何问题。太糟糕了,我不记得我高中时的坐标几何并寻求帮助。

我的问题如下图所示:一个矩形旋转、缩放并扭曲成平行四边形 http://img248.imageshack.us/img248/8011/transform.png

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

谢谢,M。

Tar*_*don 5

这一转变分为几个步骤。

  1. 围绕 (x,y) 缩放以调整为最终尺寸 W'、H'。(X 轴和 Y 轴上的缩放比例可能不相等)。
  2. 应用剪切变换将矩形转换为平行四边形(保持 x,y 不变)。
  3. 绕 (x,y) 旋转以对齐最终坐标方向。
  4. 翻译到新位置。

为每个矩阵创建坐标矩阵,并将它们复合(相乘)在一起以创建整体变换。维基百科可能是您了解这些变换矩阵的起点。

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