之前做拓扑图,本来打算整一套坐标系统在里面的,后来因为时间原因暂时用了最原始的方法实现。现在稍稍得闲,重新开始思考这个问题。不过在搜索的时候,意外发现.Net Framework类库中自带的有实现坐标系转换功能的类。Reflector了一把,发现代码看不懂了——都是利用矩阵操作的。矩阵这玩意儿,几年没用早忘完了。于是认真学习了一把,顺便把如何用矩阵进行坐标转换的过程记录和注解一下。文中部分内容摘取自MSDN,搜索“变换的矩阵表示形式”即可找到。
首先review一下矩阵的基础知识:
m×n 矩阵是排列在 m 行和 n 列中的一系列数。下图显示几个矩阵。
可以通过将单个元素相加来加合两个尺寸相同的矩阵。下图显示了两个矩阵相加的示例。
m×n 矩阵可与一个 n×p 矩阵相乘,结果为一个 m×p<