1. 下载作业0
2. 将作业0的压缩包解压,找到pa0.pdf这个教程PDF,按照教程进行安装
3. 安装虚拟机
4. 下载虚拟硬盘
5. 校验下载文件的md5码
6. 配置虚拟机
7. 作业代码
8. 完成作业题目
9. 编译
10. 提交作业
使用chrome直接点击连接(如下图所示)什么都打不开,这时候需要右键→复制链接,再粘贴到地址栏即可(或者直接复制此链接 http://games-cn.org/wp-content/uploads/2020/02/pa0.zip ,去往该地址之后浏览器会自动下载)
官方教程截图
官方PDF提供的VirtualBox下载速度较慢,为此我找到了南阳理工学院的一份镜像地址,win10将此链接直接输入地址栏即可开始下载:
https://mirror4.nyist.edu.cn/virtualbox/6.1.4/VirtualBox-6.1.4-136177-Win.exe
镜像网站,地址:Index of/virtualbox/6.1.4/ | 南阳理工学院开源镜像站
官方教程截图
官方教程中提供的清华云盘无法下载,在课程BBS中助教已经将其放在了百度盘上,大家可以点进去自取:虚拟机百度云发布公告 – 计算机图形学与混合现实在线平台
课程BBS截图
下载完成,接下来校验zip文件的md5码,步骤如下:
cd C:\Users\87029\Desktop\GAMES101_Homework_S2021\xuniji
然后输入以下命令校验文件的md5:
certutil -hashfile xuniji.zip MD5
【注意】此处我先把名字从源文件名(GAMES101_Ubuntu 18.04.2 (64bit).zip)改成了xuniji.zip,因为如果使用原名,会报如下错误:
猜测报错的原因是源文件名中有空格,被命令行误认为是参数!
成功获得md5码如下图所示:
与BBS中提供的校验码相同。
下面,使用7zip解压:
解压后,还是先将文件名改为xuniji.vdi,然后cd命令定位到文件夹位置,然后使用:
certutil -hashfile xuniji.vdi MD5
来获取vdi文件的md5码。
成功获得md5码如下图所示:
与BBS中提供的校验码相同。
官方教程截图
此处按照官方教程走即可,没有太难太麻烦的地方,我分配的内存是4GB,完成后的配置如下图:
打开虚拟机,运行main.cpp程序,结果如图:
官方教程中有需要自行探索的部分如下:
代码和结果如图:
关于矩阵和向量相乘的方法:
线性代数基础——矩阵和向量乘法 - 知乎
官方教程截图
#include
#include
#include
#include
int main(){
// hw0
// homogenous coordinate definition of Point P
Eigen::Vector3f P(2.0f,1.0f,1.0f);
float sina = std::sin(45.0/180.0*acos(-1));
float cosa = std::cos(45.0/180.0*acos(-1));
Eigen::Matrix3f R,T;
R << cosa, -sina, 0.0, sina, cosa, 0.0, 0.0, 0.0, 1.0; // rotation matrix R(pi/4) definition
T << 1.0, 0.0, 1.0, 0.0, 1.0, 2.0, 0.0, 0.0, 1.0; // translation matrix T definition
std::cout << "The answer of hw0 is \n";
std::cout << T * R * P << std::endl; // do rotation R first, then do translation T
return 0;
}
官方教程截图
编译成功后,程序运行成功的画面:
之后将编译好的整个文件夹拖动至桌面即可!
作业要求如下图所示:
官方教程截图
命名完毕,压缩成zip格式,完成!