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

相关推荐
ll77881113 分钟前
C++学习之路,从0到精通的征途:继承
开发语言·数据结构·c++·学习·算法
LuckyLay1 小时前
React百日学习计划——Deepseek版
前端·学习·react.js
安和昂2 小时前
【iOS】SDWebImage源码学习
学习·ios
菜一头包2 小时前
c++ std库中的文件操作学习笔记
c++·笔记·学习
猴子请来的逗比4892 小时前
tomcat搭建内网论坛
学习·tomcat
belldeep2 小时前
如何阅读、学习 Git 核心源代码 ?
git·学习·源代码
Kazefuku2 小时前
python文件打包成exe文件
python·学习
threelab3 小时前
08.webgl_buffergeometry_attributes_none ,three官方示例+编辑器+AI快速学习
学习
嵌入式仿真实验教学平台3 小时前
「国产嵌入式仿真平台:高精度虚实融合如何终结Proteus时代?」——从教学实验到低空经济,揭秘新一代AI赋能的产业级教学工具
人工智能·学习·proteus·无人机·低空经济·嵌入式仿真·实验教学
moxiaoran57534 小时前
uni-app学习笔记五-vue3响应式基础
笔记·学习·uni-app