GAMES101-作业0

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与虚拟机建立文件传输

  1. 获取虚拟机IP
    • 在Ubuntu中打开命令行窗口,输入指令ifconfig查看IP
    • 如果指令not found,使用指令sudo apt install net-tools进行下载
  2. 在本地打开cmd,ping一下虚拟机IP,检查是否可以与虚拟机正常通信
  3. Ubuntu安装 OpenSSH 服务器
    • sudo apt install openssh-server
  4. 在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;
}

附件

作业0压缩包

相关推荐
流川_疯28 分钟前
CANOE概念与应用
经验分享·笔记·学习·汽车
Elias不吃糖35 分钟前
NebulaChat 框架学习笔记:原子变量与左值引用的工程应用
c++·学习
Chloeis Syntax1 小时前
MySQL初阶学习日记(2)--- 数据库的数据类型和表的操作
数据库·学习·mysql
雷工笔记1 小时前
计算机更换硬盘并新装系统
运维·学习
im_AMBER1 小时前
Leetcode 51
笔记·学习·算法·leetcode·深度优先
Radan小哥1 小时前
Docker学习笔记---day001
笔记·学习·docker
大志若愚YYZ2 小时前
嵌入式Linux学习——环境变量与配置文件的关系(⭐难理解)
linux·学习
笨鸟笃行2 小时前
百日挑战——单词篇(第十九天)
学习
诗句藏于尽头3 小时前
TCP、UDP 和串口通信-学习笔记
学习·tcp/ip·udp
shenghaide_jiahu3 小时前
数学分析简明教程——3.5
学习