1 虚拟机的使用
1.1 安装虚拟机
官方使用的是Oracle VM VirtualBox虚拟机,并且给了虚拟安装硬盘(自带Visual Studio Code与Sublime作为文本编辑器)
我用起来有些卡顿,我选择使用VMware Workstation Pro虚拟机
,虚拟硬盘使用的是ubuntu-20.04-beta-desktop-amd64.iso
- 虚拟机配置
- 处理器数量: 4, 每个处理器内核数量: 2
- 虚拟内存: 4096MB
- 网络类型: NAT
- I/O控制器类型: LSI Logic
- 虚拟磁盘类型: SCSI(S)
- 磁盘: 创建新虚拟磁盘
- 最大磁盘: 20G
1.2 配置虚拟机
1.2.1 下载VS Code
- 在Ubuntu火狐浏览器访问VSCode官网, 下载
Linux x64 .deb
- 找到下载的文件位置,在该文件夹中打开终端,输入指令进行安装,
sudo dpkg -i code_1.85.1-1702462158_amd64.deb
code_1.85.1-1702462158_amd64.deb
是下载的文件名称,版本不同名字不同
- 点击左下角的Show Application就可以看到VSCode了,也可以在终端中输入Code打开VSCode
1.2.2 配置VS Code
- 下载C++编译器
sudo apt install g++
- 下载Eigen库
- Eigen是本课程使用的线性代数运算库
sudo apt install libeigen3-dev
- 下载VSCode插件:
C/C++ Extension Pack
- 可以直接在插件中搜索C/C++ Extension Pack;也可以打开VSCode,新建一个.cpp文件,右下角提醒下载相关插件
- 点击VSCode右上角三角形运行CPP文件时,选择
C/C++: g++ build and debug active file
1.2.3 配置Xftp
使用Xftp与虚拟机建立文件传输
- 获取虚拟机IP
- 在Ubuntu中打开命令行窗口,输入指令
ifconfig
查看IP - 如果指令not found,使用指令
sudo apt install net-tools
进行下载
- 在Ubuntu中打开命令行窗口,输入指令
- 在本地打开cmd,ping一下虚拟机IP,检查是否可以与虚拟机正常通信
- Ubuntu安装 OpenSSH 服务器
- sudo apt install openssh-server
- 在Xftp中新建会话, 建立与虚拟机的连接
2 作业pa0
2.1 作业描述
给定一个点P=(2,1), 将该点绕原点先逆时针旋转45◦,再平移(1,2), 计算出
变换后点的坐标(要求用齐次坐标进行计算
2.2 代码
cpp
#include<cmath>
#include<eigen3/Eigen/Core>
#include<eigen3/Eigen/Dense>
#include<iostream>
using namespace std;
int main(){
// Convent P to Homogeneous Coordinates
Eigen::Vector3f p(2.0f, 1.0f, 1.0f);
// Rotation matrix
Eigen::Matrix3f R;
float theta = acos(-1) / 4;
R << cos(theta), -sin(theta), 0,
sin(theta), cos(theta), 0,
0, 0, 1;
// Translation matrix
Eigen::Matrix3f T;
T << 1, 0, 1,
0, 1, 2,
0, 0, 1;
Eigen::Vector3f ans = T * R * p;
std::cout <<"(" << ans(0) << " , " << ans(1) << ")"<< std::endl;
return 0;
}