前言

论坛链接

要实现之前立的flag了,因为换了电脑加上前面的都忘掉了,所以重新完成一下原来已经做过的内容。在这个过程中大概率还要重新补一下前面的学习内容。

本次作业主要目的是熟悉虚拟机的使用、使用C++与Eigen库编写简单的程序和用cmake进行编译,由于涉及虚拟机的安装,所以内容很长,可以参考实验的Pdf文档

作业内容

给定一个点 P=(2,1), 将该点绕原点先逆时针旋转 45°,再平移 (1,2), 计算出变换后点的坐标(要求用齐次坐标进行计算)。

#include<cmath>
#include<eigen3/Eigen/Core>
#include<eigen3/Eigen/Dense>
#include<iostream>

int main(){
    float si = std::sin(45 * M_PI / 180.0);
    Eigen::Vector3f v(2.0f,1.0f,1.0f);

    Eigen::Matrix3f i,j;
    i << 1.0, 0.0, 1.0, 0.0, 1.0, 2.0, 0.0, 0.0, 1.0;
    j << si, -si, 0.0, si, si, 0.0, 0.0, 0.0, 1.0;

    std::cout << i * j * v << std::endl;
}

可以在此基础上熟悉一下Eigen库的使用,为后续实验打下基础。