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 代码

#include
#include
#include
#include

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

你可能感兴趣的:(#,GAMES101-Lab,图形渲染,学习)