GAMES101 HW0
这里回顾GAMES101 HW0。
课程主页:
课程作业:
课程视频:
相关资料:
编程题
首先使用齐次坐标:
然后使用对应的旋转矩阵:
平移矩阵:
所以代码为:
// P=(2, 1)
Eigen::Vector3f p(2.0f, 1.0f, 1.0f);
Eigen::Vector3f q(0.0f, 0.0f, 0.0f);
// 逆时针旋转45度, 平移(2, 1)
float pi = std::acos(-1);
Eigen::Matrix3f r, t;
r << std::cos(pi / 4), -std::sin(pi / 4), 0,
std::sin(pi / 4), std::cos(pi / 4),
0, 0, 0, 1;
t << 1, 0, 1,
0, 1, 2,
0, 0, 1;
std::cout << r << std::endl;
// 计算
q = t * r * p;
// 打印结果
std::cout << "p:" << std::endl;
std::cout << p << std::endl;
std::cout << "q:" << std::endl;
std::cout << q << std::endl;
编译并运行:
make -j4 && ./Transformation
p:
2
1
1
q:
1.70711
4.12132
1
计算验证:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Doraemonzzz!
评论
ValineLivere