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

相关推荐
哆啦A梦的口袋呀30 分钟前
基于Python学习《Head First设计模式》第七章 适配器和外观模式
python·学习·设计模式
恰薯条的屑海鸥33 分钟前
零基础在实践中学习网络安全-皮卡丘靶场(第十期-Over Permission 模块)
学习·安全·web安全·渗透测试·网络安全学习
东京老树根1 小时前
SAP学习笔记 - 开发27 - 前端Fiori开发 Routing and Navigation(路由和导航)
笔记·学习
阿阳微客7 小时前
Steam 搬砖项目深度拆解:从抵触到真香的转型之路
前端·笔记·学习·游戏
Chef_Chen12 小时前
从0开始学习R语言--Day18--分类变量关联性检验
学习
键盘敲没电12 小时前
【IOS】GCD学习
学习·ios·objective-c·xcode
海的诗篇_13 小时前
前端开发面试题总结-JavaScript篇(一)
开发语言·前端·javascript·学习·面试
AgilityBaby13 小时前
UE5 2D角色PaperZD插件动画状态机学习笔记
笔记·学习·ue5
AgilityBaby13 小时前
UE5 创建2D角色帧动画学习笔记
笔记·学习·ue5
武昌库里写JAVA14 小时前
iview Switch Tabs TabPane 使用提示Maximum call stack size exceeded堆栈溢出
java·开发语言·spring boot·学习·课程设计