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压缩包

相关推荐
凉、介27 分钟前
ARM 总线技术 —— AMBA 入门
arm开发·笔记·学习
日更嵌入式的打工仔38 分钟前
嵌入式入门:APP+BSP+HAL 三层分级架构浅析
笔记·单片机·嵌入式硬件·学习
since �44 分钟前
前端转Java,从0到1学习教程
java·前端·学习
OliverH-yishuihan1 小时前
FPGA 入门 3 个月学习计划表
学习·fpga开发
weixin_405023371 小时前
webpack 学习
前端·学习·webpack
大白的编程日记.1 小时前
【Linux学习笔记】线程同步与互斥之生产者消费者模型
linux·笔记·学习
好奇龙猫2 小时前
AI学习:SPIN -win-安装SPIN-工具过程 SPIN win 电脑安装=accoda 环境-第五篇:代码修复]
人工智能·学习
MIXLLRED2 小时前
YOLO学习——训练进阶和预测评价指标
深度学习·学习·yolo
Chunyyyen2 小时前
【第十八周】自然语言处理的学习笔记03
笔记·学习·自然语言处理
心.c3 小时前
如何学习Lodash源码?
前端·javascript·学习