前端矩阵 (matrix) 封装

使用 canvas 画布来操控图形或者图片的二维变化的方式一般是平移、缩放、和旋转。canvas 已相应提供了相关的 api。如:translate(), scale() 和 rotate(),但这些功能无法统一处理并且无法描述当前画布的处于某种状态。为了实现这种统一连贯性的状态描述,canvas 给我们提供了另外一种思路及方法,即使用:transform() / setTransform();因为画布上的每个对象都拥有一个当前的 3 x 3 变换矩阵,都可以使用一个 3 x 3 矩阵来描述当前状态,其实是 2 x 3 矩阵,但为了便于计算,人为添加第三行 0 0 1 变成 3 x 3 矩阵。费话不多话,下面直接看矩阵变换的已封装好的功能,为了便于读者理解,每一步都有详细解释及介绍。

boost b2 参数说明

命令参数

b2 命令的功能强大,用起来也比较复杂,因此在使用之前,最好先查看一下该命令的帮助:

b2.exe --help

stage/install

stage 表示只生成库(dll 和 lib),install 还会生成包含头文件的 include 目录。推荐使用 stage,因为 install 生成的 include 目录实际就是源码包下的 boost 目录,需要 include 的时候可以直接使用,不需要再次生成,这样可以节省大量的编译时间。

合并两个 Git 仓库,并保留源仓库的所有提交记录

需求

  • 有2个 git 仓库:repo1、repo2;
  • 想将 repo1 中的文件移入 repo2;
  • repo1 的提交记录要保留;

实现

将 repo1 作为远程仓库,添加到 repo2 中,并设置别名为 other:

切换至 repo2 仓库,并执行以下命令: